// JavaScript Document

function isblank(s)
{
    for(var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
    }
    return true;
}

function is_email(str)
{
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp)
  {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function validate_contact_form(form)
{
	var return_value = false;
	
	var type_selected = false;
	
	if(isblank(form.name.value))
	{
		alert("Please enter your name");
		form.name.focus();
	}
	else if(isblank(form.phone.value))
	{
		alert("Please enter your telephone number");
		form.phone.focus();
	}
	else if(isblank(form.email.value))
	{
		alert("Please enter your email address");
		form.email.focus();
	}
	else if(isblank(form.company.value))
	{
		alert("Please enter your company name");
		form.company.focus();
	}
	else
	{
		return_value = true;
	}
	
	return return_value;
}

function calculatePrices(form)
{
	var winCount = 0;
	var tmpFieldName = "";
	var elem = form.elements;
	for(var i=0;i<elem.length;i++)
	{
		tmpFieldName = elem[i].id;
		if(tmpFieldName.search("winwidth") >= 0)
		{
			winCount++;
		}
	}
	
	if(winCount > 0)
	{
		var tmpWidth = 0;
		var tmpHeight = 0;
		var tmpFW = "";
		var tmpFH = "";
		var tmpSize = 0;
		var tmpTotalSize = 0;
		for(var i=1;i<=winCount;i++)
		{
			tmpFW = "winwidth" + i;
			tmpWidth = parseInt(document.getElementById(tmpFW).value);
			/*if(tmpWidth <> document.getElementById(tmpFW).value)
			{
				alert("Please enter a valid number");
				document.getElementById(tmpFW).focus();
				break;
			}*/
			tmpFH = "winheight" + i;
			tmpHeight = parseInt(document.getElementById(tmpFH).value);
			/*if(tmpHeight <> document.getElementById(tmpFH).value)
			{
				alert("Please enter a valid number");
				document.getElementById(tmpFH).focus();
				break;
			}*/
			if((tmpWidth != document.getElementById(tmpFW).value) || (tmpHeight != document.getElementById(tmpFH).value))
			{
				continue;
			}
			else
			{
				tmpSize = (tmpWidth / 1000) * (tmpHeight / 1000);
				tmpTotalSize = tmpTotalSize + tmpSize;
			}
		}
		
		if(tmpTotalSize > 0)
		{
			var prices = new Array();
			prices[0] = 238;
			prices[1] = 336;
			prices[2] = 356;
			prices[3] = 386;
			prices[4] = 403;
			prices[5] = 309;
			
			var tmpPrice = 0;
			var strText = "";
			
			for(i=0;i<prices.length;i++)
			{
				tmpPrice = prices[i] * tmpTotalSize;
				tmpPrice = tmpPrice.toFixed(2);
				strText = "£" + tmpPrice;
	
				var newSpan = document.createElement("span");
				var newText = document.createTextNode(strText);
				newSpan.appendChild(newText);
				//alert(strText);
				var objContainer = document.getElementById("price"+i);
				var oldSpan = objContainer.getElementsByTagName("span").item(0);
				var replaced = objContainer.replaceChild(newSpan,oldSpan);
			}
		}
	}
}

function convertValue(form)
{
	var multiplier = 25.4; // inches to millimetres
	if(parseFloat(form.inputValue.value) == form.inputValue.value)
	{
		var outputValue = Math.round(parseInt(form.inputValue.value) * multiplier);
	
		var newSpan = document.createElement("span");
		var newText = document.createTextNode(outputValue);
		newSpan.appendChild(newText);
		
		var objContainer = document.getElementById("converterOutput");
		var oldSpan = objContainer.getElementsByTagName("span").item(0);
		var replaced = objContainer.replaceChild(newSpan,oldSpan);
	}
	else
	{
		alert("Please enter a number");
	}
}

function checkEnterConvert(e,form)
{ //e is event object passed from function invocation
	var characterCode; //literal character code will be stored in this variable

	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else
	{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13)
	{ //if generated character code is equal to ascii 13 (if enter key)
		convertValue(form); //submit the form
	}
	return false;
}