//Script file for Javascript Utility Functions
var msg="";
// Declaring required variables
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 = 10;

function getObject(id)
{
	return document.getElementById(id);
}

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 fnNumbersOnly(eventRef)
{
	var keyStroke = (eventRef.which) ? eventRef.which : (window.event) ? window.event.keyCode : -1;
	var returnValue = false;
	
	if ( ((keyStroke >= 48) && (keyStroke <= 57))) {
		returnValue = true;
	}
	if (keyStroke == 8 || keyStroke == -1 ||  keyStroke == 32){
		returnValue = true;
	}
	return returnValue;
}
function trim(s)
{   
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
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++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function PhoneNumberCheck(id, divId){
//	var Phone=document.frmSample.txtPhone

	var Phone=document.getElementById(id).value;
	if ((Phone==null)||(Phone=="")){
		//alert("Please Enter your Phone Number")
		document.getElementById(divId).innerHTML = "Phone Number should not be blank";
		msg += "\nPlease Enter your phone number\n";
		document.getElementById(id).focus();
		return msg;
	}
	if (checkInternationalPhone(Phone)==false){
		//alert("Please Enter a Valid Phone Number")
		document.getElementById(divId).innerHTML ="Please enter a valid Phone Number";
		msg += "\nPlease enter a valid Phone Number\n";
		//document.getElementById(id).value="";
		document.getElementById(id).focus();
		return msg;
	}
	//alert(msg);
	document.getElementById('phoneNumberCheck').innerHTML="";
	return   msg;
	
 }
//-----E-Mail Check Code START---------------
function fnEmailCheck(str, vDivID) {
		//var msg;
		var vEmail=trim(document.getElementById(str).value);
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if(vEmail!=""){
			if (!filter.test(vEmail)){
			document.getElementById(vDivID).innerHTML="Invalid Email Address";
			//document.regfrm.txtEmail.value="";
			msg+="\n- Invalid Email Address";
			//alert(msg);
			return false;
			}
			else{
				document.getElementById(vDivID).innerHTML="";
			}
			return true;
		}else{
			document.getElementById(vDivID).innerHTML="Email Address should not be blank";
			return false;
		}
	}
//-----E-Mail Check Code END  ---------------

//-----RETYPE-PASSWORD Check Code END  ---------------
function Pass(orginalTxt,reTypeTxt,vDivID,i){
	//alert(orginalTxt);
	//var msg;
	var outputText = "";
	//alert(reTypeTxt);
	if(i==1){
		outputText = "Password";
	}else if(i==2){ 
		outputText = "Email Address";
	}
	if(trim(reTypeTxt) != ""){
		if(trim(orginalTxt) != trim(reTypeTxt)){
		//alert("not same");
		document.getElementById(vDivID).innerHTML="Re-Type "+outputText+" must be same";
		msg += "- Password must be same-\n";
		//  msg = "-- Must be same--\n";
		//document.regfrm.txtRePassword.value="";
		return msg;
		}else{
			document.getElementById(vDivID).innerHTML="";
			return   msg;
		}
	}else{
		//alert(outputText);
		document.getElementById(vDivID).innerHTML="Re-Type "+outputText+" should not be blank";
		msg+="Re-Type "+outputText+" should not be blank";
		
	}		
}

//-----RETYPE-PASSWORD Check Code END  ---------------
function MaskPhoneNo(textbox, loc, delim,eventRef)
{
	var str = textbox.value;
	var locs = loc.split(',');
	var delims = delim.split(',');
	var keyStroke = (eventRef.which) ? eventRef.which : (window.event) ? window.event.keyCode : -1;
	for (var i = 0; i < locs.length; i++)
	{
		var k = parseInt(locs[i]);
		if (keyStroke == 0)
		{
			if (k > str.length - 1)
			{
				continue;
			}
		}
		else
		{
			if (k > str.length)
			{
				continue;
			}
		}
		if (str.substring(k, k + delims[i].length) != delims[i])
		{
			str = str.substring(0, k) + delims[i] + str.substring(k, str.length);
		}
	}	
	textbox.value = str;
}

function nullcheck(fname,fldname,disname)
{
	ctrl_val=eval('document.'+fname+'.'+fldname+'.value');
	ctrl_name=eval('document.'+fname+'.'+fldname+'.name');
	ctrl_val = Trim(ctrl_val);
	if(ctrl_val=='')
	{	
		msg+="\n- "+disname+" field should not be blank";
		return false;
	}
		return true;
}

function select_nullcheck(fname,fldname,disname)
{
	ctrl_val=eval('document.'+fname+'.'+fldname+'.value');
	ctrl_name=eval('document.'+fname+'.'+fldname+'.name');
		if(ctrl_val=='')
		{
			msg+="\n- Please select "+disname;
			return false;
		}
			return true;
}
function PhoneNumCheck(evt,obj)
{
        if (fnNumbersOnly(evt)) 
        {
          return MaskPhoneNo(obj, '3,7,12', '-,-, ',evt);
        }
        return false; 
        
}
function LTrim(str){
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if(whitespace.indexOf(s.charAt(0)) != -1){
	// We have a string with leading blank(s)...
		var j=0, i = s.length;
	// Iterate from the far left of string until we
	// don't have any more whitespace...
	while(j < i && whitespace.indexOf(s.charAt(j)) != -1)
		j++;
	// Get the substring from the first non-whitespace
	// character to the end of the string...
		s = s.substring(j, i);
	}

	return s;
}
	
function RTrim(str)
{
	// We don't want to trip JUST spaces, but also tabs,
	// line feeds, etc.  Add anything else you want to
	// "trim" here in Whitespace
	var whitespace = new String(" \t\n\r");
	
	var s = new String(str);
	
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
	// We have a string with trailing blank(s)...
	
	var i = s.length - 1;       // Get length of string
	
	// Iterate from the far right of string until we
	// don't have any more whitespace...
	while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
	i--;
	
	
	// Get the substring from the front of the string to
	// where the last non-whitespace character is...
	s = s.substring(0, i+1);
	}
	return s;
}
	
function Trim(str)
{
	return RTrim(LTrim(str));
}

function nullcheckdiv(fname, disname, divId)
{
		var ctrl_val=Trim(document.getElementById(fname).value);		
		if(ctrl_val=='')
		{	
			document.getElementById(divId).innerHTML=disname+" should not be blank";
			msg +=disname+" should not be blank"+"\n";
			
			return false;
		}else
			document.getElementById(divId).innerHTML="";

			return true;
}
function select_nullcheck_span(fname, disname, divId)
{
	var ctrl_val=trim(document.getElementById(fname).value);
	if(ctrl_val=='')
	{	
		document.getElementById(divId).innerHTML="Please select "+disname;
		msg +="Please select "+disname;
		return false;
	}else
		document.getElementById(divId).innerHTML="";
		return true;
}
