var valid = {
  alpha:/^[a-zA-Z\s]*$/,
  alphanumeric:/^[a-zA-Z0-9\-_/$]+[a-zA-Z0-9\s]*$/,
  alphanumeric_pwrd:/^[a-zA-Z0-9]+[a-zA-Z0-9\s]*$/, 
  password: /(?!^[a-z]*$)(?!^[\x21-\x40\x5B-\x60\x7B-\x7E]*$)^([\x21-\x7E]{5,10})$/i,
  // password_inv: /^[\x21-\x7E]*$/,
  password_inv: /^([a-zA-Z0-9\@\_\#\.]*)$/,
  // pass_new: ^([a-zA-Z0-9@*#]{4,8})$/,

  email: /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)(\.[a-z]{2,3})|([0-9]+\.){3}[0-9]+)$/i,
  int_float:/^([0-9]{1,6}|[0-9]{1,4}\.[0-9]{1,2})$/,
  numb:/^([0-9])$/,
  zip:/^([0-9]{5,6})$/,
  phone_no:/^[0-9]\d{2}-\d{3}-\d{4}$/,
  //numb:/^([-\0-9\.]+)$/,
  end:0

};



function isValid_alpha_num(alpha_num) 
{
  return !!valid.alphanumeric.exec(alpha_num);
}

function isValid_alpha(alpha_num) 
{
  return !!valid.alpha.exec(alpha_num);
}

function isValid_pwrd_alpha_num(alpha_num) 
{
  return !!valid.alphanumeric_pwrd.exec(alpha_num);
}

function isValid_int_float(int_or_float) 
{
  return !!valid.int_float.exec(int_or_float);
}

function isValidEmail(email)
{
  return !!valid.email.exec(email);
}

function isValidNum(num)
{
  return !!valid.numb.exec(num);
}

function isValidZip(num)
{
  return !!valid.zip.exec(num);
}

function isValidPhoneNo(num)
{
	return !!valid.phone_no.exec(num);
}



function isValidFileType(filename,types)

{

  if (!types) return true; 

  var ext = types.split(",");

 

 for (var i=0; i<ext.length; i++)

  { 

    var re = new RegExp('^.*\.'+ext[i]+'$');

    if (filename.match(re)) return true;

  }

  return false;

}





function isValidPassword(password,typeinv)

{

  if (typeinv)

    return !!valid.password_inv.exec(password);

  else

    return !!valid.password.exec(password);

}

function setMsgText(DivId,msg)
{
	if(!msg)
	{
		document.getElementById(DivId).innerHTML = "<img src='images/true.gif'>&nbsp;";	
	}
	else 
	{
		document.getElementById(DivId).innerHTML =  "<img src='images/false.gif'> " + msg;
	}
}


////////////////////////////////one by one validation///////////////////

