/*
 File Name: StandardClientValidations.js
    Author: Hari Krishna Kondala
    E-Mail: hkondala@miraclesoft.com
 */


//PHONE NUMBER FORMAT SCRIPT :START   
function formatPhone(element) {     
    str = new String(element.value);       
    if(str == "undefined" ) { 
        alert('Please give atleast  10 charcters in PhoneNumber');
        return false;        
    }else{        
    element.value=str.replace(/[A-Za-z\(\)\.\-\x\s,]/g, "");
    num=element.value;
    var _return;
    if(num.length == 10) { 
        _return="(";
        var ini = num.substring(0,3);
        _return+=ini+")";
        var st = num.substring(3,6);
        _return+="-"+st+"-";
        var end = num.substring(6,10);
        _return+=end;
        
        element.value ="";
        element.value =_return;
        
    }else if(num.length < 10) {
        alert('Please give atleast  10 charcters in PhoneNumber');
        return false;
    }else if(num.length > 10 && num.length < 18) { 
        _return="(";
        var ini = num.substring(0,3);
        _return+=ini+")";
        var st = num.substring(3,6);
        _return+="-"+st+"-";
        var last = num.substring(6,10);
        _return+=last+" X";
        var end = num.substring(10,num.length);
        _return+=end;
        
        element.value ="";
        element.value =_return;
        
    }else if(num.length > 18) {
        alert('Phone Number should be 18 characters');
        element.value =_return;
        //element.value ="";
        element.value = num.substring(0,16);
        
        element.value =num.substring(0,16);
        _return="(";
        var ini = num.substring(0,3);
        _return+=ini+")";
        var st = num.substring(3,6);
        _return+="-"+st+"-";
        var last = num.substring(6,10);
        _return+=last+" X";
        var end = num.substring(10,num.length);
        _return+=end;
        element.value ="";
        element.value =_return;
        
        element.focus();
        return false;
    }else if(num.length < 10 || num=='undefined') {
        alert('Please give atleast  10 charcters in PhoneNumber');
        return false;
    }else if(num.length > 10 && num.length < 16) {
        alert('Please give atleast  16 charcters in PhoneNumber');
        return false;
    }
    
    return _return;
    }
}  

function checkEmail(element) {
    
    if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(element.value)){
        return (true)
    }
    element.value="";
    alert("Invalid E-mail Address! Please re-enter.")
    
    return (false)
}

function fieldLengthValidator(element){
    var url = element.form.action;
    var action1 = url.lastIndexOf("/");
    var action2 = url.substr(action1+1,url.length);
    var action3 = action2.lastIndexOf(".");
    var action = action2.substr(0,action3);
    var i = 0;
    if (element.value != null && (element.value != "")) {
        if(element.id == 'accountName' || element.id == 'synonyms') i = 60;
        else if(element.id == 'url' || element.id == 'leadSource' || element.id == 'taxId' || element.id == 'addressLine2' || element.id == 'resAddressLine2'
        || element.id == 'attachmentName' || element.id == 'leadSource' || element.id == 'officeEmail' || element.id == 'personalEmail' || element.id == 'reportingManager'
        || element.id == 'fName' || element.id == 'lName' || element.id == 'mName' || element.id == 'vendorContactPerson' || element.id == 'billingManager'
        || element.id == 'opportunity' || element.id == 'jobTitle') i = 50;
        else if(element.id == 'fax') i = 16;
        else if(element.id == 'zip' || element.id == 'resZip') {
            i = 15;
            validatenumber(element);
        }
        else if(element.id == 'accountTeam' || element.id == 'aliasName') i = 20;
        else if(element.id == 'noOfEmployees' || element.id ==  'mailStop' || element.id == 'resMailStop') i = 10;
        else if(element.id == 'stockSymbol1' || element.id == 'stockSymbol2') i = 12;
        else if(element.id == 'description') i = 255;
        else if(element.id == 'applications' || element.id == 'hardware' || element.id == 'softwares' || element.id == 'databases' || element.id == 'recSkills') i = 150;
        else if(element.id == 'addressLine1' || element.id == 'resAddressLine1') i = 200;
        else if(element.id == 'city' || element.id == 'resCity') i = 25;
        else if(element.id == 'loginId' || element.id == 'password' || element.id == 'firstName' || element.id == 'lastName' || element.id == 'middleName'
        || element.id == 'referredBy' || element.id == 'recCity' || element.id == 'customerId' || element.id == 'partnerId') i = 30;
        else if(element.id == 'customerPwd' || element.id == 'partnerPwd') i = 8;
        else if(element.id == 'comments' && (action == 'addContact' || action == 'editContact')) i = 255;
        else if(element.id == 'comments' || element.id == 'equipmentNeeded') i = 1000;
        else if(element.id == 'title' || element.id == 'specialization' || element.id == 'mspVendor') i = 40;
        else if(element.id == 'reportingAddress' || (element.id == 'comments' && action == 'newGreenSheetSubmit') || element.id == 'billingAddress' || element.id == 'expensesDetails') i = 500;
        else if(element.id == 'functions' || element.id == 'responsibilities' || element.id == 'recComments') i = 5000;
        else if(element.id == 'education') i = 250;
        else if(element.id == 'addressLine1') i = 200;
        else if(element.id == 'city') i = 25;
        if(element.value.replace(/^\s+|\s+$/g,"").length>i){
            //subStringValue(i,element,"The "+element.id+" must be less than "+i+" characters");
            str = new String(element.value);
            element.value=str.substring(0,i);
            
            alert("The "+element.id+" must be less than "+i+" characters");
            element.focus();
            return false;
        }
        return true;
    }    
};

