// Customer: Loreal
/** Version: ForeseeTrigger 1.0x **/
/** Copyright 2001-2007 ForeseeResults, Inc **/

/**CLIENT CONFIGURABLE PARAMETERS**/
var triggerParms = new Array(); 
var cppParms = new Array(); 
var triggerVer  = "TRG1_0x"; 
var triggerType = 0;	//0-default standard survey, 1-onexit
triggerParms["displayMode"] = 3; //0=disable, 1=popup then dhtml, 2=popup only, 3=default dhtml only
triggerParms["cid"] = "V89td9B5oNk4gF0lQtExFw=="; // customer id
//triggerParms["nLF"] = "9"; 
triggerParms["spL_Entry"] =0; //50% first sampling from 0-50 for onEntry measure
triggerParms["spL_Exit"]  =85.0; //35% second sampling from 50.1-85 for onExit measure
triggerParms["pc"] = 0; // persistent cookies if 1, default 0
triggerParms["rw"] = 129600; //resample wait (value in minutes)
triggerParms["olpu"] = 1; //default onLoad focus pop under, if 0 - focus parent window 
triggerParms["width"] = 450; //survey width
triggerParms["height"] = 500; //survey height
triggerParms["lfcookie"] = "ForeseeLoyalty_MID_V89td9B5oN"; // change last 10 chars with MID
triggerParms["ascookie"] = "ForeseeSurveyShown_V89td9B5oN"; // change last 10 chars with MID or CID
//triggerParms["domain"] = ".lorealparisusa.com"; //domain name
//triggerParms["omb"] = "1505-0186"; //OMB number
triggerParms["compliant508"] = 0; 	//508 compliant if 1
triggerParms["userURL"] = 1; // send page url as a cpp if 1, 0-disable
triggerParms["capturePageVisited"] = 1; //send total page visited as a cpp if 1, 0-disable

/**DHTML PARAMETERS**/
triggerParms["dhtmlIndex"]= 10000; // z-index s/b greater then client’s dhtml z-index (if exist) - default 10000
triggerParms["dhtmlWidth"] = 400; // welcome page width
triggerParms["dhtmlHeight"] = 290; // welcome page height
triggerParms["dhtmlTrackerRep"] = 0; // drops AlreadyShown cookie if 0 or ScoutRunningCheck if 1, dont drop anything if -1
triggerParms["dhtmlURL"]= (triggerType==0) ? "/fsrscripts/FSRInvite.html" : "/fsrscripts/oeFSRInvite.html";

/**DHTML POSITIONS**/ 
//center		bottom-center		bottom-right		bottom-left          upper-right           upper-left	    upper-center
//x,y = (2,150)		x,y = (2,350)		x,y = (1.02,350)	x,y = (60,350)     x,y = (1.02,50)     x,y = (60,50)	   x,y = (60,50)
//replace (x,y) below with any of the above values, default = center 
var x=2;
var y=150;
//triggerParms["dhtmlLeft"]= (document.body.clientWidth/2) - (triggerParms["dhtmlWidth"]/2);
//triggerParms["dhtmlTop"] = (document.body.clientHeight/2) - (triggerParms["dhtmlHeight"]/2);
triggerParms["dhtmlLeft"] = (self.screen.width - triggerParms["dhtmlWidth"])/x;			//invite page left position**DO NOT MODIFY**
triggerParms["dhtmlTop"] = Math.min((self.screen.height - triggerParms["dhtmlHeight"])/2,y);	//invite page top position**DO NOT MODIFY**

/**OE MODES**/
triggerParms["oeMode"]  = 0; //default mode=0, triggers survey on subdomain or protocol change

/**SCOUT PARAMETERS**/
triggerParms["scoutDelay"] = 1000; //default=1 sec, scout delay in millseconds.
triggerParms["scoutChk"]= "ScoutRunningCheck";
triggerParms["scoutWidth"]  = 500;
triggerParms["scoutHeight"] = 290;
triggerParms["scoutRetry"] = 2; //default=2, check multiple times if OE condition is true.
triggerParms["scoutURL"]  = "/fsrscripts/surveyTracker.html";

/**ADD CUSTOMER PASSED PARAMETERS**/
//cppParms["cpp_5"] = "cpp_name:cpp_value"; //uncomment & replace name/value for STD
//cppParms["oecpp_cppName"]="Foresee_cppName"; //uncomment & replace cppName for OE 

/**ADD ADDITIONAL CUSTOM VARIABLES**/
var siteExcludeList = new Array();	//uncomment if using site exclude domain list below
var referrerExcludeList = new Array();//uncomment if using referrer list below
//siteExcludeList[0] = ""; //list multiple pages,pathname/name/value pair to exclude
//refExcludeList[0] = ""; //list multiple referrer page urls to exclude

/**ADD ADDITIONAL FORESEE SYSTEM VARIABLES**/
var fsr_dropCookie="0"; //DROP RETRY COOKIE FOR OE MODE 1 when 1
var fsr_showErr="0";	//SHOW JAVASCRIPT EXCEPTION when 1

