function NavisConvertTagToPhoneNumberBasic(t){
	switch (t){
		case "TACRM": return("8005469924");
		case "LS eNewsletter": return("8662146494");
		case "pbeebr": return("8662262505");
		case "lsebr": return("8662263020");
		case "kaebr": return("8662263247");
		case "tiebr": return("8662263439");
		case "mlebr": return("8662289817");
		case "taebr": return("8662292179");
		case "corpebr": return("8662314686");
		case "taletter": return("8663204043");
		case "timlvrbo": return("8663204159");
		case "mlpvrbo": return("8663205187");
		case "KBRA": return("8663489022");
		case "puunoavrbo": return("8664956412");
		case "defaultpuunoa": return("8665049465");
		case "pauoavrbo": return("8665052781");
		case "ppcbigisland": return("8665087035");
		case "HA Dec. Statement - KA": return("8665156243");
		case "lsvrbo": return("8665198230");
		case "BIVB/TAW E-Postcard": return("8665581467");
		case "BIVBWEBTIML": return("8665722571");
		case "VRBO": return("8665879558");
		case "ppckaanapalialii": return("8666277023");
		case "defaultkaanapalialii": return("8666646410");
		case "defaultbigisland": return("8667184147");
		case "defaultclassicresorts": return("8667506903");
		case "ppclahainashores": return("8667796876");
		case "kavrbo": return("8667809656");
		case "genericdcp": return("8669344254");
		case "defaultlahainashores": return("8669349176");
		case "lsp2c": return("8669661856");
		case "bip2c": return("8669760015");
		case "cp2t": return("8669760056");
		case "kaemb": return("8669761056");
		case "lsp2tbe": return("8669761069");
		case "BI42810": return("8669762580");
		case "kap2tbe": return("8669763784");
		case "lsemb": return("8669764286");
		case "kap2t": return("8669764315");
		case "bip2tbe": return("8669765534");
		case "iataemb": return("8669766404");
		case "pbep2t": return("8669767391");
		case "tawbivbsept": return("8669767817");
		case "pbep2c": return("8669767831");
		case "kap2c": return("8669767903");
		case "bip2t": return("8669768072");
		case "cp2c": return("8669768501");
		case "124": return("8669769599");
		case "KA4/14emb": return("8772193891");
		case "8086618050": return("8772197909");
		case "IATA42810": return("8774681664");
		case "LS4/14emb": return("8774923888");
		case "ls5/5": return("8776517831");
		case "kd5/5/10": return("8777699805");
		case "KA eBlast 6/16/10": return("8883642356");
		case "KAEBM5/19/10": return("8883644535");
		case "mlpvrbo2ov": return("8883645195");
		case "LSEMB5/19/10": return("8883645709");
		case "KAVRBO51910": return("8883838115");
		case "kamilovrbo": return("8885075332");
		case "ka1mvpvrbo": return("8885076430");
		case "ka1lovpvrbo": return("8885361464");
		case "LS eblast 6/16/10": return("8885654070");
		case "6/30/10 ka 48hr": return("8885844481");
		case "lsp2t": return("8886196370");
		case "5510bieblast": return("8886535064");
		case "ka1ovpvrbo": return("8886789027");
		case "51210PBEblast": return("8887071752");
		case "bieblast52610": return("8887506964");
		case "iata52610": return("8888502251");
		case "kavrbo2ofp": return("8888732310");
	}
	return("8667184147");
}


function CreateNavisTagCookie(t) {
	CreateNavisTagCookie2(t, "");
}

