
/*************
	widget 
*************/

function swapImg(newImg)
{
	var src="document.getElementById('main').innerHTML=document.getElementById('main').innerText=imgs."+newImg;
	eval(src);
}

function warp()
{
	window.location=gotolink	
}


function sellIt() {
	reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	if (!reZip.test(document.sellIt.zip.value)) {
		document.getElementById('paaEr').style.display = 'block';
		document.getElementById('zp').className = 'red';
	} else {
		document.sellIt.submit();
	}
}
/************************************
	IE Flicker
************************************/
try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}



/*************************************
 Forced Column Height Equality Script 
**************************************/
var ddequalcolumns=new Object()
ddequalcolumns.columnswatch=["lrgLft", "lrgLft2","smlRt","lyoutCntr","bigLft","smlrRt","bigRt","smlLft","lyoutMid","smlrLft","smlLeftCol","bgRt","adSpLft"]//Input IDs (id attr) of columns to equalize
ddequalcolumns.setHeights=function(reset){
	var tallest=0
	var resetit=(typeof reset=="string")? true : false
	for (var i=0; i<this.columnswatch.length; i++){
		if (document.getElementById(this.columnswatch[i])!=null){
			if (resetit)
				document.getElementById(this.columnswatch[i]).style.height="auto"
			if (document.getElementById(this.columnswatch[i]).offsetHeight>tallest)
				tallest=document.getElementById(this.columnswatch[i]).offsetHeight
		}
	}
	if (tallest>0){
		for (var i=0; i<this.columnswatch.length; i++){
			if (document.getElementById(this.columnswatch[i])!=null)
				document.getElementById(this.columnswatch[i]).style.height=tallest+"px"
		}
	}
}
ddequalcolumns.resetHeights=function(){
	this.setHeights("reset")
}
ddequalcolumns.dotask=function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
	var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
	if (target.addEventListener)
		target.addEventListener(tasktype, functionref, false)
	else if (target.attachEvent)
		target.attachEvent(tasktype, functionref)
}
ddequalcolumns.dotask(window, function(){ddequalcolumns.setHeights()}, "load")
ddequalcolumns.dotask(window, function(){if (typeof ddequalcolumns.timer!="undefined") clearTimeout(ddequalcolumns.timer); ddequalcolumns.timer=setTimeout("ddequalcolumns.resetHeights()", 200)}, "resize")

function anchr(drc, val) {

	if(drc=='on') { document.getElementById(val).className ='msout';} 
	if(drc=='off') { document.getElementById(val).className ='';}
}

function resetHt() {
ddequalcolumns.resetHeights();
}



function hdDrops(drpNam){
	if(document.getElementById(drpNam) != null){document.getElementById(drpNam).style.visibility = 'hidden';}
}
function shwDrops(drpNam){
	if(document.getElementById(drpNam) != null){document.getElementById(drpNam).style.visibility = 'visible';}
}
// dealer services js functions
function mobiletour() {
	var flashpage = "http://images.traderonline.com/img/design/imt/flash/SMS-demo-v2-1.swf";
	window.open(flashpage,"flashdemo","width=400,height=450,resizeable=no,status=no,toolbar=no,location=no,menubar=no,scrollbars=no,left=150,top=150")
}
function tourWndw() {
 	var imtTour=window.open("http://images.traderonline.com/img/design/imt/ITM-flashtour.htm","tourwindow","status=1,width=800,height=570");
}
function changesite()
{
	login1.action="";
	login1.submit();
}
function submitLoginsites()
{
	var sErrors ='';
	if(login1.HANDLE_ID.value.length == 0)
	{
		sErrors +='Please Enter Your User Name \r\n';
	}
	if(login1.PASSWORD.value.length == 0)
	{
		sErrors +='Please Enter Your Password';
	}
	if(sErrors!= '')
	{
		alert(sErrors);
	}else{
		login1.submit();
	}
		
}

function submitLeadmgrsites()
{
	var sErrors ='';
	if(leadsmgr_login.lead_username.value.length == 0)
	{
		sErrors +='Please Enter Your User Name \r\n';
	}
	if(leadsmgr_login.lead_password.value.length == 0)
	{
		sErrors +='Please Enter Your Password';
	}
	if(sErrors!= '')
	{
		alert(sErrors);
	}else{
		leadsmgr_login.submit();
	}
}


