/*'*****************
'** Ad Server Lib **
'******************/
// Dependencies (CS): utils.js, xmlDownloader.js, constants.asp
// Dependencies (SS): incWWWConstants.asp

/*
if (typeof(getQueryStringParameter) == "undefined")
	alert("Missing Dependency: utils.js");

if (typeof(XMLDownloader) == "undefined")
	alert("Missing Dependency: xmlDownloader.js");

if (typeof(PATH_REFERRAL_LOGGER) == "undefined")
	alert("Missing Dependency: constants.js");
else if (PATH_REFERRAL_LOGGER == "")
	alert("Missing Dependency: incWWWConstants.js");
*/	

var AdReferralLogger = (
	function AdReferralLogger(){
		try {
			function AdReferralLogger() {}
			
			// MEMBER VARS
			
			var _arrAdServerQs;

			// PRIVATE METHODS
			
			
			
			// PUBLIC METHODS	
			
			AdReferralLogger.LogSignupConversion = 
			function AdReferralLogger_LogSignupConversion(){
				//Send Google tracking
				//GoogleTracker.LogSignupConversion("SIGNEDUP", handle); //m_sHandle
				setCookie(COOKIE_NAME_AD_GOOGLE, " ", (new Date(-1)), "/", "youbet.com"); //delete cookie

				//Send tracking to ZEDO
				ZedoTracker.LogSignupConversion();
			}
			

			
			return AdReferralLogger;
		}catch(ex){
		}		
	}
)();

var GoogleTracker = (
	function GoogleTracker() {
		try {
			function GoogleTracker(){}
			
			
			//*** MEMBER VARS ***
			var _arrCookieValue = new Array();
			var _sCookieName = COOKIE_NAME_AD_GOOGLE;
			var _dExpSeconds = parseInt(COOKIE_EXP_AD_GOOGLE);
			
			var _urlDbWs = PATH_REFERRAL_LOGGER; 
			
			if (typeof(_urlDbWs) == "undefined" || _urlDbWs == ""){
				alert("no _urlDbWs: " + _urlDbWs);
			}
			
			//*** PUBLIC METHODS ***
			GoogleTracker.Load =
			function GoogleTracker_Load(){
				if (_parse()) _trackToCookie();
			}
			
			//web service request -- not currently used
			GoogleTracker.LogSignupConversion =
			function GoogleTracker_LogSignupConversion(sEvent, sMeta) { //example: sEvent = "signup"  --  sMeta = "client1" (handle)
				try {
					var source = "GOOGLE";
					var sMeta = sMeta ? sMeta : "";
					
					var val = unescape(new String(getCookieValue(_sCookieName)));
					if (typeof(val) == "undefined" || val == "undefined")
						return;
					if (typeof(sEvent) == "undefined" || sEvent == "undefined")
						return;

					//LOG IN DB ****					
					//TEST URL var dbUrl = ((new String(document.location).indexOf("https")) < 0 ? "http" : "https") + "://localhost/referralUtils/LogAdReferrals.asp?s=" + source + "&r=" + escape(val) + "&m=" + escape(sMeta)
					
					var dbUrl = _urlDbWs + "?s=" + source + "&e=" + escape(sEvent) + "&r=" + escape(val) + "&m=" + escape(sMeta) + "&z=" + Math.random(); // PROD URL
					XMLDownloader.download(dbUrl); 
					//alert("logged to db: " + dbUrl);
					//END LOG IN DB ****
					
					//REMOVE/EXPIRE COOKIE	
					setCookie(_sCookieName, " ", (new Date(-1)), "/", "youbet.com");
				
				} catch(ex) {
					; //IGNORE FOR NOW
				}			
			}	
			
			
			//*** PRIVATE METHODS ***
			var _parse =
			function GoogleTracker_parse(){
				var source = "", medium = "", campaign = "", term = "", content = "";
				if (getQueryStringParameter("UTM_SOURCE") != ""){
					source = getQueryStringParameter("UTM_SOURCE");
					medium = getQueryStringParameter("UTM_MEDIUM");
					campaign = getQueryStringParameter("UTM_CAMPAIGN");
					term = getQueryStringParameter("UTM_TERM");
					content = getQueryStringParameter("UTM_CONTENT");
					
				}else if (getQueryStringParameter("GGLS") != ""){
					source = getQueryStringParameter("GGLS");
					medium = getQueryStringParameter("GGLM");
					campaign = getQueryStringParameter("GGLC");
					term = getQueryStringParameter("GGLT");
					content = getQueryStringParameter("GGLO");			
				}
				
				var x=0;
				_arrCookieValue[x++] = source;
				_arrCookieValue[x++] = medium;
				_arrCookieValue[x++] = campaign;
				_arrCookieValue[x++] = term;
				_arrCookieValue[x++] = content;
				
				if (_arrCookieValue[0].length > 0) // _arrCookieValue[0] value required, if not there we return false
					return true;
				else
					return false;
			}
			
			var _trackToCookie =
			function GoogleTracker_trackToCookie() {
				var sCookieValue = _arrCookieValue.join("|");
				setCookie(_sCookieName, sCookieValue, _getCookieExpDate(), "/", "youbet.com");
				//alert("Name [" + _sCookieName + "] \nValue [" + sCookieValue + "] \nExp [" + _getCookieExpDate() + "]");
			}
			
			//get date
			var _getCookieExpDate =
			function AdReferralParser_getCookieExpDate(){
				var dt = new Date();
				return (new Date(dt.setSeconds(dt.getSeconds() + _dExpSeconds)));//.toString();
			}

			return GoogleTracker;
		}catch(ex){
			; //IGNORE FOR NOW
		}
	}
)();


