﻿// --------------------------------------------------------
//  Main Function:  functions to validate controls related to customer info
//  Created Date:   01/21/2009
//  Created By:     YW
// --------------------------------------------------------
    
// mask with phone format
function Phonemask(textBox, e)
{     
    if (!e) e = window.event;
    var digit;
    document.all ? digit = e.keyCode : digit = e.which;
    if ((digit <= 47 || digit >= 58) && (digit <= 94 || digit >= 107) && digit != 8 && digit != 37 && digit != 39 && digit != 46 && digit != 0 && digit != 9 && digit != 13)
    {
        return false;
    }
    
    if (digit == 8 || digit == 37 || digit == 39 || digit == 46 || digit == 0 || digit == 9 || digit == 13)
    {
        return true;
    }
    
    var number = textBox.value;
    var intNumber = '';
    
    var i = 0;
    for (i = 0; i < number.length; i++)
    {   
        var c = number.charAt(i);
        if ((c >= "0" && c <= "9"))
        { 
	        intNumber = intNumber + c;	
        }
    }
    var len = intNumber.length;
    
    var newnumber;
    
    if (len == 3)
    {
        newnumber = "(" + intNumber + ") ";
    }     
    else if ( len > 3 && len <= 6)
    {
	    newnumber = "(" + intNumber.substring(0, 3) + ") " + intNumber.substring(3);
    }
    else if (len > 6 && len <= 10)
    {
	    newnumber = "(" + intNumber.substring(0, 3) + ") " + intNumber.substring(3, 6) + "-" + intNumber.substring(6);	
    }
	else if (len > 10)
	{
	    newnumber = "(" + intNumber.substring(0, 3) + ") " + intNumber.substring(3, 6) + "-" + intNumber.substring(6, 10);
	}
	else
	{
        newnumber = "(" + intNumber;
	}       
		    
    textBox.value = newnumber;
    return true;
}   
  
// set the max length of text box
function LimitTextLength(textBox, e)
{
    var textContent = textBox.value;
    if (textContent.length <= 200)
    {
        return true;
    }
    else 
    {
        textBox.value = textContent.substring(0, 200);
        PopupMessage( 'Exceed Limit', 'You cannot enter over 200 chars.', null, null);
        return false;
    }    
}
      
function IsValidZipCode(textBox, e)
{   
    var canZipFormat = /^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/;
    var usZipFormat = /(\d{5})/;
    var zipcode = textBox.value.replace(' ', '');
        
    if (zipcode.length < 5)
    {
        return true;
    }
    else if (zipcode.length == 5)
    {
        return usZipFormat.test(zipcode);
    }    
    else
    {
        textBox.value = zipcode.substring(0, 5);
        return false;
    }
} 

function SetCanadianPostalCodeFormat(e, textBox)
{     
    var zipcode = textBox.value.replace(' ', '');    
    var z1 = zipcode;
    var z2 = zipcode;
        
    if (zipcode.length > 5)
    { 
        zipcode = z1.substr(0, 3) + ' ' + z2.substr(3, 3);
        zipcode = zipcode.substring(0, 7);
        textBox.value = zipcode.toUpperCase();
        return true;
    }
} 
   
