﻿ function CheckEmail(addr)
	{
		var emailReg = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/
		
		if (addr.search(emailReg)==-1) //if match failed
		{				
			return false;
		}
		
		return true;
	}
 


function ValidateControl(control, reqlabel, validateEmail, required)
{
	var name = document.getElementById(control);		
	var valid = true;

	if(required) 
	{		 
		if ((name.value==null) || (name.value==""))
		{
		    if(reqlabel != "")
			    document.getElementById(reqlabel).style.display="";
			valid = false;
		}
		else 
		{
		    if(reqlabel != "")
			document.getElementById(reqlabel).style.display="none";
		}
	}
	
	if(validateEmail)
	{
		if(name.value != "") 
		{
			if(!CheckEmail(name.value)) 
			{
			    if(reqlabel != "")
				document.getElementById(reqlabel).style.display="";
				valid = false;
			}
			else 
			{
			    if(reqlabel != "")
				document.getElementById(reqlabel).style.display="none";
			}
		}
		
	}
	
	return valid;
	
}

function ValidateInput(control, message)
{
	var name = document.getElementById(control);
	
	if ((name.value==null) || (name.value=="")) {
		 alert(message);
		 name.focus();
		 return false;
	}
	
	return true;
}

function ValidateEmail(control, message)
{
	var name = document.getElementById(control);
	
	if (!(name.value==""))
	{
		if(!CheckEmail(name.value)){
			alert(message);
			name.focus();
			return false;
		}
	}
	
	return true;
}

function ValidateCheckBox(control, reqlabel)
{
	var name = document.getElementById(control);
	var valid = true;
	
	if(!(name.checked))
	{
		if(reqlabel != "")
			document.getElementById(reqlabel).style.display="";
		valid = false;
	}
	else
	{
		if(reqlabel != "")
			document.getElementById(reqlabel).style.display="none";
	}
	
	return valid;
	
}

function ValidateControlDDL(control, reqlabel, initialvalue)
{
	var name = document.getElementById(control);
	var valid = true;
	
	if ((name.value==null) || (name.value==initialvalue)) {
		if(reqlabel != "")
			document.getElementById(reqlabel).style.display="";
		valid = false;
	}
	else {
		if(reqlabel != "")
			document.getElementById(reqlabel).style.display="none";
	}
	
	return valid;
}

