var myDirectory = "http://" + document.domain;

function GetXmlHttpObject(handler)
{
   var objXMLHttp=null
   
   if (window.XMLHttpRequest)
   {
       objXMLHttp=new XMLHttpRequest()
   }
   else if (window.ActiveXObject)
   {
       objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
   }
   
   return objXMLHttp
}

function disableForms()
{
	var inputs=document.getElementsByTagName('input');
	
	for(element in inputs)
	{
		if(inputs[element].type=='submit')
		{
			inputs[element].disabled=true;
		}
	}
}

document.onfocus=function()
{
	var inputs=document.getElementsByTagName('input');
	for(element in inputs)
	{
		if(inputs[element].type=='submit')
		{
			inputs[element].disabled=false;
		}
	}
}

function disableElement(element)
{
	var myElement=document.getElementById(element);
	myElement.disabled=true;
}

function enableCityAutoCompleter(myFunctionName)
{
	var myScript = myDirectory + "/scripts/getCities.cfm";

    new Ajax.Autocompleter("CITY_NAME", "CITY_HINT", myScript, 
    {
	  minChars: 1, 
	  frequency: 0.3, 
	  callback: cityNameCallback,
	  afterUpdateElement: myFunctionName
    });	
}

function cityNameCallback(element, entry)
{
    var state = document.getElementById("STATE_ID").value;
    var country = document.getElementById("COUNTRY_ID").value; 					
    var myStr = "&COUNTRY_ID=" + country + "&STATE_ID=" + state;
    return entry + myStr;
}

function enableBizNameAutoCompleter(myFunctionName)
{
	var myScript = myDirectory + "/scripts/autocompleters/getBizNames.cfm";

    new Ajax.Autocompleter("BUSINESS_NAME", "BUSINESS_NAME_HINT", myScript, 
    {
	  minChars: 1, 
	  frequency: 0.3, 
	  callback: bizNameCallback,
	  afterUpdateElement: myFunctionName
    });	
}

function bizNameCallback(element, entry)
{
    return entry;
}

function showAdSpace()
{
	if (typeof adMaxModifier == 'undefined')
	{
		adMaxModifier = 0;
	}

	if (typeof adPreference == 'undefined')
	{
		adPreference = "BUSINESS";
	}

	if (typeof adKeywords == 'undefined')
	{
		adKeywords = "";
	}

	var rightDiv = document.getElementById('col-r');
	var leftDiv = document.getElementById('col-l');
	var sideAdDiv = document.getElementById('MY_ADSPACE');
	
	var rightHeight = rightDiv.offsetHeight;
	var leftHeight = leftDiv.offsetHeight;
		
	var maxAds = Math.floor((rightHeight-leftHeight) / 125)+adMaxModifier;

	if (maxAds > 0)
	{
		xmlHttp=GetXmlHttpObject()
	   
		if (xmlHttp==null)
		{
		   return;
		}

		url = "http://" + document.domain + "/ADS/showSideAds.cfm?maxAds="+maxAds+"&adKeywords="+adKeywords;
		url += "&adPreference="+adPreference + "&sid="+Math.random();
		
		xmlHttp.open("GET",url,false);
		xmlHttp.send(null);	
	
		if (xmlHttp.responseText != '')
		{			
		    sideAdDiv.innerHTML= xmlHttp.responseText;
		    sideAdDiv.style.display = 'block';
		}	
	}
}

function updateBody(){}

function resizeImage(el, containerHeight, containerWidth, centerImage) 
{
	var imageHeight = el.height;
	var imageWidth = el.width;

	if (imageHeight == 0 || imageWidth == 0)
	{
		resizeIEImage(el, containerHeight, containerWidth);
	}
	else
	{			
		if (imageHeight > containerHeight)
		{		
		    var ratioOne = imageWidth / imageHeight;
			imageHeight = containerHeight;
			imageWidth = imageHeight * ratioOne;
		}
			
		if (imageWidth > containerWidth)
		{
			var ratioTwo = imageHeight / imageWidth;
			imageWidth = containerWidth; 
			imageHeight = imageWidth * ratioTwo;
		}

		el.height = imageHeight;
		el.width = imageWidth;

		if (centerImage == 1)
		{
			var heightOffset = parseInt((containerHeight - imageHeight) / 2); 
			var widthOffset = parseInt((containerWidth - imageWidth) / 2);
			el.style.marginTop = heightOffset+'px';
			el.style.marginBottom = heightOffset+'px';
			el.style.marginLeft = widthOffset+'px';
			el.style.marginRight = widthOffset+'px';
		}

		el.style.display = 'block'; 
	}
}