var ZedoTracker = (
	function ZedoTracker() {
		try {
			function ZedoTracker(){}
			
			
			
			//*** MEMBER VARS ***
			var _arrZ;
			var _qs;
			var _arrCookieValue = new Array();
			var _sCookieName = COOKIE_NAME_AD_ZEDO;
			var _dExpSeconds = parseInt(COOKIE_EXP_AD_ZEDO);
			
			var _urlDbWs = PATH_REFERRAL_LOGGER; 
			
			//PROD URL
			var _pixelUrl = ((new String(document.location).indexOf("https:")) < 0 
				? URL_ZEDO_PIXEL_HTTP 
				: URL_ZEDO_PIXEL_HTTPS
			);
			
			//TEST URL
			//var _pixelUrl = ((new String(document.location).indexOf("https")) < 0 ? "http" : "https") + "://ywhcsecwks2205.youbet.com/images/vidpix.jpg"; 
			
			
			//*** PUBLIC METHODS ***

			
			ZedoTracker.LogSignupConversion =
			function ZedoTracker_LogSignupConversion() {
				try {
					var advId;
					var actionId;
				
					//EQA
					if (window.location.toString().search(/www\.qatest\.youbet/) > -1){
						advId = ZEDO_ID_ADVERTISER_EQA;
						actionId = ZEDO_ID_ACTION_SIGNUP_EQA;
					}
					
					//STAGING
					else if (window.location.toString().search(/www\.test\.youbet/) > -1){
						advId = ZEDO_ID_ADVERTISER_STAGING;
						actionId = ZEDO_ID_ACTION_SIGNUP_STAGING;
					}
					
					//PRODUCTION
					else if (window.location.toString().search(/www\.youbet/) > -1 || window.location.toString().search(/:\/\/youbet/) > -1){
						advId = ZEDO_ID_ADVERTISER_PRODOCTION;
						actionId = ZEDO_ID_ACTION_SIGNUP_PRODUCTION;
					}
					
					if (advId && actionId)
						_sendActionToZedo(advId, actionId);
				
				} catch(ex) {
					; //IGNORE FOR NOW
				}			
			}
			

			
			
			//*** PRIVATE METHODS ***


			var _sendActionToZedo =
			function ZedoTracker_sendToZedo(advId, actionId) {
				var zzp=new Image();
				if (location.protocol == "https:") {
					zzp.src="https://tt1.zedo.com/ads2/t?o=" + actionId + ";h=" + advId + ";z=" + Math.random();
				} else {
					zzp.src="http://yads.zedo.com/ads2/t?o=" + actionId + ";h=" + advId + ";z=" + Math.random();
				}
			}
			
			
			//get date
			var _getCookieExpDate =
			function AdReferralParser_getCookieExpDate(){
				var dt = new Date();
				return (new Date(dt.setSeconds(dt.getSeconds() + _dExpSeconds)));//.toString();
			}

			return ZedoTracker;
		}catch(ex){
			; //IGNORE FOR NOW
		}
	}
)();