function CreateNavisTagCookie2(t, dom) {
	var date = new Date();
	date.setTime(date.getTime()+(30*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	var domstr = (dom=="")? "" : "; domain=" + dom;
	document.cookie = "NavisNCKeyword="+t+expires+domstr+"; path=/";
}

function ReadNavisTagCookie() {
	var nameEQ = "NavisNCKeyword=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function GetNavisTagQueryString(){
	var nameEQ = "NCK=";
	//alert(window.location.search.substring(1, window.location.search.length));
	var ca = window.location.search.substring(1, window.location.search.length).split('&');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function GetNavisTagReferrer(){
	var r = document.referrer;
	var rs = r.split('/');
	var rd = rs.length > 2 ? rs[2] : null;
	return rd;
}

function GetNavisTagHash(){
	var nameEQ = "NCK=";
	var h = document.location.hash;
	return (h.substring(1, nameEQ.length + 1) == nameEQ) ? h.substring(nameEQ.length + 1, h.length) : null; 
}

	

function ProcessNavisNCKeyword(){
	ProcessNavisNCKeyword3("", false);
}

function ProcessNavisNCKeyword2(dom){
	ProcessNavisNCKeyword3(dom, false);
}

function ProcessNavisNCKeyword3(dom, referrer){
	ProcessNavisNCKeyword4(dom, true, false, referrer);
}

//dom: domain for the cookie, useful for cookies that persist on multiple subdomains
//querystring:  Should I look in the querystring for the token?
//hash:  Should I look in the hash (the part of the URL after #) for the token?
//referrer:  Should I use the domain of the referrer as the token?
function ProcessNavisNCKeyword4(dom, querystring, hash, referrer){
	var t = null;
	if (t == null && querystring){
		t = GetNavisTagQueryString();
	}
	if (t == null && hash){
		t = GetNavisTagHash();
	}
	if (t == null && referrer){
		t = GetNavisTagReferrer();
	}
	
	if (t != null){
		CreateNavisTagCookie2(t, dom);
	}
}



function FormatPhone(ph, fmt){
	var fs = fmt.split("#");
	var s = "";
	for (var i = 0; i < 10; i++){
		s += fs[i] + ph.substr(i, 1);
	}
	s += fs[10];
	return s;
}

function ShowNavisNCPhoneNumber(){
	ShowNavisNCPhoneNumberFormat("(###) ###-####");
}

function ShowNavisNCPhoneNumberFormat(fmt){
	var ph = NavisConvertTagToPhoneNumberBasic(ReadNavisTagCookie());
	document.write(FormatPhone(ph, fmt));
}

function NavisConvertTagToPhoneNumber(t){
	return FormatPhone(NavisConvertTagToPhoneNumberBasic(t), "(###) ###-####");
}

function NavisSetHiddenKeywordField(id){
	var fld = document.getElementById(id);
	if (fld != null){
		fld.value = ReadNavisTagCookie();
	}
}
function NavisSetHiddenPhoneNumberField(id){
	var fld = document.getElementById(id);
	if (fld != null){
		fld.value = NavisConvertTagToPhoneNumberBasic(ReadNavisTagCookie());
	}
}



function SetNavisP2TalkLink(linkId){
	SetNavisLink(linkId, "P2Talk", "");
}
function SetNavisP2TalkCustomLink(linkId){
	SetNavisLink(linkId, "P2TCust", "");
}
function SetNavisP2ChatLink(linkId){
	SetNavisLink(linkId, "P2ChatIni", "");
}
function SetNavisP2ChatCustomLink(linkId){
	SetNavisLink(linkId, "P2ChatIni", "&cust=1");
}
function SetNavisLink(linkId, page, extra){
	var lnk = document.getElementById(linkId);
	if (lnk != null && (lnk.tagName.toLowerCase() == "a" || lnk.tagName.toLowerCase() == "area")){
		var ph = NavisConvertTagToPhoneNumberBasic(ReadNavisTagCookie());
		var acct = "14409";

		lnk.href = "http://www.navistechnologies.info/p2talk/" + page + ".aspx?account=" + acct + "&dnis=" + ph + extra;
	}
}

function AppendNavisKeywordToLink(linkId){
	var lnk = document.getElementById(linkId);
	if (lnk != null && (lnk.tagName.toLowerCase() == "a" || lnk.tagName.toLowerCase() == "area")){
		var kwd = ReadNavisTagCookie();
		if (kwd != null){
    		lnk.href = lnk.href + (lnk.href.indexOf("?") == -1 ? "?" : "&") + "NCK" + "=" + kwd;
    	}
	}
}