//Realmedia.js

	// Instantiate the real media variables 
	var oas='http://ads.traderonline.com/RealMedia/ads/';
	var RN = new String (Math.random());
	var RNS = RN.substring (2,11);
	var _version = 40;

	// Function to create an "oldstyle" realmedia ad
	function DisplayAds(page, sitepage, category, location, keywords, position, width, height) {
		var oaspage = sitepage + page + '/1' + RNS + '@' + position + '?' + category + location + keywords;
		if ( _version < 11 ) {
			document.write ('<a href="' + oas + 'adstream_nx.ads/' + oaspage + '" target="_top"><img src="' + oas + 'adstream_nx.ads/' + oaspage + '" border="0" width="' + width + ' height="' + height + '"></a>');
		} else {
			document.write ('<script language="JavaScript1.1" src="' + oas + 'adstream_jx.ads/' + oaspage + '">');
			document.write ('\<\!-- --\>');
			document.write ('\<\/script\>');
			document.write ('\<\!-- --\>');
		}
	}
	
	// Function to create an MJX style realmedia ad
	function DisplayAdsMJX(page, sitepage, poslist, pos, keywords, width, height) {
	
	
	// Render the Real Media Ad using OAS_RICH or OAS_NORMAL
	function OAS_AD(pos)
	{
    	if (OAS_version >= 11 && typeof OAS_RICH != 'undefined')
	  		OAS_RICH(pos);
		else
			OAS_NORMAL(pos);
	}

	//OAS_NORMAL : plugged in from Real Media code.
	function OAS_NORMAL(pos) 
		{
  			document.write('<A HREF="' + oas + 'click_nx.ads/' + sitepage + '/1' + RNS + '@' + poslist + '!' + pos + '?' + keywords + '" target="_top">');
  			document.write('<IMG SRC="' + oas + 'adstream_nx.ads/' + sitepage + '/1' + RNS + '@' + poslist + '!' + pos + '?' + keywords + '" BORDER="0" width="' + width + ' height="' + height + '"></A>');
		}
		
	
	//Set this variable to build the MJX tag
	// Since OAS_RICH is currently not defined. We call the constructor
	// and initialize the vars needed only once
	if (pos == 'Constructor')	
	{
		OAS_listpos = poslist;
		
		//test
		OAS_query = keywords;
		
		// Set version to 11 to render rich media ads 
		OAS_version = 11;
		
		// Real Media code (plugged in as provided)
		if ((navigator.userAgent.indexOf('Mozilla/3') != -1) || (navigator.userAgent.indexOf('Mozilla/4.0 WebTV') != -1))
		  OAS_version = 10;
		
		// Real Media code (plugged in as provided)
		if (OAS_version >= 11)
		 document.write('<SCR' + 'IPT LANGUAGE=JavaScript1.1 SRC="' + oas + 'adstream_mjx.ads/' + sitepage + '/' + page + '/1' + RNS + '@' + poslist + '!' + pos +  '?' + keywords + '"><\/SCRIPT>');//-->
	}
	else
		// Necessary variables should already exist, now we need to render 
		// the individual position
		OAS_AD(pos)

}


function shwNode(idVal){

	document.getElementById(idVal).style.display='block';
	//resetHt();
}

function hidNode(idVal) {
	document.getElementById(idVal).style.display='none';
	//resetHt();
}
 function topRVNav() {
	if (document.all && document.getElementById) {
		navRoot = document.getElementById("subTabs");
		if( navRoot )
		{
			for (i=0; i< navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				for (j=0; j< node.childNodes.length; j++) {
					setnode = node.childNodes[j];
					if (setnode.nodeName=="LI") {
						setnode.onmouseover=function() {
							this.className+=" over";
						}
						setnode.onmouseout=function() {
							this.className=this.className.replace(" over", "");
						}
					}
				}
			}// End if navRoot
		}
	}
}

 window.onload = function()
 {
	topRVNav();
	if(typeof resetSearchForm == 'function') 
         resetSearchForm();

	if(typeof ConvertRowsToLinks == 'function') 
		ConvertRowsToLinks();
 }
/*********************************
	popup for security awareness page
**********************************/
function fraudPopUp(page)
{ 
	var sDomain = "www.boattrader.com";
	arUrlCriteria = sDomain.split(".");	
	window.open("http://"+arUrlCriteria[0]+".traderonline.com/security-popup/?sDomainName="+sDomain,'mywindow','width=590,height=690,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes'); 
}

/*********************************
 navbar javascript
**********************************/
window.onload = function(){
	topNav();
	//load widget func if on homepage
	if(typeof initSlide == 'function'){initSlide();}
}
function topNav() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("subTabs");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			for (i=0; i<node.childNodes.length; i++) {
				setnode = node.childNodes[i];
				if (setnode.nodeName=="LI") {
					setnode.onmouseover=function() {
						this.className+="over";
					}
					setnode.onmouseout=function() {
						this.className=this.className.replace("over", "");
					}
				}
			}
		}
	}
}

