﻿//-- Agenda web flow rate Analytics
//-- Author:Alan Huang @Oct'2007
//-- Modifier:David Wang @May'2008

function GetUrlParam( paramName )
{
	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
	var oMatch = oRegex.exec( window.top.location.search ) ;

	if ( oMatch && oMatch.length > 1 )
		return oMatch[1];
	else
		return '' ;
}
function SetCookie(name,value){
	var exp  = new Date();    //new Date("December 31, 9998");	
	exp.setTime(exp.getTime() + 20*60*1000);
	document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name){
	var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	if(arr != null) return unescape(arr[2]); return null;
}
function setUrlEncode(s,u) {
 if (typeof(encodeURIComponent) == 'function') {
  if (u) return encodeURI(s);
  else return encodeURIComponent(s);
 } else {
  return escape(s);
 }
}
function getKeyword(stra){   //測試是否為Keyword
	var aryName=new Array();
	var aryParam=new Array();
	var xx=0;
	aryName[0]="google";				aryParam[0]="q=";
	aryName[1]="google";				aryParam[1]="kw=";
	aryName[2]="yahoo";					aryParam[2]="p=";
	aryName[3]="yahoo";					aryParam[3]="Keywords=";	
	aryName[4]="msn";						aryParam[4]="q=";
	aryName[5]="yam";						aryParam[5]="k=";	
	aryName[6]="aol";						aryParam[6]="query=";
	aryName[7]="aol";						aryParam[7]="encquery=";
	aryName[8]="aol";						aryParam[8]="q=";	
	aryName[9]="lycos";					aryParam[9]="query=";
	aryName[10]="ask";					aryParam[10]="q=";
	aryName[11]="altavista";		aryParam[11]="q=";
	aryName[12]="netscape";			aryParam[12]="query=";
	aryName[13]="cnn";					aryParam[13]="query=";
	aryName[14]="live";					aryParam[14]="q=";	
	aryName[15]="baidu";					aryParam[15]="wd=";	
	aryName[16]="youdao";					aryParam[16]="q=";	
	aryName[17]="soso";					aryParam[17]="w=";	
	aryName[18]="sogou";					aryParam[18]="query=";	
	aryName[19]="bbmao";					aryParam[19]="q=";	
	
	var strKeyWord = '';
	for (i=0;i < aryName.length;i++){
		if(stra.indexOf(aryName[i]) > 0 && stra.indexOf('search') > 0){
			if ((xx=stra.indexOf("?" + aryParam[i])) > 0 || (xx=stra.indexOf("&" + aryParam[i])) > 0){
				strKeyWord = stra.substring(xx+aryParam[i].length+1,stra.length);
				if (strKeyWord.indexOf('&') > 0)
					strKeyWord = strKeyWord.substring(0,strKeyWord.indexOf('&'));
				strKeyWord = strKeyWord + ',,'+aryName[i];	
			}
			return strKeyWord;
		}
	}
	return "";	
}
function getUTF8(stra){   //測試是否為utf8
	var aryUrl=new Array();
	//非utf8搜尋引擎
	aryUrl[0]="tw.search.bid.yahoo.com";
	aryUrl[1]="tw.search.match.yahoo.com";
	aryUrl[2]="twsearch.lifestyle.yahoo.com";

	for(var i = 0;i < aryUrl.length;i++){
		if (stra.indexOf(aryUrl[i]) > 0){
			return "false";
		}
	}
	return "true";
}

function createXMLHttpRequestObject()
{
  var XMLHttpRequestObject = false;
  
  try
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e)
  {
    var aryXmlHttp = new Array(
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP",
                               "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0"
                               );
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
    {
      try
      {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      } 
      catch (e) {}
    }
  }
  
  if (!XMLHttpRequestObject)
  {
  }
  else 
  {
    return XMLHttpRequestObject;
  }
}

