// JavaScript Document

dayName = new Array("", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
monName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
now = new Date


function display_Date(){
	<!-- Begin
	var strDay;
	if ((now.getDate() == 1) || (now.getDate() != 11) && (now.getDate() % 10 == 1)) 		// Corr for 11th and 1st/21st/31st
		strDay = "st";
	else if ((now.getDate() == 2) || (now.getDate() != 12) && (now.getDate() % 10 == 2)) 	// Corr for 12th and 2nd/22nd/32nd
		strDay = "nd";
	else if ((now.getDate() == 3) || (now.getDate() != 13) && (now.getDate() % 10 == 3)) 	// Corr for 13th and 3rd/23rd/33rd
		strDay = "rd";
	else
		strDay = "th";
	document.write(
	dayName[now.getDay()]
	+
	" "
	+
	" "
	+
	monName[now.getMonth()]
	+
	" "
	+
	now.getDate()
	+
	strDay
	+
	", "
	+
	now.getFullYear()
	)
	//  End -->
}



// performs form verification, invoked from the onSubmit() event handler. 
// Loop through the elements of the form, looking for all 
// text and textarea elements that don't have an "optional" property
// defined. Then, check for fields that are empty and make a list of them.
// Put together error messages for invalid fields.
// Writen by Scott Winterbourne June 20th, 2005.

function verify(fields)
{
    var msg;
    var empty_fields = "";
    var errors = "";
	var thePosition;
	var email;
   
	
    for(var i = 0; i < fields.length; i++) 
	{
        var formver = fields.elements[i];
				
		//thePosition=formver.name.indexOf("_");
		//if(-1==thePosition)
		//{
			//thePosition=formver.name.length;
		//}
			
//////////////////////////////////////////////////////////////////////////////////////////////////		
		//Checks for blank required fields
        if (formver.id== 'text') //checks for required fields
		{
            //check if the field is empty
            if ((formver.value == null) || (formver.value == "") || (formver.value == "Name:*") || (formver.value == "Comments: *")) 
			{
                empty_fields += "\n          " + formver.name
                continue;
            }
        }

//////////////////////////////////////////////////////////////////////////////////////////////////		
		//Phone
		
		if (formver.id == 'phone')
		{
			var error = "";
			var stripped = formver.value.replace(/[\(\)\.\-\ ]/g, '');    
	
			if (isNaN(parseInt(stripped))) 
			{
				errors = "The phone number contains invalid characters.\n";
				//fld.style.background = 'Yellow';
				continue;
			} else if (!(stripped.length == 10)) 
			{
				errors = "The phone number is the wrong length. Make sure you included an area code.\n";
				//fld.style.background = 'Yellow';
				continue;
			}
			//return error;
		}
		

////////////////////////////////////////////////////////////////////////////////////////////////////	
		// check to see if email address field is of valid syntax 
  
    if (formver.id == 'email')//Checks for an email field
	{
	  substremail = formver.value.split("@")   
      if (substremail.length > 1)//makes sure the email address has an @ symbol   
      {   
          index = substremail[1].indexOf(".") 
		     
           if (index == -1)   //makes sure there is a dot (.) in the address
           { 
		    
           errors = "Please enter a valid e-mail address";               
		   continue; 
           }   
      } 
  
      else 
	  	{  
           errors = "Please enter a valid e-mail address";     
           continue;  
      	}
	  }
	if (formver.id == 'number')//checks for a number field
	 {	 
	 if (IsNumeric(formver.value)==false)//checks for a non numeric value
		{			
			errors = "Please enter a numeric value";
			continue;	
			
		}
		//if (formver.value.length != formverid[1])//checks to see if the value length matches the perameters
		//	{
		//	errors = "Please enter a 5 digit zip code";
		//	continue;
		//	}	
		
	}
	 
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////	
    // if there were any errors, display the messages, and
    // return false to prevent the form from being submitted. 
    
	if (!empty_fields && !errors) return true;
    
	msg  = "______________________________________________________\n\n"
    msg += "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n";
    msg += "______________________________________________________\n\n"
    
	if (empty_fields) 
	{
        msg += "The following required field(s) are empty:"
                + empty_fields + "\n";
        if (errors) msg += "\n";
    }
    	msg += errors;
    	alert(msg);
    	return false;  
	
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// this function is called to check if a value is numberic
function IsNumeric(sText)
{

	   var ValidChars = "0123456789.";
	   var IsNumber=true;
	   var Char;
	
	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
		  { 
		  Char = sText.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
			 {
			 IsNumber = false;
			 }
		  }
	   return IsNumber;
}	 	




//Typical js validation calls
//**********************************************************************************************************************************
// ...onSubmit="clearOptionals('phone'); YY_checkform('contact_quick', 'web_form[full_name]', '#q', '0', ' Name is required.', 
//'web_form[email]', 'S', '2', ' Email address is required.', 'web_form[message]', '10', '1', ' (Message/Question) is too short.', 
//'web_form[message]', '#q', '0', ' \'Message/Question\' is required.');return document.MM_returnValue;">
//***********************************************************************************************************************************
//text_fields or text_areas: 'web_form[full_name]', '#q', '0', ' Name is required.'
//email fields: 'web_form[email]', 'S', '2', ' Email address is required.'




//IN THAT ORDER, ARGUMENTS FOR clearOptionals are separated by commas


	//------------------- for clearing and replacing text in form input fields and textareas -------------------//
	function removeText(formField) {
	  if (formField.defaultValue==formField.value) { formField.value = "" }
	} 
	function replaceText(formField) {
	  if (formField.value=="") { formField.value = formField.defaultValue }
	}
	function clearOptionals(formFields){
		fields = formFields.split(',')
		for(i=0;i<fields.length;i++){
			if (fields[i].charAt(0) == ' ') { 
				fields[i] = fields[i].substring(1);
			}
			removeText(document.getElementById(fields[i]));
		}
	}

	//------------------- Form Validation -------------------//
	
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function YY_checkform() { //v4.71
	//copyright (c)1998,2002 Yaromat.com
	  var a=arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte;
	  for (i=1; i<a.length;i=i+4){
	    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
	    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
	    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
	    v=o.value;t=a[i+2];dv = o.defaultValue;
	    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
	      if ((r&&v.length==0)||v==dv){err=true}
	      if (v.length>0)
	      if (t==1){ //fromto
	        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
	      } else if (t==2){
	        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
	      } else if (t==3){ // date
	        ma=a[i+1].split("#");at=v.match(ma[0]);
	        if(at){
	          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
	          dte=new Date(cy,cm,cd);
	          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
	        }else{err=true}
	      } else if (t==4){ // time
	        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
	      } else if (t==5){ // check this 2
	            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
	            if(!o1.checked){err=true}
	      } else if (t==6){ // the same
	            if(v!=MM_findObj(a[i+1]).value){err=true}
	      }
	    } else
	    if (!o.type&&o.length>0&&o[0].type=='radio'){
	          at = a[i].match(/(.*)\[(\d+)\].*/i);
	          o2=(o.length>1)?o[at[2]]:o;
	      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
	      if (t==2){
	        oo=false;
	        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
	        if(!oo){s+='* '+a[i+3]+'\n'}
	      }
	    } else if (o.type=='checkbox'){
	      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
	    } else if (o.type=='select-one'||o.type=='select-multiple'){
	      if(t==1&&o.selectedIndex/1==0){err=true}
	    }else if (o.type=='textarea'){
	      if(v.length<a[i+1] || v == 'Comments: *' || v == ''){err=true}
	    }
	    if (err){s+=a[i+3]+'\n'; err=false}
	  }
	  if (s!=''){alert('Please complete the following required fields:\n\n'+s)}
	  document.MM_returnValue = (s=='');
	}

