<!-- 
/*  ********************************************************************************* *\

Website designed and developed by A.V.A. (Andro van Antwerp)
All code, graphics and design (including methodology) remains the property (Intellectual Property) of A.V.A. 
This is to protect me and my intellectual property from the company and/or client.
A.V.A © Copyright 2006,2007,2008,2009,2010. All rights reserved. (andro101(at)gmail(dot)com)

www.lifeformtaxidermy.com, Life-Form Taxidermy © Copyright 2009,2010. All rights reserved. 

\* ********************************************************************************* */

var loadpic = new Image();
if(document.images){loadpic.src="imgs/logo.gif";}

window.status = window.document.title;

// ****************** form check pages ********************************

function checkfeedback(getform)
{
	var form = document.forms[getform];
	if (!form){alert('Form does not exist');return false;}

	if(!checkletters(getform,'name','your name') ){return false};
	if(!checkletters(getform,'surname','your surname') ){return false};
	if(!checkemail(getform,'email','your email address')){return false};
	if(form.number.value == "" || form.number.value == null){}else{if(!checknum(getform,'number','contact number correctly','10','10')){return false};}
	if(form.code.value == "" || form.code.value == null){}else{if(!checknum(getform,'code','code correctly')){return false};}
	if(form.country.value == "" || form.country.value == null){}else{if(!checkletters(getform,'country','country') ){return false};}
	if(form.subject.value == "" || form.subject.value == null){}else{if(!checkletters(getform,'subject','subject') ){return false};}
	if(!checkfield(getform,'message','message') ){return false};

	return true;
}

// ********** form check and validation functions *************************************************************

function checkall(getform,msg) 
{
var msg;
if(msg=="" || msg==null){msg="All fields are required.";}

var theform = document.forms[getform];
var i = 0;
var exclude = /[*]/;

	for(i=0; i < theform.elements.length; i++) 
	{
		if(theform.elements[i].value==null || theform.elements[i].value=="" || theform.elements[i].value==" ? ")
		{
		var field = theform.elements[i];
		var idfield = field.id;
			if(idfield.search(exclude))
			{
			if(field.focus){field.focus();}
			if(field.select){field.value=" ? ";field.select();}
			field.style.backgroundColor = "gold";
			alert('Please specify "'+idfield+'".\n' + msg);
			field.style.backgroundColor = "";
			return false;
			}
		} 
	}
return true;
}

function checkfield(getform,curfield,msg) 
{
var msg2 = "";
if(msg=="" || msg==null){msg = " ? ";}

var field = document.forms[getform][curfield];

if(!field){alert(curfield+' field does not exist.');return false;}

		if(field.value==null || field.value=="" || field.value==" ? ")
		{
		if(field.focus){field.focus();}
		if(field.select){field.value=" ? ";field.select();}
		field.style.backgroundColor = "gold";
		alert('Please specify '+msg+'.\n\n'+msg2+'');
		field.style.backgroundColor = "";
		return false;
		} 
return true;
}

function checkletters(getform,curfield,msg)
{
var msg2 = "And please enter letters only.";
if(msg=="" || msg==null){msg = " ? ";}

	var formfield = document.forms[getform][curfield]; 
	if(!formfield){alert(curfield+' field does not exist.');return false;}
	var fieldValue  = formfield.value; 
	var fieldLength = fieldValue.length; 
	var alphonly = new RegExp(/^[a-zA-Z\s]+$/);

		
	if(formfield.value==null || formfield.value=="" || formfield.value==" ? " || !alphonly.test(fieldValue))
	{
	if(formfield.focus){formfield.focus();}
	if(formfield.select){formfield.select();}
	formfield.style.backgroundColor = "gold";
	alert('Please specify '+msg+'.\n\n'+msg2+'');
	formfield.style.backgroundColor = "";
	return false;
	}

return true;
}

function checknum(getform,curfield,msg,min,max,dec)
{
var msg2 = "And please enter numbers only.";
if(msg=="" || msg==null){msg = " ? ";}

		var formfield = document.forms[getform][curfield]; 
		if(!formfield){alert(curfield+' field does not exist.');return false;}
		var fieldValue  = formfield.value; 
		var fieldLength = fieldValue.length; 
		var numonly = new RegExp(/^\d+$/);

		if(dec)
		{
			var numonly = new RegExp(/^\d+(\.{1}\d{1,2})?$/);
			var msg2 = "And please enter numbers only with an\noptional decimal value that has a single (.) period.\nExample: 100.5 or 100.50.";
		}

	if(formfield.value==null || formfield.value=="" || formfield.value==" ? " || !numonly.test(fieldValue))
	{
	if(formfield.focus){formfield.focus();}
	if(formfield.select){formfield.select();}
	formfield.style.backgroundColor = "gold";
	alert('Please specify '+msg+'.\n\n'+msg2+'');
	formfield.style.backgroundColor = "";
	return false;
	}

	if(min || max)
	{
	return checklength(getform,curfield, min, max);
	}
	if(dec)
	{
	return checkdecimal(getform,curfield);
	}
return true;
}

