/**
 * @author amachado
 */

 
 function sbTracking(){
 	
	this.utmb="sb_utmb";
	this.utmz="sb_utmz";
	try {
	this.setUtmb();
	this.setUtmz();
	}
	catch(err){}
}


sbTracking.prototype.getRandomVisit = function(){
		  return Math.round(Math.random() * 256).toString(16) + Math.round(Math.random() * 256).toString(16);
}

sbTracking.prototype.getRandomVisitor = function(){
		  return Math.round(Math.random() * 256).toString(16) + Math.round(Math.random() * 256).toString(16)+Math.round(Math.random() * 256).toString(16) + Math.round(Math.random() * 256).toString(16);
}

sbTracking.prototype.setUtmz = function(){
	var cookieValores = this.getCookie(this.utmz);
	var referrer= document.referrer;
	var urlentrada=document.location.href;
	if (cookieValores && cookieValores.length > 0) {
		var v= cookieValores.split('|');
		if (v.length>=1 && v[0].length>0) referrer = v[0];
		if (v.length>=2) urlentrada = v[1];
	}
	
		
	var d=new Date();	
	d.setTime(d.getTime() + 180 * 24 * 60 * 60 * 1000);
	this.setCookie(this.utmz, referrer+ "|" +  urlentrada , d.getFullYear(), d.getMonth(), d.getDate());
}
	
sbTracking.prototype.setUtmb = function(){
	
	var cookieValores = this.getCookie(this.utmb);
	var agora=new Date();
	var valores="";
	var idvisitor='';
	var visits=0;
	if (cookieValores && cookieValores.length >0	) {
		var anomesdia="";
		var v= cookieValores.split('.');
		if (v.length>=1){idvisitor=v[0]};
		if (v.length>=2){visits+= parseInt(v[1])+1};
		if (v.length>=3){anomesdia = v[2]};
		valores=idvisitor+ "."+ visits.toString()+ "."+ anomesdia;
	}
	else {
		idvisitor = this.getRandomVisitor();
		valores = idvisitor + ".1." + this.getAnoMesDiaHoraMinutoSegundo()
	}
	this.setCookie(this.utmb, valores, agora.getFullYear()+1, agora.getMonth(), agora.getDate());
}



sbTracking.prototype.getAnoMesDia= function (data ){
	var agora; 
	if (data) {agora = data}else{ agora=new Date();};
	return agora.getFullYear().toString() + (agora.getMonth()>9 ? agora.getMonth().toString() : '0'+agora.getMonth().toString()) + (agora.getDate() >9 ? agora.getDate().toString(): '0'+agora.getDate().toString()) 
}

sbTracking.prototype.getAnoMesDiaHoraMinutoSegundo= function (data ){
	var agora; 
	if (data) {agora = data}else{ agora=new Date();};
	var t= agora.getFullYear().toString() + (agora.getMonth()>9 ? agora.getMonth().toString() : '0'+agora.getMonth().toString()) + (agora.getDate() >9 ? agora.getDate().toString(): '0'+agora.getDate().toString())
	t+= (agora.getHours()>9 ? agora.getHours().toString() : '0'+agora.getHours().toString())
	t+= (agora.getMinutes()>9 ? agora.getMinutes().toString() : '0'+agora.getMinutes().toString())
	t+= (agora.getSeconds()>9 ? agora.getSeconds().toString() : '0'+agora.getSeconds().toString())
	return t;
	
}

sbTracking.prototype.getCookie= function(cookie_name) 
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
   if (results) 
   	return (unescape(results[2]));
   else 
   	return null;
}


sbTracking.prototype.setCookie = function(name, value, exp_y, exp_m, exp_d, path, domain, secure){
	var cookie_string = name + "=" + escape(value);
	if (exp_y) {
		var expires = new Date(exp_y, exp_m, exp_d);
		cookie_string += "; expires=" + expires.toGMTString();
	}
	
	if (path) {
			cookie_string += "; path=" + escape(path);
			}
		else{cookie_string += "; path=/";
		}

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
    document.cookie = cookie_string;
}

sbTracking.prototype.eraseCookie= function (name) {
	//this.setCookie(name,"",1);
}




