//******************* Checking E Mail Id ********************************************
function validchar(val)
{
	for(i=0;i<val.length;++i)
	{
		if(val.charAt(i) == "\'" || val.charAt(i) == "\\" || val.charAt(i) == "!" || val.charAt(i) == "@" ||  val.charAt(i) == "#" || val.charAt(i) == "$" || val.charAt(i) == "%" || val.charAt(i) == "^" ||  val.charAt(i) == "&" || val.charAt(i) == "*" ||  val.charAt(i) == "," || val.charAt(i) == ";" ||  val.charAt(i) == ":" || val.charAt(i) == "=" || val.charAt(i) == "+" || val.charAt(i) == "|" || val.charAt(i) == "?" || val.charAt(i) == "/" || val.charAt(i) == "\\"  || val.charAt(i) == " " )
		{
			return false;
		}	
	}
	return true;
}
	
function validchar1(val)
{
	for(i=0;i<val.length;++i)
	{
		if(val.charAt(i) == "\'" || val.charAt(i) == "\\" || val.charAt(i) == "!" || val.charAt(i) == "#" || val.charAt(i) == "$" || val.charAt(i) == "%" || val.charAt(i) == "^" || val.charAt(i) == "&" ||  val.charAt(i) == "*" || val.charAt(i) == ":" || val.charAt(i) == "=" || val.charAt(i) == "+" || val.charAt(i) == "|" || val.charAt(i) == "?" || val.charAt(i) == "/" || val.charAt(i) == "\\" || val.charAt(i) == " " || val.charAt(i) == ",")
		{
			return false;
		}	
	}
	return true;
}