/*function subStringValue(i,element,message) {
    str = new String(element.value);
    element.value=str.substring(0,i);
 
    alert("The "+element.id+" must be less than "+i+" characters");
    element.focus();
    return false;
}*/

function validatenumber(xxxxx) {
    
    var maintainplus = '';
    var numval = xxxxx.value
    if ( numval.charAt(0)=='+' ){ var maintainplus = '+';}
    curnumbervar = numval.replace(/[\\A-Za-z!"�$%^&*+_={};:'@#~,�\/<>?|`�\]\[]/g,'');
    xxxxx.value = maintainplus + curnumbervar;
    var maintainplus = '';
    // alert("enter integers only");
    xxxxx.focus;
}

function attachmentValidate(element) {
    if (element.value == null || (element.value == "")) {
        alert("Please Enter valid File Path");
        return(true);
    }
    return (false);
}


function OpportunityValidation(){
    if(document.getElementById("opportunity").value==null || document.getElementById("opportunity").value=='' ||
    document.getElementById("architectId").value=='-1' || document.getElementById("regionalMgrId").value=='-1' || 
    document.getElementById("insideSalesId").value=='' ||
    document.getElementById("bdmId").value=='-1'  || document.getElementById("dueDate").value=='' ||
    document.getElementById("offshorePMId").value=='-1' ||  document.getElementById("type").value=='-1' ||
    document.getElementById("vpId").value=='-1' ||
    document.getElementById("stage").value=='-1' ||
    document.getElementById("practiceMgrId").value=='-1' || 
    document.getElementById("value").value=='' ||
    document.getElementById("description").value==''
    ){
        alert('enter mandatory fields');
        return false;
    } 
    
    else true;
    
}

function requirementCheck() {
    if(document.getElementById("jobTitle").value=='' || document.getElementById("practiceId").value=='-1' ||
    document.getElementById("recSkills").value=='' || document.getElementById("country").value=='-1'  ||
    document.getElementById("startDate").value=='' || document.getElementById("functions").value=='') {
        alert('enter mandatory fields');
        return false;
    }
    if(document.getElementById("startDate").value != '' && document.getElementById("endDate").value != ''){
        var startDate = document.getElementById('startDate').value;
        var endDate = document.getElementById('endDate').value;
        var mm = startDate.substring(0,2);
        var dd = startDate.substring(3,5);
        var yyyy = startDate.substring(6,10);
        var mm1 = endDate.substring(0,2);
        var dd1 = endDate.substring(3,5);
        var yyyy1 = endDate.substring(6,10);
        if(yyyy1 < yyyy) {
            alert('Start Date is older than End Date');
            return false;
        }
        else if((yyyy1 == yyyy) && (mm1 < mm)) {
            alert('Start Date is older than End Date');
            return false;
        }
        else if((yyyy1 == yyyy) && (mm1 == mm) && (dd1 < dd)) {
            alert('Start Date is older than End Date');
            return false;
        }
    }else return true;
}

function handleEnter(field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) {
        var i;
        for (i = 0; i < field.form.elements.length; i++)
            if (field == field.form.elements[i])
                break;
        i = (i + 1) % field.form.elements.length;
        field.form.elements[i].focus();
        return false;
    } 
    else
        return true;
};

// DOUBLE VALUE : FORMAT START
var curnumbervar;
function onCheck(element) {
    if(element.value != "0.0"){ 
        var numval = element.value;
        curnumbervar = numval.replace(/[\\A-Za-z!\-"$%^&*+_={};:'@#~,\/<>?|`\]\[]/g,'');
        element.value = curnumbervar;
        element.focus;
    }
}
function validateCountry(){
    var country = document.getElementById("country").value;
    if(country == "-1"){
        alert("Enter Country");
        return false;
    }
    
    }
