// JavaScript Document
var whitespace = " \t\n\r";


function validateForm( formObject )
{			
	sel=false;
	var fields_empty="     The Following Field(s) Needs To Be Completed:\n"; // length = 51
	var fields_error="     Please Correct The Following Error(s):\n"; // length = 44
	var msg="";
	var error_amount = 1;
	var startNum =0;
	var formname = "";
	var isPassChecked = false
	
	for (var i=startNum ; i<formObject.length;i++)
	{
		if( ( formObject.elements[i].id == "required_select" || formObject.elements[i].id == "required_textarea" || formObject.elements[i].type == "text" || formObject.elements[i].type == "password" )  && isWhitespace( formObject.elements[i].value ) && (  formObject.elements[i].id == "required_textarea" || formObject.elements[i].id == "required_select" || formObject.elements[i].id == "required" )  && error_amount <= 10 )
		{
			fields_empty+="        - "+formObject.elements[i].title+ "\n" ;
			focuser(formObject.elements[i]);
			error_amount++;
			
			
		}		
		
		if( ( formObject.elements[i].type == "radio" || formObject.elements[i].type == "checkbox"  ) && ( formObject.elements[i].id == "required" )  && error_amount <= 10 )
		{
			isChecked = false;
			var elementObject =  eval("formObject."+formObject.elements[i].name)
			if( typeof(elementObject.length) == "undefined" )
			{
				if( elementObject.checked )
					isChecked = true;
			}
			else
			{
				for( j = 0 ; j < elementObject.length ; j ++ )
				{				
					if( elementObject[j].checked )
					{
							isChecked = true;
							break;
					}
					
				}
			}
			
			if( !isChecked )
			{
				if( formObject.elements[i].name != formObject.elements[i-1].name)
				{
					fields_empty+="        - "+formObject.elements[i].title+ "\n" ;
					focuser(formObject.elements[i]);
					error_amount++;
				}
			}
		}	
		
		//errors are handled here 
		if( !isPassChecked && formObject.elements[i].type == "password" )
		{
			if( typeof(formObject.txtPassword_1) != "undefined" && typeof(formObject.txtPassword_1) != "undefined" )
			{
				
				if( !isWhitespace(formObject.txtPassword_1.value) && formObject.txtPassword_1.value != formObject.txtPassword_2.value )
				{				
					isPassChecked = true
					fields_error+="        - Confirmation password does not match password\n" ;
					focuser(formObject.txtPassword_2);
					error_amount++;	
				}
			}
		}
		
	}
	
	
	
	if( fields_empty.length > 51 || fields_error.length > 44 )
	{
		msg+="  The Form Faild To Process Due To The Following Errors!\n" ;
		msg+="_________________________________________________\n\n";

		if( fields_empty.length > 51 )
			msg+=fields_empty+"\n";
		if( fields_error.length > 44	 )
			msg+=fields_error+"\n";
		msg+="_________________________________________________\n\n";
		alert(msg);
		return false;

	}else 
		return true;


}

//KEEP THESE FUNCTION TO THE BOTTOM OF THE PAGE
function focuser(field)
{
	if(!sel)
	{		
		field.focus();		
		sel=true;		
	}
}

// Returns true if string s is empty or
function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}


// whitespace characters only.
function isWhitespace (s)
{
	var i;
    if (isEmpty(s)) return true;

    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}

function isNum()
{
  
	var key=window.event.keyCode;
   if ( key > 47 && key < 58 )
	  return;
   else
	  window.event.returnValue = null;
}

function isNumWithDot()
{
	var key=window.event.keyCode;
		  
	  if (  (key > 47 && key < 58 ) ||( key==46) )
	  return;
	   
	   else
		  window.event.returnValue = null;
}

function isNumWithDots(field)
{
			var index=field.value.indexOf(".");
	
			var key=window.event.keyCode;
			if(index!=-1 && key==46)
			{
				window.event.returnValue = null;
					 
			}else
			
			  if (  (key > 47 && key < 58 ) ||( key==46) )
		      return;
			   
			   else
		    	  window.event.returnValue = null;
}
	

function disableEnter( object )
{
	if( window.event.keyCode == 13 )
	{
		window.event.keycode= null;
		object.focus();
		return false;
	}
	return true;
}