function NavisConvertTagToPhoneNumberBasic(t){
	switch (t){
		case "GH": return("8662761679");
		case "RICHMOND": return("8663480240");
		case "GREEN": return("8663481860");
		case "INITIALPAYMENT": return("8663485073");
		case "test": return("8663485164");
		case "PRESSRELEASEMAY": return("8663487155");
		case "contactus": return("8663488826");
		case "2009RECYCLE": return("8666136959");
		case "SUMMERPG": return("8666521552");
		case "FALL": return("8666862018");
		case "GUESTQUEST": return("8668003219");
		case "RALEIGH": return("8669661341");
		case "BESTBIDVACATIONRENTALS": return("8669662497");
		case "SPLASH": return("8669662691");
		case "SUMMERSAVINGS": return("8669662961");
		case "RG": return("8669663580");
		case "SIZZLINGSUMMER": return("8669664124");
		case "SUNFUN": return("8669664595");
		case "COMEAGAIN": return("8669665691");
		case "ISLANDFREEPRESS": return("8669665981");
		case "CAPEHATTERAS": return("8669752068");
		case "RODANTHE": return("8669760010");
		case "YAHOOMIDGETT": return("8669760020");
		case "PETFRIENDLY": return("8669760482");
		case "2010ADVANCED": return("8669762101");
		case "MIDGETTREALTY": return("8669762150");
		case "CRAIGSLIST": return("8669762619");
		case "SUMMERPASS": return("8669762818");
		case "local": return("8669763787");
		case "HATTERASREALESTATE": return("8669763803");
		case "HATTERASRENTALS": return("8669764304");
		case "YAHOOHATTERAS": return("8669766181");
		case "YAHOOOUTERBANKS": return("8669766388");
		case "SUMMEROPT": return("8669766574");
		case "TWITTER": return("8669766583");
		case "HATTERAS": return("8669766976");
		case "YAHOOREALESTATE": return("8669767321");
		case "FACEBOOK": return("8669767921");
		case "10K": return("8669767973");
		case "YAHOOCAPEHATTERAS": return("8669768061");
		case "YAHOOHATTERASRENTALS": return("8669768264");
		case "SQUIDOO": return("8669768301");
		case "VACATIONVALUES": return("8669768457");
		case "DOGFRIENDLY": return("8669769261");
		case "PREARRIVAL": return("8772134409");
		case "AMEX": return("8772135381");
		case "DECEMBER2009/2": return("8772138392");
		case "GOOGLELOCAL": return("8772238545");
		case "comp": return("8772565721");
		case "AVON": return("8772611641");
		case "WINDSPORT10": return("8772659359");
		case "NEWSOBSERVER": return("8772917593");
		case "content": return("8772917601");
		case "SNOW": return("8773922711");
		case "DECEMBER2009": return("8773982395");
		case "RENTAL": return("8774100646");
		case "2010CHAMBERCALENDAR": return("8774207030");
		case "PREARRIVE": return("8774827983");
		case "YOUTUBE": return("8774827995");
		case "RESERVATIONINQUIRY": return("8774898809");
		case "POSTDEPARTURE": return("8774898816");
		case "AUGUSTENEWSLETTER": return("8774988695");
		case "SAND": return("8775027232");
		case "OBXTRAVELGUIDE2011": return("8775220331");
		case "OBSERVER": return("8775271331");
		case "OBX": return("8776039203");
		case "ANGLERSCLUBBOOK2010": return("8776537084");
		case "SSPRESSRELEASE": return("8778058440");
		case "hotel": return("8778084110");
		case "AAA": return("8778573808");
		case "GS": return("8778727756");
		case "mr": return("8778749539");
		case "YAHOOHATTERASRENTAL": return("8882070710");
		case "YAHOOCOMP": return("8883642335");
		case "YAHOOHAT": return("8883645256");
		case "JULY": return("8883645532");
		case "YAHOOAVON": return("8884439198");
		case "YAHOORODANTHE": return("8884955328");
		case "CHAMBER": return("8885063533");
		case "PRSTRIPES": return("8885076426");
		case "YAHOOHR": return("8886566771");
		case "YAHOOSMALL": return("8886917059");
		case "JULY10E": return("8888845171");
		case "ALOHAHATTERAS": return("8888978404");
	}
	return("8663488819");
}


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 = "14454";

		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;
    	}
	}
}

