///// START FUNCTIONS /////

function lop_get(lop_url) {

	var fixed_url = unescape(lop_url);
	var is_input = fixed_url.indexOf('?');
	if (is_input != -1) {
		addr_str = fixed_url.substring(0,is_input);
		addr_str_es = escape(addr_str);
		return(addr_str_es);
	}
	else {
	  return(lop_url);
	}

}

function getVar(name)
   {
	 get_string = document.location.search;         
	 return_value = '';
	 
	 do { //This loop is made to catch all instances of any get variable.
			name_index = get_string.indexOf(name + '=');
			
			if(name_index != -1)
				{
				get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
				
				end_of_value = get_string.indexOf('&');
				if(end_of_value != -1)                
					value = get_string.substr(0, end_of_value);                
				else                
					value = get_string;                
					
				if(return_value == '' || value == '')
					 return_value += value;
				else
					 return_value += ', ' + value;
				}
			} while(name_index != -1)
			
	 //Restores all the blank spaces.
	 space = return_value.indexOf('+');
	 while(space != -1)
				{ 
				return_value = return_value.substr(0, space) + ' ' + 
				return_value.substr(space + 1, return_value.length);
				 
				space = return_value.indexOf('+');
				}
		
	 return(return_value);        
	 }
	 
function isExternalLink(url){
  if(!url){ return false; }
  if(typeof(url) != 'string'){ return true; }
  url = url.toLowerCase();


  if(url.indexOf('www.') == 0){ url = url.substring(4); }
  hn = document.location.hostname.toLowerCase();
  if(hn.indexOf('www.') == 0){ hn = hn.substring(4); }

  if(url.indexOf(hn) != 0){ return true; }
  return false;
}
function getParentClickable(obj, flag){
  for(var j=0; j<=5; j++){
    if(flag == 1){ if(obj && obj.nodeName.toUpperCase() == 'A'){ return obj; } } //look for <A> tag
    if(flag == 2){ if(obj && obj.nodeName.toUpperCase() != 'BODY' && obj.onclick){ return obj; } } //look onclick tag
    obj = obj.parentNode;
  }
  return null;
}
function detect_onclick(e){
  var url = null;
  var text = null;
  try{
    if(e){ tg = e.target; }
    else{ tg = window.event.srcElement; }
    if(tg){
      tgP = getParentClickable(tg, 1);
      if(tgP && tgP.nodeName.toUpperCase() == 'A'){ tg = tgP; }

      if(tg.nodeName.toUpperCase() == 'A'){//A tag - most popular case
        url = tg.href;
        if(tg.innerHTML){ text = tg.innerHTML; } //most browsers
        else if(tg.innerText){ text = tg.innerText; } //ie only
        else if(tg.text){ text = tg.text; } //mozilla only
        else{}
      }else if(tg.nodeName.toUpperCase() == 'INPUT' && tg.type.toUpperCase() == 'SUBMIT'){//form submit button
        url = tg.form.action;
        text = tg.value;
      }else{
        tg = getParentClickable(tg, 2);
        if(tg){ 
          url = tg.onclick;
          if(!tg.firstChild){
            text = '[' + tg.nodeName + ' id=\'' + tg.id + '\' name=\'' + tg.name + '\' value=\'' + tg.value + '\']';
            text = text.toLowerCase();
          }else{
            if(tg.innerHTML){ text = tg.innerHTML; } //most browsers
            else if(tg.innerText){ text = tg.innerText; } //ie only
            else if(tg.text){ text = tg.text; } //mozilla only
            else{}
          }
        }
      }
      if(url == null || text == null){ return true; } //both url and text must not be NULL 

      if(isExternalLink(url)){
        url = escape(url);
        text = escape(text);
        track_onclick(text, url);
      }
    }
  }catch(err){ }
}

// Track Clicks //
function track_onclick(text, url){      
  try{
    trackURL = url_tracker + 
    
    	'?BZUID=' + BZUID + 
    	'&BZCID=' + BZCID + 
    	'&is_link=1' +

			'&lurl=' + lop_get(url) +
			'&turl=' + lop_get(text);
			
    var x = new Image();
    x.src = trackURL;
    pause(1000);
  }catch(err){ }
}

// Track Loads //
function track_onload(){
  try{
    url = escape(document.location.href);
    trackURL = url_tracker + 
    
    	'?BZUID=' + BZUID + 
    	'&BZCID=' + BZCID + 
    	'&is_load=1' +

			'&ag=' + escape(navigator.userAgent) +
			'&app=' + escape(navigator.appName) +
			'&p=' + escape(navigator.platform) +
			'&l=' + escape(navigator.language) +
			'&c=' + escape(navigator.cookieEnabled) +

			'&iurl=' + lop_get(url) +
			'&rurl=' + lop_get(document.referrer) +
			
			'&sh=' + screen.height +
			'&sw=' + screen.width +
			'&sd=' + screen.colorDepth;

    var x = new Image();
    x.src = trackURL;
  }catch(err){ }
}
function pause(numberMillis) {
  var now = new Date();
  var exitTime = now.getTime() + numberMillis;
  while(true){
    now = new Date();
    if(now.getTime() > exitTime){ return; }
  }
}


///// END FUNCTIONS /////

if (getVar('BZUID')) {
  var BZUID = getVar('BZUID');
} else if (getVar('bzuid')) {
  var BZUID = getVar('bzuid');
}

if (getVar('BZCID')) {
  var BZCID = getVar('BZCID');
} else if (getVar('bzcid')) {
  var BZCID = getVar('bzcid');
}

var url_tracker = 'http://rmf.mrmpslc.com/buzzt_image.php';
if(document.body){
  document.body.onclick = detect_onclick;
}else if(document){
  document.onclick = detect_onclick;
}else{}
track_onload();