function IsZipcode(e, countryDropDownID)
{
    var country = document.getElementById(countryDropDownID).value;
       
    if (country == "USA")
    {  
        var digit;
        document.all ? digit = e.keyCode : digit = e.which;
        return ((digit > 47 && digit < 58) || digit == 8);
    }
       
    return true;        
}
  
    // Text Box field required validation    
    function RequiredTextBox(ID, i) 
    {  
        if (document.all) // IE
        {
            if (TrimAll(String(document.all[ID].value)) == "")
            {       			    
               document.getElementById(ID).style.backgroundColor  = "LightBlue";
               i = i + 1; 
             }      			       
            else
            {   			     
               document.getElementById(ID).style.backgroundColor  = "";
            }
        }

         if (document.getElementById && !document.all) //FireFox
        {        
            if (TrimAll(String(document.getElementById(ID).value)) == "")
            {       			    
               document.getElementById(ID).style.backgroundColor  = "LightBlue";
               i = i + 1;
            }      			       
            else
            {  		     
               document.getElementById(ID).style.backgroundColor  = "";
            }
        }
        
        if (document.layers) 
        {
            if (TrimAll(String(document.layers[ID])) == "")
            {       			    
               document.layers[ID].backgroundColor  = "LightBlue";
               i = i + 1; 
            }      			       
            else
            {   			     
               document.layers[ID].backgroundColor  = "";
            }
        }
        return i;       			  	   
    }
  
    function RequiredDropDwonList(ID, i, index) 
    {     
        if (document.getElementById && !document.all)  //FireFox
        {        
            if (document.getElementById(ID).selectedIndex == index)
            {       			    
               document.getElementById(ID).style.backgroundColor  = "LightBlue";
               i = i + 1; 
             }      			       
            else
            {   			     
               document.getElementById(ID).style.backgroundColor  = "";            
            }
        }
        
        if (document.layers) 
        {
            if (document.layers[ID].selectedIndex == index)
            {       			    
               document.layers[ID].backgroundColor  = "LightBlue";
               i = i + 1; 
             }      			       
            else
            {   			     
               document.layers[ID].backgroundColor  = "";
            
            }
        }
        
        if (document.all) // IE
        {
            if (document.all[ID].selectedIndex == index)
            {       			    
               document.all[ID].style.backgroundColor  = "LightBlue";
               i = i + 1; 
             }      			       
            else
            {   			     
               document.all[ID].style.backgroundColor  = "";            
            }
        }

        return i;      	   
    }
    
// Minimum number and Digits validation
    function Minimum(ID, i, len)
    {  
        var s = document.getElementById(ID).value;
        if (s.length < len)
        {
            document.getElementById(ID).style.backgroundColor  = "LightPink";
            i = i + 1
        }
        else
        {  
            document.getElementById(ID).style.backgroundColor  = "";
        }
            return i ;
    }    
    
    // Max number and Digits validation
    function isInteger(ID, i, len)
    {   
        var j;

        var s = document.getElementById(ID).value;
        if (len != s.length)
        {
            document.getElementById(ID).style.backgroundColor  = "LightPink"
            i = i + 1
            return i;                
        }
        else
        {
            for (j = 0; j < s.length; j++)
            {   
                // Check that current character is number.
                var c = s.charAt(j);
                if (((c < "0") || (c > "9")))
                { 
                   document.getElementById(ID).style.backgroundColor  = "LightPink"
                   i = i + 1
                   return i;
                }
            }
            // All characters are numbers.
            
            document.getElementById(ID).style.backgroundColor  = ""
            return i ;
        }
    }    
            
    ///----------------Email Validation ----------------------
    function ValidateEmail(ID, i) 
    {
        var email = document.getElementById(ID).value;
    		
        var at="@"
		var lstr=email.length
		var invalidCount = 0;
			    
		if (email.indexOf(at)== -1 || email.indexOf(at) == 0 || email.indexOf(at) == lstr)
		{
		    invalidCount = invalidCount + 1;
		}
		else
		{
		    var reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
		 
            if(reg.test(email) == false) 
            { 
                invalidCount = invalidCount + 1;
            }
		}
					
        if  (invalidCount != 0) 
        { 
            i = i + invalidCount;
            document.getElementById(ID).style.backgroundColor  = "LightPink";
        }
         else
        {
            document.getElementById(ID).style.backgroundColor  = "";
        }
	
        return i;
    }
   
   function htmlEncode(s) {
        var elm = document.createElement("div");
        elm.innerText = elm.textContent = s;
        s = elm.innerHTML;
        delete elm;
        return s;
    }
