<!--

function GetEPIParamFromQuery(paramName,searchQuery) {
	var query 		  = document.location.search.substring(1);
  var passedQuery = searchQuery;

	if (passedQuery != undefined && passedQuery.indexOf('?') != -1) {
     query = passedQuery.substring((passedQuery.indexOf('?')+1));
  }

	var params  	= query.split('&');

  for (i=0; i<params.length; i++) {
      var param = params[i].split('=');

      if (param[0].toLowerCase() == paramName.toLowerCase()) {
          return param[1] || "";
      }
  }

  return null;
}

function GetEPICookie(name)
{ 
	var cname = name + "=";
	var dc = document.cookie;
  if (dc.length > 0)
  { begin = dc.indexOf(cname);
    if (begin != -1)
    { begin += cname.length;
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
      return unescape(dc.substring(begin, end));
    }
  }
  else {
    return null;
  }
}

function SetEPICookie(name, value, expires, path, domain)
{
	var cookieName = name + "=" + escape(value) + ((expires == null) ? "" : "; expires=" + expires.toUTCString()) + ((path == null)    ? "" : "; path=" + path) + ((domain == null)  ? "" : "; domain=" + domain);
	document.cookie = cookieName;
}

function GetEpiCode() {
  var epi_expires  	= new Date();
  epi_expires.setTime((epi_expires.getTime())+(90*24*3600*1000));
  
  //var epi_cookie  = 'test_cookie';
  var epi_cookie  = GetEPICookie('lenovoEPI');
  var epi_url     = GetEPIParamFromQuery('epi',location.search);
  
  if (epi_url != null) {
    SetEPICookie('lenovoEPI',epi_url,epi_expires,null,null);
    return epi_url;
  }
  else if (epi_cookie != null) {
    return epi_cookie;
  }  
  else {
    SetEPICookie('lenovoEPI','web_express',epi_expires,null,null);
    return 'web_express';
  }
  
  return epi_url;
}

function ApplyEpiToLinks() {
  var links   = document.links;
  var epiCode = GetEpiCode();
  
  for (i=0; i<links.length; i++) {
    
    var link = links[i];
        
    if (link.href != null) {
      var href    = new String(link.href);
      
      var path    = '';
      var search  = '';
      var hash    = '';
      
      if (href.indexOf('?') != -1 ) {
        path = href.substr(0,href.indexOf('?'));
        
        if (href.indexOf('#') != -1) {
          search  = href.substr(href.indexOf('?'), (href.indexOf('#') - href.indexOf('?')));          
          hash    = href.substr(href.indexOf('#'));
        }
        else {
          search = href.substr(href.indexOf('?'));
        }
        
        if (search.length > 1 && search.indexOf('epi=') == -1) {
          search += '&epi=' + epiCode;
        }
        else {
          search += 'epi=' + epiCode;
        }
      }
      else if (href.indexOf('#') != -1) {
          path = href.substr(0,href.indexOf('#'));
          hash = href.substr(href.indexOf('#'));
          
          search = '?epi=' + epiCode;
      }
      else {
        path    = href;
        search  = '?epi=' + epiCode;
      }
      
      if (path.indexOf('www5') != -1) {
        if (search.indexOf('?open') == -1 || search.indexOf('?Open') != -1) {
          search = '?open&' + search.substr(1);
        }
      }
     
      if (search.indexOf('tradedoubler') != -1 && path.indexOf('kelkoo') != -1) {        
        search = search.replace("%26url%3D","%26epi%3D"+epiCode+"%26url%3D");    
      }
      
      if (path.indexOf('javascript:') == -1 && path.indexOf('microsoft.com') == -1 && path.indexOf('/$FILE/') == -1) {
        link.href = (path+search+hash);
      }
      
    }
  }
}

ApplyEpiToLinks();

//-->