/*
Author: K.Arunmohan
Validating form elements
*/

function isNoEmpty(eleobj,str)
{
	var strng;

	strng=eleobj.value;

	if (strng == '') {
	  alert('please enter '+str);
	  eleobj.focus();
	  return false;
	}
	return true;
}

//To check radio button is checked
function isRadioChecked(eleobj,str)
{
	var len,flag;

	flag=0;
	
	for(var cnt=0;cnt<eleobj.length;cnt++)
	{
		if(eleobj[cnt].checked)
			flag=1;
	}

	if(!flag)
	{
	  alert('please check '+str);
	  eleobj[0].focus();
	  return false;
	}
	return true;
}

//To check drop down option box is selected
function isselectChecked(eleobj,str)
{
	var len,flag;

	if(eleobj.options[0].selected)
	{
	  alert('please select '+str);
	  eleobj.focus();
	  return false;
	}
	return true;
}

//To check drop down option box is multiple selected
function isMultiChecked(eleobj,str)
{
	if(eleobj.selectedIndex<0)
	{
		alert('please select '+str);
		eleobj.focus();
		return false;
	}
	else if(eleobj.selectedIndex==0)
	{		
		for(var cnt=1;cnt<eleobj.options.length;cnt++)
		{
			if(eleobj.options[cnt].selected)
			{
				alert('select either Any or specific values of '+str);
				eleobj.focus();
				return false;
			}			
		}
	}
	return true;
}

//Validating more than 1 mail addresses separated by comma
function isEmailAddresses(eleobj,str) {

	var strng;

	strng=eleobj.value;
	
	var mailaddresses=strng.split(',');

	if(!isNoEmpty(eleobj,str))
		return false;

    var emailFilter=/^.+@.+\..{2,3}$/;

	for(var cnt=0;cnt<mailaddresses.length;cnt++)
	{
		if (!(emailFilter.test(mailaddresses[cnt]))) 
		{ 
		   alert('please enter valid '+str);
		   eleobj.focus();
		   return false;
		}
		else 
		{
	//test email for illegal characters
		   var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
			 if (mailaddresses[cnt].match(illegalChars)) 
			{
			  alert('the '+str+' contains illegal characters');
			  eleobj.focus();
			  return false;
		   }
		}
	}
	return true;    
}

//To validate Email addresses
function isEmailAddress(eleobj,str) {

	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;

    var emailFilter=/^.+@.+\..{2,3}$/;

    if (!(emailFilter.test(strng))) { 
       alert('please enter a valid '+str);
	   eleobj.focus();
	   return false;
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
		  alert('the '+str+' contains illegal characters');
		  eleobj.focus();
		  return false;
       }
    }
	return true;    
}

// phone number - 

function isPhoneNumber(eleobj,str) {

	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;
	
	var expr=/^[0-9+-]*$/;

	if (strng.length < 10) {
	   alert('please enter valid '+str);
	   eleobj.focus();
	   return false;
	}
	else if(!expr.test(strng))
	{
		alert('please enter valid '+str);
		eleobj.focus();
		return false;
	}   
	return true;
}

function isContactNumber(eleobj,str) {

	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;
	
	var expr=/^[0-9+-]*$/;

	if(!expr.test(strng))
	{
		alert('please enter valid '+str);
		eleobj.focus();
		return false;
	}   
	return true;
}

// validation number - 

function isValidNumber(eleobj,str,min) {

	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;

	if(min)
	if (strng.length < min) {
	   alert('please enter correct '+str);
	   eleobj.focus();
	   return false;
	}

	if (isNaN(strng)) {
	   alert('please enter valid '+str);
	   eleobj.focus();
	   return false;
	}

	return true;
}
// validation User Name 

function isValidUser(eleobj,str,min) {

	var strng;

	strng=eleobj.value.substr(2);

	if(!isNoEmpty(eleobj,str))
		return false;

	if (isNaN(strng)) {
	   alert('please enter valid '+str);
	   eleobj.focus();
	   return false;
	}
	return true;
}

//Validating value with in chars of string
function ValidateVal(NumStr, String)
{
	for( var Idx = 0; Idx < NumStr.length; Idx ++ )
	{
		 var Char = NumStr.charAt( Idx );
		 var Match = false;

			for( var Idx1 = 0; Idx1 < String.length; Idx1 ++)
			{
				 if( Char == String.charAt( Idx1 ) )
				 Match = true;
			}

			if ( !Match )
				return false;
	}
	return true;
}

// password Checking, minimum 4 chars and no special chars.

function isValidPassword(eleobj,str) 
{
	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;

	var illegalChars = /[\W_]/; // allow only letters and numbers
    
	if (strng.length < 4) {
	   alert('the '+str+' should have minimum 4 charachters');
	   eleobj.focus();
	   return false;
	}
	else if (illegalChars.test(strng)) {
	 alert('the '+str+' should not have special characters');
	  eleobj.focus();
	  return false;
	} 
	return true;    
}    

//Validating nickname

function isValidNickName(eleobj,str) 
{
	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;

	var illegalChars = /[\W_]/; // allow only letters and numbers
    
	if (illegalChars.test(strng)) {
		 alert('the '+str+' should not have special characters');
	  eleobj.focus();
	  return false;
	} 
	return true;    
}    

// Checking name

function isValidName(eleobj,str) 
{
	var strng;

	strng=eleobj.value;

	if(!isNoEmpty(eleobj,str))
		return false;
	
	var expr=/^[a-zA-Z ]*$/;

	if(!expr.test(strng))
	{
		alert('please enter valid '+str);
		eleobj.focus();
		return false;
	}   
	return true;
}       


// non-empty textbox

function isEmpty(strng) {
var error = "";
  if (strng.length == 0) {
     error = "the mandatory text area has not been filled in.\n"
  }
return error;	  
}

// was textbox altered

function isDifferent(strng) {
var error = ""; 
  if (strng != "can\'t touch this!") {
     error = "you altered the inviolate text area.\n";
  }
return error;
}

// exactly one radio button is chosen

function checkRadio(checkvalue) {
var error = "";
   if (!(checkvalue)) {
       error = "please check a radio button.\n";
    }
return error;
}

// valid selector from dropdown list

function checkDropdown(choice) {
var error = "";
    if (choice == 0) {
    error = "you didn't choose an option from the drop-down list.\n";
    }    
return error;
}