function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}


function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 8;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
/************************************************************************************************************************************/
function feedback_validator(){	
	
	if (document.frmfeedback.ddlsubject.value == '0')
		 {
		      alert("'Subject' Should be Selected"); 
			  document.frmfeedback.ddlsubject.focus();
			  return false;
		 }
	 
	 if (document.frmfeedback.txtfirstname.value =="")
	{
		      alert("'First Name' Should be entered"); 
			  document.frmfeedback.txtfirstname.focus();
			  return false;
	}	
	if (document.frmfeedback.txtlastname.value =="")
	{
		      alert("'Last Name' Should be entered"); 
			  document.frmfeedback.txtlastname.focus();
			  return false;
	}		
	
	if (document.frmfeedback.txtphone.value=="")
	{
		      alert("'Phone No' Should be entered"); 
			  document.frmfeedback.txtphone.focus();
			  return false;
	}
	else if (document.frmfeedback.txtphone.value !="")
	{			 
			 
	var Phone=document.frmfeedback.txtphone;
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please Enter your Phone Number")
		Phone.focus();
		return false;
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		Phone.value="";
		Phone.focus();
		return false;
	}
	
	}	
	
	if (document.frmfeedback.txtcomment.value=="")
	{
		      alert("'Comments' Should be entered"); 
			  document.frmfeedback.txtcomment.focus();
			  return false;
	}

 if (document.frmfeedback.txtemail.value=="")
	{
		      alert("'Email' Should be entered"); 
			  document.frmfeedback.txtemail.focus();
			  return false;
	}	
	else if (document.frmfeedback.txtemail.value!="")
	{
		var Element=document.frmfeedback.txtemail;
		Flag  = 1;
		count = 0;
	
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
		
		if(Element.value.length > 0)
		{
			for (var i=0; i<Element.value.length; i++)
			{
				temp = Element.value.substring(i, i+1);
	
				if (alp.indexOf(temp) == -1)
				{
					Flag = 0;
				}
			} // closing the for loop
		}
		else
		{
			Flag = 0;
		}
	
		for(var i=0; i <= Element.value.length; i++)
		{
			if(Element.value.charAt(0)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(Element.value.length-1)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(i)=='@') 
			{
				count = count + 1;

				if(count>1)
				{
					Flag = 0;
					break;
				}
			  
				if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
				{
					Flag = 0;
					break;
				}
			}
			if(Element.value.indexOf('@')==-1)
			{
				Flag = 0;		    	
				break;
			}
			if(Element.value.charAt(0)=='.')
			{
				Flag = 0;
				break;
			}
			if(Element.value.indexOf('.')==-1)
			{
				Flag = 0;		    	
				break;
			}
		  } //closing the for loop
		
		if(Element.value.charAt(Element.value.length-1) == '.')
			Flag = 0;
			
		if(Flag != 1)
		{
			alert("Invalid Email Address..");
			Element.focus();
			return false;
		}	
		else
			return true;
	}	
	document.frmfeedback.submit();
} 
/************************************************************************************************************************************/

function feedback_clear(){
	
	document.frmfeedback.ddlsubject.value ='0';			
	document.frmfeedback.txtfirstname.value ="";	
	document.frmfeedback.txtlastname.value ="";	
	document.frmfeedback.txtemail.value ="";	
	document.frmfeedback.txtphone.value ="";	
	document.frmfeedback.txtcomment.value ="";	
	return false;
 } 
 