function AgendaTracker(param1,param2,param3,parm4){
	//SET Cookies as connection info

	var SID,SIDs,Params,time;
	if (getCookie('SIDs') != null){
		SID = getCookie('SIDs');
		SetCookie('SIDs',SID);
	}else{
		time = new Date();
		time = Math.round(time.getTime()/1000).toString();
		SID = time + Math.round(Math.random()*2147483647);
		SetCookie('SIDs',SID);
	}
	//Basic params
	Params = "?param1="+param1+"&param2="+param2+"&param3="+param3;
	
	if(parm4 != "")
	{
		if (getCookie('SIDs') != null){
			SID = getCookie('SIDs');
			if(SID.indexOf("M_") == -1){
				time = new Date();
				SID = "M_" + time.getFullYear().toString() + time.getMonth().toString() + time.getDate().toString() + time.getHours().toString() + time.getMinutes().toString() + time.getMilliseconds().toString() + "_" +parm4;
				SetCookie('SIDs',SID);
			}
		}
		else{
			time = new Date();
			SID = "M_" + time.getFullYear().toString() + time.getMonth().toString() + time.getDate().toString() + time.getHours().toString() + time.getMinutes().toString() + time.getMilliseconds().toString() + "_" +parm4;
			SetCookie('SIDs',SID);
		}
		Params += "&SID=" + SID;
	}
	else
	{		
		//SessionID
		Params += "&SID="+SID;
	}
	
	//Media Tracker   
	var MFRPath = GetUrlParam("MFRPath");
	if(MFRPath != null && MFRPath != ""){
		BP = MFRPath
		Params += "&BP="+BP;
		SetCookie('MFRPath', MFRPath); 
	}
	if(MFRPath == null || MFRPath == ""){
		MFRPath = getCookie('MFRPath');
		SetCookie('MFRPath', MFRPath);  
	}
	Params += "&MFRPathex="+MFRPath;
	
	//Referrer
	//var refs = setUrlEncode(document.referrer.replace(/%/g,'SeArCh')).replace(/SeArCh/g,'%');	 
	var refs = setUrlEncode(document.referrer);
	Params += "&refs="+ refs;
	
	//KeyWord
	var sUTF8 = "true";
	if (document.referrer != ''){
		var strk = getKeyword(document.referrer);
		if (strk != ''){
			strk = strk.split(',,');
			Params += "&keyt="+strk[1];
			sUTF8 = getUTF8(document.referrer);
			if (sUTF8 == "true"){
				Params += "&keyd="+strk[0];	
			}else{
				//轉成UTF8
				var XMLHttpRequestObject = createXMLHttpRequestObject();
			  if(XMLHttpRequestObject){
			    XMLHttpRequestObject.open("GET", "aspnet/keyword.aspx?keyd=" + strk[0]);
			    XMLHttpRequestObject.onreadystatechange = function()
			    {
			      try
			      {
			      	if (XMLHttpRequestObject.readyState == 4){
			            if(XMLHttpRequestObject.status == 200){
			              Params += "&keyd=" + XMLHttpRequestObject.responseText;	
			            }
			        }
			      }
			      catch(e){}
			    }
			    try
			    {
			      XMLHttpRequestObject.send(null);
			    }
			    catch(e){}
				}					
			}
		}
	}
	//DomainName
	Params += "&doms="+ setUrlEncode(document.domain);
	
	//ScreenSize
	var scr;
	if (self.screen){
		scr=screen.width+"x"+screen.height;
	}else if (self.java) {
		var j=java.awt.Toolkit.getDefaultToolkit();
		var s=j.getScreenSize();
		scr=s.width+"x"+s.height;
	}
	Params += "&scr="+scr;
	
	//BrowserLanguage
	var lns;
	if (navigator.language) {
		lns=navigator.language.toLowerCase();
	}else if (navigator.browserLanguage){
		lns=navigator.browserLanguage.toLowerCase();
	}
	Params += "&lns="+lns;
	
	//ScriptName
	var scn,scn2;
	scn = document.location.pathname+document.location.search;
	Params += "&scn=" + setUrlEncode(scn);
	scn2 = document.location.pathname;
	Params += "&scn2=" + setUrlEncode(scn2);
	
	//--需要https時再來更改Code及設定IIS主機&設定https憑證
	//if (document.location.protocol=="https:"){
	//	AnalytisPath="https://analytics.delirium.com.tw/webflowanalytics_ex.asp";
	//}else{
	//	AnalytisPath="http://analytics.delirium.com.tw/webflowanalytics_ex.asp";
	//}
	
	//CharSet
	var cht;
	if (document.charset){
		cht = document.charset;		
	}else if (document.characterSet){
		cht = document.characterSet;		
	}
	Params += "&cht="+cht;
	
	//PageTitle
	Params += "&title="+setUrlEncode(document.title);		
	
	AnalyticsPath = "http://analytics.carrefour.com.cn/webflowanalytics_ex.asp";		
	var imgUrl = AnalyticsPath + Params;
	var imgObj = new Image(1,1);
	//alert(AnalyticsPath + Params);
	imgObj.src = imgUrl;
}

function AgendaMemberTracker(CID,UserID,LoginType,MemberAge,MemberGender,UDF_1,UDF_2,UDF_3){
	//SET Cookies as connection info
	var SID2,SID2s,Params;
	if (getCookie('SID2s') != null){
		SID2 = getCookie('SID2s');
		SetCookie('SID2s',SID2);
	}else{
		SID2 = Math.round(Math.random()*2147483647);
		SetCookie('SID2s',SID2);
	}
	var AnalyticsPath = "http://analytics.carrefour.com.cn/webflowanalytics_ex.asp";
	//串參數
	var Params  = "?param1=3";
	//SessionID
	Params += "&SID2="+SID2;
	Params += "&param3="+CID;
	Params += "&UserID="+UserID;
	Params += "&LoginType="+LoginType;
	Params += "&MemberAge="+MemberAge;
	Params += "&MemberGender="+MemberGender;
	Params += "&UDF_1="+UDF_1;
	Params += "&UDF_2="+UDF_2;
	Params += "&UDF_3="+UDF_3;
	var imgUrl = AnalyticsPath + Params;
	var imgObj = new Image();
	imgObj.src = imgUrl;
}