/* 
 * Jimm's PC-Store tracking code
 * 10-11-2009 Kwantic Oy
 */
 
document.getElementsByClassName = function(class_name) {
    var docList = this.all || this.getElementsByTagName('*');
    var matchArray = new Array();

    /*Create a regular expression object for class*/
    var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
    for (var i = 0; i < docList.length; i++) {
        if (re.test(docList[i].className) ) {
            matchArray[matchArray.length] = docList[i];
        }
    }

	return matchArray;
}//eof annonymous function

function cstmGetElementsByClassName(class_name) {
    var docList = this.all || this.getElementsByTagName('*');
    var matchArray = new Array();

	/*Create a regular expression object for class*/
    var re1 = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
    for (var i = 0; i < docList.length; i++) {
        if (re1.test(docList[i].className)) {
            matchArray[matchArray.length] = docList[i];
        }
	}
    return matchArray;
}//eof cstmGetElementsByClassName

 
// Variable default values
var isDownload = /\b(pdf|doc|docx|xls|xlsx|ppt|pptx|zip)\b/ig; // Download extensions
var internalDomains = ""; // Add domains here which you want to include as internal traffic e.g. domain.fi

if(internalDomains != "")
	var tempDomain = "(" + document.domain + "|" + internalDomains + ")";
else
	var tempDomain = document.domain;
var isInternalLink = new RegExp(tempDomain, i);

// Download and exit-links
var a = document.getElementsByTagName('a');
for(var i = 0; i < a.length; i++){
	if(a[i].protocol != "javascript:") {
		if(a[i].href.match(isDownload)) {
			runTracker('Lataukset', a[i], a[i].href);
		} else if(!a[i].href.match(isInternalLink)) {
			runTracker('Ulosmenevät linkit', a[i], a[i].href);
		}
	}
}

// Frontpage banners
if(!document.getElementById('fproducts')) {
	//alert('not a search result page');
} else {
	// Have to get both colums separately
	var e = document.getElementById('fproducts');
	e.getElementsByClassName = cstmGetElementsByClassName;
    var col1 = e.getElementsByClassName("col1");
    var col2 = e.getElementsByClassName("col2");

	// alert(col1.length);
	// Get the category
	var category = document.getElementById('fheader').getElementsByTagName('p')[0].innerHTML;
	//alert(category);
	for(var i = 0; i < col1.length; i++) {
		var a = col1[i].getElementsByTagName('a');
		if(typeof(col2[i]) != "undefined")
			var b = col2[i].getElementsByTagName('a');
		for(var j = 0; j < a.length; j++) {
			if(a[j].protocol != "javascript:") {
				runTracker(category, a[j], a[1].innerHTML.replace(/\<\/?[\w\=\"\s]+\>+/ig, ""));
			}
			if(typeof(col2[i]) != "undefined") {
				if(b[j].protocol != "javascript:") {
					runTracker(category, b[j], b[1].innerHTML.replace(/\<\/?[\w\=\"\s]+\>+/ig, ""));
				}
			}
		}
	}
}

// Feedback
if(!document.getElementById('form')) {
//	alert('not a feedback page');
} else{
	if(document.getElementById('form') != null) {
		var b = document.getElementById('form')
		b.getElementsByClassName = cstmGetElementsByClassName;
		var button = b.getElementsByClassName('nappula');
		for(var i = 0; i < button.length; i++) {
			urchinEventBind(button[i], "click", function(){ pageTracker._trackEvent('Lomakkeet', 'Palaute');}, false);
		}
	}
}

function runTracker(pageType, pageItem, pageName) {
	urchinEventBind(pageItem, "click", function(){ pageTracker._trackEvent(pageType, pageName.replace(/^(http|https):\/\//i, '')); }, false);
}

function urchinEventBind(obj, evt, newhandler, captures)
{
	if (obj.attachEvent)
		obj.attachEvent('on' + evt, newhandler);
	else if (obj.addEventListener)
		obj.addEventListener(evt, newhandler, captures);
	else
	{
		var oldhandler;
		if (oldhandler = obj['on' + evt])
			obj['on' + evt] = function() { oldhandler(); newhandler(); }
		else obj['on' + evt] = newhandler;
	}
}
