function NavisConvertTagToPhoneNumberBasic(t){
	switch (t){
		case "a-mm": return("8663316011");
		case "kv": return("8663481624");
		case "hhca": return("8663569152");
		case "g-villa-extras": return("8665016918");
		case "g-disney-villas": return("8665045235");
		case "g-orlando-villa": return("8665050287");
		case "g-disney-villa": return("8665061390");
		case "e12-08": return("8665062876");
		case "rq": return("8665290413");
		case "y-villa-extras": return("8665340665");
		case "g-lb": return("8665341803");
		case "y-orlando-villa": return("8665341816");
		case "g-holiday-villas": return("8665343810");
		case "g-wp": return("8665349903");
		case "g-lodging": return("8665354952");
		case "g-ei": return("8665355017");
		case "g-mm": return("8665357792");
		case "g-wh": return("8665359846");
		case "g-bv": return("8665359849");
		case "g-holiday-homes": return("8665359854");
		case "g-ec": return("8665359869");
		case "y-orlando-vacation-home": return("8665441039");
		case "y-disney-villa": return("8665441268");
		case "y-condo-extras": return("8665441286");
		case "y-orlando-condo": return("8665443259");
		case "y-mm": return("8665443788");
		case "y-vacation-home-extras": return("8665450344");
		case "a-orlando-vacation-home": return("8665482718");
		case "rqp": return("8665593454");
		case "a-orlando-vacation-rentals": return("8666167726");
		case "g-maps-wh": return("8666279371");
		case "interhome": return("8666279590");
		case "g-maps": return("8666281267");
		case "vf": return("8666281277");
		case "amex-vr": return("8666283417");
		case "g-orlando-villas": return("8667257166");
		case "g-orlando-condos": return("8667345855");
		case "g-disney-condo": return("8667391549");
		case "g-tv": return("8667408164");
		case "g-condo-extras": return("8667408541");
		case "g-hotel": return("8667408542");
		case "g-vacation-rentals": return("8667408543");
		case "g-vacation-home": return("8667408545");
		case "g-vc-extras": return("8667408547");
		case "dvh": return("8668116067");
		case "g-sm": return("8669761043");
		case "g=rq": return("8669762038");
		case "g-ci": return("8669762148");
		case "mmcl": return("8669766184");
		case "g-hotel-extras": return("8773292544");
		case "g-rooms": return("8774315734");
		case "g-rbo": return("8774433193");
		case "g-mm-rr": return("8774922799");
		case "g-resort": return("8775416759");
		case "g-orlando-condo": return("8775501921");
		case "g-rab": return("8775818886");
		case "y-ci": return("8775854141");
		case "nytts": return("8776007953");
		case "g-accommodations": return("8776609814");
		case "b-maps": return("8776699671");
		case "g-townhome": return("8777596350");
		case "sp": return("8778064638");
		case "g-vh-extras": return("8778822939");
		case "g-vrbo": return("8778916524");
		case "rg-l": return("8883647719");
		case "rg-rr": return("8883835361");
	}
	return("8665357851");
}


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 = "va5040u";

		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;
    	}
	}
}

