var ie = navigator.userAgent.indexOf("MSIE");
var ie7 = navigator.userAgent.indexOf("MSIE 7");

function validate(formElementId)
{
   var form = document.getElementById(formElementId);
	if( form!=null )
	{
      var errors = "";
		var labels = form.getElementsByTagName("label");
		for( var i=0; i<labels.length; i++ )
		{
			if( labels[i].htmlFor.indexOf("_req")>-1 )
			{
				var element = document.getElementById(labels[i].htmlFor);
				var labelText = labels[i].innerHTML.replace(":","").replace("*","");
				if( element!=null && element.disabled==false )
				{
					if(element.tagName=="INPUT")
					{
					   if(element.value.replace(/^\s+|\s+$/g, '')=="")
						{
							errors += "\n- "+labelText+" is required";
						}
					}
					else if(element.tagName=="TEXTAREA")
					{
					   if(element.value.replace(/^\s+|\s+$/g, '')=="")
						{
						   errors += "\n- "+labelText+" is required";
						}
					}
					else if(element.tagName=="SELECT")
					{
					   if(element.options[element.selectedIndex].value=="")
						{
						   errors += "\n- "+labelText+" is required";
						}
					}
				}
			}
		}
		if(errors!="")
		{
		   errors = "There were the following errors:"+errors;
         alert(errors);
         return false;
		}
	}
	else
	{
	   alert("Can not validate form with id '"+formElementId+"', the id does not exist in the page");
		return false;
	}
	return true;
}

function changeStandSizes(element)
{
   var sizes = {
                  "arlington" : ["please select...","3x1","2x2","4x1"],
                  "marqueeB" : ["please select...","2x1"],
                  "marqueeC" : ["please select...","2x1","3x1"]
               };
   fillSelect("stand_size_req",sizes[element.options[element.selectedIndex].value]);
}

function fillSelect(elementId,fillArray)
{
   var element = document.getElementById(elementId);
   if( element!=null )
   {
      element.options.length = 0;
      for( var i=0; i<fillArray.length; i++ )
      {
         var newOption = new Option(fillArray[i],fillArray[i].replace("please select...",""));
         newOption.innerHTML = fillArray[i]; // for IE 7 to fix text not displaying
         element.appendChild(newOption);
      }
      element.disabled = false;
   }
}

function calculateStandCost(element)
{
   var standLocationElement = document.getElementById("stand_location_req");
   if( standLocationElement!=null )
   {
      var sizeArr = element.options[element.selectedIndex].value.split("x");
	  var sizeSqMetre = sizeArr[0]*sizeArr[1];
	  var costPerSqMetre = { "arlington":40,"marqueeB":35,"marqueeC":30};
	  var cost = costPerSqMetre[standLocationElement.options[standLocationElement.selectedIndex].value]*sizeSqMetre*2;
	  var costOfStandElement = document.getElementById("stand_cost_req");
	  if( costOfStandElement!=null )
	  {
	     costOfStandElement.value = cost;
	  }
   }
}
