/*
 * file : regvalidation.js
 * Regular form validation library
 */

//null test , note: uses trim
function requiredValidation( id_validate , id_error , msg )
{
	var ele = document.getElementById(id_validate) ;
	var errele = document.getElementById(id_error) ;
	if( ele )
	{
		if( ele.value.length > 0 )
		{
			if( errele )
			{
				errele.innerHTML = "" ;
			}
			return true ;
		}
	}

	if( errele )
	{
		errele.innerHTML = "<font size='1.5' color='blue'>" +msg +"</font>" ;
	}

return false ;
}

//check wheather first item is selected or not, it is considerred theat the first item is invalid selection
function selectValidation( id_validate , id_error , msg )
{
	var ele = document.getElementById(id_validate) ;
	var errele = document.getElementById(id_error) ;
	if( ele )
	{
		if( ele.options[0] )
		{
			if( ele.options[0].selected == true )
			{
				if( errele )
				{
					errele.innerHTML = "<font size='1.5' color='blue'>" +msg +"</font>" ;
				}
				return false ;
			}
		}
	}

	if( errele )
	{
		errele.innerHTML = "" ;
	}
return true ;
}
/*
 * function validate(form_id,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {
      alert('Invalid Email Address');
      return false;
   }
}
 */
//email validation..
function emailValidation( id_validate , id_error , msg )
{
	var ele = document.getElementById(id_validate) ;
	var errele = document.getElementById(id_error) ;

	
		lastpos = ele.value.length-1 ;			//Total Letters
		apos = ele.value.indexOf("@") ;			//Total letters before @
		dotpos = ele.value.lastIndexOf(".") ;	//Total letters before .
		beforeStr = ele.value.substring(0,apos) ;
		afterStr = ele.value.substring(apos) ;
		dotafatpos = afterStr.indexOf(".") ;
		udslpos = beforeStr.lastIndexOf("_") ;
		dotfpos = beforeStr.indexOf(".") ;
		dotlpos = beforeStr.lastIndexOf(".") ;

		if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2 || dotfpos!=dotlpos || apos-1==udslpos || dotafatpos==1)
		{
			if( errele )
			{
				errele.innerHTML = "<font size='1.5' color='blue'>" +msg +"</font>" ;
			}
			return false;
		}

	if( errele )
	{
		errele.innerHTML = "" ;
	}
return true ;
}
//function to check zip code
function phoneValidation(id_validate , id_error , msg )
{

	var ele = document.getElementById(id_validate) ;
	var errele = document.getElementById(id_error) ;
	var error = "" ;
	var stripped = "" ;
	if( ele.value.length > 0 )
	{
		stripped = ele.value.replace(/[\(\)\.\-\ ]/g, '');
	}
	
	if (ele.value == "")
	{
		//error = "You didn't enter a phone number.\n";
		error = msg ;
	}
	else if (isNaN(parseInt(stripped)))
	{
		//error = "The phone number contains illegal characters.\n";
		error = msg ;
	}
	else if (!(stripped.length > 0))
	{
		//error = "The phone number is the wrong length. Make sure you included an area code.\n";
		error = msg ;
	}
	else
	{
		if( errele )
		{
			errele.innerHTML = "" ;
		}
		return true ;
	}

	if( errele )
	{
		errele.innerHTML = "<font size='1.5' color='blue'>" +error +"</font>" ;
	}
	return false;
}
//TODO;zip code validatino:DONOT USE THIS FUNC
//function to check zip code
function zipValidation(id_validate , id_error , msg )
{

	var ele = document.getElementById(id_validate) ;
	var errele = document.getElementById(id_error) ;
	var error = "" ;
	var stripped = "" ;
	if( ele.value.length > 0 )
	{
		stripped = ele.value.replace(/[\(\)\.\-\ ]/g, '');
	}

	if (ele.value == "")
	{
		error = msg ;
	}
	else if (isNaN(parseInt(stripped)))
	{
		error = msg ;
	}
	else if (!(stripped.length > 4))
	{
		error = msg ;
	}
	else
	{
		if( errele )
		{
			errele.innerHTML = "" ;
		}
		return true ;
	}

	if( errele )
	{
		errele.innerHTML = "<font size='1.5' color='blue'>" +error +"</font>" ;
	}
	return false;
}


function ConfirmValidation(id_validate , id_check , id_error , msg)
{
	var ele = document.getElementById(id_validate);
	var ele1 = document.getElementById(id_check);
	var err = document.getElementById(id_error);
	
	if(ele1)
	{ 
	
		if(ele1.value == ele.value)
		{
			if(err)
			{
			err.innerHTML = "" ;
			}
			return true;
		}
		
	}
	
	if(err)
	{
		err.innerHTML = "<font size='1.5' color='blue'>" +msg +"</font>" ;
	}
	return false;
	
}