/*   Copyright 2007 - Certifica.com   $Id: certifica.js,v 1.1.4.11 2009/10/27 10:13:52 greyes Exp $*/DEFAULT_PIVOT_NAME = 'cert_Pivot';DEFAULT_REDIRECT_TIME = 3000;DEFAULT_PERIODIC_REDIRECT_TIME = 60000;DEFAULT_ORIGIN_COOKIE_NAME = 'cert_Origin';var cert_CustomCounters = null;var cert_CustomAttributes = null;var cert_ReferrerParms = null;var cert_customSearch = false;function cert_normalizePath(sPath){    var sProtocol = cert_getProtocol();    var sRet = 'home/default';    var regexSlashes = /\/\/+/g;    var regexInvalid = /[^A-Z0-9_.\/]/gi;    var aDefaultPages = [        'index.html', 'index.htm', 'index.asp', 'index.php',        'default.asp', 'index.cfm'    ];    sPath = unescape(sPath);    if (sPath && sPath.length > 0 &&        (sProtocol == 'http:' || sProtocol == 'https:')) {        sPath = sPath.replace(regexInvalid, '');        // Si es un directorio, se agrega una pagina por defecto        if (sPath.charAt(sPath.length - 1) == '/') {            sPath += aDefaultPages[0];        }        sPath = sPath.replace(regexSlashes, '/');        var aParts = sPath.split('/');        var aElems = new Array();        for (var i = 0; i < aParts.length; i++) {            if (aParts[i] && aParts[i] != '') {                aElems.push(aParts[i]);            }        }        if (aElems.length == 0) {            aElems.push('home');            aElems.push('default');        }        if (aElems.length == 1) {            aElems.unshift('home');        }        for (var i = 0; i < aDefaultPages.length; i++) {            if (aElems[aElems.length - 1] == aDefaultPages[i]) {                aElems[aElems.length - 1] = 'default';                break;            }        }        sRet = aElems.join('/');    }    return sRet;}function cert_qVal(sValue) {    var pos = String(document.location).indexOf('?');    if (pos != -1) {       var query = String(document.location).substring(pos+1);       var vars = query.split("&");       for (var i=0; i < vars.length; i++) {          var pair = vars[i].split("=");          if (pair[0] == sValue)             return pair[1];       }           }    return null;  }function cert_getCookie(sName) {  var dc = document.cookie;  var prefix = sName + "=";  var begin = dc.indexOf("; " + prefix);  if (begin == -1) {    begin = dc.indexOf(prefix);    if (begin != 0) return null;  } else    begin += 2;  var end = document.cookie.indexOf(";", begin);  if (end == -1)    end = dc.length;  return unescape(dc.substring(begin + prefix.length, end));}function cert_setCookie(sName, sValue, dtExpires, sPath, sDomain, bSecure) {  document.cookie = sName + "=" + escape(sValue) +      ((dtExpires) ? "; expires=" + dtExpires.toGMTString() : "") +      ((sPath) ? "; path=" + sPath : "") +      ((sDomain) ? "; domain=" + sDomain : "") +      ((bSecure) ? "; secure" : "");}function cert_getReferrer(){   var referrer = document.referrer;   if (self.cert_getReferrer14) {      referrer = cert_getReferrer14();	} else {/*@cc_on  @if(@_jscript_version >= 5 )   try {       if ( self != top ) referrer = top.document.referrer;   } catch(e) {};  @end  @*/  }  if (referrer) {	  if (cert_customSearch) {		var re = new RegExp('(https?:\/\/[^/]*)\/?.*$');		referrer = referrer.replace(re, '$1/buscInterno');	  }	  referrer = cert_appendExtraReferrerParms(referrer);  }  return referrer;}/* Obtiene el tipo de protocolo del documento actual. */function cert_getProtocol(){    if (window && window.location && window.location.protocol)        return window.location.protocol;    return null;} /* Crea una cookie con el contenido del referrer para evaluarlo  en el paso final, si es necesario. */function cert_setOrigin(){	var c = cert_getCookie(DEFAULT_ORIGIN_COOKIE_NAME);	if (!c) {		var l = cert_getReferrer();		if (l) {			var re = new RegExp('https?:\/\/([^\/]+)');			var m = re.exec(l);			if (m) {				var m2 = re.exec(document.location);				if (m2) {					if (m[1] != m2[1]) {						c = m[1];					}				}			}		}		if (!c) {			c = 'directo';		}		cert_setCookie(DEFAULT_ORIGIN_COOKIE_NAME, c);	} }function cert_getFlashVersion(){	var flashVersion = -1;	if (navigator.plugins && navigator.plugins.length) {		var objFlash = navigator.plugins["Shockwave Flash"];		if (objFlash) {			if (objFlash.description) {				flashDesc = objFlash.description;				flashVersion = flashDesc.charAt(flashDesc.indexOf('.')-1);			}		}		if (navigator.plugins["Shockwave Flash 2.0"]) {			flashVersion = 2;		}	} else if (navigator.mimeTypes && navigator.mimeTypes.length) {		x = navigator.mimeTypes['application/x-shockwave-flash'];		if (x && x.enabledPlugin) {			flashVersion = 0; // no detectada!		}	}	/*@cc_on	for(var i = 10; i > 0; i--) {		try {			var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);			flashVersion = i;			break;		} catch(e){}	}		@*/	return flashVersion;}/* Crea la URL para obtener un pageview de Certifica. *//* S\u00F3lo necesita los par\u00E1metros iSiteId y sPath       */function cert_getURL(iSiteId, sPath, sAppend) {    var referrer, url;    referrer = 'otro';  	var o = cert_qVal('url_origen');    var proto = cert_getProtocol();    if (proto != 'https:')        proto = 'http:';        if (o != null && o != '')    	referrer = o;	else        referrer = escape(cert_getReferrer());	if (sPath != 'url')		sPath = cert_normalizePath(sPath);    url =        proto + '//hits.e.cl/cert/hit.dll?sitio_id=' + iSiteId + '&path=' + sPath +       '&referer=' + referrer;    url += '&java=' + navigator.javaEnabled() + '&flash=' + cert_getFlashVersion();    if (sAppend)        url += sAppend;    return url;    }function cert_addExtraReferrerParm(sName, sValue){	if (!cert_ReferrerParms) {		cert_ReferrerParms = new Object();	}	cert_ReferrerParms[sName] = sValue;}function cert_appendExtraReferrerParms(sReferrer){	if (cert_ReferrerParms && sReferrer) {		var sAppend = '';		for (var n in cert_ReferrerParms) {			sAppend += n + '=' + cert_ReferrerParms[n] + '&';		}		if (sAppend) {			if (sReferrer.indexOf('?') != -1) {				sReferrer += '&' + sAppend;			} else {				sReferrer += '?' + sAppend;			}		}	}	return sReferrer;}/* Efectua un hit en certifica usando una imagen pivote. */function cert_registerHit(iSiteId, sPath, sPivotName) {   var sAppend = '&cert_cachebuster=' + (1 + Math.floor (Math.random() * 10000));   if ( !sPivotName )      sPivotName = DEFAULT_PIVOT_NAME;   if ( document.images )      if ( document.images[sPivotName] )         document.images[sPivotName].src = cert_getURL(iSiteId, sPath, sAppend);}/* Efect\u00FAa una redirecci\u00F3n marcando la ruta de salida */function cert_registerHitAndRedirect( sURL, iSiteId, sPath, sPivotName ) {   cert_registerHit( iSiteId, sPath, sPivotName );   setTimeout( "location.href = '" + sURL + "'", DEFAULT_REDIRECT_TIME );}/* Abre una nueva ventana, marcando el hit */function cert_registerHitAndOpenWindow( sURL, iSiteId, sPath, sPivotName, sName, sFeatures, bReplace ){   cert_registerHit( iSiteId, sPath, sPivotName );   if (!sName)      sName = 'Downloads';   if (!sFeatures)      sFeatures = 'toolbar=no,location=no,directories=no,status=yes,menubar=no, scrollbars=no,resizable=no,width=425,height=510,screenX=20,screenY=20';   window.open( sURL,       sName,       sFeatures,       bReplace    );   return false;}function cert_getAnchor(sUrl){    return '<img src="' + sUrl + '" width="1" height="1" border="0" alt="Certifica.com">';}/* Marca un hit en la p\u00E1gina actual */function tagCertifica(iSiteId, sPath) {    document.writeln(cert_getAnchor(cert_getURL(iSiteId, sPath)));}/* Marca un registro cada iTime milisegundos.  */function cert_registerPeriodicHit( iSiteId, sPath, sPivotName, iTime ) {   if ( !sPivotName )      sPivotName = DEFAULT_PIVOT_NAME;   if ( !iTime )      iTime = DEFAULT_PERIODIC_REDIRECT_TIME;   cert_registerHit( iSiteId, sPath, sPivotName );   setTimeout( 'cert_registerPeriodicHit( ' + iSiteId + ', "' + sPath + '", "' + sPivotName + '", ' + iTime + ')', iTime );}cert_setOrigin();
