	function LoadModel(ControlName)
	{
		var intSelectedItem = document.getElementById(ControlName + "_make_id").selectedIndex;
		
		if (intSelectedItem != 0)
		{
			var intMoIndex = document.getElementById(ControlName + "_make_id").options[intSelectedItem].value;
			
			if ((intMoIndex < mo.length) &&(intMoIndex >= 0))
			{
				var arModel = mo[intMoIndex];
				document.getElementById(ControlName + "_model_id").options.length = (arModel.length/2)+1;
				for (i = 2;i<=arModel.length;i=i+2)
				{
					document.getElementById(ControlName + "_model_id").options[i/2] = new Option(arModel[i-2],arModel[i-1]);
				}
			}
		}
		else
		{
			document.getElementById(ControlName + "_model_id").selectedIndex = 0;	
			document.getElementById(ControlName + "_model_id").options.length = 1;	
		}
	}
	
	
	function getSelectedValue(myElement)
	{				
		var intSelectedItem = document.getElementById(myElement).selectedIndex;				
		if (intSelectedItem > 0)
		{
			try
			{
				return document.getElementById(myElement).options[intSelectedItem].value;
			}
			catch(ex1)
			{}
			finally
			{}
			
			try
			{
				return document.getElementById(myElement).options[intSelectedItem].text;
			}
			catch(ex2)
			{}
			finally
			{}
		}
		return -1;
	}
	
	function getIndexByValue(myElement,myValue)
	{				
		var ddlOptions = document.getElementById(myElement).options;
		
		for(i = 0; i < ddlOptions.length; ++i)
		{
			if( ddlOptions[i].value == myValue)
			{
				return i;
			}
		}
		return 0;
	}
		

	function postit(ControlName)
	{
		var strURL = "http://oldmac.com.au/used-search.php";
		var intAddedParams = 0;
		
		var make_id =  getSelectedValue(ControlName + "_make_id");
		var model_id = getSelectedValue(ControlName + "_model_id");
		var release_year = 	getSelectedValue(ControlName + "_release_year");			    
		var body_id = getSelectedValue(ControlName + "_body_id");
		var price_min = getSelectedValue(ControlName + "_price_min");					
		var price_max = getSelectedValue(ControlName + "_price_max");					
									
		if( make_id != null && ( typeof(make_id) == "string" || (typeof(make_id) == "number" && make_id >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "make_id=" + make_id;
			intAddedParams++;
		}
		
		if( model_id != null && ( typeof(model_id) == "string" || (typeof(model_id) == "number" && model_id >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "model_id=" + model_id;
			intAddedParams++;
		}
		
		if( release_year != null && ( typeof(release_year) == "string" || (typeof(release_year) == "number" && release_year >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "release_year=" + release_year;
			intAddedParams++;
		}
		
		if( body_id != null && ( typeof(body_id) == "string" || (typeof(body_id) == "number" && body_id >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "body_id=" + body_id;
			intAddedParams++;
		}
		
	
		if( price_min != null && ( typeof(price_min) == "string" || (typeof(price_min) == "number" && price_min >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "price_min=" + price_min;
			intAddedParams++;
		}
		
		if( price_max != null && ( typeof(price_max) == "string" || (typeof(price_max) == "number" && price_max >= 0) ))
		{
			strURL = strURL + AddDelim(intAddedParams) + "price_max=" + price_max;
			intAddedParams++;
		}

		window.location = strURL;
	}
	
	
	function AddDelim(intNumberAdded)
	{
		if (intNumberAdded == 0)
			return "?";
		else
			return "&";
	}
	
	
	function getQueryString()
	{
		var url = document.URL;
		var index = url.indexOf('?');
		var params = new Array();
		if ( index != -1 )
		{
			var nameValuePairs = url.substring(index+1,url.length).split('&');
			
			if( nameValuePairs != null )
			{
				for ( var i = 0; i < nameValuePairs.length; ++i ) 
				{
					var nameVal = nameValuePairs[i].split('=');
					params[nameVal[0]] = nameVal[1];
				}
			}
		}
		return params;
	}
	
	
	function getQueryStringParam(paramName)
	{
		var params = getQueryString();
		if(params != null )
		{
			return unescape(params[paramName]);
		}
		return "";
	}
	
	
	function pageLoad(ControlName)
	{
		document.getElementById(ControlName +"_make_id").options.length = (ma.length/2)+1;
		document.getElementById(ControlName +"_model_id").selectedIndex = 0;
		for (i = 2;i<=ma.length;i=i+2)
		{					
			document.getElementById(ControlName +"_make_id").options[i/2] = new Option(ma[i-2],ma[i-1]);
		}
		
		// Set the drop lists to the values in the url query string if nothing is selected
		setDropList(ControlName, "make_id");
		LoadModel(ControlName);
		setDropList(ControlName, "model_id");
		setDropList(ControlName, "release_year");
		setDropList(ControlName, "body_id");
		setDropList(ControlName, "price_min");
		setDropList(ControlName, "price_max");
	}
	
	
	function setDropList(ControlName, paramName)
	{	
		// If a selection hasn't been made, use the one from the url query string
		if( document.getElementById(ControlName +"_"+paramName).selectedIndex == 0)
		{
			if( getQueryStringParam(paramName) != null && getQueryStringParam(paramName) != "undefined")
			{
				document.getElementById(ControlName +"_"+paramName).selectedIndex
				= getIndexByValue(ControlName +"_"+paramName, getQueryStringParam(paramName));
			}
		}
	}
	
	function resetDropList(ControlName, dropListName)
	{	
		document.getElementById(ControlName +"_"+dropListName).selectedIndex = 0;
	}
	
	function resetFields(ControlName)
	{
		resetDropList(ControlName, "model_id");
		resetDropList(ControlName, "make_id");
		resetDropList(ControlName, "release_year");
		resetDropList(ControlName, "body_id");
		resetDropList(ControlName, "price_min");
		resetDropList(ControlName, "price_max");
	}
	
	function advancedSearch(ControlName)
	{
		// CarSales have not implemented this functionality
	}
	
	function carsOnline(literalControl)
	{
		// Calculate the total number of cars in the drop list:
		var totalCount = 0;
		
		// ma array looks like this: ma = new Array("ALFA ROMEO (1)","35","AUDI (2)","24"...)
		for (i = 0;i<ma.length;i=i+1)
		{
			var startIndex = (ma[i]+"").indexOf("(") + 1;
			if( startIndex > 0 )
			{
				var endIndex = (ma[i]+"").indexOf(")");
				if( endIndex > startIndex )
				{
					var carsOfThisMake = (ma[i]+"").substring(startIndex, endIndex);
					
					try
					{
						totalCount = totalCount + (+carsOfThisMake);
					}
					catch(ex)
					{}
				}
			}
		}
		
		// format the display of the number of cars online
		var formatString = ""+totalCount;
		
		if(totalCount == 0)
		{
			formatString = "";
		}
		
		if(formatString.length > 3)
		{
			formatString = formatString.substr(0,formatString.length-3) + "," + formatString.substr(formatString.length-3,3);
			
			if(formatString.length > 7)
			{
				formatString = formatString.substr(0,formatString.length-7) + "," + formatString.substr(formatString.length-7,7);
			}
		}
		
		document.getElementById(literalControl).innerHTML = formatString;
	}