/**ADD EXTERNAL PLUGINS**/
triggerParms["flashPlugin"]= 0;		// enable flash compatibility plugin if 1, disable if 0
triggerParms["multiMeasPlugin"]= 1;	// enable multi-measure plugin if 1, disable if 0
triggerParms["doubleCookiePlugin"]= 0;	// enable double cookie plugin if 1, disable if 0
triggerParms["clickStreamPlugin"]= 0;	// enable 3rd party click stream plugin if 1, disable if 0

/******* DON'T MODIFY BELOW THIS LINE *******/
/************ GLOBAL VARIABLES **************/
var popupURL = "//www.foreseeresults.com/survey/display";
var fsrImgURL= "//www.foreseeresults.com/survey/FSRImg";
var OTCImgURL= "//controller.foreseeresults.com/fsrSurvey/OTCImg";
var OTCImg=null;
var fsrImg=null;
var surveyPopUp=null;
var cpp_3 = "";
var cppCounter=4;
var dcQString="";
var surveyPresentedBy = "normal";
var hParent = null;
var tempURL=null;
var oeRetry=1;
var oeCounter=0;
var isBlankOnce=false;
var randNum=null;
var fsr_aol=null;
var fsr_opera=null;
var fsr_mac=null;
var fsr_NS=null;
var fsr_NS70=null;
var fsr_NS62=null;
var fsr_NS8=null;
var fsr_ie=null;
var fsr_layer=null;
var fsr_Detect = navigator.userAgent.toLowerCase();
var fsr_Version= navigator.appVersion.toLowerCase();
var winOptions = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1,height=1,top=4000,left=4000";

/** Initialize user URL in case of OE secondary measure **/
if (triggerType==1) {if (triggerParms["userURL"] ==1){cppParms["cpp_1"] = (window.opener !=null) ? "userURL:"+ fsrGetEscapeChars(window.opener.location.href,":","|") : "userURL:"+fsrGetEscapeChars(window.location.href,":","|");}}

/************ COMMON FUNCTIONS ************/
function fsrSetCookie (name, value) {
	var argv = fsrSetCookie.arguments;
	var argc = fsrSetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	if ((window.location.protocol).toLowerCase() == "https:")
		secure = (argc > 5) ? argv[5] : true;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}
