﻿// Common JavaScript
//

//**********************************************************************
// Verifies email validity
function IsValidEmail(email){
        
    var validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
          
    if (IsEmpty(email) == false) {        
        if (email.search(validRegExp) == -1){      
          return false;
        } 
    }
    
    return true; 
   
}// IsValidEmail()

//**********************************************************************
// Verifies if value is empty or only contains tabs and/or spaces.
function IsEmpty(val){
    
    if(val == null){return true;}
    for(var i=0; i < val.length; i++) {
        if ((val.charAt(i) != ' ') && (val.charAt(i) != "\t") 
                && (val.charAt(i) != "\n") && (val.charAt(i) != "\r")){
            return false;
        }
    }
    
    return true;
    
}// IsEmpty()

//**********************************************************************
// Trim
function TrimAll(val) {

    var objRegExp = /^(\s*)$/;
    if(objRegExp.test(val)) {
        val = val.replace(objRegExp, '');
        if( val.length == 0)
            return val;
    }
    objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
    if(objRegExp.test(val)) {
        val = val.replace(objRegExp, '$2');
    }
    
    return val;
    
}// TrimAll()

function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
    return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
    return stringToTrim.replace(/\s+$/,"");
}
        
//**********************************************************************
// Verify valid text
function IsValidInputText(val) {
    
    var regExp = /[^a-zA-Z0-9\s\']/
    
    return (!regExp.test(val));
    
}// IsValidInputText()

//**********************************************************************
// Verify zip
function IsValidGlobalZip(val) {
    
    var regExp = /[^a-zA-Z0-9\s]/
    
    return (!regExp.test(val));
    
}// IsValidGlobalZip()

//**********************************************************************

// Assign a CSS class name to an element
function SetClassName(objId, className) {
    var objTag = document.getElementById(objId);
    if ((typeof(objTag) != 'undefined') && (null != objTag)) {
        objTag.className = className; 
    }
}

// Show or hide a tag
function DisplayTag(tagId, showIt) {

    var objTag = document.getElementById(tagId);
    
    if (showIt) {
        objTag.style.display = "block";            
    }else {
        objTag.style.display = "none"; 
    }
}
/**********************************************************************
Client-side message alerts
**********************************************************************/

// Returns the hierarchial client id for a given control id.
function GetActualClientId(serverId) {
    
    if ((typeof(ArrayServerID) == 'undefined') || (null == ArrayServerID) || (ArrayServerID.length == 0))                
        return;    
    if ((typeof(ArrayClientID) == 'undefined') || (null == ArrayClientID) || (ArrayClientID.length == 0))                
        return;
              
    for(i = 0; i < ArrayServerID.length; i++) {
        if ( ArrayServerID[i] == serverId ) {
            return ArrayClientID[i];
            break;
        } 
    }
}

// Iterate through the array of HTML element ids and messages rendered by the server
// and alert the user.
function DisplayFieldAlerts(alertTag) {

    // Field alerts
    if ((typeof (ArrayFieldID) != 'undefined') && (null != ArrayFieldID) && (ArrayFieldID.length != 0)) {                                    
        for(i = 0; i < ArrayFieldID.length; i++) {                
            //var objField = document.getElementById(ArrayFieldID[i]);
            SetClassName(ArrayFieldID[i], "alert_field");                
            //objField.className = "warning";
        }
    }
    
    // Message alerts
    if ((typeof(ArrayMessages) == 'undefined') || (null == ArrayMessages) || (ArrayMessages.length == 0))                
        return;  
    
    var messages = "";            
    for(i = 0; i < ArrayMessages.length; i++) {                
        messages += "<li>" + ArrayMessages[i] + "</li>";                
    }
    messages = "<ul>" + messages + "</ul>";             
    DisplayMessage(alertTag, messages);      
}

function DisplayMessage(tagId, msg) {

    var message = document.getElementById(GetActualClientId(tagId));            
    message.innerHTML = msg;
    SetClassName(tagId, "alert_message");
    
}// DisplayMessage()



//**********************************************************************

 