
function base64_encode(decStr) {

	var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
	var bits;
	var dual;
	var i = 0;
	var encOut = '';

	while(decStr.length >= i + 3) {
		bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
		(decStr.charCodeAt(i++) & 0xff) <<8 |
		decStr.charCodeAt(i++) & 0xff;

		encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
		base64s.charAt((bits & 0x0003f000) >>12) +
		base64s.charAt((bits & 0x00000fc0) >> 6) +
		base64s.charAt((bits & 0x0000003f));
	}

	if(decStr.length -i > 0 && decStr.length -i < 3) {
		dual = Boolean(decStr.length -i -1);

		bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
		(dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);

		encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
		base64s.charAt((bits & 0x0003f000) >>12) +
		(dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
		'=';
	}

	return(encOut);
}

// Recogemos las variables del query string para volver a 
// construirlas llamando a image.php
function getQueryVariable(variable) {
	
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}		
	}
	//alert('Query Variable ' + variable + ' not found');
	
}

//alert(getQueryVariable("sub_id"));

// Función que tracea la visita 
function trackVisit(id,score_sn){

	var resolution = window.screen.width + 'x' +
	window.screen.height + 'x' +
	window.screen.colorDepth + 'bit';
	

	var cadenaWrite = '<img src="/tracker.php?' +	
	'document_url='           + base64_encode(document.URL) + '&' +
	'referer='                + base64_encode(document.referrer) + '&';	

	// Comprobamos si se trata o no de una oferta
	if(id != 0){
		cadenaWrite = cadenaWrite + 'id=' + id + '&';
	}
	// Comprobamos si se trata o no de un score!!
	if(score_sn != 0){
		cadenaWrite = cadenaWrite + 'score_sn=' + score_sn + '&';
	}
	// Recogemos el sub_id de la sección si la hay
	if(getQueryVariable("sub_id") != undefined){
		cadenaWrite = cadenaWrite + 'sub_id=' + getQueryVariable("sub_id") + '&';
		//alert(getQueryVariable("sub_id") + " -- " + getQueryVariable("ref_id"));
	}
	// Recogemos el partner_id
	if(getQueryVariable("ref_id") != undefined){
		cadenaWrite = cadenaWrite + 'ref_id=' + getQueryVariable("ref_id") + '&'; 		
		//alert(getQueryVariable("sub_id") + " -- " + getQueryVariable("ref_id"));
	}

	cadenaWrite = cadenaWrite + 'add_data[]=resolution::' + resolution +
	'" alt="" width="1" height="1" />';

	//alert(cadenaWrite);

	document.write(cadenaWrite);
	
}

