/**********************
 * GA_PostTracking
 **********************/ 

function GA_PostTracking_init() {
	if(_uacct == undefined) { 
		window.status = "Error: Cannot find Google Analitics code";
		return;
	}
		
		
	var formFields = GA_PostTracking_getDataForFormFields();
	if(formFields == undefined || formFields.length < 7 || formFields[1] == '<brak>') { 
		// DO NOT RUN SCRIPT (not post page)
		return;
	}
	
	var formText = GA_PostTracking_makeForm(formFields);

	var divObj = document.createElement("div");
	divObj.innerHTML = formText;
	document.body.appendChild(divObj);

	__utmSetTrans();
}

function GA_PostTracking_getDataForFormFields() {
	
	
	var post_uniq_id = GA_PostTracking_getUniqId();
	var post_id = GA_PostTracking_getPostId();
	var post_category = GA_PostTracking_getPostCategory();
	var post_price = GA_PostTracking_getPostPrice();
	var post_city = GA_PostTracking_getPostCity();
	var post_state = GA_PostTracking_getPostState();
	var post_country = "Poland";

	return [post_uniq_id, post_id, post_category, post_price, post_city, post_state, post_country];
}


/**********************
 * form fields getters
 **********************/
function GA_PostTracking_getUniqId() {
	return GA_readCookie("PHPSESSID");
}

function GA_PostTracking_getPostId() {
	var url = window.location.href;
	var match = url.match(/--(\d+)\.html$/i);
	
	return (match != undefined && match.length > 1) ? match[1] : '<brak>' ;
}

function GA_PostTracking_getPostCategory() {
	var pageContent = document.body.innerHTML;
	
	// SET BASE CATEGORY NAME
	var match = pageContent.match(/<div[^>]*>\s*Kategoria[^<]+<\/div>\s*<p>([^<]+)</i);
	var categoryName = (match != undefined && match.length > 1) ? match[1] : '<brak>' ;
	categoryName = categoryName.replace(/\s*$/,'');

	// SET CATEGORY TYPE (agency, private)
	match = pageContent.match(/agencyId\s+=\s*'(\d+)'/);
	categoryName += ( (match != undefined) && (match.length > 1) && (parseInt(match[1]) > 0) ) ? '-agencyjne' : '-prywatne' ;

	return categoryName;
}

function GA_PostTracking_getPostPrice() {
	var pageContent = document.body.innerHTML;

	// IS AGENCY
	var match = pageContent.match(/agencyId\s+=\s*'(\d+)'/);
	if( (match == undefined) || (match.length < 2) || (parseInt(match[1]) < 1) )
		{ return 0; }

	// IS AGENCY ACTIVE
	match = pageContent.match(/agencyActive\s+=\s*'(\d+)'/);
	return ( (match != undefined) && (match.length > 1) && (parseInt(match[1]) > 0) ) ? 1 : 0;
}

function GA_PostTracking_getPostState() {
	var pageContent = document.body.innerHTML;
	var match = pageContent.match(/<p[^>]*>\s*<span[^>]*>\s*Wojew[^<]*<\/span>([^<]*)/i);

	return (match != undefined && match.length > 1) ? match[1] : '<brak>' ;
}

function GA_PostTracking_getPostCity() {
	var pageContent = document.body.innerHTML;
	var match = pageContent.match(/<p[^>]*>\s*<span[^>]*>\s*Miasto[^<]*<\/span>([^<,]*)/i);

	return (match != undefined && match.length > 1) ? match[1] : '<brak>' ;
}

/**********************
 * form make
 **********************/

function GA_PostTracking_makeForm(formFields) {
	if(formFields == undefined || formFields.lenght < 7) {
		window.status = "Error: Cannot make a Google Analitics form"; 
		return;
	}
	
	var formText = '<form style="display:none;" name="utmform">';
	formText += '<textarea id="utmtrans">';

	formText += 'UTM:T|' + formFields[0];	//UNIQ ID
	formText += '||' + formFields[3];	//PRICE
	formText += '|||' + formFields[4];	//CITY
	formText += '|' + formFields[5];	//STATE
	formText += '|' + formFields[6];	//COUNTRY
	formText += "\n";
	formText += 'UTM:I|' + formFields[0];	//UNIQ ID
	formText += '|' + formFields[1];	//POST ID
	formText += '|' + formFields[1];	//POST ID
	formText += '|' + formFields[2];	//POST CATEGORY
	formText += '|' + formFields[3];	//POST PRICE
	formText += "|1\n";

	formText += '</textarea></form>';

	return formText;
}

/**********************
 * GA libs:
 * - addActionOnLoad
 * - readCookie
 **********************/ 

function GA_addActionOnLoad(actionName) {
	if(window.onload) {
		var oldAction = window.onload;
		window.onload = function() {
			oldAction();
			actionName();
		}
	}
	else {
		window.onload = actionName;
	}
		
}


function GA_readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

GA_addActionOnLoad(GA_PostTracking_init); 