function fsrSetParams(){
	fsrSetSurveyURL("?width=", triggerParms["width"]);
	fsrSetSurveyURL("&height=", triggerParms["height"]);
	fsrSetSurveyURL("&cid=", fsrGetEscapeChars(escape(triggerParms["cid"]),"+","%2B"));
	fsrSetSurveyURL("&mid=", fsrGetEscapeChars(escape(triggerParms["mid"]),"+","%2B"));
	fsrSetSurveyURL("&omb=", triggerParms["omb"]);
	fsrSetSurveyURL("&olpu=", triggerParms["olpu"]);
	fsrSetSurveyURL("&dcUniqueId=", triggerParms["dcUniqueId"]);
	fsrSetSurveyURL("&ndc=1&fsexp=5256000&midexp=", triggerParms["midexp"]);
	fsrSetSurveyURL("&rso=1&rct=", triggerParms["rso"]);	
}
function fsrSetCustomerPassedParams(){
	if (triggerType!=1) {if (triggerParms["userURL"] == 1) {cppParms["cpp_1"] = "userURL:" + fsrGetEscapeChars (window.location.href,":","|")}};
	if (triggerParms["capturePageVisited"] == 1) {cppParms["cpp_2"] = "PageView:" + fsrGetLFCookie()};
	cppParms["cpp_3"] = (triggerType==0) ? "Browser:"+ fsrGetEscapeChars (fsr_Detect,":","|") + ";" + triggerVer +";normal" : "Browser:OE_Mode"+ triggerParms["oeMode"] +";"+ fsrGetEscapeChars (fsr_Detect,":","|") + ";" + triggerVer + ";" + fsrGetURLParameters('surveypresented');
	if (triggerType==1){
	   for(paramKey in cppParms) {
	     if(paramKey.substring(0,5) == "oecpp"){
	       var value = cppParms[paramKey];
	       var session = fsrGetCookie(value);
	       if (session != null) {
	          cppParms["cpp_"+ cppCounter] = value.substring(8,value.length) + ":" + fsrGetEscapeChars(session,":","|");
	          cppCounter++;	
	       }
	     }
	   }
	}
	for(paramKey in cppParms) {
	     if(paramKey.substring(0,3) == "cpp"){
	          fsrSetSurveyURL("&"+ paramKey + "=", escape(cppParms[paramKey]));
	     }
	}
}
function fsrSetSurveyURL(name,value){
	if (value==null || value==0) return;
		popupURL += name + value;		
}
function fsrSetAlreadyShownCookie() {
   if(triggerParms["dhtmlTrackerRep"] == 0) {
	var persistentExpires=null;
	if(triggerParms["pc"] == 1) {
	  persistentExpires = new Date(); /*persistent cookie expiration*/
	  persistentExpires.setTime(persistentExpires.getTime() + (triggerParms["rw"]*60*1000));
	}
	if(triggerParms["pc"] != -1) {
		fsrSetCookie(triggerParms["ascookie"], 'true', persistentExpires, "/",triggerParms["domain"]);
	}
   }
   else if(triggerParms["dhtmlTrackerRep"] == 1 && triggerType==1) {
   	fsrSetCookie(triggerParms["scoutChk"], 'ScoutClosed', null,'/',triggerParms["domain"]);
   }
}
function fsrSetLFCookie(ckName){
	var stillDropCk=true;
	if (ckName==null) return;
	var pageCount = fsrGetCookie(ckName); /*check loyalty cookie*/
	if (pageCount == null) {pageCount=1;}
	else pageCount++;
	if (triggerParms["dLF"] <=1 && triggerType==0 && triggerParms["multiMeasPlugin"]==0) stillDropCk=false;
	if (stillDropCk)
	fsrSetCookie(ckName, pageCount, null,'/',triggerParms["domain"]);
}
function fsrGetLFCookie(){
	var pageCount = fsrGetCookie(triggerParms["lfcookie"]);
	if (pageCount==null ) pageCount=1;
	return pageCount;
}
/*replace + with %2B and : with |*/
function fsrGetEscapeChars(s,findStr,replaceStr) {
	var encoded = "";
	if (s==null) return encoded;
	var tokens = s.split(findStr);
	for(var i = 0; i < tokens.length; i++) {
		encoded += tokens[i];
		if(i < (tokens.length - 1)) {
			encoded += replaceStr;
		}
	}
	return encoded;
}
function fsrGetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) {
			return fsrGetCookieVal (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) {
			break;
		}
	}
	return null;
}
function fsrGetCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}
function fsrGetDateTimestampId(){
	var newDt   = new Date();
	return newDt.getTime(); 
}
function fsrGetURLParameters(paramName) {
	var sURL = window.document.URL.toString();		
	if (sURL.indexOf("?") > 0)
	{
		var arrParams = sURL.split("?");			
		var arrURLParams = arrParams[1].split("&");		
		var arrParamNames = new Array(arrURLParams.length);
		var arrParamValues = new Array(arrURLParams.length);
		
		var i = 0;
		for (i=0;i<arrURLParams.length;i++)
		{
		    var sParam =  arrURLParams[i].split("=");
		    if (paramName==sParam[0]){
		       	return unescape(sParam[1]);
		    }else{
		       return "";
		    }		
		}
	}
	else
	{
		return "";
	}
}
function fsrIsParentURLChanged(){
	var currentURL=null;
	if (triggerParms["oeMode"]==1) {   
		currentURL = fsrGetCookie('currentURL');
	} 
	else {
		/*tracker throws exception if parent url is changed or exit condition*/
		currentURL = (window.opener==null) ? window.location.href : window.opener.location.href;
	}
	if (currentURL != tempURL) {  
	 if (currentURL != 'blank' && tempURL != 'blank'){tempURL=currentURL;return true;}
	}
	tempURL=currentURL;
	return false;
}
function fsrIsValidBrowser(){
	fsr_aol= ((fsr_Detect.indexOf("aol") >=0) || (fsr_Detect.indexOf("america online browser") >=0)) ? 1 : 0;
	fsr_opera = (fsr_Detect.indexOf("opera") >=0) ? 1 : 0;
	fsr_mac= (navigator.platform.indexOf("Win32") < 0) ? 1 : 0;
	fsr_NS = ((fsr_Detect.indexOf("netscape") >=0) || (fsr_Detect.indexOf("firefox") >=0)) ? 1 : 0;
	fsr_NS70=(fsr_Detect.indexOf("netscape") >= 0 && fsr_Detect.indexOf("7.0") >= 0) ? 1 : 0;
	fsr_NS62=(fsr_Detect.indexOf("netscape") >= 0 && fsr_Detect.indexOf("6.2") >= 0) ? 1 : 0;
	fsr_NS8=(fsr_Detect.indexOf("netscape/8") >=0) ? 1 : 0;	
	fsr_ie=(fsr_Detect.indexOf("msie")>=0 && fsr_Version.indexOf("win") != -1) ? 1 :0;
	fsr_layer = (document.layers) ? 1 : 0;
	if (triggerType==0) {if (fsr_mac || fsr_layer) return false;}
	if (triggerType==1) {if (fsr_mac || fsr_NS62 || fsr_opera) return false;}
	return true;
}
function fsrIsCookieEnabled() {
	var cookieEnabled=(navigator.cookieEnabled)? true : false;
	/*if not IE4+ nor NS6+*/
	if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
		document.cookie="testcookie";
		cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false;
	}
	return cookieEnabled;
}
function fsrIsOnExcludeList(list) {	
	if (list==null || list.length == 0) return false;

	var pageURL = (window.opener == null) ? window.location.href : window.opener.location.href;
	if (arguments.length==2) pageURL = document.referrer;
	if (pageURL=="" || pageURL==null) return false;
	for(key in list) {
		if(pageURL.indexOf(list[key]) != -1) {return true;}
	}
	return false;
}
function fsrIsExitCondition(){
	if(triggerParms["displayMode"] == 0 || !fsrIsCookieEnabled() || 
	   fsrIsOnExcludeList(siteExcludeList) || fsrIsOnExcludeList(referrerExcludeList,document.referrer)){return true;}
	return false;
}
function fsrIsPopupBlocked(winURL,winName){
	/*popup window standard option */
	surveyPopUp = window.open(winURL, winName, winOptions);
	if (surveyPopUp==null || typeof(surveyPopUp)=="undefined" || surveyPopUp.closed) {
		if (triggerParms["olpu"] == 0) self.focus();
		return true;
	}
	try{
		if (arguments.length==3) {
			surveyPopUp.focus();
			return;
		}
		/*aolToolbar and yahoo popupblocker fix*/
		else if (triggerType==0) surveyPopUp.focus();
		else if (triggerType==1) {
			fsrSetCookie(triggerParms["scoutChk"], triggerParms["mid"], null,"/",triggerParms["domain"]);
			surveyPopUp.blur();
		}
	} catch (e){return true;}	     	
	if (triggerParms["olpu"] == 1) {self.focus();}
 	return false;
}
function fsrIsSurveyShown(){
	if (fsrGetCookie(triggerParms["ascookie"]) != null) {return true;}
	return false;
}
function fsrIsValidFlash(){
   if (triggerParms["flashPlugin"]==1){
   	try {if (fsrCheckFlash()) return true;
   	     else return false;
   	} catch (e) {return false;}
   }
   return true;
}
/************ FAILOVER RELATED FUNCTIONS ************/
function fsrIsImgError() {
	return true;
}
function fsrIsImgOnload() {
	if(fsrImg.width == 3) {fsrInviteAct(1);}
  	return true;
}
function fsrIsOTCError() {
	fsrPostOTCOnload();
	return true;
}
function fsrIsOTCOnload() {
	if(OTCImg.width == 3) {fsrPostOTCOnload(); }
  	return true;
}
function fsrPostOTCOnload(){
	if(dcQString == "") {fsrInviteAct(1);}
	else {
		fsrImg = new Image();
		fsrImg.onerror = fsrIsImgError;
		fsrImg.onload = fsrIsImgOnload;
		fsrImg.src = fsrImgURL + "?" + dcQString + "&uid="+ fsrGetDateTimestampId();	
	}
}
/************ DHTML RELATED FUNCTIONS ************/
function fsrCreateDHTML(){
	document.write("<div id=\"FSRInviteWin\" style=\"position:absolute; left:" + triggerParms["dhtmlLeft"]+"px; top:"+ triggerParms["dhtmlTop"]
	+ "px; z-index:"+triggerParms["dhtmlIndex"]+"; border:0; visibility:hidden; filter:revealTrans(Duration=0.5, Transition=23);\">"
	+ "<iframe id=\"FSRIframeWin\" src=\"\" width=\"1\" height=\"1\"></iframe></div>");
}
function fsrContinue() {
	if (triggerType==0) {
	 	var cpp3Str = ""; 
		cpp_3 = "Browser:"+ fsrGetEscapeChars (fsr_Detect,":","|") + ";" + triggerVer + ";dhtml";
		if (popupURL !=null) {
			var pos1 = popupURL.indexOf("&cpp_3=");
			var pos2 = popupURL.indexOf("&",pos1+1);
			if (pos2==-1){
		 		popupURL = popupURL.substring(0,pos1);
			} else {
		    		cpp3Str = popupURL.substring(pos2,popupURL.length);
				popupURL = popupURL.substring(0,pos1);
			}	 
			popupURL+="&cpp_3="+cpp_3 + cpp3Str;
		}
		fsrInviteAct(0);
		fsrIsPopupBlocked(popupURL,"ForeseeSurveyWindow");
	}	
	else if (triggerType==1) {
		fsrInviteAct(0);
		fsrOpenTrackerWin();
	}
}
function fsrCloseDHTML() {
	if (triggerType==1) fsrSetAlreadyShownCookie(); /**drop cookie for OE trigger only**/
	fsrInviteAct(0);
}
function fsrInviteAct(dhtmlMode) {
	/** dhtmlMode=0 - Hide
	 ** dhtmlMode=1 - UnHide **/
	surveyPresentedBy = "dhtml";
	if(document.all && document.all.FSRInviteWin.filters) {
	    	if (dhtmlMode == 1) {
	    		document.all.FSRIframeWin.src = triggerParms["dhtmlURL"];
	    		document.all.FSRIframeWin.width = triggerParms["dhtmlWidth"];
	    		document.all.FSRIframeWin.height= triggerParms["dhtmlHeight"];
	    	}
	    	document.all.FSRInviteWin.filters.revealTrans.transition = 23;
	    	document.all.FSRInviteWin.filters.revealTrans.Apply();
	    	document.all.FSRInviteWin.style.visibility = (dhtmlMode==1) ? 'visible' : 'hidden';
	    	document.all.FSRInviteWin.filters.revealTrans.Play();
	} else if(document.all) {
		if (dhtmlMode == 1) {
			document.all.FSRIframeWin.src = triggerParms["dhtmlURL"];
			document.all.FSRIframeWin.width = triggerParms["dhtmlWidth"];
	    		document.all.FSRIframeWin.height= triggerParms["dhtmlHeight"];
	    	}
		document.all.FSRInviteWin.style.visibility = (dhtmlMode==1) ? 'visible' : 'hidden';
	} else if(document.getElementById){
		if (dhtmlMode == 1) {
			document.getElementById("FSRIframeWin").src = triggerParms["dhtmlURL"];
			document.getElementById("FSRIframeWin").width = triggerParms["dhtmlWidth"];
	    		document.getElementById("FSRIframeWin").height= triggerParms["dhtmlHeight"];
	    	}
		document.getElementById("FSRInviteWin").style.visibility = (dhtmlMode==1) ? 'visible' : 'hidden';
	}	
}
/************ OE RELATED FUNCTIONS ************/
function fsrOpenTrackerWin() {
	/** returns 1 - show popup or nothing - popup is closed **
	 **      or 0 - show dhtml, popop blocked or displayMode=3 **/
	
	var sl = (screen.width-triggerParms["scoutWidth"])/2;
	var st = (screen.height-triggerParms["scoutHeight"])/2;
	winOptions = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,"+ "top=" + st + ",left=" + sl + ",width=" + triggerParms["scoutWidth"] + ",height=" + triggerParms["scoutHeight"];
	var scoutTracker = fsrGetCookie(triggerParms["scoutChk"]);	
	if (scoutTracker == null) {
		if(arguments.length ==0) {randNum=0;}
		if(fsrGetLFCookie() >= triggerParms["dLF"] && randNum <= triggerParms["spL"]) {
			if (triggerParms["displayMode"] == 3 && arguments.length==1) {return 0;}
			if (!fsrIsPopupBlocked(triggerParms["scoutURL"]+"?surveypresented="+surveyPresentedBy,"ForeseeSurveyWindow")) {return 1;}
		}
		else return 1;
	} else {		
		/*dont show dhtml or open scout again if already surveyed or mid is same or if one scout closes another scout or user closes scout or dhtml*/
		if (fsrIsSurveyShown() || scoutTracker == 'ScoutClosed' || scoutTracker == triggerParms["mid"]){return 1;}
		/*otherwise override scout tracker with another MID*/
		if (!fsrIsPopupBlocked(triggerParms["scoutURL"]+"?surveypresented="+surveyPresentedBy,"ForeseeSurveyWindow")) {
			if(randNum>triggerParms["spL"]) {
				surveyPopUp.close();
				return 1;
			}
		}
	}	
	return 0;	
}
function fsrOpenOnExitSurvey() {
	randNum = Math.random()*100;
	if(randNum <= triggerParms["spE"] || triggerParms["spE"] == null) {
		fsrSetParams();
		if (triggerParms["clickStreamPlugin"]==1) fsrSetClickStreamParams();
		var pageCount=fsrGetLFCookie();
		/** always subtract 1 to remove additional LF that was added when Tracker open first time **/
		pageCount=pageCount-1;
		fsrSetCookie(triggerParms["lfcookie"], pageCount, null,'/',triggerParms["domain"]);
		fsrSetCustomerPassedParams();			
		fsrSetAlreadyShownCookie();
		fsrLoadWait();
		fsrIsPopupBlocked(popupURL,"ForeseeSurveyWindow",0);
		return true;
	}
	window.close();
	return false;
}
function fsrLoadWait() {
	document.write("<B>Survey is loading. Please wait...</B>");
}
function fsrOnUnload() {
	if (triggerParms["oeMode"] == 1) {
		if (fsrGetCookie('currentURL') != null ||
		    fsrGetCookie('currentURL') != 'blank') {fsrSetCookie('previousURL',fsrGetCookie('currentURL'), null,'/',triggerParms['domain']);}
		fsrSetCookie('currentURL', 'blank', null,'/',triggerParms['domain']);
	}
}
function fsrOEUpdate(){
	fsrUpdateParentURL();
	/**drop LFCookie only if previous URL not eq current url***/
	if (fsrIsParentURLChanged()){
		oeCounter++;
		fsrSetLFCookie(triggerParms["lfcookie"]);
	}
	if(fsrIsOnExcludeList()){fsrOpenOnExitSurvey();}
	if((triggerParms["nLF"]) != null) {
		/**checking if nLF >= scoutTracker Counter **/
		 if(oeCounter >= triggerParms["nLF"]) {fsrOpenOnExitSurvey();}
	}	
}
function fsrUpdateParentURL(){
	if (triggerParms["userURL"] == 1) {
		if (triggerParms["oeMode"] == 0){
			hParent = window.opener;
			cppParms["cpp_1"] = "userURL:" + fsrGetEscapeChars (hParent.location.href,":","|");
		}
		else {
			if (fsrGetCookie('previousURL') != null && arguments.length == 0 && triggerParms["nLF"] == null)
				cppParms["cpp_1"] = "userURL:"+ fsrGetEscapeChars (fsrGetCookie('previousURL'),":","|");
			else {
				if (fsrGetCookie("currentURL") == 'blank') cppParms["cpp_1"] = "userURL:"+ fsrGetEscapeChars(fsrGetCookie('previousURL'),":","|");
				else cppParms["cpp_1"] = "userURL:"+ fsrGetEscapeChars(fsrGetCookie('currentURL'),":","|");
			}
		}
	}
}
function fsrRetryScout(){
	if (oeRetry<triggerParms["scoutRetry"]) {
		oeRetry++;
		return true;
	}
	/** additional false positive check to see if its the same domain then continue checking**/
	try {
	      hParent = window.opener;
	      if ((hParent.location.hostname).indexOf(triggerParms["domain"]) != -1) {
	      	if (oeRetry >1) {oeRetry=1;}
		return true;
	      }
	} catch (e) {}
	fsrOpenOnExitSurvey();
	return false;
}
/**catching window.closed exception in Win/SP2 - property is not supported anymore in IE **/
function fsrIsParentClosed(){
	try {if (window.opener.closed){return true;}}
	catch (e) {return true;}
	return false;
}
function fsrIsCookieBlank(){
	hParent = window.opener;
	/*close tracker if no cookies setup*/
	if(fsrGetCookie("currentURL") == null){window.close();}
	/*continue looping if trigger MID == null*/
	else if (triggerParms["mid"] == null) {setTimeout ( "fsrJavaTimeout();", triggerParms["scoutDelay"], "JavaScript" );}
	else {
		if (fsrGetCookie("currentURL") == 'blank' || (fsr_ie && fsrIsParentClosed()) ){
			if (fsr_dropCookie == 1) fsrSetCookie("fsr_OEMode1_retry", oeRetry, null,'/',triggerParms["domain"]);
			/** close tracker if Tracker MID = Trigger MID **
			 ** making sure that scout is closed and no false positive survey is shown **/
 			if (triggerParms["mid"] == fsrGetCookie(triggerParms["scoutChk"])) {
 				fsrSetAlreadyShownCookie();
 				window.close();
 				return;
 			}
			fsrSetLFCookie(triggerParms["lfcookie"]);			
			if (fsr_ie && fsrIsParentClosed()){
				/*Issue with IE and Google Popupblocker
				 *Blocks onUnload on closing of window or browser
				 *By default, pop survey with or w/o any popup blockers*/
				fsrUpdateParentURL(true);/*get currentURL instead of previousURL*/
				oeRetry=triggerParms["scoutRetry"];
			}
			else {
				isBlankOnce=true;
				/*do not use hParent.closed - causes problem in NS/FF*/
				if (hParent == null) {oeRetry = triggerParms["scoutRetry"]};
			}
			if (fsrRetryScout()) {setTimeout ( "fsrJavaTimeout();", triggerParms["scoutDelay"], "JavaScript" );}
		}
		else {
			isBlankOnce=false;
			/**resetting retry counter to avoid false positive due to delay in page loading**/
			if (oeRetry >1) {oeRetry=1;}
			setTimeout ( "fsrJavaTimeout();", triggerParms["scoutDelay"], "JavaScript" );
		}
	}
}
function fsrIsOnExit(){
	/**close scout if survey already shown or user cancel dhtml invite or cookies are disabled**/
	if (fsrGetCookie(triggerParms["scoutChk"])=='ScoutClosed' || fsrGetCookie(triggerParms["scoutChk"]) == null || fsrIsSurveyShown()){window.close();}
	hParent = window.opener;
	fsrOEUpdate();
	if (triggerParms["oeMode"] == 0) {
		if (this.document.domain != hParent.document.domain) {
			if (fsrRetryScout()) setTimeout ( "fsrIsOnExit();", triggerParms["scoutDelay"], "JavaScript" );
		}
		else
			setTimeout ( "fsrIsOnExit();", triggerParms["scoutDelay"], "JavaScript" );
	}
	else {
		/** resetting retry counter to avoid false positive due to delay in page loading
		    and also when opening multiple browser sessions 
		 **/
		if (isBlankOnce==false)	oeRetry=1; /*this line causing issue if currentURL = blank on any page then it doesnt loads the page because the counter always stays at 1.*/
		fsrIsCookieBlank();
	}
}
function fsrErrorHandler(msg,url,line){
	/*for debugging purpose*/
	if (fsr_showErr==1) alert("FSR Exception in Trigger Type:"+ triggerType + "-Ver:"+ triggerVer+"-Mode:"+ triggerParms["oeMode"] + " Counter:"+ oeRetry+ " -- Error details\n:"+ msg +"\n"+url+"-"+line);
	if (triggerParms["oeMode"] == 0){
		hParent = window.opener;
		if (hParent == null || (fsr_ie && fsrIsParentClosed())) {oeRetry = triggerParms["scoutRetry"]};
		if (fsrRetryScout()) setTimeout ( "fsrIsOnExit();", triggerParms["scoutDelay"], "JavaScript" );
	}
	else { fsrIsCookieBlank();}
	return true;
}
function fsrCloseTrackerWin() {
      var scoutTracker = fsrGetCookie(triggerParms["scoutChk"]);
      if (scoutTracker!=null) {
	var trackerWin = window.open(triggerParms["trackerURL"],"ForeseeSurveyWindow");
      	if (trackerWin != null && !trackerWin.closed) {trackerWin.close();}
      }
}
/*********************************************
 ********** MAIN POLL FUNCTION ***************
 *********************************************/
