// ideal domain check
/*
thisDomain = document.domain;
if (thisDomain.indexOf(".") > 0){
	splitDomainString = thisDomain.split(".");
	document.domain = splitDomainString[splitDomainString.length-2] + "." + splitDomainString[splitDomainString.length-1];
}
*/
//hard domain check
//if (document.domain == "lilads.com"){document.domain = "www.lilads.com"}

/* scripts */
//sniff - ADAPTED FROM NETSCAPE WITH PERMISSION
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);

var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_nav5   = (is_nav && (is_major == 5));
var is_nav5up = (is_nav && (is_major >= 5));
var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );
var is_nav6 = (is_nav && (is_major == 5));
var is_nav6up = (is_nav && (is_major >= 5));
var is_gecko = (agt.indexOf('gecko') != -1);

var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up = (is_ie  && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up = (is_ie  && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

var is_aol   = (agt.indexOf("aol") != -1);
var is_aol4  = (is_aol && is_ie4);

var is_opera = (agt.indexOf("opera") != -1);
var is_webtv = (agt.indexOf("webtv") != -1);

var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac = (agt.indexOf("mac")!=-1);

var nscp4 = is_nav4
var ie4   = is_ie4
var dom1  = (is_nav6up || is_ie5up)

if (is_mac && is_ie5)
{	dom1 = false
}

//Limit length of text area
//usage: <textarea onKeyDown="textAreaLimit(this,1024);" onKeyUp="textAreaLimit(this,1024);">blah</textarea>
function textAreaLimit(field, maxlimit){
    if (field.value.length > maxlimit){
        field.value = field.value.substring(0, maxlimit);
        alert("You have exceeded the maximum limit of " + maxlimit +" characters.");    
    }
}

// CREATE APPROPRIATE OBJECT
function getObj(obj)
{	if (dom1)
	{	compLayr = document.getElementById(obj).style
	}
	else if (nscp4)
	{	compLayr = document.layers[obj]
	}
	else
	{	compLayr = document.all[obj].style
	}
	return compLayr
}

// CUSTOM APIs
function setProp(id, property, value){
	obj = getObj(id);
	if (dom1)
    {   if (obj != null)
        {
            obj[ property ] = value;
        }
    }
    /*else if (is_nav4)
    {
        document[id][property] = value;
    }*/
    else if (is_ie4up)
    {
         document.all[id].style[property] = value;
    }
}

/*For loading frames without using frameview.  Can 
load right, left or both.  example:  
<a href="javascript:loadframes(rightframe='/wade/rules.html')">
*/
function loadframes( rightframe,leftframe )
{
    if ( (rightframe != null) && (rightframe != '') )
    {
        top.frames.content.cbright.location.replace( rightframe )
    }
    if ( (leftframe != null) && (leftframe != '') )
    {
        top.frames.content.cbleft.location.replace ( leftframe )
    }
}

function setTop(layr,num)
{	obj = getObj(layr)
	obj.top = num
}

function setLeft(layr,num)
{	obj = getObj(layr)
	obj.left = num
}

function getTop(layr)
{	obj = getObj(layr)
	if (dom1)
	{	return (document.getElementById(layr).offsetTop)
	}
	else if (nscp4)
	{	return (obj.top)
	}
	else
	{	return (obj.posTop)
	}
}

function getLeft(layr)
{	obj = getObj(layr)
	if (dom1)
	{	return (document.getElementById(layr).offsetLeft)
	}
	else if (nscp4)
	{	return (obj.left)
	}
	else
	{	return (obj.posLeft)
	}
}

function incTop(layr,num)
{	obj = getObj(layr)
	obj.top = getTop(layr) + num
}

function incLeft(layr,num)
{	obj = getObj(layr)
	obj.left = getLeft(layr) + num
}

function setZindex(layr,num)
{	obj = getObj(layr)
	obj.zIndex = num
}

function show(layr)
{	obj = getObj(layr)
	obj.visibility = "visible"
}

function hide(layr)
{	obj = getObj(layr)
	obj.visibility = "hidden"
}

function layerWidth(layr)
{	if (dom1)
	{	return (document.getElementById(layr).offsetWidth)
	}
	else if (nscp4)
	{	return eval("document." + layr + ".document.width")
	}
	else
	{	return (document.all[layr].scrollWidth)
	}
}
	
function layerHeight(layr)
{	if (dom1)
	{	return (document.getElementById(layr).offsetHeight)
	}
	else if (nscp4)
	{	return eval("document." + layr + ".document.height")
	}
	else
	{	return (document.all[layr].scrollHeight)
	}
}

function layerClip(layr,topA,rightA,bottomA,leftA)
{	obj = getObj(layr)
	if (dom1 || (ie4 && !is_mac))
	{	obj.clip = "rect(" + topA + " " + rightA + " " + bottomA + " " + leftA + ")"
	}
	else if (nscp4)
	{	obj.clip.top = topA
		obj.clip.left = leftA
		obj.clip.bottom = bottomA
		obj.clip.right = rightA
	}
	else if (ie4 && is_mac)
	{	obj.clip = "rect(0 100% 100% 0)"
	}
}

function browserWidth()
{	if (is_nav)
	{	
		if (window.innerWidth) { return (window.innerWidth); }
		else { return 750; }
	}
	else
	{	if (document.body) { return (document.body.clientWidth); }
		else { return 750; }
	}
}

function browserHeight()
{	if (is_nav)
	{	if (window.innerHeight) { return (window.innerHeight); }
		else { return 550; }
	}
	else
	{	if (document.body){ return (document.body.clientHeight); }
		else { return 550; }
	}
}

/* script */
// reload page if netscape to avoid styles crapping out
function handleResize()
{	if (checkme != browserWidth())
	{	
	//location.replace(location.href);
	location.reload();
	
	//setTimeout('location.href = location.href;',2000)
	//location.href = location.href;
	}
	return false
}

//rollover with layer
function roll(status, elLayr, elId, objOn, objOff)
{	temp = eval("(status) ?" + objOn + ":" + objOff)
	if(dom1)
	{	document.getElementById(elId).setAttribute("src", temp.src)
		//alert(elId + status + temp.src);
	}
	else if(nscp4)
	{	eval("document." + elLayr + ".document." + elId + ".src = temp.src")
	}
	else
	{	eval("document." + elId + ".src = temp.src")
	}
}

//rollover with 2 layers
function roll2(status, elLayr, elLayr2, elId, objOn, objOff)
{	temp = eval("(status) ?" + objOn + ":" + objOff)
	if(dom1)
	{	document.getElementById(elId).setAttribute("src", temp.src)
	}
	else if(nscp4)
	{	eval("document." + elLayr + ".document." + elLayr2 + ".document." + elId + ".src = temp.src")
	}
	else
	{	eval("document." + elId + ".src = temp.src")
	}
}

//new window launcher that names the opening window
function launch(newURL, newName, newFeatures, orgName) {
	if(!orgName){orgName = 'parentWin';}
	var remote = open(newURL, newName, newFeatures);
	if (remote.opener == null){
		remote.opener = window;
	}
	if ( ! remote.opener.name ) { remote.opener.name = orgName; }
	return remote;
}

//open window - no scrollbars, resizable
function opiWin(url, x, y, winName){
	if(!winName){winName = 'genWin';}
	if (document.all){var xMax = screen.width, yMax = screen.height;}
	else if (document.layers){var xMax = window.outerWidth, yMax = window.outerHeight;}
	else{var xMax = 800, yMax=600;}
	var xOffset = (xMax - x)/2, yOffset = (yMax - y)/2;
	myRemote = launch(url,'genWin','width=' +x+ ',height=' +y+ ',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',resizable=yes,status=no,scrollbars=no');
}

//open window - for Excel: the works
function opiXcl(url, x, y, winName){
	if(!winName){winName = 'genWin';}
	if (document.all){var xMax = screen.width, yMax = screen.height;}
	else if (document.layers){var xMax = window.outerWidth, yMax = window.outerHeight;}
	else{var xMax = 800, yMax=600;}
	var xOffset = (xMax - x)/2, yOffset = (yMax - y)/2;
	myRemote = launch(url,'genWin','width=' +x+ ',height=' +y+ ',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',directories,location,menubar,resizable,scrollbars,status,toolbar');
}

//open window - scrollbars, not resizable
function opiWin2(url, x, y, winName){
	if(!winName){winName = 'genWin';}
	if (document.all){var xMax = screen.width, yMax = screen.height;}
	else if (document.layers){var xMax = window.outerWidth, yMax = window.outerHeight;}
	else{var xMax = 800, yMax=600;}
	var xOffset = (xMax - x)/2, yOffset = (yMax - y)/2;
	myRemote = launch(url,winName,'width=' +x+ ',height=' +y+ ',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',resizable=no,status=no,scrollbars=yes');
} 

//open new window - no scrollbars, resizable
function opiNewWin(url, x, y, winName){
	if(!winName){winName = 'genWin';}
	if (document.all){var xMax = screen.width, yMax = screen.height;}
	else if (document.layers){var xMax = window.outerWidth, yMax = window.outerHeight;}
	else{var xMax = 800, yMax=600;}
	var xOffset = (xMax - x)/2 + 50, yOffset = (yMax - y)/2 + 50;
	myRemote = launch(url,'','width=' +x+ ',height=' +y+ ',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',resizable=yes,status=no,scrollbars=no');
}

// used in most public pages for My CB login
var divArray = new Array();
function myCB(){
    divArray[0] = "ListDiv";
    for(i=0;i<divArray.length;i++){
        if (dom1){
            document.getElementById(divArray[i]).style.visibility = "hidden";
            document.getElementById(divArray[i]).style.left = -300;
        }
        else if(nscp4){
            document.layers[divArray[i]].visibility = "hidden";
            document.layers[divArray[i]].left = -300;
        }
        else {
            document.all[divArray[i]].style.visibility = "hidden";
            document.all[divArray[i]].style.left = -300;
        }
    } 
    if (dom1){
        document.getElementById("myCBDiv").style.visibility = "visible";
    }
    else if(nscp4){
        document.layers["myCBDiv"].visibility = "show";
    }
    else {
        document.all["myCBDiv"].style.visibility = "visible";
    }
}
function noMyCB(){
    if (dom1){
        document.getElementById("myCBDiv").style.visibility = "hidden";
    }
    else if(nscp4){
        document.layers["myCBDiv"].visibility = "hidden";
    }
    else {
        document.all["myCBDiv"].style.visibility = "hidden";
    }
    divArray[0] = "ListDiv";
    for(i=0;i<divArray.length;i++){
        if (dom1){
            document.getElementById(divArray[i]).style.left = 0;
            document.getElementById(divArray[i]).style.visibility = "visible";
        }
        else if(nscp4){
            document.layers[divArray[i]].left = 0;
            document.layers[divArray[i]].visibility = "show";
        }
        else {
            document.all[divArray[i]].style.left = 0;
            document.all[divArray[i]].style.visibility = "visible";
        }
    } 
}

// lead generation function
function genLd(leadurl){
    hide('hideContactInfoDiv');
    hideDivs();
    theLead = new Image();
    theLead.src = leadurl;
}

//Admin section header swap
var selNavItem;	
function swapNavSel(navsel){
    hide(selNavItem);
    show(navsel);
}

//Concierge
function concToggle(layr){
    if(document.getElementById(layr).style.display == ""){document.getElementById(layr).style.display = "none";}
    else{document.getElementById(layr).style.display = "";}
}

function concOnlyShowThisDiv(divID){
    for (i=0;i<document.getElementsByTagName('div').length;i++){
        eval('document.getElementById("' + document.getElementsByTagName('div').item(i).name + '")').style.display = "none";
    }    
   document.getElementById(divID).style.display = "";
}
//Admin section edit profiles
var stayingHere = false;
function didYouSave(){
	if(!stayingHere){
      if (confirm("Do you want to save your changes?")) {save(2);}
	}
}
//Telephone number parsing
var regxUSstandard = new RegExp();
	regxUSstandard.compile("(.*)([2-9]\\d{2})(-|\.|\\s)?(\\d{3})(-|\.|\\s)?(\\d{4})");
var regxUSalpha = new RegExp();
	regxUSalpha.compile("(.*)([2-9]\\d{2})(.)?((\\w{3}|\\d{3})(-|\.|\\s)?(\\w{4}|\\d{4}))");
var regxOdd = new RegExp();
	regxOdd.compile("(.*)([2-9]\\d{2})(.\\).|.)?((\\d(-|\.|\\s)|\\w(-|\.|\\s)|\\d|\\w){7})");
var regexTempOddNum = null;

var regxExtSplit = new RegExp();
regxExtSplit.compile("(.{132})(?:\\D+)(\\d+)(?:.*)","i");
var regxGarbage = new RegExp();
regxGarbage.compile("(.{13})(?:.*)","i");

function parsePhone(theInput){
	theString = theInput.value;
	if(theString.length < 1){return;}
	if(theString.match(regxUSstandard)){
		theInput.value = sepExt(theString.replace(regxUSstandard,"($2)$4-$6"));
	}else if(theString.match(regxUSalpha)){
		theInput.value = sepExt(theString.replace(regxUSalpha,"($2)$5-$7"));
	}else if(theString.match(regxOdd) && theString!=regexTempOddNum){
		regexTempOddNum = theString.replace(regxOdd,"$2.$4");
		if(regexTempOddNum!=theString){extractPhoneNumber(regexTempOddNum);}
		else{
			alert(theString + " does not appear to be a valid phone number\nPlease format (###)###-####");
			theInput.focus();
		}
	}else{
		alert(theString + " does not appear to be a valid phone number\nPlease format (###)###-####");
		theInput.focus();
	}
}

function sepExt(inputNumber){
	theNumber = null;
	if(regxExtSplit.test(inputNumber)){
		regExpArry = inputNumber.match(regxExtSplit);
		theNumber = textToDigits(regExpArry[1]) + "x" + regExpArry[2];
	}else if(regxGarbage.test(inputNumber)){
		theNumber = textToDigits(inputNumber.replace(regxGarbage,"$1"));
	}else{theNumber=inputNumber;}
	return theNumber
}

function textToDigits(theNum){
	if(theNum.search(/[A-Za-z]/)<=0){return theNum;}
	else{
		convNum = theNum;
		convNum = convNum.replace(/[ABC]/gi,"2");
		convNum = convNum.replace(/[DEF]/gi,"3");
		convNum = convNum.replace(/[GHI]/gi,"4");
		convNum = convNum.replace(/[JKL]/gi,"5");
		convNum = convNum.replace(/[MNO]/gi,"6");
		convNum = convNum.replace(/[PRS]/gi,"7");
		convNum = convNum.replace(/[TUV]/gi,"8");
		convNum = convNum.replace(/[WXY]/gi,"9");
		if (confirm("Convert " + theNum + " to " + convNum + " ?")){return convNum;}
		else{return theNum;}
	}
}

function numbersOnly(inputObj){
	testString = inputObj.value;
	returnStr = "";
	for(count=0; count<testString.length; count++){
		if(!isNaN(testString.charAt(count))){
			returnStr += testString.charAt(count);
		}
	}
	inputObj.value = returnStr;
}

