//------------------------------- getCookie -------------------------------------------//
function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
	begin = dc.indexOf(prefix);
	if (begin != 0) return null;
	} else
	begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
	end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

//------------------------------- changeStyle -------------------------------------------//
function changeStyle(f) //new style selected, refresh the maxlength and beam drop downs 
{
	d = document;
	
	if(document["bc_tool_custom"])
		d.refine_bcs.year.value=d.bc_tool_custom.year.value;
	
	d.refine_bcs.boat_style.value = f.boat_style.value;
	d.refine_bcs.maxlength.value  = f.maxlength.value;
	d.refine_bcs.beam.value       = f.beam.value;
	d.refine_bcs.submit();
}

//------------------------------- changeYear --------------------------------------------//
function changeYear(f)
{
	d = document;
	
	if(document["bc_tool_style"])
		d.refine_bcc.boat_style.value=d.bc_tool_style.boat_style.value;
	
	d.refine_bcc.year.value  = f.year.value;
	d.refine_bcc.make.value  = f.make.value;
	d.refine_bcc.model.value = f.model.value;
	d.refine_bcc.submit();
}

//------------------------------- sortResults -------------------------------------------//
function sortResults(obj,sort)
{
	d = document;
	d.sortForm.sortby.value = obj.name;
	d.sortForm.order.value  = sort;
	d.sortForm.submit();
}

//------------------------------- searchBoatCovers --------------------------------------//
function searchBoatCovers(f)
{
	f.submit();
}


//------------------------------- navigateUser ------------------------------------------//
function navigateUser(c,o,s,p)
{
	d = document;
	d.sortForm.onpage.value  = o;
	d.sortForm.start.value   = s;
	d.sortForm.perpage.value = p;
	d.sortForm.submit();
}


//------------------------------- stringSplit -------------------------------------------//
function stringSplit(str,del)
{
	if(str == null || str == "")
	{
		return null;
	}
	else if(str.split != null)
	{
		return str.split(del);
	}
	else
	{
		var ar = new Array();
		var i = 0;
		var start = 0;
		
		while(start >= 0 && start < str.length)
		{
			var end = str.indexOf (del,start) ;
			
			if( end >= 0 )
			{
				ar[i++] = str.substring (start,end);
				start = end+1;
			}
			else
			{
				ar[i++] = str.substring (start,str.length);
				start = -1;
			}
		} //end while
	} //end else
} //end function


//------------------------------- initCustomMenus ---------------------------------------//
var menu1 = new Array();
var menu2 = new Array();
function initCustomMenus(fname)
{
	var f = document[fname];
	var info  = new Array();
	var years = new Array();
	var yearLength = f.year.options.length;

	//auto-select the year
	for(var i=0; i<yearLength; i++)
	{
		var tempValue = f.year.options[i].value;

		if(tempValue == year)
		{
			f.year.options[i].selected = true;
			break;
		}
	}

	info = initMakes();
	for (var i=0; i<info.length; i++)
	{
		menu1[i] = stringSplit (info[i],'*');
		menu2[i] = stringSplit (menu1[i][1],'|');
	}

	var theMake  = f.make;
	var theModel = f.model;
	var theYear  = f.year;

	theMake.length  = menu1.length;
	theModel.length = menu2[0].length;
	for ( var i=0; i < menu1.length; i++ )
	{
		theMake.options[i].value  = menu1[i][0];
		theMake.options[i].text   = menu1[i][0];
	}

	for (var x=0; x < menu2[0].length; x++)
	{
		theModel.options[x].text = menu2[0][x];
		theModel.options[x].value = menu2[0][x];
	}

	//auto-select the make and model
	//**********************************************************
	if((curMake != null) && (curMake != ""))
	{
		for(var i=0; i<theMake.length; i++)
		{
			var tempValue = f.make.options[i].value;
			if(tempValue == curMake)
			{
				f.make.options[i].selected = true;
				break;
			}
		}
	}
	var y = f.make.options.selectedIndex;
	
	//call to auto-select model
	updateModels(f,curModel);
	//**********************************************************
}

//------------------------------- updateModels ------------------------------------------//
function updateModels(f,curModel)
{
	var sel = f.make.options.selectedIndex;

	if (sel>=0 && sel<menu1.length)
		var temp = menu2[sel];
	else
		var temp = new Array ();

	f.model.length = temp.length;
	for(var i=0; i<temp.length; i++)
	{
		f.model.options[i].text  = temp[i];
		f.model.options[i].value = temp[i];
		
		if(temp[i] == curModel)
		{
			f.model.options[i].selected = true;
		}
	}
	
	if(sel == 0)
	{
		f.model.disabled = f.model.disabled;
	}
	else
	{
		f.model.disabled = '';
		f.model.focus();
	}
}


//------------------------------- initStyleMenus ----------------------------------------//
var menu3 = new Array();
var menu4 = new Array();
function initStyleMenus(fname)
{
	var f = document[fname];
	var info   = new Array();
	var styles = new Array();

	var styleLen = f.boat_style.options.length;

	//auto-select the boat style
	for(var i=0; i<styleLen; i++)
	{
		var tempValue = f.boat_style.options[i].value;

		if(tempValue == style)
		{
			f.boat_style.options[i].selected = true;
			break;
		}
	}

	info = initDim();
	for ( var i=0; i < info.length; i++ ) 
	{
		menu3[i] = stringSplit(info[i],'*');
		menu4[i] = stringSplit(menu3[i][1],'|');
	}

	var theMaxLen = f.maxlength;
	var theBeam   = f.beam;

	theMaxLen.length = menu3.length;
	theBeam.length   = menu4[0].length;

	for(var i=0; i<menu3.length; i++)
	{
		theMaxLen.options[i].value = menu3[i][0];
		theMaxLen.options[i].text  = menu3[i][0];
	}

	for(var x=0; x< menu4[0].length; x++)
	{
		theBeam.options[x].text  = menu4[0][x];
		theBeam.options[x].value = menu4[0][x];
	}

	if((maxlen != null) && (maxlen != ""))
	{
		maxlen = maxlen.replace(/&apos;/g,"\'");
		for(var i=0; i<theMaxLen.length; i++)
		{
			var tempValue = f.maxlength.options[i].value;
			
			if(tempValue == maxlen)
			{
				f.maxlength.options[i].selected = true;
				break;
			}
		}
	}
	var y = f.maxlength.options.selectedIndex;
	
	updateBeams(f,beam);
}


//------------------------------- updateBeams -------------------------------------------//
function updateBeams(f,beam)
{
	var sel = f.maxlength.options.selectedIndex;

	if (sel >= 0 && sel < menu3.length)
		var temp = menu4[sel];
	else
		var temp = new Array ();

	f.beam.length = temp.length;

	for(var i=0; i<temp.length; i++)
	{
		f.beam.options[i].text  = temp[i];
		f.beam.options[i].value = temp[i];

		if(temp[i] == beam)
		{  f.beam.options[i].selected = true;  }
	}

	if(sel == 0)
		f.beam.disabled = 'disabled';
	else
	{
		f.beam.disabled = '';
		f.beam.focus();
	}
}
//------------------------------------- end ---------------------------------------------//
