function noful(elid, val)
{
if (document.getElementById(elid).value == val) 
{
document.getElementById(elid).value =''
}
}
function ful(elid, val)
{
if (document.getElementById(elid).value == '') 
{
document.getElementById(elid).value = val
}
}
/******************************************************************************************
Author: Swapnil Kanherkar
Function Name : f_isEmpty
Input : String 
Output : true or false
Description : This function returns true if string is not empty o.w. returns false.
******************************************************************************************/
function f_isEmpty(msStr)
{   
var   msTemp=msStr;
for(mnI=0;mnI<msTemp.length;mnI++)
{
// find out ascii value of each character   
temp=msTemp.charCodeAt(mnI);
if ( temp != 10 &&  temp != 13 &&  temp != "@" &&  temp != 32)
{
return false;
}
}
msStr.value="";
return true;
}
/******************************************/
/******************************************************************************************
Function Name : f_isNumber
Input : String 
Output : true or false
Description : This function returns true if string is numeric o.w. returns false.
******************************************************************************************/
function f_isNumber(str)
{
nstr = '0123456789';
err = 0;
for (f=0;f<str.length;f++){
if (nstr.indexOf(str.charAt(f)) == -1) err++;
}
if (err!=0) return false;
else return true;
}
/******************************************************************************************
Function Name : f_isFloatNumber
Input : String 
Output : true or false
Description : This function returns true if string is numeric o.w. returns false.
******************************************************************************************/
function f_isFloatNumber(sStr)
{
var msStr = "0123456789.";
var d1 = sStr.indexOf(".");
var d2 = sStr.lastIndexOf(".");
if ((d1 >= 0 && d2 >= 0) && d1 != d2)
{
return false;
}
for (i=0;i<sStr.length;i++)
{
if ( msStr.indexOf(sStr.charAt(i)) == -1 )
{
return false; // Not Numeric....
}
}
return true; // string is Numeric....
}
/******************************************************************************************
Function Name : f_isValidPhone
Input : String i.e. an email address
Output : true or false
Description : This function returns true if email id is valid o.w. returns false.
******************************************************************************************/
function IsValidphone(phone)
{
var list="0123456789- + _.()";
var str = phone
for(var i=0; i<str.length; i++){
if(list.indexOf(str.charAt(i))<0){      
return false;
}
}
return true;
}
/******************************************************************************************
Function Name : IsValidName
Input : String 
Output : true or false
Description : This function returns true if name is valid o.w. returns false.
******************************************************************************************/
function IsValidName(Name)
{
var list="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~!@#$%^&*()_+=\|]}[{';:/?.,><";
var str = Name
err = 0;
for(i=0; i<str.length; i++){
if(list.indexOf(str.charAt(i))==-1)
err++;
}
if(err!=0) return true;
else return false;
}
/******************************************************************************************
Function Name : Check_email
Input : String i.e. an email address
Output : true or false
Description : This function returns true if email id is valid o.w. returns false.
******************************************************************************************/
function Check_email(emailStr) 
{
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) 
{  
//alert("Email address seems incorrect (check @ and .'s)")
return false
}
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) 
{
//  alert("The username doesn't seem to be valid.")
return false
}
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) 
{  
for (var i=1;i<=4;i++) 
{
if (IPArray[i]>255) 
{
//  alert("Destination IP address is invalid!")
return false
}
}
return true
}
var domainArray=domain.match(domainPat)
if (domainArray==null) 
{
//alert("The domain name doesn't seem to be valid.")
return false
}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
{   
// alert("The address must end in a three-letter domain, or two letter country.")
return false
}
if (len<2) 
{
var errStr="This address is missing a hostname!"
// alert(errStr)
return false
}
return true;
}
/******************************************************************************************/
/******************************************************************************************
Function Name : Compares two dates
Input : accepts two dates - date1, date2
Output : true or false
Description : This function returns        
0 if two dates are equal
1 if date1 is greater than date 2 
-1 if date1 is less than date2
******************************************************************************************/
function f_DateCompare(nMonth,nDay,nYear,date2)
{
var str=nMonth+"/"+nDay+"/"+nYear;
var dateStr1=str;
var dateStr2=date2;
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
var matchArray1 = dateStr1.match(datePat); // is the format ok?
var ma1=dateStr1
maarray1=ma1.match(datePat);
if (matchArray1 == null) 
{
alert("Date1 is not in a valid format.")
return false;
}
var matchArray2 = dateStr2.match(datePat); // 
var ma2=date2;
maarray2=ma2.match(datePat);
if (matchArray2 == null) 
{
alert("Date2 is not in a valid format.")
return false;
}
month1 = matchArray1[1]; // parse date into variables
day1 = matchArray1[3];
year1 = matchArray1[4];
yea1=year1.length
if(yea1 < 4)
{
alert("Date1 should be in mm/dd/yyyy format");
return false;
}
month2 = matchArray2[1]; // parse date into variables
day2 = matchArray2[3];
year2 = matchArray2[4];
yea2=year2.length
if(yea2 < 4)
{
alert("Date2 should be in mm/dd/yyyy format");
return false;
}
if (month1 < 1 || month1 > 12) 
{ 
// check month range
alert("Date1 Error: Month must be between 1 and 12.");
return false;
}
if (day1 < 1 || day1 > 31) 
{
alert("Date1 Error: Day must be between 1 and 31.");
return false;
}
if ((month1==4 || month1==6 || month1==9 || month1==11) && day1==31) 
{
alert("Date1 Error: Month in Date1  doesn't have 31 days!");
return false;
}
if (month1 == 2) 
{ // check for february 29th
var isleap = (year1 % 4 == 0 && (year1 % 100 != 0 || year1 % 400 == 0));
if (day1>29 || (day1==29 && !isleap)) 
{
alert("Wrong Date1: February " + year1 + " doesn't have " + day1 + " days! \n As it is not a Leap Year");
return false;
}
}
if (month2 < 1 || month2 > 12) 
{ 
// check month range
alert("Date2 Error: Month must be between 1 and 12.");
return false;
}
if (day2 < 1 || day2 > 31) 
{
alert("Date2 Error: Day must be between 1 and 31.");
return false;
}
if ((month2==4 || month2==6 || month2==9 || month2==11) && day2==31) 
{
alert("Month in Date2  doesn't have 31 days!");
return false;
}
if (month2 == 2) 
{ // check for february 29th
var isleap = (year2 % 4 == 0 && (year2 % 100 != 0 || year2 % 400 == 0));
if (day2>29 || (day2==29 && !isleap)) 
{
alert("Wrong Date1: February " + year2 + " doesn't have " + day2 + " days! \n As it is not a Leap Year");
return false;
}
}
// Till here both dates are OK... Now actual Comparison starts from here....!!!
if (year1 == year2)
{
if (month1 == month2)
{
if (day1 == day2)
{
return 0; // dates are equal
}
else if (day1 > day2)
{
return 1; // date1 > date2
}
else 
{
return -1; // date1 < date2
}
}
else if (month1 > month2 )
{                   
return 1; //date1 > date 2
}
else
{
return -1; // date1 < date 2
}
}
else if (year1 > year2)
{
return 1; // date1 > date 2
}
else
{
return -1; // date1 < date2
}
}
/******************************************************************************************
Function Name : Validation of date
Input : accepts date - date1
Output : true or false
Description : This function returns true or fasle if date is not in valid format       
******************************************************************************************/
//function f_ValidDate(nMonth,nDay,nYear)
function f_ValidDate(str)
{
//var str=nMonth+"/"+nDay+"/"+nYear;
var dateStr1=str;
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
var matchArray1 = dateStr1.match(datePat); // is the format ok?
var ma1=dateStr1
maarray1=ma1.match(datePat);
if (matchArray1 == null) 
{
alert("Date1 is not in a valid format.")
return false;
}
month1 = matchArray1[1]; // parse date into variables
day1 = matchArray1[3];
year1 = matchArray1[4];
yea1=year1.length
if(yea1 < 4)
{
alert("Date1 should be in mm/dd/yyyy format");
return false;
}
if (month1 < 1 || month1 > 12) 
{ 
// check month range
alert("Date1 Error: Month must be between 1 and 12.");
return false;
}
if (day1 < 1 || day1 > 31) 
{
alert("Date1 Error: Day must be between 1 and 31.");
return false;
}
if ((month1==4 || month1==6 || month1==9 || month1==11) && day1==31) 
{
alert("Date1 Error: Month in Date1  doesn't have 31 days!");
return false;
}
if (month1 == 2) 
{ // check for february 29th
var isleap = (year1 % 4 == 0 && (year1 % 100 != 0 || year1 % 400 == 0));
if (day1==29 && !isleap) 
{
alert("February " + year1 + " doesn't have " + day1 + " days! \n As it is not a Leap Year");
return false;
}
if (day1>29) 
{
alert("February " + year1 + " doesn't have " + day1 + " days!");
return false;
}   
}
return true;
}
function comparedate(value1,value2)
{
var date1, date2;
var month1, month2;
var year1, year2;
month1 = value1.substring (0, value1.indexOf ("/"));
date1 = value1.substring (value1.indexOf ("/")+1, value1.lastIndexOf ("/"));
year1 = value1.substring (value1.lastIndexOf ("/")+1, value1.length);
month2 = value2.substring (0, value2.indexOf ("/"));
date2 = value2.substring (value2.indexOf ("/")+1, value2.lastIndexOf ("/"));
year2 = value2.substring (value2.lastIndexOf ("/")+1, value2.length);
if (year1 > year2) return 1;
else if (year1 < year2) return -1;
else if (month1 > month2) return 1;
else if (month1 < month2) return -1;
else if (date1 > date2) return 1;
else if (date1 < date2) return -1;
else return 0;
}
/******************************************************************************************/
function validate_qc()
{
if(f_isEmpty(document.getElementById("txtName").value))	
{
alert('Please enter your name.');
document.getElementById("txtName").value='';
document.getElementById("txtName").focus();
return false;
}
if(document.getElementById("txtName").value=='')
{
alert('Please enter your name.');
document.getElementById("txtName").value='';
document.getElementById("txtName").focus();
return false;
}
if(document.getElementById("txtName").value =='Name:')
{
alert('Please enter your name.');
document.getElementById("txtName").value='';
document.getElementById("txtName").focus();
return false;
}
if(f_isEmpty(document.getElementById("txtPhone").value))	
{
alert('Please enter your phone.');
document.getElementById("txtPhone").value='';
document.getElementById("txtPhone").focus();
return false;
} 
if(document.getElementById("txtPhone").value=='')
{
alert('Please enter your phone.');
document.getElementById("txtPhone").value='';
document.getElementById("txtPhone").focus();
return false;
}
if(document.getElementById("txtPhone").value =='Phone:')
{
alert('Please enter your phone.');
document.getElementById("txtPhone").value='';
document.getElementById("txtPhone").focus();
return false;
}
if(!IsValidphone(document.getElementById("txtPhone").value))
{
alert('Please enter valid phone.');
document.getElementById("txtPhone").value='';
document.getElementById("txtPhone").focus();
return false;
}
if(f_isEmpty(document.getElementById("txtEmail").value))
{
alert('Please enter your email.');
document.getElementById("txtEmail").value='';
document.getElementById("txtEmail").focus();
return false;
}
if(document.getElementById("txtEmail").value=='')
{
alert('Please enter your email.');
document.getElementById("txtEmail").value='';
document.getElementById("txtEmail").focus();
return false;
}
if(document.getElementById("txtEmail").value =='E-mail:')
{
alert('Please enter your email.');
document.getElementById("txtEmail").value='';
document.getElementById("txtEmail").focus();
return false;
}
if(!(Check_email(document.getElementById("txtEmail").value)))
{
alert('Please enter valid email.');
document.getElementById("txtEmail").value='';
document.getElementById("txtEmail").focus();
return false;
}
if(f_isEmpty(document.getElementById("txtCode").value))
{
alert('Please enter verification code.');
document.getElementById("txtCode").value='';
document.getElementById("txtCode").focus();
return false;
}
if(document.getElementById("txtCode").value=='')
{
alert('Please enter verification code.');
document.getElementById("txtCode").value='';
document.getElementById("txtCode").focus();
return false;
}
if(document.getElementById("txtCode").value =='Verification Code:')
{
alert('Please enter verification code.');
document.getElementById("txtCode").value=''
document.getElementById("txtCode").focus();
return false;
}
}
function validate_rfq()
{
if(f_isEmpty(document.getElementById("name").value))	
{
alert('Please enter your name.');
document.getElementById("name").value='';
document.getElementById("name").focus();
return false;
}
if(f_isEmpty(document.getElementById("email").value))	
{
alert('Please enter your email id.');
document.getElementById("email").value='';
document.getElementById("email").focus();
return false;
} 
if(!(Check_email(document.getElementById("email").value)))
{
alert('Please enter valid email id.');
document.getElementById("email").value='';
document.getElementById("email").focus();
return false;
}
if(f_isEmpty(document.getElementById("phone").value))	
{
alert('Please enter your phone no.');
document.getElementById("phone").value='';
document.getElementById("phone").focus();
return false;
}
if(!IsValidphone(document.getElementById("phone").value))
{
alert('Please enter valid phone no.');
document.getElementById("phone").value='';
document.getElementById("phone").focus();
return false;
}
if(f_isEmpty(document.getElementById("code").value))	
{
alert('Please enter verification code.');
document.getElementById("code").value='';
document.getElementById("code").focus();
return false;
} 
 
}