var tAPopUnder = {
	popUnderWin: null, //reference to opened window
	popUrlUpdated: false,
	initUrl: "/static/default/default/html/popunder.html",
	cookieName: 'taPopUnder',
	cookieExpireDays: 7,
	tABaseURL: "http://www.tripadvisor.com/HotelLander",
	cookieVersion: 1,
	
	//find top and left of window for positioning popup
	winX: function() { return (document.all)?window.screenLeft:window.screenX;},
	winY: function() { return (document.all)?window.screenTop:window.screenY; },

	popWindow: function() {
		tAPopUnder.popUnderWin = window.open(tAPopUnder.initUrl, 'tripadvisor', 'width=985px,height=450px,left=' + (tAPopUnder.winX() + 20) + 'px,top=' + (tAPopUnder.winY() + 20) + 'px,menubar=yes,scrollbars=yes,toolbar=yes,resizable=yes');
		tAPopUnder.popUnderWin.blur();
		//window.blur();  //fixes chrome popunder issue but breaks IE - possibly investigate alternative
		window.focus();
	},
	iniPopUnder: function() {
		//check for survey window and the a/b test first
		var test = document.getElementById('test843');
		if (!Srvy.srvy_pop && test) {
			var popCookieObj = tAPopUnder.getCookie(tAPopUnder.cookieName);
			// set next date to 24 hours later
			var nextDate = new Date();
			nextDate.setDate(nextDate.getDate() + 1);
			nextDate = nextDate.getTime();
			
			var currentDate = new Date();
			var created = currentDate.getTime();
			
			if (!popCookieObj) {
				var exdate = new Date();
				exdate.setDate(exdate.getDate() + tAPopUnder.cookieExpireDays);
				tAPopUnder.popWindow();
				tAPopUnder.setCookie(tAPopUnder.cookieName, {
					v: tAPopUnder.cookieVersion,
					created: created,
					nextDate: nextDate,
					numOpened: 1
				}, exdate);
			}
			else {
				// pop up if it's been 24 hours, and less than 3 times in 7 days
				var cookieNextDate = new Date(parseInt(popCookieObj.nextDate));
				var cookieCreated = new Date(parseInt(popCookieObj.created));
				var opened = popCookieObj.numOpened;
				if (cookieNextDate < currentDate && opened < 2) {
					var expires = new Date();
					var now = new Date();
					var differenceMSec = (now.getTime() - cookieCreated.getTime());
					var fromNow = new Date();
					fromNow.setDate(now.getDate() + tAPopUnder.cookieExpireDays);
					expires.setTime(fromNow.getTime() - differenceMSec);//(currentDate + 7) - (currentDate - cookieCreated)
					tAPopUnder.popWindow();
					tAPopUnder.setCookie(tAPopUnder.cookieName, {
						v: tAPopUnder.cookieVersion,
						created: cookieCreated.getTime(),
						nextDate: nextDate,
						numOpened: parseInt(opened) + 1
					}, expires);
				}
			}
		}
	},
	setCookie: function (c_name,object,exdate){
		var value = tAPopUnder.objectToCookieString(object);
		document.cookie=c_name+ "=" +escape(value)+
		((exdate==null) ? "" : ";expires="+exdate.toUTCString());
	},
	getCookie: function(c_name){
		if (document.cookie.length>0){
		  c_start=document.cookie.indexOf(c_name + "=");
		  if (c_start!=-1) {
		    c_start=c_start + c_name.length+1;
		    c_end=document.cookie.indexOf(";",c_start);
		    if (c_end==-1) c_end=document.cookie.length;
		    return tAPopUnder.cookieStringToObject(unescape(document.cookie.substring(c_start,c_end)));
		   }
		}
		return false;
	},
	cookieStringToObject: function(string) {
		var object = {};
		var array = string.split(',');
		for (var i=0; i<array.length; i++) {
			var pair = array[i].split('=');
			object[pair[0]] = pair[1];
		}
		return object;
	},
	objectToCookieString: function(object) {
		var array= [];
		for (var propertyName in object) {
			array.push(propertyName + '=' + object[propertyName]);
		};
		return array.toString();
	},
	getPopUrl: function() {
		var regionId = document.getElementById('amenityRegion');
		if (regionId) {
			return tAPopUnder.tABaseURL + '?mcid=13572&eid=' + regionId.value;
		}
		return false;
	}
}

