function NavisConvertTagToPhoneNumberBasic(t){
	switch (t){
		case "1.866.205.5584": return("8662055584");
		case "18662160569": return("8662160569");
		case "tto-golf-courses-myrtle-beach": return("8662597469");
		case "gs-myrtle-beach-condo-rentals": return("8662599876");
		case "mbg-myrtle-beach-golf-map": return("8662803901");
		case "tog-email-golf-campaign": return("8663029185");
		case "gs-myrtle-beach-rentals": return("8663481038");
		case "gs-myrtle-beach-luxury-resorts": return("8663485109");
		case "tto-myrtle-beach-golf-package": return("8663485136");
		case "mbg-myrtle-beach-tee-times": return("8663485159");
		case "18663487118": return("8663487118");
		case "18663488974": return("8663488974");
		case "1.866.348.9927": return("8663489927");
		case "18663858477": return("8663858477");
		case "18664559819": return("8664559819");
		case "ss-n-myrtle-beach-resort": return("8665429531");
		case "tto-myrtle-beach-golf-vacation": return("8665578405");
		case "tto-myrtle-beach-golf": return("8665581265");
		case "prt-myrtle-beach-condo-rentals": return("8665581480");
		case "av-n-myrtle-beach-resorts": return("8665581481");
		case "gs-grand-shores-brand": return("8665749666");
		case "1.866.586.9548": return("8665869548");
		case "mbsr-email-golf-campaign": return("8665936369");
		case "prt-grand-strand": return("8665952533");
		case "mbg-discount-golf-myrtle-beach": return("8666021856");
		case "insert": return("8666063656");
		case "18666070096": return("8666070096");
		case "av-myrtle-beach-condos": return("8666070112");
		case "hzn-myrtle-beach-luxury-resorts": return("8666222108");
		case "ss-email-campaign": return("8666232193");
		case "tog-n-myrtle-beach-resort": return("8666263016");
		case "av-avista-resort-brand": return("8666272719");
		case "prt-n-myrtle-beach-condo-rentals": return("8666273205");
		case "18666304566": return("8666304566");
		case "prt-prince-resort": return("8666411893");
		case "mbchamber": return("8666610107");
		case "gs-myrtle-beach-hotels": return("8666844176");
		case "mbg-myrtle-beach-golf-packages": return("8666853878");
		case "18666950923": return("8666950923");
		case "18667010776": return("8667010776");
		case "tto-golfing-myrtle-beach": return("8667391559");
		case "18667851175": return("8667851175");
		case "18668104914": return("8668104914");
		case "18668123373": return("8668123373");
		case "18668171510": return("8668171510");
		case "18668173503": return("8668173503");
		case "18668266134": return("8668266134");
		case "18668271112": return("8668271112");
		case "av-n-myrtle-beach-condo-rentals": return("8669219904");
		case "ss-myrtle-beach-condo-rentals": return("8669231860");
		case "hzn-myrtle-beach-resort": return("8669313194");
		case "mbg-golf-course-myrtle-beach": return("8669344124");
		case "gs-email-campaign": return("8669355239");
		case "1.866.935.7172": return("8669357172");
		case "18669364762": return("8669364762");
		case "1.866.936.6863": return("8669366863");
		case "av-email-campaign": return("8669660272");
		case "tto-golf-course-myrtle-beach": return("8669660327");
		case "tog-myrtle-beach-vacation-rentals": return("8669661332");
		case "18669662594": return("8669662594");
		case "prt-n-myrtle-beach-resort": return("8669664427");
		case "tog-n-myrtle-beach-condo-rentals": return("8669664631");
		case "prt-email-golf-campaign": return("8669752026");
		case "18669752069": return("8669752069");
		case "tog-myrtle-beach-condo-rentals": return("8669752362");
		case "av-myrtle-beach-condo-rentals": return("8669760065");
		case "prt-email-campaign": return("8669760251");
		case "hzn-myrtle-beach-condo-rentals": return("8669762524");
		case "18669763878": return("8669763878");
		case "prt-grand-strand-vacations": return("8669764319");
		case "18669766138": return("8669766138");
		case "mbsr-email-campaign": return("8669767815");
		case "18669768071": return("8669768071");
		case "18669769280": return("8669769280");
		case "18772134410": return("8772134410");
		case "18772193812": return("8772193812");
		case "ss-email-golf-campaign": return("8772242571");
		case "av-myrtle-beach-luxury-resorts": return("8772296641");
		case "gs-email-golf-campaign": return("8772438172");
		case "18772471570": return("8772471570");
		case "ss-n-myrtle-beach-condo-rentals": return("8772576912");
		case "18772586346": return("8772586346");
		case "mbg-myrtle-beach-golf-specials": return("8772586350");
		case "18772660551": return("8772660551");
		case "18772660558": return("8772660558");
		case "hzn-horizon-resort-brand": return("8772694860");
		case "mbg-golf-courses-myrtle-beach": return("8772697640");
		case "tog-n-myrtle-beach-resorts": return("8772698128");
		case "hzn-email-campaign": return("8772757518");
		case "18772832082": return("8772832082");
		case "tog-towers-on-the-grove": return("8772848979");
		case "hzn-myrtle-beach-condos": return("8772900882");
		case "tto-myrtle-beach-tee-times": return("8772917338");
		case "18772938156": return("8772938156");
		case "18772945512": return("8772945512");
		case "18772976574": return("8772976574");
		case "18773455682": return("8773455682");
		case "18773464507": return("8773464507");
		case "18773467069": return("8773467069");
		case "18773467074": return("8773467074");
		case "18773468547": return("8773468547");
		case "18773468549": return("8773468549");
		case "18773469482": return("8773469482");
		case "18773469773": return("8773469773");
		case "18773766146": return("8773766146");
		case "18774020177": return("8774020177");
		case "prt-n-myrtle-beach-vacation-rentals": return("8774083334");
		case "18774014852": return("8774104852");
		case "18774144358": return("8774144358");
		case "18774207027": return("8774207027");
		case "18774326028": return("8774326028");
		case "18774326032": return("8774326032");
		case "18774326034": return("8774326034");
		case "18774468514": return("8774468514");
		case "18774616038": return("8774616038");
		case "18774827984": return("8774827984");
		case "18775027231": return("8775027231");
		case "av-myrtle-beach-hotels": return("8775186559");
		case "gs-myrtle-beach-resorts": return("8775218755");
		case "gs-myrtle-beach-condos": return("8775232019");
		case "18775267612": return("8775267612");
		case "18775331908": return("8775331908");
		case "mbg-myrtle-beach-golf-vacation": return("8775340998");
		case "av-email-golf-campaign": return("8775395657");
		case "1.877.541.9756": return("8775416756");
		case "18775452514": return("8775452514");
		case "18775484576": return("8775484576");
		case "18775496766": return("8775496766");
		case "mbg-myrtle-beach-golf": return("8775501923");
		case "18775588443": return("8775588443");
		case "mbg-myrtle-beach-golf-coupons": return("8775635121");
		case "gs-myrtle-beach-resort": return("8775635128");
		case "18775730160": return("8775730160");
		case "18775901821": return("8775901821");
		case "mbg-golfing-myrtle-beach": return("8775995594");
		case "18776033217": return("8776033217");
		case "tog-email-campaign": return("8777021053");
		case "18777041202": return("8777041202");
		case "prt-myrtle-beach-resorts": return("8777054609");
		case "18777308972": return("8777308972");
		case "18777596355": return("8777596355");
		case "1.877.765.1504": return("8777651504");
		case "18777699814": return("8777699814");
		case "prt-cherry-grove-pier": return("8777717988");
		case "18777906270": return("8777906270");
		case "18777919971": return("8777919971");
		case "18777926470": return("8777926470");
		case "ss-seaside-resort": return("8778058441");
		case "gs-myrtle-beach-vacation": return("8778074735");
		case "18778091177": return("8778091177");
		case "hzn-myrtle-beach-resorts": return("8778198098");
		case "ss-n-myrtle-beach-vacation-rentals": return("8778219998");
		case "18778235813": return("8778235813");
		case "ss-n-myrtle-beach-resorts": return("8778290223");
		case "18778345249": return("8778345249");
		case "18778451604": return("8778451604");
		case "18778454408": return("8778454408");
		case "18778500973": return("8778500973");
		case "18778500982": return("8778500982");
		case "18778533050": return("8778533050");
		case "av-myrtle-beach-vacation": return("8778557643");
		case "ss-myrtle-beach-resorts": return("8778557668");
		case "18778565325": return("8778565325");
		case "18778576219": return("8778576219");
		case "tog-n-myrtle-beach-vacation-rentals": return("8778744427");
		case "gs-myrtle-beach-hotel": return("8778754919");
		case "hzn-email-golf-campaign": return("8778922646");
		case "18778995453": return("8778995453");
		case "18882540848": return("8882540848");
		case "18883642318": return("8883642318");
		case "18883642363": return("8883642363");
		case "18883642375": return("8883642375");
		case "18883642392": return("8883642392");
		case "18883642596": return("8883642596");
		case "18883642635": return("8883642635");
		case "18883643401": return("8883643401");
		case "18883643403": return("8883643403");
		case "18883643421": return("8883643421");
		case "18883643450": return("8883643450");
		case "18883645583": return("8883645583");
		case "18883649158": return("8883649158");
		case "18883649165": return("8883649165");
		case "18883688597": return("8883688597");
		case "18883751248": return("8883751248");
		case "18883751249": return("8883751249");
		case "18883787461": return("8883787461");
		case "18883787480": return("8883787480");
		case "18883950770": return("8883950770");
		case "18883989460": return("8883989460");
		case "18884023840": return("8884023840");
		case "18884027790": return("8884027790");
		case "18884066176": return("8884066176");
		case "18884115714": return("8884115714");
		case "18884207921": return("8884207921");
		case "18884308673": return("8884308673");
		case "18884425019": return("8884425019");
		case "18884455907": return("8884455907");
		case "18884655175": return("8884655175");
		case "18884657709": return("8884657709");
		case "18884818743": return("8884818743");
		case "18884850270": return("8884850270");
		case "18884850279": return("8884850279");
		case "18884851398": return("8884851398");
		case "18884851399": return("8884851399");
		case "18884955334": return("8884955334");
		case "18885228178": return("8885228178");
		case "18885324314": return("8885324314");
		case "18885324329": return("8885324329");
		case "18885420052": return("8885420052");
		case "18885850673": return("8885850673");
		case "18885862235": return("8885862235");
		case "18886535066": return("8886535066");
		case "18886725309": return("8886725309");
		case "18886826209": return("8886826209");
		case "18886913367": return("8886913367");
		case "18887175543": return("8887175543");
		case "18887202075": return("8887202075");
		case "18887303978": return("8887303978");
		case "18887303982": return("8887303982");
		case "18887322071": return("8887322071");
		case "18887691918": return("8887691918");
		case "hzn-myrtle-beach-rentals": return("8888042896");
		case "18888446681": return("8888446681");
		case "18888615676": return("8888615676");
		case "prt-n-myrtle-beach-resorts": return("8888812280");
		case "18888978385": return("8888978385");
	}
	return("8889075001");
}


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 = "14498";

		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;
    	}
	}
}

