
errorImageLeft =    '';
errorImageRight =   '<img src="/images/icons/validate_arrow_left.png" class="validate_error_arrow"/>';

function setErrorMessageAlignment(alignment){

    switch(alignment){
    
        case 'right':

            errorImageLeft =    '<img src="/images/icons/validate_arrow_right.png" class="validate_error_arrow"/>';
            errorImageRight =   '';
        
        break;
        
        case 'left':
        case '':

            errorImageLeft =    '';
            errorImageRight =   '<img src="/images/icons/validate_arrow_left.png" class="validate_error_arrow"/>';
    
        break;
        
    }
    
}


function ValidateInput(inputType){

    //Declare variables
    var PostData = "";
    
    switch(inputType){
    
        case 'subscriber':
     
            PostData +="first_name="    + isEmpty('subscriberGivenName');
            PostData +="&surname="      + isEmpty('subscriberSurname');
            PostData +="&email="        + isEmail('subscriberEmail');
        
        break;
       
        case 'AdminMemberAdd':
       
            PostData +="id="   			+ document.getElementById('id').value;
			PostData +="&first_name="   + isEmpty('first_name');
            PostData +="&surname="      + isEmpty('surname');
            PostData +="&email="        + isEmail('email');
			PostData +="&member_group=" + document.getElementById('member_group').value;

        break;
        
        case 'AdminMemberGroupAdd':
       
            PostData +="id="   			+ document.getElementById('id').value;
			PostData +="&name="         + encodeURIComponent(isEmpty('name'));
            PostData +="&description="  + encodeURIComponent(tinyMCE.get('description').getContent());
            
        break;
        
        case 'AdminDocumentAdd':
        
            PostData +="id="            + document.getElementById('id').value;
            PostData +="&title="        + encodeURIComponent(isEmpty('title'));
            PostData +="&description="  + encodeURIComponent(tinyMCE.get('description').getContent());
            PostData +="&date_added="   + isDate('date_added');
            PostData +="&type="         + document.getElementById('type').value;
            
        break;
        
        case 'AdminDocumentTypeAdd':
        
            PostData +="id=" +          document.getElementById('id').value;
            PostData +="&name=" +       encodeURIComponent(isEmpty('name'));
            PostData +="&parent=" +     document.getElementById('parent').value;
            
        break;
        
        case 'AdminSiteAdd':
            
            PostData +="id=" +              document.getElementById('id').value;
            PostData +="&name=" +           encodeURIComponent(isEmpty('name'));
            PostData +="&description=" +    encodeURIComponent(tinyMCE.get('description').getContent());
            PostData +="&address=" +        encodeURIComponent(isEmpty('address'));
            PostData +="&postal_address=" + isEmpty('postal_address');
            PostData +="&phone_number=" +   isEmpty('phone_number');
            PostData +="&fax_number=" +     isEmpty('fax_number');
            PostData +="&email_address=" +  isEmail('email_address');
            PostData +="&display_corporate_directory="+document.getElementById('display_corporate_directory').value;
            PostData +="&photo_gallery_link_id="+document.getElementById('photo_gallery_link_id').value;
            PostData +="&map_gallery_link_id="+document.getElementById('map_gallery_link_id').value;
            PostData +="&map_link=" +       encodeURIComponent(document.getElementById('map_link').value);
        
        break;
        
        case 'AdminCompanyDirectorAdd':
        
            PostData +="id=" +                  document.getElementById('id').value;
            PostData +="&type=" +               document.getElementById('type').value;
            PostData +="&name=" +               encodeURIComponent(isEmpty('name'));
            PostData +="&title=" +              encodeURIComponent(isEmpty('title'));
            PostData +="&description=" +        encodeURIComponent(tinyMCE.get('description').getContent());
            PostData +="&company_secretary=" +  document.getElementById('company_secretary').value;
        
        break;
        
        case 'AdminEmailTemplateAdd':
        
            PostData +="id=" +              document.getElementById('id').value;
            PostData +="&title=" +          encodeURIComponent(isEmpty('title'));
            PostData +="&description=" +    encodeURIComponent(tinyMCE.get('description').getContent());
        
        break;

        case 'ContentFieldAddTinyMCE':
        
            PostData +="table_name=" +      document.getElementById('table_name').value;
            PostData +="&id=" +             document.getElementById('content_id').value;
            PostData +="&column=value";
            PostData +="&value=" +          encodeURIComponent(tinyMCE.get('content_value').getContent());
        
        break;
        
        case 'ContentFieldAdd':
        
            PostData +="table_name=" +      document.getElementById('table_name').value;
            PostData +="&id=" +             document.getElementById('content_id').value;
            PostData +="&column=value";
            PostData +="&value=" +          encodeURIComponent(document.getElementById('content_value').value);
        
        break;
        
         case 'SubmitLogin':
        
            PostData +="username=" +        isEmpty('login_username');
            PostData +="&password=" +       isEmpty('login_password');  
        
        break;       
        
    }
    
    return PostData;

}


//Check if field is empty
function isEmpty(id){

    var value = document.getElementById(id).value;
    
    if(value == ""){

        document.getElementById(id+"Error").setAttribute("class","validate_error");
        document.getElementById(id+"Error").innerHTML = errorImageLeft + ' Not Completed ' + errorImageRight;
        
        throw "Validation Error";
        
    }else{

        document.getElementById(id+"Error").innerHTML = "";
        
        return value;
        
    }

}


//Check if valid email was entered
function isEmail(id){

    //Check if email is not empty first
    isEmpty(id);
    
    var value = document.getElementById(id).value;
    var index = value.indexOf("@");

    if (index > 0){
    
        var pindex = value.indexOf(".",index);
        
        if ((pindex > index+1) && (value.length > pindex+1)){
  
            document.getElementById(id+"Error").innerHTML = "";
        
            return value;
            
        }
        
    }

    document.getElementById(id+"Error").setAttribute("class","validate_error");
    document.getElementById(id+"Error").innerHTML =  errorImageLeft + ' Not Valid Email ' + errorImageRight;
        
    throw "Validation Error";
            
}


//Check if field is empty
function isDate(id){

    //Check if date is not empty first
    isEmpty(id);
    
    var value = document.getElementById(id).value;

    value = value.replace("/","-");
    value = value.replace("/","-");

    var valueArray = value.split("-");
    
    if(IsNumeric(valueArray[0])){

        if(IsNumeric(valueArray[1])){

            if(IsNumeric(valueArray[2]) && valueArray[2].length == 4){

                document.getElementById(id+"Error").innerHTML = "";
        
                return value;

            }
            
        }

    }
    
    document.getElementById(id+"Error").setAttribute("class","validate_error");
    document.getElementById(id+"Error").innerHTML = errorImageLeft + ' Not Valid Date ' + errorImageRight;
       
    throw "Validation Error";
    
}


function IsNumeric(value){

    var validChars = "0123456789";
    var isNumber = true;
    var character;

    //Return if empty or undefinded:
    if(value == "" || value == undefined){
    
        return false;
    
    }
     
    for (i = 0; i < value.length && isNumber == true; i++){ 
    
        character = value.charAt(i); 
        
        if (validChars.indexOf(character) == -1){
        
            isNumber = false;
        }
        
    }
   
    return isNumber;
   
}