function fsrPoll() {
	if (fsrIsExitCondition() || fsrIsSurveyShown()) return false;
	fsrSetLFCookie(triggerParms["lfcookie"]);
	if (triggerType ==0) {
		if (fsrIsOnExcludeList()) return false;
		fsrExecuteStd(arguments[0]);
	}
	else if (triggerType ==1) {
		if (!fsrIsValidBrowser()) return false;
		fsrExecuteOE(arguments[0]);
	}
	return;
}

function fsrExecuteStd() {	
    	if (fsrGetLFCookie() >= triggerParms["dLF"] || (arguments.length==1 && arguments[0] == true)) {
		randNum = Math.random()*100;
		if(randNum <= triggerParms["spL"] || (arguments.length==1 && arguments[0] == true)) {
			var browserOK=fsrIsValidBrowser();
			fsrSetParams();
			if (triggerParms["doubleCookiePlugin"]==1) fsrSetDoubleCookie();
			if (triggerParms["clickStreamPlugin"]==1) fsrSetClickStreamParams();
			fsrSetCustomerPassedParams(); 
			fsrSetAlreadyShownCookie();
			if (triggerParms["displayMode"]<3){ 
				if (!fsrIsPopupBlocked(popupURL,"ForeseeSurveyWindow")) {return true;}
			}
			if (browserOK && triggerParms["displayMode"] !=2 && fsrIsValidFlash()) {
				/*Failover and DHTML Check*/
				OTCImg = new Image();
				OTCImg.onerror = fsrIsOTCError;
				OTCImg.onload = fsrIsOTCOnload;
				OTCImg.src = OTCImgURL + "?protocol=" + window.location.protocol + "&uid="+ fsrGetDateTimestampId();	/*for NE/FF Cache Fix*/
			}
		}	
	}
	return true;
}
function fsrExecuteOE() {	
   	if (triggerParms["rso"] == 1 && triggerParms["aro"] == 1) {triggerParms["spL"] = 100.0;}
   	if (triggerParms["rso"] ==1) {triggerParms["pc"] == -1;}
   	randNum = Math.random()*100;
	if (fsrOpenTrackerWin(randNum)==0) {
		if (!fsr_NS70 && triggerParms["displayMode"] !=2 && fsrIsValidFlash()) {
			/** detect flash with valid browser and player version**/
			if (triggerParms["doubleCookiePlugin"]==1) fsrSetDoubleCookie();
			/*Failover and DHTML Check*/
			OTCImg = new Image();
			OTCImg.onerror = fsrIsOTCError;
			OTCImg.onload = fsrIsOTCOnload;
			OTCImg.src = OTCImgURL + "?protocol=" + window.location.protocol + "&uid="+ fsrGetDateTimestampId();	
		}
	}
  	return true;
}
/***************************************************************
 ** INSERT FORESEE PLUGIN INITIALIZATION CODE/PARAMETERS HERE **
 ***************************************************************
 ** Plugin:  Multi-Measure rev.1.0
 ** Updated: 01/30/07
 ** Desc:    Show different Survey Based on specific random SP%
 ** 	     Using multiple smpl% at runtime
 **************************************************************/