function resizeIEImage(img, containerHeight, containerWidth, centerImage)
{
	img.onload = null;
	
    var nimg = new Image();
    nimg.src = img.src;
	
	if (nimg.height > containerHeight)
	{
		var ratioOne = nimg.height / nimg.width;
		nimg.height = containerHeight;
		nimg.width = nimg.height * ratioOne;
	}
	
	if (nimg.width > containerWidth)
	{
		var ratioTwo = nimg.width / nimg.height;
		nimg.width = containerWidth;
		nimg.height = nimg.width * (nimg.height / nimg.width);
	}

	img.height = nimg.height;
	img.width = nimg.width;

	if (centerImage == 1)
	{
		var heightOffset = parseInt((containerHeight - nimg.height) / 2);
		var widthOffset = parseInt((containerWidth - nimg.width) / 2);
		img.style.marginTop = heightOffset+'px';
		img.style.marginBottom = heightOffset+'px';
		img.style.marginLeft = widthOffset+'px';
		img.style.marginRight = widthOffset+'px';
	}

	img.src = nimg.src;
	img.style.display = "block"; 
}

function LTrim(value) 
{	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim(value) 
{	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");	
}

function trim(value) 
{
	return LTrim(RTrim(value));
}

function checkHTML(myElement, myElementError)
{
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return}

   var myElement = document.getElementById(myElement);
   var myElementError = document.getElementById(myElementError);

   url=myDirectory+"/scripts/htmlCheck.cfm?myStr="+myElement.value; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
	
   if (trim(xmlHttp.responseText) != '')
   {
       myElementError.innerHTML= xmlHttp.responseText;
	   myElementError.style.display = "block";
   }
   else
   {
       myElementError.style.display = "none";   
   } 	
}

function checkUsername(myElement, myElementError)
{	   
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var myElement2 = document.getElementById(myElement);
   var myElementError2 = document.getElementById(myElementError);

   url=myDirectory+"/scripts/checkUsername.cfm?USERNAME="+myElement2.value; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);	   

   if (xmlHttp.responseText != '')
   {
	   myElementError2.innerHTML= xmlHttp.responseText;
	   myElementError2.style.display = "block";
   }
   else
   {
	   myElementError2.style.display = "none";
	   checkHTML(myElement, myElementError);
   }
}

function checkBizName(newBizName, newBizNameError, curBizName)
{	   
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var newBizName2 = document.getElementById(newBizName);
   var newBizNameError2 = document.getElementById(newBizNameError);

   url=myDirectory+"/scripts/checkBizName.cfm?BUSINESS_NAME="+newBizName2.value+"&CURRENT_BIZ_NAME="+curBizName; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);	   

   if (xmlHttp.responseText != '')
   {
	   newBizNameError2.innerHTML= xmlHttp.responseText;
	   newBizNameError2.style.display = "block";
   }
   else
   {
	   newBizNameError2.style.display = "none";
	   checkHTML(newBizName, newBizNameError);
   }
}

function checkNumeric(myElement, myElementError)
{	   
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var myElement2 = document.getElementById(myElement);
   var myElementError2 = document.getElementById(myElementError);

   url=myDirectory+"/scripts/numericCheck.cfm?myStr="+myElement2.value;
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);	   

   if (xmlHttp.responseText != '')
   {
	   myElementError2.innerHTML= xmlHttp.responseText; 
	   myElementError2.style.display = "block";
   }
   else
   {
	   myElementError2.style.display = "none";
   }
}

function checkWebsite(myElement, myElementError)
{	
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return}

   var websiteURL = document.getElementById(myElement);
   var websiteError = document.getElementById(myElementError);
    	  
   url=myDirectory+"/scripts/checkWebsite.cfm?WEBSITE_URL="+websiteURL.value; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
  
   if (xmlHttp.responseText.trim() != '')
   {
	   var errorMessage = '<p class="txt4 error"><br />That website URL is not valid. If you type your website ';
	   errorMessage += 'URL as plain text, we will take care of the rest.</p><p class="txt4 error">Error: ' + xmlHttp.responseText + '</p>';
	   websiteError.innerHTML = errorMessage;
	   websiteError.style.display = "block";
   }
   else
   {
	   websiteError.style.display = "none";   
   }
}