function checkdecimal(getform,curfield)
{
if(curfield)
	{
	var field   = document.forms[getform][curfield];
	var moneyStr = field.value;
	// check for digits, with optional "." and additional 2 decimal digits.
	var checkdec = new RegExp(/^\d+(\.{1}\d{1,2})?$/);

	// first check if numbers only, including optional "." period.
	if(checkdec.test(moneyStr)) 
		{
		var string = "" + parseFloat(field.value);
		var number = string.length - string.indexOf('.');
			if (string.indexOf('.') == -1)
			{string += '.00';}
			else
			{
				if (number == 1){string += '00';}
				if (number == 2){string += '0';}
			}
		field.value = string;
		return true;
		}
		else
		{
		field.focus();
		field.select();
		field.style.backgroundColor = "gold";
		alert('And please enter numbers only with an\noptional decimal value that has a single (.) period.\nExample: 100.5 or 100.50.');
		field.value = "";
		field.focus();
		field.select();
		field.style.backgroundColor = "";
		return false;
		}
	}
}

function checklength(getform,curfield,min,max) 
{
var formfield = document.forms[getform][curfield]; 
if(!formfield){alert(curfield+' field does not exist.');return false;}
var fieldValue  = formfield.value; 
var fieldLength = fieldValue.length; 

if(min && fieldLength < min)
	{
	var msg = "Must be "+min+" digits.";
	if(formfield.focus){formfield.focus();}
	if(formfield.select){formfield.select();}
	formfield.style.backgroundColor = "gold";
	alert(msg);
	formfield.style.backgroundColor = "";
	return false;
	}

if (max && fieldLength > max)
	{
	var msg = "Must be "+min+" digits.";
	if(formfield.focus){formfield.focus();}
	if(formfield.select){formfield.select();}
	formfield.style.backgroundColor = "gold";
	alert(msg);
	formfield.style.backgroundColor = "";
	return false;
	}

	return true;
}

function checkemail(getform,curfield,msg)
{
var msg;
var msg2 = "Please enter a VALID E-mail address.\nE.g. user@domain.com";
if(msg=="" || msg==null){msg=" ? ";}

	var fieldName   = document.forms[getform][curfield]; 
	if(!fieldName){alert(curfield+' field does not exist.');return false;}
    var fieldValue  = fieldName.value; 
    var fieldLength = fieldValue.length; 
	var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

		if(!mailformat.test(fieldValue)) 
		{ 
		if(fieldName.focus){fieldName.focus()};
		if(fieldName.select){fieldName.select()};
		fieldName.style.backgroundColor = "gold";
		alert('Please specify '+msg+'.\n\n'+msg2+'');
		fieldName.style.backgroundColor = "";
		return false;
		}	 
	return true;
}

function checkdate(curfield,msg,before)
{
var msg;
var msg2 = "Please use this format, dd/mm/yyyy.\nE.g. 20/12/2000";
if(msg=="" || msg==null){msg=" ? ";}

//var checkdec = new RegExp(/^\d+(\.{1}\d{1,2})?$/);
var dateformat = new RegExp(/^\d{2}\/\d{2}\/\d{4}$/);

var fieldName = document.clientform[curfield]; 
if(!fieldName){alert(curfield+' field does not exist.');return false;}

	var fieldValue = fieldName.value; 
	
	if(fieldName.value == "" || fieldName.value == null)
	{
	fieldName.value = "e.g. 20/12/2000";
	fieldName.select();
	fieldName.focus();
	alert('Please specify '+msg+'.\n\n'+msg2+'');
	return false;
	}

	if(!dateformat.test(fieldValue))
	{
	fieldName.style.backgroundColor = "#FF0000";
	fieldName.select();
	fieldName.focus();
	alert('Please specify '+msg+'.\n\n'+msg2+'');
	fieldName.style.backgroundColor = "";
	return false;	
	}

	if(before)
		{
			if(y < curryear)
			{
			fieldName.focus();
			alert('Date cannot be before '+curryear+'.');
			return false;
			}	
		}
	return true;
}

function checkradio(getform,curfield,msg,container)
{ 
var msg;
var msg2 = "";
if(msg=="" || msg==null){msg="Please specify.";}

var field = document.forms[getform][curfield];

if(!field){alert(curfield+' field does not exist.');return false;}

		if(!field.checked)
		{
		//if(field.focus){field.focus();}
		//if(field.select){field.value=" ? ";field.select();}
		
		var focuszone = document.getElementById(container);
		focuszone.className = "attentiondiv";
		alert('Please specify '+msg+'.\n\n'+msg2+'');
		focuszone.className = "";
		return false;
		} 
return true;
}

//-->