function checkEmail(obj)
{
	var email=obj.value;
    var posat=email.indexOf("@");
	var lposat=email.lastIndexOf("@");
	var posdot=email.indexOf(".");
	var lposdot=email.lastIndexOf(".");

	if(email == "")
	{
		alert("Email should not be Blank. ");
		obj.focus();
		obj.select();
		return(false);
	}
    for(var i=0;i<email.length;i++)
    {
		if(email.charAt(i)==" ")
        {
			alert("Email should not contain space.");
            obj.focus();
			obj.select();
			return(false);
        }
    }
	if (posat == -1)
	{
		alert("Invalid email address entered.");
		obj.focus();
		obj.select();
		return(false);
	}
	if(posat == 0)
	{
		alert("Invalid email entered : Email address cannot start with @ ");
		obj.focus();
		obj.select();
			return(false);
	}
	if(posat != lposat)
	{
		alert("Invalid email entered : Email address cannot have multiple @ ");
		obj.focus();
		obj.select();
		return(false);
	}
	if (posdot == -1)
	{
		alert("Invalid email address entered.");
		obj.focus();
		obj.select();
		return(false);
	}
	if (posdot == 0)
	{
		alert("Invalid email entered : Email address cannot start with . ");
		obj.focus();
		obj.select();
		return(false);
	}
	if(lposdot-lposat < 3)
	{
		alert("Invalid email address entered.");
		obj.focus();
		obj.select();
		return false;
	}
	if(lposdot == email.length-1)
	{
		alert("Email address cannot end with a '.' ")
		obj.focus();
		obj.select();
		return false;
	}
	if (!validchar1(email))
	{
		alert("Please do not enter special characters or Blank Space in Email.");
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

// ****************  checking Name *********************************************************
function checkName(obj,str)
{
	var name=obj.value;
	if(name=="")
	{
		alert("Please enter \"Name\" of the "+str);
		obj.select();
		return false;
	}
	if(name.substring(0,1)==" "|| !isNaN(name.substring(0,1)))
	{
		alert(str+" Name cannot start with Blank Space or Digits.");
	    obj.select();
	    return false;
	}
	if(name.length<3)
	{
		alert("Please enter a \""+str+" Name \" with minimum 3 characters.");
	    obj.select();
	    return false;
    }
	return true;
}

// ******************** checking Company Name ********************************

function checkCompanyName(obj)
{
	var name=obj.value;
	if(name!="")
	{
		if(name.charAt(0)==" "|| !isNaN(name.substring(0,1)))
		{
			alert("Company Name cannot start with Blank Space or Digits.");
			obj.select();
			return false;
		}
		if(name.length<3)
		{
			alert("Please enter a \" Company Name \" with minimum 3 characters.");
			obj.select();
			return false;
		}

		for( var i=0;i<name.length;i++)
		{
			var ch=name.charAt(i);
			if(!((ch>="A" && ch<="Z") || (ch>="a" && ch<="z") || (ch>=0 && ch<=9) || ch==" "|| ch=="."||ch=="-"||ch=="("||ch==")"|| ch=="&" || ch=="," || ch==":"))
			{
				alert("Enter valid characters in Company Name");
				obj.select();
				return false;
			}
		}
	}
	return true;
}


// ******************* Checking Address *****************************************************
function checkAddress(obj)
{
	var addr=obj.value;
	if(addr=="")
	{
		alert("Please enter \"Address\" .");
		obj.select();
		return false;
	}
	return true;  
}

// ************************** checking City ***************************************************

function checkCity(obj)
{
	var city=obj.value;
	if(city=="")
	{
		alert("Please enter a valid City Name");
		obj.select();
		return false;
	}
	if(city.substring(0,1)==" "|| !isNaN(city.substring(0,1)))
	{
		alert("City Name cannot start with Blank Space or Digits.");
		obj.select();
		return false;
	}
	if(city.length<3)
	{
		alert("Please enter a \" City Name \" with minimum 3 characters.");
		obj.select();
		return false;
	}
	return true;
}

// *************************** Checking State ****************************************************

function checkState(obj)
{
	var state=obj.value;
	if(state=="")
	{
		alert("Please enter a valid State Name");
		obj.select();
		return false;
	}
	if(state.substring(0,1)==" "|| !isNaN(state.substring(0,1)))
	{
		alert("State Name cannot start with Blank Space or Digits.");
		obj.select();
		return false;
	}
	if(state.length<2)
	{
		alert("Please enter a \" State Name \" with minimum 2 characters.");
		obj.select();
		return false;
	}
	if(!(isNaN(state)))
	{
		alert("Digits are not allowed in State.");
		obj.select();
		return false;
	}
	return true;
}

// ************************* checking Zipcode ****************************************

function checkZipcode(obj)
{
	var zipcode=obj.value;
	if(zipcode=="")
	{
		alert("Please enter a valid Zipcode");
		obj.select();
		return false;
	}	
	if(zipcode.charAt(0)==" ")
	{
		alert("Zipcode can not start with a blank space.");
		obj.select();
		return false;
	}
	for( var i=0;i<zipcode.length;i++)
	{
		var ch=zipcode.charAt(i);
		if(!((ch>="A" && ch<="Z") || (ch>="a" && ch<="z")|| (ch==" ") || (ch>="0" && ch<="9")|| ch=="-") || ch=="(" || ch==")")
		{
			alert("Please enter valid Zipcode.");
			obj.select();
			return false;
		}
	}
	return true;
}

//********************* checking Phoneno **************************************************

function checkPhoneNo(obj)
{
	var phoneno=obj.value;
	if(phoneno=="")
	{
		alert("Please enter a valid Phone No");
		obj.select();
		return false;
	}
	if(phoneno.charAt(0)==" ")
	{
		alert("Phone no can not start with a blank space.");
		obj.select();
		return false;
	}
	for( var i=0;i<phoneno.length;i++)
	{
		var ch=phoneno.charAt(i);
		if(ch!="(" && isNaN(ch) && ch!=")" && ch!="-" && ch!="/")
		{
			alert("Please enter a valid Phone No.");
			obj.select();
			return false;
		}
	}
	return true;
}

//********************* checking Mobile No *************************************************

function checkMobileNo(obj)
{
	var mobileno=obj.value;
	if(mobileno!="")
	{
		for( var i=0;i<mobileno.length;i++)
		{
			var ch=mobileno.charAt(i);
			if(ch!="+" && isNaN(ch) && ch!="-" && ch!="(" && ch!=")" && ch!="/")
			{
				alert("Please enter a valid Mobile no.");
				obj.select();
				return false;
			}
		}
	}
	return true;
}

//********************* checking Faxno **************************************************

function checkFaxNo(obj)
{
	var faxno=obj.value;
	if(faxno!="")
	{
		for( var i=0;i<faxno.length;i++)
		{
			var ch=faxno.charAt(i);
			if(ch!="(" && isNaN(ch) && ch!=")" && ch!="-" && ch!="/")
			{
				alert("Please enter a valid Fax No.");
				obj.select();
				return false;
			}
		}
	}
	return true;
}

function checkShipAddressType(obj)
{
	if(!(obj[0].checked ) && !(obj[1].checked))
	{
		alert("Please select Address type to proceed");
		return false;
	}
	else
	{
		if((obj[0].checked ) && (obj[1].checked))
		{
			alert("Please select EITHER Commercial or Residence as the Shipping address type.");
			return false;
		}
		return true;
	}
}

function validateQty(frm)
{
   if(frm.PID.length >= 2)
   {
		for(var i=0;i<frm.PID.length;i++)
		{
			qty=eval("frm.txtqty"+frm.PID[i].value).value;
			minqty=eval("frm.MINQTY"+frm.PID[i].value).value;
				
			if(qty==0 || qty=="")
			{
			    alert("Please enter quantity");
			    eval("frm.txtqty"+frm.PID[i].value).focus();
			    return false;
			}
			if(qty<0 || isNaN(qty))
			{
			   alert("Please enter valid quantity !");	
			   eval("frm.txtqty"+frm.PID[i].value).select();
			   return false;
			}
			for(k=0;k<qty.length;k++)
			{
				if(qty.charAt(k)==".")
				{
				  alert("Please enter valid quantity !");	
				  eval("frm.txtqty"+frm.PID[i].value).select();
				  return false;
				}
			}
			if((parseFloat(qty))<(parseFloat(minqty)))
			{
				alert("Quantity ordered cannot be less than minimum quantity to be ordered !");			eval("frm.txtqty"+frm.PID[i].value).select();
				return false;
            }
		}// end of for loop
			
	}// end of if block
	else
	{
		 qty=eval("frm.txtqty"+frm.PID.value).value;
		 minqty=eval("frm.MINQTY"+frm.PID.value).value;
		 if(qty==0 || qty=="")
		 {
			 alert("Please enter quantity");
			 eval("frm.txtqty"+frm.PID.value).focus();
			 return false;
		 }
		 if( qty<0 || isNaN(qty))
		 {
			alert("Please enter valid quantity !");	
			eval("frm.txtqty"+frm.PID.value).select();
			return false;
		 }
		 for(k=0;k<qty.length;k++)
		 {
			if(qty.charAt(k)==".")
			{
			  alert("Please enter valid quantity !");	
			  eval("frm.txtqty"+frm.PID.value).select();
			  return false;
			}
	     }
		 if((parseFloat(qty))<(parseFloat(minqty)))
		 {
			alert("Quantity ordered cannot be lesser than minimum quantity to be ordered !");	eval("frm.qty"+frm.PID.value).select();
			return false;
		 }
	}	
}
function deleteConfirm()
{
	if(confirm("Would you like to delete this item from cart?"))
	{
	   return true;
	}
	else
	{
	   return false;
	}
}
function search(srchobj)
{
	if(srchobj.value!="" && srchobj.value.length<2)
	{
		alert("Please enter at least 2 characters  for search.");
		return false;
	}
	if(srchobj.value=="")
	{
		alert("Please enter at least 2 characters  for search.");
		return false;
	}
	return true;
}


function chknumofchar(max,field)
{
	window.status = "No of characters entered : " + field.value.length; 
	if(field.value.length>max)
	{
		alert("You have exceeded the maximum limit of characters to be entered.");
		field.value = field.value.substring(0,max);
		field.focus();
	}
}

function newwin(URL, name, features) 
{
	window.open(URL, name, features);
}


function checkAmt(frm)
{
  if(frm.txtamt.value=="")
  {
     alert("Please enter the Amount you wish to Pay");
	 frm.txtamt.focus();
     return false;
  }
  if(frm.txtamt.value<0)
  {
    alert("Please enter positive value for Amount to Pay");
	frm.txtamt.select();
    return false;
  }
   if(isNaN(frm.txtamt.value))
   {
      alert("Please enter valid amount");
      frm.txtamt.select();
      return false;
   }
	return true;
}