function formsInit()
{
	var formElements = new Array('INPUT', 'TEXTAREA');
	for(var j = 0; j < formElements.length; j++)
	{
		var list = document.getElementsByTagName(formElements[j]);
		for(var i = 0; i < list.length; i++)
		{
			if(list[i].title && list[i].title != '')
			{
				list[i].onfocus = function(e)
				{
					if(!e)
					{
						var e = window.event;
					}
					var target = e.target || e.srcElement;
					if(target.value == target.title)
					{
						target.value = '';
						target.className = '';
					}
				}
				list[i].onblur = function(e)
				{
					if(!e)
					{
						var e = window.event;
					}
					var target = e.target || e.srcElement;
					if(target.value == '')
					{
						target.value = target.title;
					}
				}
			}
		}
	}

	if(document.getElementById('name'))
	{
		document.getElementById('name').onkeyup = function(e)
		{
			document.getElementById('name').value = document.getElementById('name').value.replace(/[\\\/\:\*\?\"\<\>\|]*/g, '');
		}
	}

	if(document.getElementById('email'))
	{
		document.getElementById('email').onkeyup = function(e)
		{
			validateEmailField();
		}
		document.getElementById('email').onblur = function(e)
		{
			validateEmailField();
		}
		document.getElementById('email').onclick = function(e)
		{
			validateEmailField();
		}
	}

	if(document.getElementById('size'))
	{
		document.getElementById('size').onkeyup = function(e)
		{
			masker(document.getElementById('size'));
		}
		document.getElementById('size').onfocus = function(e)
		{
			masker(document.getElementById('size'));
		}
		document.getElementById('size').onclick = function(e)
		{
			masker(document.getElementById('size'));
		}
	}

	if(document.getElementById('upload'))
	{
		document.getElementById('upload').onchange = function(e)
		{
			document.getElementById('uploadText').innerHTML = document.getElementById('upload').value;
			document.getElementById('uploadText').style.display = 'block';
		}
	}

	if(document.getElementById('send'))
	{
		var pic = new Image();
		pic.src = '/images/layout/sendHover.png';
		document.getElementById('send').onmouseover = function()
		{
			document.getElementById('send').src = '/images/layout/sendHover.png';
		}
		document.getElementById('send').onmouseout = function()
		{
			document.getElementById('send').src = '/images/layout/send.png';
		}
		document.getElementById('send').onclick = function()
		{
			var errors = false;
			var post = '';
			if(document.getElementById('name'))
			{
				var name = document.getElementById('name');
				if(name.value == name.title || name.value.length < 2)
				{
					document.getElementById('name').className = 'error';
					errors = true;
				}
				else
				{
					document.getElementById('name').className = '';
					post = post+'name='+name.value+'&';
				}
			}
			if(document.getElementById('email'))
			{
				var email = document.getElementById('email');
				if(email.value == email.title || !isEmail(email.value))
				{
					document.getElementById('email').className = 'error';
					errors = true;
				}
				else
				{
					document.getElementById('email').className = '';
					post = post+'email='+email.value+'&';
				}
			}
			if(document.getElementById('msg'))
			{
				var msg = document.getElementById('msg');
				if(msg.value == msg.title || msg.value.length < 5)
				{
					document.getElementById('msg').className = 'error';
					errors = true;
				}
				else
				{
					document.getElementById('msg').className = '';
					post = post+'msg='+msg.value+'&';
				}
			}
			if(!errors)
			{
				post = post.substr(0, post.length-1);
				var page = location.href.split('/');
				page = page[page.length-1];
				loadFile('post', '/includes/'+page+'.php', post, 'text', formResponse);
			}
		}
	}
	
	if(document.getElementById('submit'))
	{
		var pic = new Image();
		pic.src = '/images/layout/sendHover.png';
		document.getElementById('submit').onmouseover = function()
		{
			document.getElementById('submit').src = '/images/layout/sendHover.png';
		}
		document.getElementById('submit').onmouseout = function()
		{
			document.getElementById('submit').src = '/images/layout/send.png';
		}
		document.getElementById('submit').onclick = function()
		{
			if(checkSubmit())
			{
				document.getElementById('quoteform').submit();
			}
		}
	}
}

function isEmail(email)
{
	var reg = /^(("[\w-\s\-]+")|([\w\-]+(?:\.[\w\-]+)*)|("[\w\s\-]+")([\w\-]+(?:\.[\w\-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
	return reg.test(email);
}

function validateEmailField()
{
	if(document.getElementById('email'))
	{
		if(!isEmail(document.getElementById('email').value) && document.getElementById('email').value != document.getElementById('email').title)
		{
			document.getElementById('email').className = 'error';
		}
		else
		{
			document.getElementById('email').className = '';
		}
	}
}

function formResponse()
{
	if(req.getResponseHeader('isSent') == 1)
	{
		document.getElementById('send').parentNode.style.display = 'none';
		document.getElementById('sentText').style.display = 'block';
	}
	else
	{
		alert('failed');
	}
	clearRequest();
}

function validateWidthHeight(o)
{
	o.value = o.value.replace(/[^0-9,\.]*/g, '');
}

function checkSubmit()
{
	var errors = false;
	if(document.getElementById('name'))
	{
		var name = document.getElementById('name');
		if(name.value == name.title || name.value.length < 2)
		{
			document.getElementById('name').className = 'error';
			errors = true;
		}
		else
		{
			document.getElementById('name').className = '';
		}
	}
	if(document.getElementById('email'))
	{
		var email = document.getElementById('email');
		if(email.value == email.title || !isEmail(email.value))
		{
			document.getElementById('email').className = 'error';
			errors = true;
		}
		else
		{
			document.getElementById('email').className = '';
		}
	}
	if(document.getElementById('msg'))
	{
		var msg = document.getElementById('msg');
		if(msg.value == msg.title || msg.value.length < 5)
		{
			document.getElementById('msg').className = 'error';
			errors = true;
		}
		else
		{
			document.getElementById('msg').className = '';
		}
	}
	var list = document.getElementById('quoteTree').getElementsByTagName('P');
	var categories = '';
	var count = list.length;
	if(count > 0)
	{
		for(var i = 0; i < count; i++)
		{
			if(list[i].className == 'active')
			{
				categories += list[i].innerHTML+', ';
			}
		}
		categories = categories.substring(0, categories.length-2);
	}
	document.getElementById('categories').value = categories;
	return !errors;
}