function checkCityName(regionElement,cityElement,cityElementError)
{
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var cityName =  document.getElementById(cityElement);
   var regionID = document.getElementById(regionElement);
   var cityNameError =  document.getElementById(cityElementError);

   url=myDirectory+"/scripts/checkCityName.cfm?CITY_NAME="+cityName.value; 
   url=url+"&STATE_ID="+regionID.value+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
  
   if (xmlHttp.responseText != '')
   {
       cityNameError.innerHTML = xmlHttp.responseText;
	   cityNameError.style.display = "block";
   }
   else
   {
	   cityNameError.style.display = "none";
   }  
}

function updateSubcatList(scriptParams)
{
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var availableSubcats =  document.getElementById("MY_AVAILABLE_SUBCATS");

   url=myDirectory+"/scripts/subcat-list.cfm?search=1&"+scriptParams; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
  
   if (xmlHttp.responseText != '')
   {
       availableSubcats.innerHTML = xmlHttp.responseText;
	   availableSubcats.style.display = "block";
   }
   else
   {
	   availableSubcats.style.display = "none";
   }	
}

function updateCountryList(scriptParams)
{
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var availableCountries =  document.getElementById("MY_AVAILABLE_COUNTRIES");

   url=myDirectory+"/scripts/country-list.cfm?search=1&"+scriptParams; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
  
   if (xmlHttp.responseText != '')
   {
       availableCountries.innerHTML = xmlHttp.responseText;
	   availableCountries.style.display = "block";
   }
   else
   {
	   availableCountries.style.display = "none";
   }
}

function updateStateList(scriptParams)
{
   xmlHttp=GetXmlHttpObject();
   
   if (xmlHttp==null){return;}

   var availableRegions = document.getElementById("MY_AVAILABLE_STATES");

   url=myDirectory+"/scripts/state-list.cfm?search=1&"+scriptParams; 
   url=url+"&sid="+Math.random();
   xmlHttp.open("GET",url,false);
   xmlHttp.send(null);
  
   if (xmlHttp.responseText != '')
   {
       availableRegions.innerHTML = xmlHttp.responseText;
	   availableRegions.style.display = "block";
   }
   else
   {
	   availableRegions.style.display = "none";
   }
}

function charCheck(myLabel, myTxtArea, charCount)
{
	var charsRemainingLabel = document.getElementById(myLabel);
	var myTextArea = document.getElementById(myTxtArea);
	var charsLeft = charCount - myTextArea.value.length;
	
	if (charsLeft < 0)
	{
		alert("You can only enter up to "+charCount+" characters for this text field.");
		myTextArea.value = myTextArea.value.substring(0, charCount);
		charsRemainingLabel.innerHTML = "0 characters remaining";
	}
	else if (charsLeft == 1)
	{
		charsRemainingLabel.innerHTML = charsLeft + " character remaining";
	}
	else
	{
		charsRemainingLabel.innerHTML = charsLeft + " characters remaining";
	}
}

function hookMouseWheel()
{
    if (window.addEventListener)
	{
        window.addEventListener('DOMMouseScroll', onMouseWheel, false);
	}
	
    window.onmousewheel = document.onmousewheel = onMouseWheel;
}

function isMouseOverSwf(mEvent)
{
    var elem;
	
    if (mEvent.srcElement) 
	{
        elem = mEvent.srcElement.nodeName;
    } 
	else if (mEvent.target) 
	{
        elem = mEvent.target.nodeName;
    }

    if (elem.toLowerCase() == "object" || elem.toLowerCase() == "embed") 
	{
        return true;
    }
	
    return false;
}

function onMouseWheel(event)
{
    var delta = 0;
	
    if (!event)
	{
        event = window.event;
	}
	
    if (event.wheelDelta) 
	{
        delta = event.wheelDelta/120;
		
        if (window.opera) 
		{
			delta = -delta;
		}
    } 
	else if (event.detail) 
	{
        delta = -event.detail/3;
    }

    if (isMouseOverSwf(event)) 
	{
        return cancelMouseEvent(event);
    }

    return true;
}

function cancelMouseEvent(e)
{
    e = e ? e : window.event;
	
    if (e.stopPropagation)
	{
        e.stopPropagation();
	}
	
    if (e.preventDefault)
	{
        e.preventDefault();
	}
	
    e.cancelBubble = true;
    e.cancel = true;
    e.returnValue = false;
	
    return false;
}

if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;