function onkeyupvalidation(obj_val,funname,err_msg,err_div,objval_next)
{
	var error = '';
	var objval = document.getElementById(obj_val);

	if(funname=="B")
	{

    	if (objval.value == '') error = err_msg;

		else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	//////////////////check Float value////////////////

	if(funname=="N")

	{

    	if (objval.value == '') error = err_msg;

		else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

		else if (!isValidNum(objval.value)) error = 'Please Enter Valid Number.';

		//else if (!isValid_int_float(objval.value,1)) error = 'Please Enter Valid Number.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}



	if(funname=="A_N")

	{

	

	if (objval.value == '') error = err_msg;

	else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

	else if (!isValid_alpha_num(objval.value,1)) error = 'Invalid Character.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	if(funname=="A")

	{

	if (objval.value == '') error = err_msg;

	else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

	else if (!isValid_alpha(objval.value,1)) error = 'Invalid Character.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	//////////////////check int_float value////////////////

	if(funname=="I_F")

	{

    	if (objval.value == '') error = err_msg;

		else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

		else if (!isValid_int_float(objval.value,1)) error = 'Please Enter valid data.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	//////////////////check Zip Code value////////////////

	if(funname=="Z")

	{

    	if (objval.value == '') error = err_msg;

		else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';

		else if (!isValidZip(objval.value,1)) error = 'Please Enter valid data.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

		//////////////////check Phone Number value////////////////

	if(funname=="PH")

	{
    	if (objval.value == '') error = err_msg;
		else if(objval.value.substring(0,1)==" ") error ='First letter should not be blank!';
		else if (!isValidPhoneNo(objval.value,1)) error = 'Please Enter valid data.';
		setMsgText(err_div,error);
		if(error)
		{
			objval.focus();
			return false;
		}
	}

	//////////////////////////////check Image Format////////////

	if(funname=="I")

	{

		if (objval.value == '') error = err_msg;

		types_new='GIF,JPG,gif,jpg,jpeg,bmp,BMP,tiff,TIFF';

		if(objval.value)

		{

			if (!isValidFileType(objval.value,types_new)) error = 'Invalid image format! <br>(Upload only .gif .jpg .jpeg .bmp and .tiff Format)';

		}

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	//////////////////////////////check DOC file Format////////////

	if(funname=="F")

	{

		if (objval.value == '') error = err_msg;

		types_new='doc,GIF,JPG,gif,jpg,jpeg,bmp,BMP,tiff,TIFF,xls,txt';

		if(objval)

		{

			if (!isValidFileType(objval.value,types_new)) error = 'Upload Valid File.';

		}

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	

	if(funname=="P")

	{

		if (objval.value == '') error = err_msg;

		//else if (!isValid_pwrd_alpha_num(objval.value,1)) error = 'Invalid Character.';

		else if (!isValidPassword(objval.value,1)) error = 'Invalid character.';

		else if (objval.value.length < 4) error = 'Minimum 4 characters.';

		else if (objval.value.length > 16) error = 'Maximum 16 characters.';

		//else if (!isValid_alpha_num(objval.value,1)) error = 'Invalid Character.';

		

	   // else if (objval.value.search(/[a-z]/i) == -1) error = 'Your password should have at least one alphabet.';

		setMsgText(err_div,error);

		if(error)

		{	

			objval.focus();

			return false;

		}

	}

	

	//////////////////////check Confirm Password/////////////

	if(funname=="CP")

	{	

		objval_ther=document.getElementById(objval_next).value;

		if (objval.value == '') error = err_msg;

		else if(objval_ther == '') error = 'Please Enter your password.';

		else if (!isValidPassword(objval.value,1)) error = 'Invalid character.';

		//else if (!isValid_pwrd_alpha_num(objval.value,1)) error = 'Invalid Character.';

		//else if (!isValidPassword(objval_ther,1)) error = 'Invalid character.';

		else if (objval.value.length < 4) error = 'Minimum 4 characters.';

		else if (objval.value.length > 16) error = 'Maximum 8 characters.';

		

	    //else if (objval_ther.search(/[a-z]/i) == -1) error = 'Your password should have at least one alphabet.';

		else if (objval.value != objval_ther) error = 'Password & Confirm Password should match.';

		setMsgText(err_div,error);

		if(error)

		{	

			objval.focus();

			return false;

		}

	}	

	/////////////////////////////Div Tage and Checkbox //////////////////////////

	if(funname=="DC")

	{

		var myOption;

		tab_obj=document.getElementById(objval_next);
		if (objval.checked && tab_obj.style.display == '')
		{
		myOption = true;
		}

		if (!myOption || tab_obj.style.display != '')
		{
		error = err_msg;
		}
		setMsgText(err_div,error);
		if(error)
		{	
		return false;
		}

	}

	/////////////////////////////check Email Format////////////

	if(funname=="E")

	{

		if (objval.value == '') error = err_msg;

 		else if (objval.value.length > 256) error = 'Invalid character.';

  		else if (!isValidEmail(objval.value)) error = 'Please Enter Valid Email Address.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}

	
	/////////////////////////////check Radio Button ////////////
	if(funname=="R")
	{
		var found = null;	
		objval = document.getElementsByName(obj_val);
		for (var x=0; x < objval.length; x++)
			{
			if (objval[x].checked)
				{
				found = objval[x].value;
				} 
			}
			
		if (found == null)
			{
			error = err_msg;
			}
			
		setMsgText(err_div,error);
		if (error)
			{
				return false;
			}
	}

	/////////////////////////////check Email Address Format////////////

	if(funname=="EC")

	{

		objval_cemail=document.getElementById(objval_next).value;

		if (objval.value == '') error = err_msg;

 		else if (objval.value.length > 256) error = 'Invalid character.';

  		else if (!isValidEmail(objval.value)) error = 'Please Enter Valid Email Address.';

		else if (objval.value != objval_cemail) error = 'Please check your Email and Confirmation email are should be identical.';

		setMsgText(err_div,error);

		if(error)

		{

			objval.focus();

			return false;

		}

	}









}



////////////////////////////////one by one validation///////////////////

function onkeyupvalidation_new(objval_day,objval_month,objval_year,funname,err_msg,err_div)

{

	var error = '';

	//////////////////check blank value////////////////

	if(funname=="DOB")

	{	

		d = document.getElementById(objval_day).value;

		m = document.getElementById(objval_month).value;

		y = document.getElementById(objval_year).value;

		

		 //today=new Date(); // Initialize Date in raw form		 

		//get_year=today.getYear(); // Get the year

		

		if (d == "" && m == "" && y == "") error = 'Specify a Valid Day of birth.';

	  	else if(d == "" ) error = 'Specify a Valid Day of birth';

		else if(d == 00) error = 'Specify a Valid Day of birth.';

	  	else if(m == "") error = 'Specify a month of birth.';

		else if(m == 00) error = 'Specify a month of birth.';

		else if(y == "") error = 'Specify a Valid Year of birth.';

		else if(d != "" && d > 31) error = 'Specify a Valid Day of birth';

		else if(m != "" && m > 12) error = 'Specify a month of birth.';

		else if(y < 1900) error = 'Specify a Valid Year of birth.';

		else if(y > 2008) error = 'Specify a Valid Year of birth.';

		

		// Check for valid date

		if(d != "" && y != "")

		{



			if(d > 30)

			{

				if (m==4 || m==6 || m==9 || m==11)

				{

					error = 'Invalid date of birth';

					

				}

	

			}

			

			

			if(m == 02)

			{

				febdays = daysInFebruary(y);

				if (d > parseInt(febdays) )

				{

				error = 'Invalid date of birth';

				}

					

			}

		}



		setMsgText(err_div,error);

		if(error)

		{

			return false;

		}

	}





function daysInFebruary (year)

{

	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );

}





}



////////////////////////Jump next input box/////////

	var isNN = (navigator.appName.indexOf("Netscape")!=-1);

	function autoTab(input,len,e)

	{

		var keyCode = (isNN) ? e.which : e.keyCode;

		var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

		

		if(input.value.length >= len && !containsElement(filter,keyCode)) 

		{

			input.value = input.value.slice(0, len);

			input.form[(getIndex(input)+1) % input.form.length].focus();

		}

		

		function containsElement(arr, ele) 

		{

			var found = false, index = 0;

			while(!found && index < arr.length)

			if(arr[index] == ele)

			found = true;

			else

			index++;

			return found;

		}

		

		function getIndex(input) 

		{

			var index = -1, i = 0, found = false;

			while (i < input.form.length && index == -1)

			if (input.form[i] == input)index = i;

			else i++;

			return index;

		}

		

		return true;

	}

	

function numbersonly(e)

{

	var unicode=e.charCode? e.charCode : e.keyCode

	if (unicode!=8)

		{ 		   

			if (unicode<48||unicode>57) 

			return false

			

		}

}



function delete1()

{

	var c=confirm("Are you sure you want to delete?");

	if(c) { return true; }

	else  { return false; }

}	
