	function isVisible(oControl)
	{
		if(oControl.style.display!="")
			return false;
		if(oControl.clientWidth<1)
			return false;
		if(oControl.disabled)
			return false;
		if(oControl.offsetWidth<1)
			return false;
		return true;
	}
	
	function Requiredvalidate(frm)
	{
		var a=0;
		
		for(a=0;a<frm.elements.length;a++)
		{
			if (frm.elements[a].title!="" && isVisible(frm.elements[a]))
			{
				if(frm.elements[a].value=="")
				{
					alert(frm.elements[a].title + " is mandatory");
					frm.elements[a].focus();
					return false;	
				}
			}
		}
	return true;
	}



function checkPostCode(field)
	{
		
		field.value=field.value.replace(/^\s+/,'').replace(/\s+$/,'');
		var post_len= field.value.length;
		if(  isChar(field.value.charAt(post_len-1)) && isChar(field.value.charAt(post_len-2)) && isDigit(field.value.charAt(post_len-3)))  
		{
		  if(field.value.charAt(post_len-4) !=" ")
		  field.value=insertNthChar(field.value," ",post_len-3)
		  return true;
		
		}
		else
		{
			alert("Invalid Post Code Format");
			field.focus();
			return false;
		}


	}
	
	
	
function isChar (c)
{ return (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")));
}


function isDigit (c)
{ return ((c >= "0") && (c <= "9"));
}


function insertNthChar(string,chr,nth) {
  var output = '';
  for (var i=0; i< string.length; i++) {
    if (i==nth)
      output += chr;
    output += string.charAt(i);
  }

  return output;
}





	function checkPostCode_old(field)
	{
	var a=/^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {1}[0-9][A-Za-z]{2}$/
	
	if(field.value.match(a)!=null)
		return true;
	else
		{
		alert("Invalid Post Code Format");
		field.focus();
		return false;
		}

	}
	function checkNumber(field) 
	{
		var valid = "0123456789.";
		var ok = "yes";
		var temp;
		for (var i=0; i<field.value.length; i++) 
		{
			temp = "" + field.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
			alert("Invalid entry!  Only numbers are accepted!");
			field.focus();
			field.select();
			return false;
	 	  }
		return true;
	}
	function checkText(field) 
	{
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,-/ ";
		var ok = "yes";
		var temp;
		for (var i=0; i<field.value.length; i++) 
		{
			temp = "" + field.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
			alert("Invalid entry!  Only characters are accepted!");
			field.focus();
			field.select();
			return false;
	 	  }
		return true;
	}
	function checkPhone(field) 
	{
		var valid = "0123456789";
		var ok = "yes";
		var temp;
		for (var i=0; i<field.value.length; i++) 
		{
			temp = "" + field.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
			alert("Invalid Phone Number!  Only numbers are accepted!");
			field.focus();
			field.select();
			return false;
	 	  }
		if(field.value.length!=11)
		{
			alert("Invalid Phone Numbers!Eleven Digits are Accepted!");
			field.focus();
			field.select();
			return false;
		}
		return true;
	}
	function checkEmail(field) 
	{
		var str=field.value;
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str))
			return true;
		else{
			alert("Invalid valid email address!");
			field.focus();
			field.select();		
			return false;
		}
	}



		function checkDate(field){
		var checkstr = "0123456789";
		var DateField = field;
		var Datevalue = "";
		var DateTemp = "";
		var seperator = "-";
		var day;
		var month;
		var year;
		var leap = 0;
		var err = 0;
		var i;
		   err = 0;
		   DateValue = DateField.value;
		   /* Delete all chars except 0..9 */
		   for (i = 0; i < DateValue.length; i++) {
			  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
				 DateTemp = DateTemp + DateValue.substr(i,1);
			  }
		   }
		   DateValue = DateTemp;
		   /* Always change date to 8 digits - string*/
		   /* if year is entered as 2-digit / always assume 20xx */
		   if (DateValue.length == 6) {
			  DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
		   if (DateValue.length != 8) {
			  err = 19;}
		   /* year is wrong if year = 0000 */
		   year = DateValue.substr(4,4);
		   if (year == 0) {
			  err = 20;
		   }
		   /* Validation of month*/
		   month = DateValue.substr(2,2);
		   if ((month < 1) || (month > 12)) {
			  err = 21;
		   }
		   /* Validation of day*/
		   day = DateValue.substr(0,2);
		   if (day < 1) {
			 err = 22;
		   }
		   /* Validation leap-year / february / day */
		   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
			  leap = 1;
		   }
		   if ((month == 2) && (leap == 1) && (day > 29)) {
			  err = 23;
		   }
		   if ((month == 2) && (leap != 1) && (day > 28)) {
			  err = 24;
		   }
		   /* Validation of other months */
		   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
			  err = 25;
		   }
		   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
			  err = 26;
		   }
		   /* if 00 ist entered, no error, deleting the entry */
		   if ((day == 0) && (month == 0) && (year == 00)) {
			  err = 0; day = ""; month = ""; year = ""; seperator = "";
		   }
		   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
		   if (err == 0) {
			  DateField.value = day + seperator + month + seperator + year;
		   }
		   /* Error-message if err != 0 */
		   else {
			alert("Invalid Date Format!");
			DateField.select();
			DateField.focus();
			return false;
		   }
			return true;
		}