var ENTRY =1; //entry page for lift measure
var EXIT =2;  //exit page for lift measure
function fsrLoadSurveyParms(pgId){
	if (pgId == ENTRY){
		triggerType = 0;
		triggerParms["mid"] = "RloRgERU85sQUUYQ0N8Vlw==";
		triggerParms["dLF"] = 1;
		triggerParms["spL"] = 100.0; //must be 100%
	}
	else if (pgId == EXIT){
		triggerType = 1;
		triggerParms["mid"] = "l9l8x4sk9c4VJ5ogBEcJAg==";
		triggerParms["dLF"] = 1;
		triggerParms["spL"] = 100.0; //must be 100%
		triggerParms["spE"] = 100.0; //execute sample percentage for OE only
		triggerParms["dhtmlURL"]= (triggerType==0) ? "/fsrscripts/FSRInvite.html" : "/fsrscripts/oeFSRInvite.html";
	}
}
function fsrLoadLiftMeasure(){
	triggerParms["displayMode"] = 0; //always disable trigger at page loading
	/**ignore if AlreadyShown or ScoutRunningChk cookie is found**/
	if (fsrIsSurveyShown()) return;
	if (fsrGetCookie(triggerParms["scoutChk"]) != null) {
		fsrLoadSurveyParms(EXIT);
		return;
	}	
	var randNum = Math.random()*100;
	/**calling entry survey only if sp is met and its the first visit **/
	if ((randNum >0 && randNum <= triggerParms["spL_Entry"]) && fsrGetCookie(triggerParms["lfcookie"]) == null) {
		fsrLoadSurveyParms(ENTRY);
		triggerParms["displayMode"] = 3;
	}
	else if (randNum > triggerParms["spL_Entry"] && randNum <= triggerParms["spL_Exit"]) {
		/** calling onexit survey **/
		fsrLoadSurveyParms(EXIT);
		triggerParms["displayMode"] = 3;
	}
	/**keep counting page visited by dropping loyalty cookie if no survey condition is met**/
	if (triggerParms["displayMode"] ==0) {
		fsrSetLFCookie(triggerParms["lfcookie"]);
	}
}
/***************************************************************
 ** Plugin:  Flash Detect rev.1.0
 ** Updated: 01/30/07
 ** Desc:    Checks for flash compatability with our code
 **************************************************************/