function ValidatePhoneNumber(control)
{

	var name = document.getElementById(control);
	
	// 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;
	s=stripCharsInBag(name.value,validWorldPhoneChars);

	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidateZipCodeZeros(control)
{
    var name = document.getElementById(control);
    if (name.value.substring(0,5) == "00000") 
        return false;
    
    return true;
}

function ValidateZipCode(control)
{
	var name = document.getElementById(control);
	var minDigitsInZipCode = 5;
	
	if (name.value.length == 5)
		return isInteger(name.value);	
	else if ((name.value.length > 5) && (name.value.length == 10))
		{
			if (isInteger(name.value.substring(0,5)) && (name.value.substring(5,6) == "-") && isInteger(name.value.substring(6,10)))
			return true;
		}	
		return false;			
}

function ValidateControlLength(control1, control2, control3)
{
	var num1 = document.getElementById(control1).value.length;
	var num2 = document.getElementById(control2).value.length;
	var num3 = document.getElementById(control3).value.length;
	
	var minDigitsInZipCode = 10;
	
	if (num1 + num2 + num3 != 10)
		return false;			
}

function ValidateNumeric(control1, control2, control3)
{
    var num1 = document.getElementById(control1).value;
	var num2 = document.getElementById(control2).value;
	var num3 = document.getElementById(control3).value;
	
	if (isInteger(num1) && isInteger(num2) && isInteger(num3))
	    return true;
	else
	    return false;	    
}

function ValidateDEANumber(control)
{
    var valid = true;
    var val = document.getElementById(control).value;
    
    if (val.length != 9)
        valid = false;
    else if (!isCharacter(val.substring(0,2)))  
          valid = false;  
    else if (!isInteger(val.substring(2)))
        valid = false;  
        
   return valid;
}

function isCharacter(val)
{
    for(var i=0; i<val.length; i++)
        {
        var c = val.charAt(i);
        if (!((c >="a" && c <= "z") || (c >="A" && c <= "Z")))
        return false;
        }
  return true;
}

function stripSpaces(control) 
{
var x = document.getElementById(control).value;
x = (x.replace(/^\W+/,'')).replace(/\W+$/,'');

if (x.length == 0)
    return 0;
else
    return x.length;
}

function CheckCheckboxes(control1, control2, control3, control4, control5)
{
    var Rep = document.getElementById(control1).checked;
    var Med = document.getElementById(control2).checked;
    var sample = document.getElementById(control3).checked;
    var Mat = document.getElementById(control4).checked;
    var journal = document.getElementById(control5).checked;
    
    if (!Rep && !Med && !sample && !Mat && !journal)
        return false;
    else
        return true;
}        
        
function ValidateGender(control)
{
    var text = document.getElementById(control).value;
 
    if ((text == "f") || (text == "F") || (text == "m") || (text == "M")) 
        return true;
        
    return false;
}


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 PostBackEnter(e) //e is event object passed from function invocation
{ 
	var characterCode; //literal character code will be stored in this variable

	if(e && e.which) //if which property of event object is supported (NN4)
	{
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}else
	{
		try
		{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
		}
		catch(ex)
		{}
	}

	if(characterCode == 13) //if generated character code is equal to ascii 13 (if enter key)
	{							
		return true;
	}else
	{					
		return false;
	}

}

function FormFieldFocus()
{
	focusedFormControl = '';

	if (document.getElementsByTagName) onload = function () {
		var e, i = 0;
		while (e = document.getElementsByTagName ('INPUT')[i++]) {			
			if (e.type == 'text' || e.type == 'radio' || e.type == 'checkbox' || e.type == 'password')
			{ 				
				e.onfocus = function () {focusedFormControl = this;}
			
			}
		}
	}

}

function ValidateSearch(ctl)
 {
	if(!ValidateControl(ctl, "", false, true))
	{
		alert("Please enter search term.");
		document.getElementById(ctl).focus();
			return false;
	}	
	
	var strSearch = document.getElementById(ctl).value;
	
	var searchReg = /^[a-zA-Z0-9\s,.\-?!"']+$/
		
	if (strSearch.search(searchReg)==-1) //if match failed
	{	
		alert("Please enter a valid search term. (please do not use any special characters)");
		document.getElementById(ctl).focus();		
		return false;
	}	
	
	return true;
 }
 
 function ChangeTab(currField, nextField)
{
   if (currField.value.length == currField.maxLength)
    {
       // If max length for current field met, move to next control
        
        //Since the "nextField" doesn't get Full ControlID(UserControlID + Control's ID)
        //We need to extract the UserControlID from CurrField (which is passed from HTML page)
        //and add it to the nextField. 
        //If usercontrol was not used, it can be used with ControlID
        
        nextField = (currField.id).substring(0, currField.id.indexOf("_txt")+1) + nextField
        document.getElementById(nextField).focus();
    }
}

function checkbox_checker(control)
{

var flag=0;
var chkName= document.getElementById (control);
var chkarray= chkName.getElementsByTagName("input");

for(counter = 0; counter<chkarray.length; counter++)
    {
        if (chkarray[counter].checked)
             flag = 1; 
    }
    
 if (flag ==1)
    return true;
 else
    return false;
}

function showORhide(ClientID)
 { 
    var yesSelected = document.getElementById(ClientID + 'rdtakenyes').checked;
    var noSelected = document.getElementById(ClientID + 'rdtakenno').checked;
    
    if (yesSelected)
        {
            document.getElementById('Taken').style.display = "";		    
        }
    else if (noSelected)
        {           
		    document.getElementById('Taken').style.display = "none";
		    document.getElementById(ClientID + 'rdlessthan3mon').checked = false;
		    document.getElementById(ClientID + 'rdmorethan3mon').checked = false;
		    document.getElementById(ClientID + 'rdmorethan1year').checked = false;	   
        }      
 }
 
 function SelectTitleOther(ClientID)
 {
 document.getElementById(ClientID + 'rdOther').checked = true;
 }
 
 function TextCount(textboxname)
 { 
    if (textboxname.value.length > 200)
    {
        alert('Please limit your request/comment to 200 characters.');
        textboxname.value = textboxname.value.substring(0, 200);
        return false;
    }
    
    return true;        
 }
 
 
