﻿
function _uVoid() { return; }

function GetQueryString(param, paramValue)
{
    if (typeof param != 'undefined') {
	    if(paramValue!==null)
	    {
		    return param + '=' + paramValue + '&';
	    }
	}
	return '';
}
function logEventPtype(eventType,pageType)
{
	var temp_pType = m_ptype;
	m_ptype = pageType;


	if (m_referres !=  null)
    {
       var idx = m_referres.lastIndexOf(',');
       if(idx > 0)
       {
			m_referres = m_ptype + ',' + m_referres.substring(0, idx);
       }
       
   }

	var log_req;
	//Create url
	if (typeof eventType.value == 'undefined')
		log_req = CreatePostUrl(eventType, 'N/A', 'N/A', 'N/A');
	else
		log_req = CreatePostUrl(eventType.value, 'N/A', 'N/A', 'N/A');

	log_req += '&q=1';
	// Create image that will call logger page
	var i=new Image(1,1);
	i.src=log_req;
	i.onload=function() { _uVoid(); }


	m_ptype = temp_pType;
}
function logEvent(eventType)
{
	var log_req;
	//Create url
	if (typeof eventType.value == 'undefined')
		log_req = CreatePostUrl(eventType, 'N/A', 'N/A', 'N/A');
	else
		log_req = CreatePostUrl(eventType.value, 'N/A', 'N/A', 'N/A');
	
	// Create image that will call logger page
	var i=new Image(1,1);
	i.src=log_req;
	i.onload=function() { _uVoid(); }
	
}

function logCustomEvent(eventType, objectType, objectID, userInput)
{
	//Create url	
	var log_req = CreatePostUrl(eventType, objectType, objectID, userInput);
	
	// Create image that will call logger page
	var i=new Image(1,1);
	i.src=log_req;
	i.onload=function() { _uVoid(); }
	
}


function GetGlobalVariables()
{
	//Global variables
	//int userID; int threadID; int productID;int categoryID; int brandID; string campignID; string gclid;
	var postUrl='';
	postUrl = GetQueryString('u', m_userId);
	postUrl += GetQueryString('t', m_threadID);
	postUrl += GetQueryString('p', m_productID);
	postUrl += GetQueryString('c', m_categoryID);
	postUrl += GetQueryString('b', m_brandID);
	postUrl += GetQueryString('cp', m_campaignID);
	postUrl += GetQueryString('g', m_gclid);
	postUrl += GetQueryString('cn', m_countryID);
	postUrl += GetQueryString('rf', m_referres);
	postUrl += GetQueryString('ch', m_adChannel);
	postUrl += GetQueryString('us', m_us);
	postUrl += GetQueryString('pt', m_ptype);
	

	return postUrl;
}

function CreatePostUrl(eventType, objectType, objectID, userInput)
{
	//Global variables
	//int userID; int threadID; int productID;int categoryID; int brandID; string campignID; string gclid;
	var postUrl='';
	postUrl = GetGlobalVariables();
	
	//event specific variables
	postUrl += GetQueryString("e",eventType);

	//Read custom object data	
	if(objectType!='N/A')
	{
		postUrl += GetQueryString("ot",objectType);
		postUrl += GetQueryString("oi",objectId);
		postUrl += GetQueryString("ui",userInput);
	}
	
	//retrived on client side
	postUrl += GetQueryString("l",escape(document.location));
	postUrl += GetQueryString("r",escape(document.referrer));

	//var log_req = 'http://'+document.location.host+ '/logHandler.aspx?' + postUrl + "rand=" + Math.random();
	var log_req = '/logHandler.aspx?' + postUrl + "rand=" + Math.random();

	return log_req;
}

//attach event
function initLoggers()
{
    var tags = ['a','button','img'],
        subItems,
        items = [],
        itmCounter = 0,
        j = 0;
    for (var i=0;i<tags.length;i++)
    {
        subItems = document.getElementsByTagName(tags[i]);
        for (var j=0;j<subItems.length;j++)
        {
            items[itmCounter++] = subItems[j];
        }
    } 
    var objToBind = null;
    for (var i=0;i<items.length;i++)
    {
        if (!items[i].lang.empty())
        {
			objToBind = {Obj:items[i],value:items[i].lang}
            Event.observe(items[i],'click',logEvent.bind(logEvent,objToBind));
        }
    }    
}