var wd = window.document;


window.onload = focal;// set focus to first text field on page


function focal()
	{
		if(wd.forms.length > 0)
			{
				var li = wd.forms[0].elements.length;
				//alert(li);
				var xelem
				for(var i=0; i < li; i++)
					{
						xelem = wd.forms[0].elements[i].id;
						if(xelem)
							{
								xelem = wd.getElementById(xelem);
								//alert(wd.forms[0].elements[i].id)
								xelem = xelem.id;
								if(xelem.substring((xelem.length)-3) == "txt")
									{
										wd.forms[0].elements[i].focus();
										break;
									}
							}
					}
			}
	}

function trim(s) 
{
	return String(s).replace(/^\s+|\s+$/g,"");
}


function zinger()
	{
	xelem = window.document.getElementById('news_htm');
	xelem.previousSibling.contentWindow.document.focus();
	
	}


function chkform(xform)
	{
		var msg = "";
		var former = xform.elements.length;
		var xelem;
		var xid;
		var xtype;
		var reg_exp;
		
		
				
			
		
		
		
		outer_loop: 
		for (var i = 0; i < former; i++)
			{
			
				try
					{
						xelem = wd.getElementById(xform.elements[i].id);
				
			
							//xelem = wd.getElementById(xform.elements[i].id);
							xid = xelem.id;
							xtype = xid.substring((xid.length)-3);
							xelem2 = trim(xelem.value);
							
							xelem.value = xelem2;
			
							xnum1 = xelem2.length;
							//xnum1 = replace(/^\s*|\s*$/g,"");
			
							//alert(xelem);
							//alert(xid);
							//alert(xtype);
							
							if(xelem.className == "rec" && xnum1 == 0)
								{
								
									if(xelem.type == "hidden" && xtype == "htm")
										{
												alert("This is a required field. Please enssure that you have completed the form.");
												
												try
													{
														xelem.previousSibling.contentWindow.document.focus();
														return false;
													}
												catch(e)
													{
														// do nothing
													}
												
											
										}
									else
										{
										
										//alert(xelem.type);
								
										msg = "This is a required field. Please enssure that you have completed the form." ;
										break outer_loop;
										
										}
								}
							
							
							//alert(xid);
							//alert(xelem2);
							//alert(xnum1);
							
							
							switch(xtype)
								{
									case "txt": // this is a text field
									
									reg_exp = /[^\w\s\..,.'%&-\?]/; // any char 0-9 a-Z _ space
									if(reg_exp.test(xelem2) == true)
										{
											msg = "Please ensure you enter only characters:\n A - Z 0 - 9 . ,  - _ ? ' or space";
											break outer_loop;
										}
									
									break;
									
									
									case "htm": // this is a text field
									
									//reg_exp = /[^\w\s\..,.'.<.>.&%."\?\/.=.:.;.-]/; // any char 0-9 a-Z _ space
									//if(reg_exp.test(xelem2) == true)
										//{
											//msg = "Please ensure that you have only entered valid html.\n A - Z 0 - 9 . ,  - _ ? < > \/\" ' or space";
											//break outer_loop;
										//}
									//alert("goat");
									
									break;
									
									
									
									case "url": // this is a text field
									
									reg_exp = /[^\w\s\..,.'.&%."\?\/.=.:.;.-]/; // any char 0-9 a-Z _ space
									if(reg_exp.test(xelem2) == true)
										{
											msg = "Please ensure that you have only entered valid URL.\n A - Z 0 - 9 . - _ ? = / :";
											break outer_loop;
										}
									
									break;
									
									
									case "num": // this is a number field
									
									reg_exp = /[^\d]/; // any char 0-9
									if(reg_exp.test(xelem2) == true)
										{
											msg = "Please ensure you entered a number";
											break outer_loop;
										}
									
									break;
									//
									
									//
									case "phn": // phone
									
										//reg_exp = /\d[.\d{1,}]?/; // any char 0-9 a-Z _ space
										reg_exp = /[^\d\s.-]/;
										if(reg_exp.test(xelem2) == true)
											{
												msg = "Please ensure that your have entered a valid phone number.";
												break outer_loop;
											}
									
									break;
									//
									case "eml": // email
									
									 reg_exp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
									 
									 if(reg_exp.test(xelem2) != true  && xnum1 != 0)
											{
												msg = "Please ensure that your have entered a valid email address.";
												break outer_loop;
											}
									
									break;
									//
									case "dte": // date in 24/07/2004 format
									
										reg_exp = /^[0-3]{1}[0-9]{1}\/[0-1]{1}[0-9]{1}\/(20)[0-1][0-9]/;
										if(reg_exp.test(xelem2) != true && xnum1 != 0)
											{
												msg = "Please ensure that your have entered a valid date in the format 23/04/2004.";
												break outer_loop;
											}
										else
											{
												var dbit = xelem2.split("/");
												dbit[0] = parseFloat(dbit[0]);
												dbit[1] = parseFloat(dbit[1]);
												dbit[2] = parseFloat(dbit[2]);
												
													if (dbit[0] == 31)
															{
															if (dbit[1] == '4' || dbit[1] == '6' || dbit[1] == '9' || dbit[1] == '11')
																{
																dbit[0] = 30;
																}
															}
														if (dbit[0] > 29 && dbit[1] == '2')
															{
															dbit[0] = 29;
															}
														if (dbit[2] % 4 != 0 && dbit[1] == '2' && dbit[0] > '28')
															{
															dbit[0] = 28;
															}
													
											
											xelem2 = dbit[0] + "/" + dbit[1] + "/" + dbit[2];
											}
									
									break;
									// 
									case "tme": // time in 18:07 format
									
									reg_exp = /^[0-2][0-9]\:[0-5][0-9]/;
									if(reg_exp.test(xelem2) != true)
											{
												msg = "Please ensure that your have entered a valid time in the format 14:21";
												break outer_loop;
											}
									else
											{
												var xtc = xelem2.split(":");
												if((parseFloat(xtc[0]) > 23) || (parseFloat(xtc[1]) > 59))
													{
												msg = "Please ensure that your have entered a valid time in the format 14:21";
												break outer_loop;
													}
											}
									
									
									break;
									//
									default:
									// do nothing
									break;
								}
								
					}
				catch(e)
					{
					//alert("Please ensure that any required fields have been completed fully, \n and the content does not consist of spaces");
					//return false;
					}
				
			}
			
			if(msg != "")
				{
					alert(msg);
					xelem.focus();
					xelem.select();
					return false;
				}
			else
				{
					return true;
				}
					
		
	}
	
// FUNCTION date_checker()
// script that runs through the select boxes and checks that you can't have dates like 31st feb 2004
function date_checker(xform) // xform is pre identifier
	{
	if (wd.getElementById(xform + "sel_day").value == 31)
			{
			if (wd.getElementById(xform + "sel_month").value == '4' || wd.getElementById(xform + "sel_month").value == '6' || wd.getElementById(xform + "sel_month").value == '9' || wd.getElementById(xform + "sel_month").value == '11')
				{
				wd.getElementById(xform + "sel_day").value = 30;
				}
			}
		if (wd.getElementById(xform + "sel_day").value > 29 && wd.getElementById(xform + "sel_month").value == '2')
			{
			wd.getElementById(xform + "sel_day").value = 29;
			}
		if (wd.getElementById(xform + "sel_year").value % 4 != 0 && wd.getElementById(xform + "sel_month").value == '2' && wd.getElementById(xform + "sel_day").value > '28')
			{
			wd.getElementById(xform + "sel_day").value = 28;
			}
	}