function viewAll(dsplyVal) {
	//var slctCver = document.getElementById("slctBxCvr");
	var stateCvr = document.getElementById("dropDown1");
	//alert(stateCvr);
	if(dsplyVal == 'show')
	 {
		document.getElementById("viewAll").className = 'viewAllShow';
		/*
		if(slctCver != null){
			slctCver.className = 'hdSlct';
		}
		*/
		if(stateCvr != null){
			stateCvr.className = 'hdSlct';
		}
		
	} else {
		document.getElementById("viewAll").className = 'viewAllNone';
		/*
		if(slctCver != null){
			slctCver.className = 'fdbk';
		}
		*/
		if(stateCvr != null){
			stateCvr.className = ''; 
		}
		
	}
	
}
function cSearchNode(oNode)
{
	if(!oNode.getAttribute("searchnode")|| oNode.getAttribute("searchnode") == "false")
		throw new Error("Not a valid Search Node");
	this.oReferenceLink = oNode;
	this.sUrl = oNode.getAttribute("url") || null;
	this.sId = oNode.getAttribute("id") || null;
	this.sValue = oNode.value;
	this.rPattern = (oNode.getAttribute("pattern")) || null;
	this.sErrorMessage = (oNode.getAttribute("message"));
	this.sErrorAction = (oNode.getAttribute("error"));
	this.sType = oNode.type;
	this.bRequired = (oNode.getAttribute("required")) || false;
	this.iValidationValue = null;
	this.bChecked = (oNode.checked) || null;
	this.iSelectedIndex = (oNode.selectedIndex) || null;
}
cSearchNode.prototype.Validate = function()
{
	var sType = this.sType;
	switch(sType)
	{	
		case "select-one" :
			if(this.sId == "lYear" || this.sId == "hYear"){
				if(this.sValue == "Any")
					this.iValidationValue = -1;
					return;
			}
			else
				this.iValidationValue = this.iSelectedIndex;
			break;
		case 'radio' :
			if(this.bChecked == true)
			{
				this.iValidationValue =  0;
				return;
			}
			this.iValidationValue = -1;
			break;
		case "text" :
			switch(this.sErrorAction)
			{
			case 'fix' :
				if(this.sValue)
				{
					var rPattern = this.rPattern;
					var arSuccess = new Array();
					arSuccess = this.sValue.match(eval(rPattern));
					if(!arSuccess)
					{
						this.oReferenceLink.value = "";
						this.oReferenceLink
						this.iValidationValue = -1;
						return;
					}
					this.oReferenceLink.value = arSuccess.join('');
					this.iValidationValue = (arSuccess.length > 0) ? 1 : -1;
					return;
				}
				this.iValidationValue = -1;
				break;
			case 'alert' :
				var rPattern = this.rPattern;
				if(this.sValue)
				{
					if(!eval(rPattern).test(this.sValue))
					{
						this.iValidationValue = -1;
						alert(this.sErrorMessage);
						this.oReferenceLink.value = "";
						return;
					}
					this.iValidationValue = 0;
					return;
				}
				this.iValidationValue = -1;
				break;
			default :
				break;
			}
		case 'checkbox' :
			if(this.bChecked)
			{
				this.iValidationValue = 1;
				return 1;
			}
			this.iValidationValue = -1;
			return -1;
			break;
		default :
			break;
	}
}
cSearchNode.prototype.isRequired = function()
{
	return this.bRequired;
}
function cSearchNodeList()
{
	this.arSearchNodeList = new Array();
	this.iSize = 0;
}
cSearchNodeList.prototype.length = function()
{
	return this.iSize;
}
cSearchNodeList.prototype.addToNodeList = function(oNode)
{
	try
	{
		var oTempNode = new cSearchNode(oNode);
		this.arSearchNodeList.push(oTempNode);
		this.iSize++;
	}
	catch(ex)
	{}
}
cSearchNodeList.prototype.buildSearchNodeList = function(oNode)
{
	var arChildren = oNode.childNodes;
	if(oNode.nodeType == 1)
	{
		this.addToNodeList(oNode);
	}
	for(var x = 0; x < arChildren.length; x++)
		this.buildSearchNodeList(arChildren[x]);
}
cSearchNodeList.prototype.validateNode = function(iArrayIndex)
{
	this.arSearchNodeList[iArrayIndex].Validate();
}
cSearchNodeList.prototype.getSearchNode = function(iArrayIndex)
{
	return this.arSearchNodeList[iArrayIndex];
}

