// Customer: LowerMyBills
// Version : OnExit 5.1
// ************ don't modify below this line *************

var popUpURL  = "//www.foreseeresults.com/survey/display";
var FSRImgURL = "//www.foreseeresults.com/survey/FSRImg";
var OTCImgURL = "//controller.foreseeresults.com/fsrSurvey/OTCImg";
var ckAlreadyShown = triggerParms["ascookie"];
var ckLoyaltyCount = triggerParms["lfcookie"];
var surveyPresentedBy = "normal";
var fsr_mac=null;
var fsr_aol=null;
var fsr_opera=null;
var fsr_NS8=null;	//used in Invite Page to show Note for Netscape 8 browsers only
var fsr_ie=0;
var flash_version= 4;	//supports flash version 4 and above in IE only
var canFlashPlay=0;
var persistentExpires = new Date();
persistentExpires.setTime(persistentExpires.getTime() + (triggerParms["rw"]*60*1000));

var detect = navigator.userAgent.toLowerCase();
var version= navigator.appVersion.toLowerCase();
var appName= navigator.appName.toLowerCase();

/* FOR MSIE BASED BROWSERS ONLY - detect Flash Plugin & Version*/
if (detect && detect.indexOf("msie")>=0 && (version.indexOf("win") != -1) && triggerParms["flashDetect"] == 1) {
fsr_ie=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 ForeCStdGetCookie (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 ForeCStdGetCookieVal (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) {
			break;
		}
	}
	return null;
}

function ForeCStdSetCookie (name, value) {
	var argv = ForeCStdSetCookie.arguments;
	var argc = ForeCStdSetCookie.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;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function ForeCStdGetCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function specialEscape(str) {
	var translated = "";
	var i; 
	var found = 0;
	for(i = 0; (found = str.indexOf('+', found)) != -1; ) {
		translated += str.substring(i, found) + "%2B";
		i = found + 1;
		found++;
	}
	translated += str.substring(i, str.length);
	return translated;
}

function setFSRSurveyCookie() {
	if(triggerParms["npc"] == 1) {
		ForeCStdSetCookie(ckAlreadyShown, 'true',null,"/",triggerParms["domain"]);
	} else {
		ForeCStdSetCookie(ckAlreadyShown, 'true', persistentExpires,"/",triggerParms["domain"]);
	}
}
function setVisualSciencesId(theURL)
{
	var VisualSciencesId = ForeCStdGetCookie("v1st");
	if(VisualSciencesId != null && VisualSciencesId != "")
	{
		triggerParms["cpp_4"] = "VisualSciencesId:" + escape(VisualSciencesId);	
	}
}
function setOmnitureId(theURL)
{
	var OmnitureId = ForeCStdGetCookie("s_foreSeeId");
	if(OmnitureId != null && OmnitureId != "")
	{
		triggerParms["cpp_0"] = "OmnitureId:" + escape(OmnitureId);	
	}
}
function checkFlashParms(tagName){
	tagName = tagName.toLowerCase();
	for(key in flashTagList) {
		if(tagName.indexOf(flashTagList[key]) != -1) {
			return true;
		}
	}
	return false;
}
function fsr_detectFlash(){
	if (fsr_ie){
	    /** For IE Compatible browsers **/
	    var obj = document.all.tags("OBJECT");
	    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 **/
	    for (var e=0; e<document.embeds.length;e++){
		if (checkFlashParms(document.embeds[e].src)) {
		   return true;
		}
	    }
	}
	return false;
}

function isValidFlash(){
   if (triggerParms["flashDetect"]==1 && triggerParms["dhtml"] ==1){
        if (fsr_detectFlash()){
		var fsr_opera75 = (detect.indexOf("opera 7.54u1") >=0) ? 1 : 0;
		var fsr_NS = ((detect.indexOf("netscape") >=0) || (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){
			triggerParms["dhtml"]=1;		//show dhtml
   		}
		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)){
				if (triggerParms["dhtml"]==1){
					return true;		//show dhtml
				}
			}
			triggerParms["dhtml"]=0;		//show no dhtml invite
		}
	}
   }
   if (triggerParms["dhtml"] ==1){
   	triggerParms["inviteDelay"]= 1000;	//overwrite invite timeout to 1 sec
	return true;
   }
   return false;
}

