var SearchEngineVariable = 'q';
function KeyWordIncludeReferrer()
{
   try
   {
      var ref = document.referrer.toUpperCase();
      if (ref.indexOf('GOOGLE.COM') > 0) { SearchEngineVariable = 'q'; return true; }
      if (ref.indexOf('GOOGLE.FR') > 0) { SearchEngineVariable = 'q'; return true; }
      if (ref.indexOf('YAHOO.COM') > 0) { SearchEngineVariable = 'p'; return true; }
	   if (ref.indexOf('MSN.COM') > 0) { SearchEngineVariable = 'q'; return true; }
      if (ref.indexOf('MSN.FR') > 0) { SearchEngineVariable = 'q'; return true; }
	  if (ref.indexOf('AOL.COM') > 0) { SearchEngineVariable = 'query'; return true; }
      if (ref.indexOf('AOL.FR') > 0) { SearchEngineVariable = 'q'; return true; }
	    if (ref.indexOf('ALTAVISTA.COM') > 0) { SearchEngineVariable = 'q'; return true; }
      if (ref.indexOf('ALLTHEWEB.COM') > 0) { SearchEngineVariable = 'q'; return true; }
	     if (ref.indexOf('WANADOO.FR') > 0) { SearchEngineVariable = 'rdata'; return true; }
      if (ref.indexOf('VOILA.FR') > 0) { SearchEngineVariable = 'rdata'; return true; }
      if (ref.indexOf('AOL.FR') > 0) { SearchEngineVariable = 'q'; return true; }
      if (ref.indexOf('LOCALHOST') > 0) { SearchEngineVariable = 'q'; return true; }
   }
   catch (exception) { KeyWordProcessError('KeyWordIncludeReferrer',exception); }
   return false;
}

 function KeyWordExcludePhrase(keyword)
 {
    var ret = false;
    switch (keyword.toUpperCase())
    {
      case 'AND' :                         return true;
      case 'OR' :                          return true;
    }
    return false;
 }
  

function KeyWordGetKeyWordsFromQueryString()
{
   if (KeyWordIncludeReferrer() == false) { return false; }

   var keywords = new Array();
   var ref = document.referrer;
   var pair;
   var qIndex = 0;
   var qs;
   var prm;
   try
   {
     qIndex = ref.indexOf('?');
     if (qIndex < 1) { return keywords; }
     ref = KeyWordReplace(ref,'%22','');
     qs = ref.substring(qIndex + 1,ref.length);
     prm = qs.split('&');
     for (i=0;i<prm.length;i++)
     {
       pair = prm[i].split('=');
       temp = unescape(pair[0]).split('+');
       name = temp.join(' ');
       if (name != SearchEngineVariable) { continue; }
       temp = unescape(pair[1]).split('+');
       for(k=0;k<temp.length;k++)
       {
         if (KeyWordExcludePhrase(temp[k]) == true) { continue; }
         keywords.push(temp[k]);
       }
     }
   }
   catch (exception) { KeyWordProcessError('KeyWordGetKeyWordsFromQueryString',exception); }
   return keywords;
}



function KeyWordProcessError(functionName,e)
{
  if (e.description == null)
  {
//	  alert(functionName + ' ' + e.message); 
  }
  else
  { 
	//  alert(functionName + ' ' + e.description);
  }
}

function KeyWordReplace(OrgVal,SearchVal,ReplaceVal)
{
  var Val;
  var RegExp = eval("/" + SearchVal + "/g");
  if (OrgVal.indexOf(SearchVal) <1) {  return OrgVal; }
  Val = OrgVal.replace(RegExp,ReplaceVal);
  return Val;
}