function validateAll(oSearchNodeArray, arValidNodes)
{
	var ptrNode;
	var bIsRequired;
	var iValidation;
	
	for(var x = 0; x < oSearchNodeArray.length(); x++)
	{
		ptrNode  = oSearchNodeArray.getSearchNode(x);
		oSearchNodeArray.validateNode(x);
		bIsRequired = ptrNode.bRequired;
		iValidation = ptrNode.iValidationValue;
		if(iValidation >= 0)
			arValidNodes.push(ptrNode);
		else
			if((bIsRequired))
			{
				alert(ptrNode.sErrorMessage);
				return false;
			}
	}
	return true;
}
function buildUrl(oSearchNodeArray)
{
	var sUrlString = "";
	var arRangeArray = Array();
	var ptrTempNode;
	var sComboUrl = 'Combo';
	var arComboUrls = '';
	var arComboVals = '';
	var iCombosIndex = 0;
	
	for(var x = 0; x < oSearchNodeArray.length(); x++)
	{
		ptrTempNode = oSearchNodeArray.getSearchNode(x);
		if(ptrTempNode.iValidationValue >= 0 && ptrTempNode.sUrl != null)
		{
			if(ptrTempNode.sUrl.indexOf(sComboUrl) >= 0)
			{	
				arComboUrls = ptrTempNode.sUrl.split("|");
				ptrTempNode.sValue = translateValue(ptrTempNode.sValue);
				arComboVals = ptrTempNode.sValue.split("|");
				for(iCombosIndex ;iCombosIndex < arComboUrls.length; iCombosIndex++)
				{
					sUrlString += '/' + arComboUrls[iCombosIndex] + '-' + arComboVals[iCombosIndex-1];
				}
			} else {
				ptrTempNode.sValue = translateValue(ptrTempNode.sValue);
				sUrlString += ptrTempNode.sUrl + ptrTempNode.sValue;
			}
		}
	}
	
	return sUrlString;
}
function quickValidate(oElement)
{
	var iValidateValue;
	var oTempNode = new cSearchNode(oElement);
	
	oTempNode.Validate();
	iValidateValue = oTempNode.iValidationValue;
	delete oTempNode;
	if(iValidateValue >= 0)
		return true;
	return false;
}
function cleanUrl(sUrl)
{
	var sTempUrl = "";
	var rAnyPattern = /\/\w*-(,*bothVP|,*undefined)+/ig;
	
	sTempUrl = sUrl.replace(rAnyPattern,'');
	if(!sTempUrl.match(/\/zip/i))
		sTempUrl = sTempUrl.replace(/\/radius-(\d)+/i,"");
	if(!sTempUrl.match(/\/radius/i))
		sTempUrl = sTempUrl.replace(/\/zip-(\d)+/i,"");
	sTempUrl = sTempUrl.replace(/\/Price-0,99999999/i,"");
	return sTempUrl;
}
function translateValue(sValue)
{
	var sTemp = sValue || "";
	sTemp = sTemp.replace(/\//,'%25');
	sTemp = sTemp.replace(/-/,'%2D');
	return sTemp;
}
function setCookies(arValidNodes, sCookieName)
{
	var sCookie = '';
	var sNodeValue;
	var sNodeId;
	var sNodeURL = '';
	var sComboURL = 'Combo';
	var arComboVals = '';
			
	for(var x = 0; x < arValidNodes.length; x++)
	{
		sNodeId = arValidNodes[x].sId;
		sNodeValue = arValidNodes[x].sValue;
		if( document.getElementById(sNodeId).getAttribute('url') )
			sNodeURL = document.getElementById(sNodeId).getAttribute('url')
		if(sNodeURL.indexOf(sComboURL) >= 0)
		{
			arComboVals = sNodeValue.split("|");
			sCookie += arComboVals[0] + 'type=' + arComboVals[0] + '#';
			sCookie += 'type' + arComboVals[0].toLowerCase() + '=' + arComboVals[1] + '#';
		} else {
			sCookie += sNodeId + '=' + sNodeValue + '#';
		}
	}
	document.cookie = sCookieName + "=" + sCookie + ";path=/;expires="; 
	return true;
}
function populateForm(sFormName)
{
	if(sFormName == 'mainsearch')
		var sCookie = 'searchform=';
	else if (sFormName == 'dealersearch')
		var sCookie = 'dealersearch=';
	var sDocumentCookie = document.cookie || '';
	var iStartPoint = sDocumentCookie.indexOf(sCookie);
	var iEndPoint;
	var sSearchCookie = '';
	var arSplitResult;
	var bdebug = true;
	var iIndex = 0;
	var arNameValuePair = new Array();
	var oElement = null;
	var sUrlAttribute = '';

	
	if(iStartPoint >= 0) //we have what we are looking for
	{
		iStartPoint +=  + sCookie.length;
		iEndPoint = sDocumentCookie.indexOf(";",iStartPoint);
		sSearchCookie = sDocumentCookie.slice(iStartPoint,iEndPoint);
		arSplitResult = sSearchCookie.split(/#/);
		for(; iIndex < arSplitResult.length; iIndex++)
		{
			arNameValuePair = arSplitResult[iIndex].split(/=/);
			oElement = document.getElementById(arNameValuePair[0]);
			if(oElement != null)
			{
				switch(oElement.type)
				{
					case 'select-one':
						oElement.setAttribute('searchnode','true');
						oElement.value = arNameValuePair[1].replace('%25','/');
						oElement.value = decodeURI(arNameValuePair[1]);
						changeDivStatus(oElement,arNameValuePair[1]);
						break;
					case 'radio':
						oElement.setAttribute('searchnode','true');
						oElement.setAttribute('checked',true);
						changeDivStatus(oElement);
						break;
					case 'text':
						oElement.setAttribute('searchnode','true');
						oElement.value = decodeURI(arNameValuePair[1]);
						changeDivStatus(oElement);
						break;
					case 'checkbox':
						oElement.setAttribute('searchnode','true');
						oElement.setAttribute('checked',true);
						changeDivStatus(oElement);
						break;
					default:
						oElement.setAttribute('checked',true);
						changeDivStatus(oElement);
						break;
				}
			}
		}
	}
}
function changeDivStatus(oElement,sCookie)
{
	var sSearchForm = '';
	for(count = 0; count < document.getElementsByTagName('form').length; count++){
		if (document.getElementsByTagName("form")[count].getAttribute("name") == 'dealersearch')
			sSearchForm = 'dealersearch';
		else
			sSearchForm = 'mainsearch';
	}
	switch(oElement.getAttribute('url'))
	{
		case '/Options-Engine/EngineType-': //for engine searches
			switchEngineType(sSearchForm, oElement)
			break;
		case '/Type-':
			sType(sSearchForm, oElement)
			break;
		case '/Zip-' :
			sArea(sSearchForm,'zip');
			break;
		case '/State-' :
			sArea(sSearchForm,'state');
			break;
		case '/Region-':
			sArea(sSearchForm,'region');
			break;
		case '/Country-':
			sArea(sSearchForm,'country');
			break;
		case '/Make-' :
			break;
		case '/More-all':
			shwMore();
			break;
		case '/Length-':
			oElement.setAttribute('searchnode','true');
			if(document.getElementById('hilength'))
			{
				document.getElementById('hilength').setAttribute('searchnode','true');
				document.getElementById('hilength').disabled=false;
			}
			break;
		case '/Price-':
			oElement.setAttribute('searchnode','true');
			document.getElementById('hPrice').setAttribute('searchnode','true');
			document.getElementById('hPrice').disabled=false;
			break;
		case '/Year-':
			oElement.setAttribute('searchnode','true'); 
			populateSelect(document.getElementById('hYear'), oElement.value, 'hYear',1);
			document.getElementById('hYear').setAttribute('searchnode','true');
		default:
			break;
			
	}
		return true;
}

function repopulateModel(oSelectObject,sCookieVal)
{
	var oModelSelect = document.getElementById(oSelectObject);
	for(y=0;y<oModelSelect.options.length;y++)
	{
		if(oModelSelect.options[y].value==sCookieVal)
			oModelSelect.options[y].selected = true;
	}
}

function validatePrice(oLowPrice, oHighPrice)
{
	var iLowPrice = parseFloat(oLowPrice.value);
	var iHighPrice = parseFloat(oHighPrice.value);
	
	if(isNaN(iLowPrice))
	{
		oHighPrice.value = '';
		oHighPrice.disabled = true;
	}
	else
	{
		if(!iHighPrice)
		{
			oHighPrice.value = oLowPrice.value;
			oHighPrice.disabled = false;
		}
	}
	if(iHighPrice < iLowPrice)
		swapValue(oHighPrice, oLowPrice);
	
	return true;
}
function swapValue(oNode1, oNode2)
{
	var sTemp = '';
	
	sTemp = oNode1.value;
	oNode1.value = oNode2.value;
	oNode2.value = sTemp;
	return true;
}
	
function switchEngineType(form_name, oElement)
{
	var sHideDiv = 'none';
	var sShowDiv = 'block';
	var oForm = document.forms[form_name];
	var sSelectedRadioValue = oElement.value;
	var sRadioName = oElement.getAttribute('name');
	var arRadioGroup = oForm.elements[sRadioName];
	
	for(r=0;r < arRadioGroup.length;r++)
	{
		if(document.getElementById(arRadioGroup[r].value))
			document.getElementById(arRadioGroup[r].value).style.display = sHideDiv;
	}
	setCategoryBool('false');
		
	if(document.getElementById(sSelectedRadioValue))
		document.getElementById(sSelectedRadioValue).style.display = sShowDiv;
	resetHt();
	if(sSelectedRadioValue=='Outboard')
		setCategoryBool('true');
}
function setCategoryBool(bValue)
{
	var oParent = document.getElementById('Outboard');
	var arChildren = oParent.childNodes;
	
	for(x=0; x < arChildren.length ;x++)
	{
		if(arChildren[x].type == 'select-one')
		{
			arChildren[x].setAttribute('searchnode',bValue);
		}
	}
	
}function setBTOLTypeDomain(arURL)
{
	var sType = '';
	var sTypeDomain = '';
	var arUrlCriteria = '';
	var sDomain = '';
	var iURLIndex = 1;
	var sKeySearch = 'Type';
	var sUrlPrepend = '/boattrader-results';

	arUrlCriteria = arURL.split("/");
	for(iURLIndex;iURLIndex < arUrlCriteria.length; iURLIndex++)
	{
		if(arUrlCriteria[iURLIndex].indexOf(sKeySearch) >= 0)
		{
			sType = arUrlCriteria[iURLIndex].substr(5);
		}
	}
	
	switch(sType)
	{
		case 'Sail':
			sDomain = document.domain.replace('boattrader','sailboattraderonline');
			sTypeDomain = 'http://' + sDomain + sUrlPrepend + arURL;
			break;
		case 'PWC':
			//sUrlPrepend = '/find' + sUrlPrepend;
			arURL = arURL.replace("Length:DESC","Year:DESC");
			sDomain = document.domain.replace('boattrader','pwc-traderonline');
			sTypeDomain = 'http://' + sDomain + sUrlPrepend + arURL;
			break;
		default:
			sTypeDomain = sUrlPrepend + arURL;
			break;
	}	
	return sTypeDomain;
}

function setDealerSearchDomain(arURL)
{
	var sType = '';
	var sTypeDomain = '';
	var arUrlCriteria = '';
	var sDomain = '';
	var iURLIndex = 1;
	var sKeySearch = 'Type';
	var sUrlPrepend = '/dealer-search-results';

	arUrlCriteria = arURL.split("/");
	for(iURLIndex;iURLIndex < arUrlCriteria.length; iURLIndex++)
	{
		if(arUrlCriteria[iURLIndex].indexOf(sKeySearch) >= 0)
		{
			sType = arUrlCriteria[iURLIndex].substr(5);
		}
	}
	
	sTypeDomain = sUrlPrepend + arURL;
		
	return sTypeDomain;
}

function switchEngineType(form_name, oElement)
{
	var sHideDiv = 'none';
	var sShowDiv = 'block';
	var oForm = document.forms[form_name];
	var sSelectedRadioValue = oElement.value;
	var sRadioName = oElement.getAttribute('name');
	var arRadioGroup = oForm.elements[sRadioName];
	
	for(r=0;r < arRadioGroup.length;r++)
	{
		if(document.getElementById(arRadioGroup[r].value))
			document.getElementById(arRadioGroup[r].value).style.display = sHideDiv;
	}
	setCategoryBool('false');
		
	if(document.getElementById(sSelectedRadioValue))
		document.getElementById(sSelectedRadioValue).style.display = sShowDiv;
	resetHt();
	if(sSelectedRadioValue=='Outboard')
		setCategoryBool('true');
}
function setCategoryBool(bValue)
{
	var oParent = document.getElementById('Outboard');
	var arChildren = oParent.childNodes;
	
	for(x=0; x < arChildren.length ;x++)
	{
		if(arChildren[x].type == 'select-one')
		{
			arChildren[x].setAttribute('searchnode',bValue);
		}
	}
	
}
function sType(form_name, obj) 
{
	var oForm = document.forms[form_name];
	var sRadioGroupName = obj.getAttribute('name');
	var arRadioGroup = oForm.elements[sRadioGroupName];
	
	for(x=0;x < arRadioGroup.length; x++)
	{
		if(document.getElementById(arRadioGroup[x].value))
		{
			document.getElementById(arRadioGroup[x].value).style.display = 'none';
			oForm.elements[arRadioGroup[x].value].setAttribute("searchnode", "false");
		}
	}
	if(document.getElementById(obj.value))
	{
		document.getElementById(obj.value).style.display = 'block';
		resetHt();
		oForm.elements[obj.value].setAttribute("searchnode", "true");	
	}
}

function sArea(form_name, sRdoVal) {
	var x = 0;
	var r = 0;
	var srchNod = '';
	var sSelectedValue = '';
	var sRadioGroupName = '';
	var arRadioGroup = '';
	var sRadioID = '';
	
	sSelectedValue = sRdoVal;
	sRadioID = 'rb'+sRdoVal+'Code';
	if(document.getElementById(sRadioID))
	{
		sRadioGroupName = document.getElementById(sRadioID).getAttribute('name');
		arRadioGroup = document.forms[form_name].elements[sRadioGroupName];
	
		for(r;r < arRadioGroup.length;r++)
		{
			document.getElementById(arRadioGroup[r].value).style.display = 'none';
			document.forms[form_name].elements[arRadioGroup[r].value+'Code'].setAttribute("searchnode", "false");
		}	
		document.getElementById(sSelectedValue).style.display = 'block'; 
	
		if(document.forms[form_name].elements['zipRad'])
		{
			srchNod = document.forms[form_name].elements['zipRad'];
			srchNod.setAttribute("searchnode", "false");
		}
		srchNod = document.forms[form_name].elements[sSelectedValue+'Code'];
		srchNod.setAttribute("searchnode", "true");
		if(sSelectedValue=='zip')
		{
			srchNod = document.forms[form_name].elements[sSelectedValue+'Rad'];
			srchNod.setAttribute("searchnode", "true");
		}
		if(window.location.href.indexOf('search-results') > 0)
		{
			if(sSelectedValue!='zip'){document.getElementById('zipLbl').innerHTML='ZIP Code';}
			if(sSelectedValue=='zip'){document.getElementById('zipLbl').innerHTML='ZIP Code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;within';}
		}
	}
}
//show or hide the Additional Search fields - bottom of page
function shwMore() {
	var oElement = document.getElementById('more_options');
	var current_class = oElement.className;
	if(current_class=='sHid'){
		oElement.className = 'sShw';
		oElement.setAttribute('searchnode','true');
		chngPls('sHid');
		setSrchNode(true);
		resetHt();
	}else{
		oElement.className = 'sHid';
		oElement.setAttribute('searchnode','false');
		chngPls('sShw');
		setSrchNode(false);
		resetHt();
	}
}
function resetSearchForm()
{
	resetHt();
}
//set searchnode value of optional(hidden) form fields
function setSrchNode(nodeVal)
{	
	var arChildrenNodes = document.getElementById('more_options').childNodes;
	for(var index = 0; index < arChildrenNodes.length; index++) 
    { 
		
		 if(arChildrenNodes[index].nodeName=="FIELDSET")
		 {
		 	arFieldNodes = arChildrenNodes[index].childNodes;
		 	for(i=0;i < arFieldNodes.length;i++)
			{
				switch(arFieldNodes[i].type) {
					case "text":
						arFieldNodes[i].setAttribute("searchnode",nodeVal);
  						break 
					case "checkbox":
						arFieldNodes[i].setAttribute("searchnode",nodeVal);
  						break 
				}
			}
		 }
	}
}

//Force a SHOW, - we need this for Regurgitate func
function shwMoreEx() 
{
  shwNode("sMore");
  chngPls(state);
}

//change text and image for Additional Criteria Links
function chngPls(val1) {
	if (val1=='sHid') {
		document.getElementById('mre').innerHTML = 'Скрыть дополнительные параметры';
		document.getElementById('mre').className = 'sLess';
	} else {
		document.getElementById('mre').innerHTML = 'Показать больше параметров поиска';
		document.getElementById('mre').className = 'sMore';	
	}
}
//show an element - and reset column heights
function shwNode(idVal){
	document.getElementById(idVal).style.display='block';
	resetHt();
}
//hide an element - and reset column heights 
function hidNode(idVal) {
	document.getElementById(idVal).style.display='none';
	resetHt();
}

 
//IF no results, then throw up an error! 
//var sReturnError = GetGETPostData('error');
// if  (sReturnError)
//  window.alert (sReturnError);
  

// show/hide refine search components
function dspMr(obj) 
{
	if (obj.nextSibling.nodeType==3){var nxtElm=obj.nextSibling.nextSibling;}else{var nxtElm=obj.nextSibling;}
	if(nxtElm.style.display=='none'){nxtElm.style.display='block';obj.innerHTML = '[-]';}else{nxtElm.style.display='none';obj.innerHTML = '[+]';}
} 


/*******************************************************************************
			My Trader Functions
*******************************************************************************/
var req = null;
var timer=0;
var curad=Array();
var needtologin=false;
var returned=false;
var imgname='';
var ad = null;
var checkbox;
var bLoginError;
var current_url = window.location.href.substring(0,window.location.href.indexOf('.com/')+4);
var email_url = current_url+"/myt/join/";
var forgot_url = current_url+"/myt/forgot-password";

function popCntnt() 
{
  var cnt;
  cnt = '<h3 class="sMyH">MY <span>TRADER</span></h3><a href="" onclick="javascript:cls(this);return false;" class="sCls">Close</a><div class="dtd"></div><strong>SIGN IN HERE TO SAVE THIS BOAT TO YOUR MY TRADER ACCOUNT</strong>';
  cnt += '<form id="savevehiclesloginform" method="post" action=""><fieldset class="sLrg"><label>Email Address</label><input type="text" name="HANDLE_ID"/></fieldset>';
  cnt += '<fieldset class="sLrg"><label>Password</label><input type="password" name="PASSWORD" value="" /></fieldset>';
  cnt += '<input type="hidden" value="" name="ad_id"/>';
  cnt += '<a href="javascript: performLogin();" id="sSbmt" ;"></a><a href="'+forgot_url+'" id="sFrgt">Forgot Password?</a><div class="dtd"></div><div>Don\'t have an account? <a href="'+email_url+'">Join Now</a></div></form>';
  return cnt;
}
function cls(elm) 
  { 
       elm.parentNode.parentNode.removeChild(elm.parentNode);
       returned=false;
  }

// save this ad
function savAd(pElement, iAdID ) 
{
	var newdiv = document.createElement('div');
	newdiv.setAttribute('id', "newDv");
	newdiv.className="svDv";
	saveSearchResultAd(pElement,iAdID);
}

function saveSearchResultAd(pElement,ad_id)
{
	ad = ad_id;
	checkbox = pElement;
	//dtypeid=adTypeId;	
	var req = create_xml_object();
	var newsrc;
	sv_typetoreturn='LLLL';
	d=new Date();
	curad.push(ad_id);
	

	if (req!= null)
	{		
		var newdiv = document.createElement('div');
		newdiv.setAttribute('id', "newDv");
		newdiv.className="svDv";
		newdiv.style.visibility='hidden';
		newdiv.innerHTML=popCntnt();
		pElement.parentNode.appendChild(newdiv);
		//change image to show ad is saved
		//pElement.className = 'sSavD';
		newsrc="/login-popup?action=save1&AD_ID="+ad_id+"&"+d.getTime();
		var url = getServerName()+newsrc;
		req.open("post", url, true);
		req.onreadystatechange = processChange;
		req.send(null);
	} 
}


function getServerName()
{
	var str = window.location.protocol + '//' + window.location.hostname;
	return str;
}
function create_xml_object()
{
	// Internet Explorer
	try
	{
		req = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(oc)
		{
			req = null;
		}
	}
	// Mozailla/Safari
	if (req == null && (typeof XMLHttpRequest != "undefined" || window.XMLHttpRequest))
	{
		req = new XMLHttpRequest();
	}
	return(req);
}

function performLogin()
{	
	var req = create_xml_object();
	var newsrc;
	var ad_id;
	lidiv = document.getElementById("newDv");	
	lidiv.style.visibility='hidden';
	if (req!= null)
	{
		form = document.getElementById("savevehiclesloginform");
		ad_id=form.ad_id.value;
		newsrc="&HANDLE_ID="+form.HANDLE_ID.value+"&";
		newsrc+="PASSWORD="+form.PASSWORD.value+"&";
		newsrc1="/login-popup?action=save1&AD_ID="+ad_id+newsrc;
		var url = getServerName()+newsrc1;
		req.open("post", url, true);
		req.onreadystatechange = processChange;
		req.send(null);
	}
}

function processChange(evt)
{
	if (req.readyState == 4)
	{
		if (req.status == 200)
		{
			var response = req.responseText;
			if( (response.length < 40) && (response.indexOf('LoginFailure') < 0) )
			{
				checkbox.className="sSavD";
				parameters=response.split("&");
				ad_id=parameters[1];				
				if(imgname!="")
				{
				tab=document.getElementById(ad_id);
				tab.className=imgname;
				}
				else
				{					
				chk=document.getElementById(ad_id);
				tab=document.getElementById(ad_id);
				}
			}
			else
			{
				if(returned)
				{
					alert('Email Address and/or Password incorrect');
									}
				lidiv = document.getElementById("newDv");
				document.forms['savevehiclesloginform'].elements['ad_id'].value = ad;
				lidiv.style.visibility='visible';
				if(timer) clearTimeout(timer);
				needtologin=true;
				returned= true;
			}
		}
	}
}
function populateSelect(oNode,iStartNumber,sName,iScale,iLimit)
{
	var oToday = new Date();
	var iStart;
	var iEnd;
	var iIndexOffset = 0;
	var iInterval = iScale;
	var sOptionPrepend = "";
	var iDiff;
	iStart = parseInt(iStartNumber);	
	switch(sName)
	{
		case 'lYear':
		case 'hYear':
			iEnd = oToday.getFullYear() + 1;
			break;
		case 'lprice':
		case 'hPrice':
			iEnd = iLimit;
			sOptionPrepend = '$';
			break;
		default:
			break;
	}
	iDiff = iEnd - iStart;
	oNode.innerHTML = '';
	var x = 0
	for(x = iIndexOffset; iStart <= iEnd; x++)
	{
		oNode.options[x] = new Option(sOptionPrepend + iStart, iStart);
		if(iStart==iEnd)
			oNode.options[x].selected=true;
		iStart += (iInterval);
	}
	if(iStartNumber=='Any') {
		oNode.innerHTML = '';
		oNode.options[0] = new Option('Any', 'Any');
	}
	if(sName == 'hprice')
		oNode.options[oNode.options.length-1] = new Option('No Limit','9999999999',true);
}

function setNodeFalse(obj)
{
	if(obj.value!='')
	{
		document.getElementById('zipCode').setAttribute('searchnode','false');
		document.getElementById('zipRad').setAttribute('searchnode','false');
		document.getElementById('area').setAttribute('searchnode','false');
	}
}

function clearFormComplete()
{
	document.mainsearch.reset();
	sType('mainsearch', document.getElementById('anytype'));
	sArea('mainsearch','zip');
	document.getElementById('hYear').innerHTML = '<option value="Any">Any</option>';
	if(document.getElementById('more_options').className =='sShw')
		shwMore();
}
 function search(sForm)
{	
	var bNewOrUsedSelected = false;
	var bMileageSelected = false;
	var oSearchNodeArray = new cSearchNodeList();
	var sUrl = "";
	var sFormName = sForm || "mainsearch";
	var bIsValid = false;
	var arMatched = "";
	var sClass = "";
	var arValidNodes = Array();
	var valNds = '';
	var sDomain = '';
	var bDebug = false;
	var sCookieName = "searchform";
	
	oSearchNodeArray.buildSearchNodeList(document.forms[sFormName]);
	bIsValid = validateAll(oSearchNodeArray, arValidNodes);
	sUrl = buildUrl(oSearchNodeArray);
	if(bIsValid)
	{
		sUrl = cleanUrl(sUrl);
		setCookies(arValidNodes, sCookieName);
		sDomain = setBTOLTypeDomain(sUrl);
		if(bDebug)
		{
			alert(sDomain);
			return;
		}
		else
			window.location = sDomain + '/';
	}
}

