function getCookieVal ( offset ) 
{
	var endstr = document.cookie.indexOf( ";", offset );
	if ( endstr == -1 ) endstr = document.cookie.length;
	return unescape( document.cookie.substring( offset, endstr ) );
}
function get_cookie( c ) 
{
	var arg  = c + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while ( i < clen ) {
		var j = i + alen;
		var c = document.cookie.substring( i, j );
		if ( document.cookie.substring( i, j ) == arg ) {
			return getCookieVal( j );
		}
		i = document.cookie.indexOf( " ", i ) + 1;
		if ( i == 0 ) {
			break;
		}
	}
	return null;
}

function qsToArray() 
{
	var ret     = new Object();
	var kvpairs = new Array();
	var qs = location.search.replace("?", "");
	kvpairs = qs.split("&");

	for (var i = 0; i < kvpairs.length; i++) {
		var tmp = new Array();
		tmp = kvpairs[i].split("=");
		ret[tmp[0]] = tmp[1]; 
	}
	return ret;
}

function ckToArray()
{
	var ret = new Object();
	var ck  = new Array();
	ck = document.cookie.split(";");

	for (var i = 0; i < ck.length; i++) {
		var tmp = new Array();
		tmp = ck[i].split('=');
		ret[tmp[0]] =tmp[1]; 
	}
	return ret;
}

function getValueByKey(array, key)
{
	var ret = "";
	for (k in array) {
		if (k.match(key) != null) {
			ret = array[k];
			break;
		}
	}
	return ret;
}

function getSrvc()
{
	var ret = "";
	ret = getValueByKey(ckToArray(), 'tvly_service');
	if (ret == "")
		ret = getValueByKey(qsToArray(), 'Service');
	if (ret == "")
		ret = "TRAVELOCITY";
	return ret;
}

function sendSrvc() 
{
    	var srvc = getSrvc();

    	for ( var i = 0; i < document.links.length; i++ ) {   
		var l = document.links[i];
        	if (l.href.indexOf("REPLACE_SERVICE") < 0)
			continue;

        	document.links[i].href = l.href.replace(/REPLACE_SERVICE/, srvc);
    	}
}




/******NOTE:: THE FOLLOWING CODEBLOCK IS OUTSIDE OF A FUNCTION AND IS USED TO ADD EVENTS RELATED TO DISPLAYING A SITE EXIT POPUP*/
//code to show exit popup from all pages except home page and customer page!
if (document.location.pathname!='/' && 
	document.location.pathname!='/customer.html' && 
	document.location.pathname!='/index.html' &&
	document.location.pathname!='/timekeeper.html' &&
	document.location.pathname!='/index_mmi.html'){
		addEvent(window, 'load', changeAnchorsImagemapsAndForms);
		addEvent(window, 'unload', exitPopup);
}
var showExitPopup=false;

function changeAnchorsImagemapsAndForms(){
	var anchors = document.getElementsByTagName('a');
	for (var i=0;i<anchors.length;i++) {
		addEvent(anchors[i], 'click', detachUnload);
	}
	
	var buttons = document.getElementsByTagName('button');
	for (var i=0;i<buttons.length;i++) {
		addEvent(buttons[i], 'click', detachUnload);
	}
	
	/*
	var images= document.getElementsByTagName('img');
	for (var i=0;i<images.length;i++) {
		addEvent(images[i], 'click', detachUnload);
		//if (images[i].useMap!=""){
		//}
	}
	*/
	var forms= document.getElementsByTagName('form');
	for (var i=0;i<forms.length;i++) {
		addEvent(forms[i], 'submit', detachUnload);
	}
}

function exitPopup() {
  
	//alert(showExitPopup);
	if (showExitPopup==false){
		return true;
	}
	// Current date to use for comparison
	var d = new Date();

	popWidth = 500;
	popHeight = 260;

	if ( document.all ) {
		popLeft = 5000;
		popTop = 5000;
	} else {
		popLeft = (screen.width - popWidth)/2;
		popTop = ((screen.height - popHeight)/2) - 20;
	}

	// lastminute.com popunder settings
	var popwin = "/exitpop.html";
	var windowprops = "location=no,directories=no,scrollbars=no,menubars=no,statusbar=no,toolbars=no,resizable=no,width=" + popWidth  + ",height=" + popHeight;

	// If cookie doesn't exist, launch popunder
	// Then set it to launch again the next day
if(get_cookie( "ck_LMexitpopup" ) != 'undefined'){
	if ( get_cookie( "ck_LMexitpopup" ) == null ) {
		mywindow = open(popwin,'lm_tt',windowprops);
		setExitPopupCookieWithExpiry(d);
	} else {
		expiry = get_cookie("ck_LMexitpopup");
		// Test whether the current time exceeds the time for relaunch
		if ( d.getTime() > expiry ) {
			// If so, launch popunder and reset expiry time
			mywindow = open(popwin,'tvly_tt',windowprops);
			setExitPopupCookieWithExpiry(d);
		}		
	}
}
//	self.focus();
}

// Sets the time in which exit popup suppression expires.
// popup automatically relaunches after the next day

function setExitPopupCookieWithExpiry(d) {
	var expiry = new Date();
	expiry.setDate(d.getDate()+1); // Launch popunder the next day
	expiry.setHours(0);
	expiry.setMinutes(0);
	expiry.setMilliseconds(0);

	// set cookie with expiry time and one year lifespan
	nextYear = new Date();
	nextYear.setFullYear( nextYear.getFullYear() + 1); // cookie expires a year from now
	document.cookie = "ck_LMexitpopup=" + expiry.getTime() + "; expires=" + nextYear.toGMTString();
	return true;
}

function detachUnload(){
	//alert("detachUnload called");
	showExitPopup=false;
	removeEvent(window,'unload', exitPopup);
}

function blockExitPopup(){
	showExitPopup=false;
}

function addEvent(obj, evType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	}
}

function removeEvent( obj, type, fn ) {
   if (obj.detachEvent ) {
     obj.detachEvent('on'+type, fn);
     obj[type+fn] = null;
   } else {
     obj.removeEventListener( type, fn, false );
   }
}
