function NavisConvertTagToPhoneNumberBasic(t){
	switch (t){
		case "Charleston": return("8008400548");
		case "Madrid": return("8663170531");
		case "Portland": return("8663569146");
		case "SanFransisco": return("8663690214");
		case "Baltimore": return("8664422125");
		case "Bogota": return("8666279154");
		case "SanDiego": return("8668590713");
		case "Nashville": return("8668608957");
		case "Tampa": return("8668788594");
		case "Austin": return("8668788596");
		case "Santiago": return("8668976916");
		case "10k_keystone_banner": return("8669664805");
		case "Boston": return("8669667270");
		case "HighRockies": return("8669761237");
		case "Hartford": return("8669762152");
		case "StLouis": return("8669762280");
		case "London": return("8669763586");
		case "Quebec": return("8669766180");
		case "Caracas": return("8669767251");
		case "BritishColumbia": return("8669767276");
		case "Denver": return("8669768513");
		case "Minneapolis": return("8669769678");
		case "Moscow": return("8669769687");
		case "10k_vail_banner": return("8772145063");
		case "JanBlast": return("8772147379");
		case "ClistBuffehrCreek4br": return("8772193705");
		case "Chicago": return("8772201799");
		case "Rome": return("8772377505");
		case "CListVBC2RitzCarlton": return("8772438164");
		case "Sydney": return("8772472613");
		case "Phoenix": return("8772480425");
		case "SanJuan": return("8772593409");
		case "MexicoCity": return("8772697620");
		case "Houston": return("8772757516");
		case "WesterSlope": return("8772811483");
		case "10k_snowmass_banner": return("8772814109");
		case "Teva Games Lodging": return("8772817254");
		case "Alberta": return("8772889784");
		case "ColoradoSprings": return("8772900898");
		case "10k_steamboat_banner": return("8772938145");
		case "BuenasAires": return("8773005790");
		case "AmazingSkiDeals_BC": return("8773455809");
		case "CC_EarlySkiSeasonSavings_08242010_BC": return("8773465754");
		case "CC_EarlySkiSeasonSavings_08242010_BK": return("8773468551");
		case "CC_EarlySkiSeasonSavings_08242010_VL": return("8773468579");
		case "AmazingSkiDeals_AP": return("8773469490");
		case "Ontario": return("8773982383");
		case "NewYork": return("8774072252");
		case "cl_vailcondo_3br": return("8774144324");
		case "LaborDayLodgingDeals_VBC": return("8774468516");
		case "ZipAdventure": return("8774735140");
		case "Cincinnati": return("8774821867");
		case "Boulder": return("8774836007");
		case "LaborDayLodgingDeals_BK": return("8774988694");
		case "VailPassBiking": return("8775174594");
		case "RiodeJaneiro": return("8775186576");
		case "KansasCity": return("8775402620");
		case "ClistAheadPenthouse": return("8775588434");
		case "cl_owb_3br": return("8775810820");
		case "FtCollins": return("8775814988");
		case "ClistHighlands3br": return("8775854227");
		case "Atlanta": return("8776079546");
		case "10k_copper_banner": return("8777490873");
		case "Barcelona": return("8777582735");
		case "LosAngeles": return("8777786549");
		case "0810Breck": return("8777913148");
		case "ppc_vail_homepage": return("8778117713");
		case "ppc_beavercreek_homepage": return("8778120787");
		case "ppc_aspen_homepage": return("8778120795");
		case "ppc_snowmass_homepage": return("8778125682");
		case "ppc_telluride_homepage": return("8778125685");
		case "ppc_breckenridge_homepage": return("8778125687");
		case "ppc_keystone_homepage": return("8778147021");
		case "ppc_vail_landingpage": return("8778147023");
		case "ppc_beavercreek_landingpage": return("8778147025");
		case "ppc_aspen_landingpage": return("8778147028");
		case "ppc_snowmass_landingpage": return("8778147513");
		case "ppc_telluride_landingpage": return("8778147758");
		case "ppc_breckenridge_landingpage": return("8778147992");
		case "ppc_keystone_landingpage": return("8778147996");
		case "Melbourne": return("8778191803");
		case "Miami": return("8778222650");
		case "?NCK=FB_duckyvideo_all": return("8778254094");
		case "Detroit": return("8778286091");
		case "10k_avon_banner": return("8778349877");
		case "epic_pass_rmvrlanding": return("8778436208");
		case "Dallas": return("8778451612");
		case "CC_EarlySkiSeasonSavings_08242010_TR": return("8778459158");
		case "ClistSnowcloud2br": return("8778515408");
		case "CC_08312010_AmazingSkiDeals_VBC": return("8778562174");
		case "AmazingSkiDeals_BK": return("8778562175");
		case "AmazingSkiDeals_TR": return("8778562177");
		case "EasternColorado": return("8778573811");
		case "Tokyo": return("8778653757");
		case "WashingtonDC": return("8778713483");
		case "Seattle": return("8778822934");
		case "Charlotte": return("8883069642");
		case "10k_aspen_banner": return("8883646071");
		case "Colorado Activity Packages": return("8883944168");
		case "10k_telluride_banner": return("8885076434");
		case "Colorado Family Vacation Packages": return("8885420049");
		case "Pittsburgh": return("8886174088");
		case "10k_beavercreek_banner": return("8887322081");
		case "Philadelphia": return("8887625813");
		case "10k_breckenridge_banner": return("8888845295");
		case "10k_bachelorgulch_banner": return("8888965423");
		case "Colorado Golf Packages": return("8888970543");
	}
	return("8774118245");
}


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 = "14492";

		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;
    	}
	}
}