function oePoll() { 
	var randNum = Math.random()*100;
	var stickyCounter = ForeCStdGetCookie(ckLoyaltyCount); 
	var alreadyShown = ForeCStdGetCookie(ckAlreadyShown); 
	var pageCount;
	
	if (stickyCounter == null) {
		pageCount = 1;
		ForeCStdSetCookie(ckLoyaltyCount, pageCount, null,'/',triggerParms["domain"]);		
		stickyCounter = ForeCStdGetCookie(ckLoyaltyCount);
	}
	if (stickyCounter != null) {
		pageCount = stickyCounter;
		if(arguments.length == 1 || pageCount >= triggerParms["dLF"]) {
			if(alreadyShown == null) {				
			        if(randNum <= triggerParms["spE"]) {
			        	var winOptions = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1,height=1,top=4000,left=4000";
					var fullURL = popUpURL + "?" + "width=" + triggerParms["width"] +
					"&height=" + triggerParms["height"] +
					"&cid=" + specialEscape(escape(triggerParms["cid"])) + "&mid=" + specialEscape(escape(triggerParms["mid"]));
					
					var fsr_browser="fsr_nn6";
					if(document.all || document.getElementById) { 
						fsr_browser = "fsr_ie";
					}
					if(document.layers) {
						fsr_browser = "fsr_nn";
					}	
					if ((triggerParms["omb"] )!=null) {
						fullURL += "&omb=" + escape(triggerParms["omb"]);
					}
					if ((triggerParms["cmetrics"] ) != null) {
						fullURL += "&cmetrics=" + escape(triggerParms["cmetrics"]);
					}
					if (triggerParms["olpu"] == 1) {
						fullURL += "&olpu=1";
					}
					if ((triggerParms["dcUniqueId"]) != null) {
						fullURL += "&dcUniqueId=" + escape(triggerParms["dcUniqueId"]);
					}
					if ((triggerParms["midexp"] ) != null) {
						fullURL += "&ndc=1&fsexp=5256000&midexp=" + triggerParms["midexp"];
					}
				        if (triggerParms["capturePageView"] == 1) {
						triggerParms["cpp_2"] = "PageView:"+ pageCount; // customer parameter 2 - Page View
					}
					triggerParms["cpp_3"] = "Browser:OE;"+ cppUrlPatch (detect) + ";" + triggerParms["captureTriggerVersion"] + ";" + getURLParameters('surveypresented');
					
					var counter=4;
					if (triggerParms["visualScienceId"] == 1) {
						counter=5;
						setVisualSciencesId(fullURL);
					}
					if (triggerParms["omnitureId"] == 1) {
						setOmnitureId(fullURL);
					}
					for(paramKey in triggerParms) {
						if(paramKey.substring(0,5) == "oecpp"){
							var value = triggerParms[paramKey];
							var session = ForeCStdGetCookie(value);
							if (session != null) {
								triggerParms["cpp_"+ counter] = value.substring(8,value.length) + ":" + cppUrlPatch (session);
								counter++;	
							}
						}
					}
					var customerParams = "";
					for(paramKey in triggerParms) {
						if(paramKey.substring(0,3) == "cpp"){
							fullURL += "&" + paramKey + "=" + escape(triggerParms[paramKey]);
						}
					}					
					setFSRSurveyCookie();
					loadWait();
					var myPopUp = window.open(fullURL, "_self",winOptions);
					if(myPopUp == null || myPopUp.closed) {return false;}
					else if(triggerParms["pu"]==0) {myPopUp.focus();}
					else {myPopUp.blur();}
					return true;
				}				
			}
		}	
		pageCount++;
		ForeCStdSetCookie(ckLoyaltyCount, pageCount, null,'/',triggerParms["domain"]);		
	}
	return false;
}
var runningscout = null;
var trackerFromClick = false;
var fsr_aol=null;
function openTrackerWin()
{
	runningscout = null;
	var sl = (screen.width-triggerParms["trackerWidth"])/2;
	var st = (screen.height-triggerParms["trackerHeight"])/2;
	var winOpts = "top=" + st + ",left=" + sl + ",width=" + triggerParms["trackerWidth"] + ",height=" + triggerParms["trackerHeight"] + ",scrollbars=1,resizable=1";
	var rNum = 0.0;

	if(arguments.length == 1) {rNum = arguments[0];}		
	var scoutTracker = ForeCStdGetCookie(triggerParms["scout_chk"]);	
	if (scoutTracker == null) {
		if(rNum > triggerParms["spL"]) {return 1;}		
		runningscout = window.open(triggerParms["trackerURL"]+"?surveypresented="+surveyPresentedBy, "SurveyWindowInformative", winOpts);
	} else {		
		if (scoutTracker != triggerParms["meas_id"] ) {
			runningscout = window.open(triggerParms["trackerURL"]+"?surveypresented="+surveyPresentedBy, "SurveyWindowInformative", winOpts);					
			if(rNum>triggerParms["spL"] && runningscout != null && !runningscout.closed) {runningscout.close(); return 1;}
		} else { return 1;}
	}	
	if((trackerFromClick == true || arguments.length == 0) && runningscout != null && !runningscout.closed) {runningscout.blur();}
	self.focus();
	return 0;	
}
function showDHTMLWin()
{
	if(runningscout != null && !runningscout.closed && fsr_aol==false) {return;}
	surveyPresentedBy = "dhtml";
	if(document.all && document.all.FSRInviteWin.filters) {
		document.all.FSRInviteWin.filters.revealTrans.transition = 23 ;	
		document.all.FSRInviteWin.filters.revealTrans.Apply();
		document.all.FSRInviteWin.style.visibility = 'visible';
		document.all.FSRInviteWin.filters.revealTrans.Play();
	}
	else if(document.all) {document.all.FSRInviteWin.style.visibility = 'visible';}	
	else if(document.getElementById) {document.getElementById("FSRInviteWin").style.visibility = 'visible';}	
}
var dcQString="";
var OTCImg;
var FSRImg;
var surveyProcessCont = 1;
var newDt;
var currTime;	// in millisecs