var flashTagList= new Array();
//not to be used with other embedded objects e.g. (.dcr/.mov/.mpeg/.avi/.wma/.wmv/.aam/.rm/.ram)
flashTagList[0]= "swf";			// flash src check for IE/NE complaint browsers
flashTagList[1]= "spl";			// splash src check for IE/NE complaint browsers
flashTagList[2]= "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";	//activeX ID check for IE browsers only
var flash_version= 4;	/*supports flash version 4 and above in IE only*/
var canFlashPlay=0;
/* FOR MSIE BASED BROWSERS ONLY - detect Flash Plugin & Version*/
if (fsr_ie && triggerParms["flashPlugin"] == 1) {
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('canFlashPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & flash_version)))\n');
document.write('</SCR' + 'IPT\> \n');
}

function fsrCheckFlashParms(tagName){
	tagName = tagName.toLowerCase();
	for(key in flashTagList) {
		if(tagName.indexOf(flashTagList[key]) != -1) {
			return true;
		}
	}
	return false;
}

function fsrDetectFlash(){
	if (fsr_ie){
	    /** For IE Compatible browsers **/
	    var obj = document.all.tags("OBJECT");
	    if (obj.length == 0) return true;
	    for (var e=0; e<obj.length;e++){
	       for (var d=0; d<obj[e].attributes.length;d++){
		  if ((obj[e].attributes[d].name).toLowerCase() == "classid") {
			if (checkFlashParms(obj[e].attributes[d].value)){
			   return true;
			}
			else {
			   return false;
			}
		  }
	       }
	    }
	}					    
	else{
	    /** For Netscape Compatible browsers **/
	    if (document.embeds.length == 0) return true;
	    for (var e=0; e<document.embeds.length;e++){
		if (checkFlashParms(document.embeds[e].src)) {
		   return true;
		}
		
	    }
	}
	return false;
}
/** check flash with valid browser and player version**/
function fsrCheckFlash(){
    if (fsrDetectFlash()){
		var fsr_opera75 = (fsr_Detect.indexOf("opera 7.54u1") >=0) ? 1 : 0;
		var fsr_NS = ((fsr_Detect.indexOf("netscape") >=0) || (fsr_Detect.indexOf("firefox") >=0)) ? 1 : 0;
		if (fsr_NS)
			flash_version=7;	/*Netscape Mozilla supports flash player 7 and above*/
		if (fsr_mac)
			flash_version=8;	/*Mac Browsers supports flash player 8 and above*/
		/** FOR MOZILLA BASED BROWSERS - detect flash plugin & version **/
		var plugin=(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]?navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin:0);
		if (plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".")-1))>=flash_version) 
		{ canFlashPlay=1; }
		if ((plugin ==0 || plugin==null) && !canFlashPlay){
			return true;
   		}
		else {
			/** Skip dhtml invite for the following browsers:
			 ** For Opera ver 7.5 and below and 
			 ** All Netscape Browsers with flash ver < 7
			 ** Mac Browsers with flash 7 and below
			 ** Reason: possible bug in browser or with flash player using wmode
			 **
			 ** Show Flash for all other browsers with flash >=4
			 ** Supports IE5+,AOL7+,AOLExplorer,MAC,OPERA8+,FF,NS7+
			 **/
			if ((fsr_NS && canFlashPlay) || (!fsr_opera75 && canFlashPlay)){
				return true;
			}
		}
   }
   return false;
}
/**************************************************************/