function oeImgProc() {
	if(triggerParms["compliant508"] == 1) { showDHTMLWin(); }
	else { setTimeout("showDHTMLWin();", triggerParms["inviteDelay"],"JavaScript");}
}
function fsrShowSurvey(){
	if(dcQString == "") { oeImgProc(); }
	else {
		newDt   = new Date();
		currTime= newDt.getTime(); // in millisecs
		FSRImg = new Image();
		FSRImg.src = null;
		FSRImg.onerror = imgErrorProc;
		FSRImg.onload = imgOnloadProc;
		FSRImg.src = FSRImgURL + "?" + dcQString + "&uid="+ currTime;	//for NE/FF Cache Fix
	}
}
function imgOnloadProc() {
	if(surveyProcessCont == 1 && FSRImg.width == 3) { oeImgProc(); }
  	return true;
}
function imgErrorProc() {
	surveyProcessCont = 0;
	return true;
}
function otcOnloadProc() {
	if(surveyProcessCont == 1 && OTCImg.width == 3) { fsrShowSurvey(); }
	else { surveyProcessCont = 0; }
  	return true;
}
function otcErrorProc() {
	fsrShowSurvey();
	return true;
}

function openFSRTracker()
{	
	fsr_aol= ((detect.indexOf("aol") >=0) || (detect.indexOf("america online browser") >=0)) ? 1 : 0;
	fsr_opera = (detect.indexOf("opera") >=0) ? 1 : 0;
	fsr_mac= (navigator.platform.indexOf("Win32") >= 0) ? 0 : 1;
   	fsr_NS8=(detect.indexOf("netscape/8") >=0) ? 1 : 0;	
	var alreadyShown = ForeCStdGetCookie(ckAlreadyShown);
	var excludeBrowserFlag = (navigator.platform.indexOf("Win32")<0) || (appName.indexOf("Netscape")>=0 && detect.indexOf("6.2")>=0) || fsr_opera;
	if(excludeBrowserFlag || triggerParms["dt"] == 1 || alreadyShown!=null) {return;}
	if(arguments.length == 1) {trackerFromClick = true;}
	else {trackerFromClick = false;}
	var rNum = Math.random()*100;
	var scoutFlag= null;

	// for AOL and Opera users - show DHTML  (by default) because their PopupBlocker doesn't close the popup
	if (fsr_aol==false && fsr_opera==false) {
		scoutFlag = openTrackerWin(rNum);
	}		
	/** detect flash with valid browser and player version**/
	if(arguments.length == 0 && (scoutFlag==null || scoutFlag == 0) && isValidFlash() && !(appName.indexOf("Netscape")>=0 && detect.indexOf("7.0")>=0)) {
		if(document.getElementById || document.all) {

			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 src="+"\""+ triggerParms["dhtmlURL"]+"\" width="+triggerParms["dhtmlWidth"]+" height="+triggerParms["dhtmlHeight"]+"></iframe></div>");
			
			//DC I verification
			if ((triggerParms["midexp"] ) != null) {
				dcQString = "ndc=1&midexp=" + triggerParms["midexp"] + "&mid=" + specialEscape(escape(triggerParms["mid"]));
				if(triggerParms["dcUniqueId"]!=null) { dcQString += "&dcUniqueId=" + specialEscape(escape(triggerParms["dcUniqueId"])); }						
			}
			
			// Failover check			
			surveyProcessCont = 1;
			var newDt   = new Date();
			var currTime= newDt.getTime(); // in millisecs
			OTCImg = new Image();
			OTCImg.src = null;
			OTCImg.onerror = otcErrorProc;
			OTCImg.onload = otcOnloadProc;
			OTCImg.src = OTCImgURL + "?protocol=" + window.location.protocol + "&uid="+ currTime;	//for NE/FF Cache Fix
		}
	}	
}

function FSRInviteAct(actFlag)
{
	if(document.all && document.all.FSRInviteWin.filters) {
		document.all.FSRInviteWin.filters.revealTrans.transition = 23;
		document.all.FSRInviteWin.filters.revealTrans.Apply();
		document.all.FSRInviteWin.style.visibility = 'hidden';
		document.all.FSRInviteWin.filters.revealTrans.Play();
	}
	else if(document.all) {document.all.FSRInviteWin.style.visibility = 'hidden';}	
	else if(document.getElementById) {document.getElementById("FSRInviteWin").style.visibility = 'hidden';}
	if(actFlag == '1') {openTrackerWin();}
	else if(triggerParms["dhtmlWinRep"] == 0) { setFSRSurveyCookie(); }
}

function getURLParameters(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 "";
	}
}