/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


var target='dfdf';

function showProfessionalSummaryForm(){

    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/professionalSummary.do",
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            dojo.byId('professionalViewDiv').style.display='none';
            dojo.byId('professionalFormDiv').innerHTML = data;
            dojo.byId('professionalFormDiv').style.display='block'
            limitText(dojo.byId('keyskills'),400,'dispt1');
            limitText(dojo.byId('description'),1300,'dispt2');

        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}

function showknowMeForm(){
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/knowMe.do",
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            dojo.byId('knowMeViewDiv').style.display='none';
            dojo.byId('knowMeFormDiv').innerHTML = data;
            dojo.byId('knowMeFormDiv').style.display='block'
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });



}
function showResumeForm(){
    dojo.xhrGet({
        url: "/mygenie/provider/profile/resume.do",
        preventCache:true,

        load: function (data) {
            dojo.byId('ResumeViewDiv').style.display='none';
            dojo.byId('ResumeFormDiv').innerHTML = data;
            dojo.byId('ResumeFormDiv').style.display='block'
        },

        error: function (data) {
           console.error('Error: ', data);

        }
    });
}

function showWorkingsummaryForm(formid,viewid,id){


    if(dojo.byId('worksummary')!=null){
        var iden=dojo.byId('wfid').value;

        if(iden!=""){
            cancel('form'+iden,'view'+iden);
        }else{
            cancel('workingFormDiv','workingViewDiv');
        }
        
    }
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/workSummary.do?id="+id,

        headers: {
            "Content-Type": "text/html",
            "Content-Encoding": "ISO-8859-1",
            "X-Method-Override": "FANCY-GET"
            
        },
        preventCache:true,
        // Called when the page loaded successfully
        sync:true,
        load: function (data) {
            //  dojo.byId('workingViewDiv').style.display='none';
            //dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='workfocus';
            }
            limitText(dojo.byId('ksklls'),250,'dispt3');
            limitText(dojo.byId('descptn'),250,'dispt4');
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}
function saveknowMe(){
    var error= validateForm_knowMe();
    if(!error){
        return;
    }
    dojo.byId('knowMeFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/knowMeSave.do",
        mimetype: "text/html",
        preventCache:true,

        headers:        {
            "Accept" : "text/javascript"
        },

        load: function(response, ioArgs){


            dojo.byId('knowMeViewDiv').innerHTML = response;
            dojo.byId('knowMeViewDiv').style.display='block'
            getProfileCompleted();
            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('knowMeViewDiv').style.display='block'
            dojo.byId("knowMeViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"knowMe"
    });
}

function saveWorkProfile(id){
    var error= validateForm_worksummary();
    if(!error){
        return;
    }
    dojo.byId('workingFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/workSummarySave.do?id="+id,
        mimetype: "text/html",
        preventCache:true,

        headers:        {
            "Accept" : "text/javascript"
        },

        load: function(response, ioArgs){

            
            dojo.byId('workingViewDiv').innerHTML = response;
            dojo.byId('workingViewDiv').style.display='block'
            getProfileCompleted();
            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"worksummary"
    });

}
function showEducationForm(formid,viewid,id){
    if(dojo.byId('education')!=null){
        var iden=dojo.byId('eid').value;

        if(iden!=""){
            cancel('eform'+iden,'eview'+iden);
        }else{
            cancel('educationFormDiv','eductionViewDiv');
        }

    }

    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/educationDetails.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //  dojo.byId('eductionViewDiv').style.display='none';
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{

                window.location.hash='edufocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });

}

function saveEducationProfile(id){
    var error=validateForm_education();
    if(!error){
        return;
    }
    dojo.byId('educationFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/educationDetailsSave.do?id="+id,
        mimetype: "text/html",
        preventCache:true,


        load: function(response, ioArgs){

            
            dojo.byId('eductionViewDiv').innerHTML = response;
            dojo.byId('eductionViewDiv').style.display='block'
            getProfileCompleted();

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"education"
    });

}





function showWorkPermitForm(formid,viewid,id){
    if(dojo.byId('visa')!=null){
        var iden=dojo.byId('vid').value;

        if(iden!=""){
            cancel('visaform'+iden,'visaview'+iden);
        }else{
            cancel('workPermitFormDiv','workPermitViewDiv');
        }

    }


    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/workPermitDetails.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //  dojo.byId('workPermitViewDiv').style.display='none';
            
            dojo.byId(formid).innerHTML = data;

            //tempTest();
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='visafocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });

}
function saveWorkPermit(id){
    var error=validateForm_visa();
    if(!error){
        return;
    }
    dojo.byId('workPermitFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/workPermitDetailsSave.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            
            dojo.byId('workPermitViewDiv').innerHTML = response;
            dojo.byId('workPermitViewDiv').style.display='block'

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"visa"
    });

}




function showSpecializedTrainingForm(formid,viewid,id){
    if(dojo.byId('training')!=null){
        var iden=dojo.byId('trid').value;

        if(iden!=""){
            cancel('trainform'+iden,'trainview'+iden);
        }else{
            cancel('trainingFormDiv','trainingViewDiv');
        }

    }

    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/specializedTraining.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //  dojo.byId('trainingViewDiv').style.display='none';
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='trainingfocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });

}

function saveSpecializedTraining(id){
    var error=validateForm_training();
    if(!error){
        return;
    }
    dojo.byId('trainingFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/specializedTrainingSave.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            
            dojo.byId('trainingViewDiv').innerHTML = response;
            dojo.byId('trainingViewDiv').style.display='block'

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"training"
    });

}





function showIndustryAssociationForm(formid,viewid,id) {
    if(dojo.byId('association')!=null){
        var iden=dojo.byId('associd').value;

        if(iden!=""){
            cancel('assoform'+iden,'assoview'+iden);
        }else{
            cancel('associationFormDiv','associationViewDiv');
        }

    }
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/industryAssociation.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //   dojo.byId('associationViewDiv').style.display='none';
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='associationfocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });

}
function saveIndustryAssociation(id){
    var error=validateForm_association();
    if(!error){
        return ;
    }
    dojo.byId('associationFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/industryAssociationSave.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            
            dojo.byId('associationViewDiv').innerHTML = response;
            dojo.byId('associationViewDiv').style.display='block'
            getProfileCompleted();

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"association"
    });

}



function showCertificationForm(formid,viewid,id){
    if(dojo.byId('certification')!=null){
        var iden=dojo.byId('certid').value;

        if(iden!=""){
            cancel('certform'+iden,'certview'+iden);
        }else{
            cancel('cirtificationFormDiv','cirtificationViewDiv');
        }

    }
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/certification.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //   dojo.byId('cirtificationViewDiv').style.display='none';
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='certificationfocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}

function saveCertification(id){
    var error=validateForm_certifications();
   
    if(!error){
        return ;
    }
    dojo.byId('cirtificationFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/certificationSave.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            
            dojo.byId('cirtificationViewDiv').innerHTML = response;
            dojo.byId('cirtificationViewDiv').style.display='block'
            getProfileCompleted();

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"certification"
    });

}

function showAcheivementsForm(formid,viewid,id){
    if(dojo.byId('acheivement')!=null){
        var iden=dojo.byId('achid').value;

        if(iden!=""){
            cancel('achform'+iden,'achview'+iden);
        }else{
            cancel('achivementsFormDiv','achivementsViewDiv');
        }

    }
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/acheivements.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            //   dojo.byId('achivementsViewDiv').style.display='none';
            dojo.byId(formid).innerHTML = data;
            dojo.byId(formid).style.display='block'
            if(id!='new'){
                dojo.byId(viewid).style.display='none'
            }else{
                window.location.hash='achievmentfocus';
            }
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}

function saveAcheivments(id){
    var error=validateForm_acheivement();
    if(!error){
        return  ;
    }
    dojo.byId('achivementsFormDiv').style.display='none';
    dojo.xhrPost({
        url: "/mygenie/provider/profile/acheivementsSave.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            
            dojo.byId('achivementsViewDiv').innerHTML = response;
            dojo.byId('achivementsViewDiv').style.display='block'
            getProfileCompleted();

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('workingViewDiv').style.display='block'
            dojo.byId("workingViewDiv").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"acheivement"
    });

}

function validate(frm){
    validateForm_saveProvider();
    validateInput_consultat_confirmpasswordd()
    checkAvailability(frm);
    checkEmailAvailability(frm);
}




function personalInfoForm(id){
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/personalInformation.do?id="+id,
        preventCache:true,

        // Called when the page loaded successfully

        load: function (data) {
            dojo.byId('personalView').style.display='none';
            dojo.byId('personalForm').innerHTML = data;
            dojo.byId('personalForm').style.display='block'
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}


function updatePersonalDetails(id){
    var error=validateForm_personal();
    if(!error){
        return ;
    }

    dojo.xhrPost({
        url: "/mygenie/provider/profile/personalInformationUpdate.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            dojo.byId('personalForm').style.display='none';
            dojo.byId('personalView').innerHTML = response;
            dojo.byId('personalView').style.display='block'

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('personalView').style.display='block'
            dojo.byId("personalView").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"personal"
    });

}



function addressForm(id){
    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/addressInformation.do?id="+id,
        preventCache:true,
        // Called when the page loaded successfully

        load: function (data) {
            dojo.byId('addressView').style.display='none';
            dojo.byId('addressForm').innerHTML = data;
            dojo.byId('addressForm').style.display='block'
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });


}

function upAddressDetails(id){
    var error=validateForm_address();
    if(!error){
        return ;
    }
    dojo.xhrPost({
        url: "/mygenie/provider/profile/addressInformationUpdate.do?id="+id,
        mimetype: "text/html",


        load: function(response, ioArgs){

            dojo.byId('addressForm').style.display='none';
            dojo.byId('addressView').innerHTML = response;
            dojo.byId('addressView').style.display='block'

            return response;
        },
        error: function(response, ioArgs){
            dojo.byId('addressView').style.display='block'
            dojo.byId("addressView").innerHTML =
            "An error occurred, with response: " + response;

            return response;
        },


        form:"address"
    });

}
function showBriefcaseForm(id,myURL,open,close){


    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: myURL+id,
        preventCache:true,

        // Called when the page loaded successfully

        load: function (data) {

            dojo.byId(open).innerHTML = data;
           

            dojo.byId(open).style.display='block'
            dojo.byId(close).style.display='none';
      
            limitText(dojo.byId('titl'),50,'dispt1');
            limitText(dojo.byId('desc'),250,'dispt2');
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });
}

function removeElement(id,open,myURL){


    var chek=confirm("Are you sure ?")

    if(chek){
        dojo.xhrGet ({
            // Location of the action content we want to grab
            url: myURL+id,

            // Called when the page loaded successfully
            preventCache:true,
            load: function (data) {

                dojo.byId(open).innerHTML = data;

                dojo.byId(open).style.display='block'
                getProfileCompleted();
                updateProfileRating();
            },

            // Called if there was an error (such as a 404 response)
            error: function (data) {
                console.error('Error: ', data);

            }
        });

    }else{
        return;
    }



}


function sendFeedbackRequest(formId,divId1,divId2){
    var error = false;
    var error1 = false;
    var error2 = false;

    error=validate_byerEmail(formId,divId2);
    error1=validate_byerName(formId,divId2);
    error2=validate_requestMattere(formId,divId2);


    if(error || error1 || error2){
        return ;
    }

    dojo.xhrPost({
        url: "/mygenie/provider/profile/requestFeedBack.do",
        mimetype: "text/html",


        load: function(response, ioArgs){
            var frmid=dojo.byId(formId);
            frmid[0].value="";
            frmid[1].value="";
            frmid[2].value="";
            alert("Request Feedback Sent");
            dojo.byId(divId1).style.display='none';
            return response;
        },
        error: function(response, ioArgs){
            dojo.byId(divId1).style.display='block'
            alert("Your Session has expired. Please login again.");
            window.open('myprofile.do', '_self');

            return response;
        },


        form:formId
    });


}
function  checkEmailAvailability(field){
 
    var fieldval =  field.elements['consultat.email'].value;
    var error = "Invalid Email.";
    fieldgo= document.getElementById('go')

    if (form.elements['consultat.email'])
    {
        clearErrorMessages(field.elements['consultat.email']);
        if (fieldval ==''|| fieldval.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi)==null)
        {
            addError(field.elements['consultat.email'], error);
            errors = true;
        }else{
            var response= service.checkEmailAvailability(fieldval);

            target=field;


            response.addCallback(handleEmailavailablity);


        }
    }
}
var handleEmailavailablity = function(result){
    clearErrorMessages(target.elements['consultat.email']);
    fieldgo= document.getElementById('go')

    if (target.elements['consultat.email']) {
        field = target.elements['consultat.email'];

        var error = "Not Available.";
        if (!result) {


            addError(field, error);

            errors = true;
        }else{

            availabilityCheck(field,'Available');

            errors=false;
        }
    }
 
};
function checkAvailability(field){
  
    var fieldval =  field.elements['consultat.username'].value;
    var error = "Invalid Username.";
    fieldgo= document.getElementById('go')
    if(fieldval.length<=4) {
        error="Minimum 4 characters."
    }
    if (form.elements['consultat.username'])
    {
        clearErrorMessages(field.elements['consultat.username']);
        if (fieldval == '' || !fieldval.match("^[a-zA-Z][A-Za-z0-9\\.\\@\\*\\#\\%\\_\\-]{3,15}$"))
        {
            error="Allowed : Minimum 4 alphabets, numbers, @-*_#.%"
            addError(field.elements['consultat.username'], error);
             
            errors = true;

        }else{
         
            var response= service.checkAvailability(fieldval);
        
            target=field;
 
            response.addCallback(handleavailablity);
            
        }
    }
}
var handleavailablity = function(result){
    clearErrorMessages(target.elements['consultat.username']);
    fieldgo= document.getElementById('go')
    
    if (target.elements['consultat.username']) {
        field = target.elements['consultat.username'];

        var error = "Not Available.";
        if (!result) {
      
            
            addError(field, error);
            
            errors = true;
        }else{
            
            availabilityCheck(field,'Available');
            errors=false;
        }
    }



};
function key_pressed(e) {
    var evt = typeof window.event != 'undefined' ? window.event : e;
    var val = evt.charCode;
    var passfield = form.elements['consultat.confirmpassword'];
    if (evt.ctrlKey && val == 118) {
        passfield.value="";
        return;
    }
}
function validateInput_consultat_confirmpasswordd(){
    if (form.elements['consultat.confirmPassword']) {
        var field = form.elements['consultat.confirmPassword'];
        var passfield = form.elements['consultat.password'];

        clearErrorMessages(field);
        var error;
        if (field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
            error = "Confirm Password Required.";
            addError(field, error);
            errors = true;
        }else if(field.value != null && (field.value == "" || field.value!=passfield.value)){

          error = "Password and Confirm Password should be same";
            addError(field, error);
            errors = true;
        }else
        {
            addRight(field);
        }
    }



}

function taglineEdit() {
    dojo.byId('talgline').style.display='block'
    dojo.byId('mytagline').value=dojo.byId('tagcontent').innerHTML;
}


function savetagline(){
    var value=dojo.byId('mytagline').value;

    var response= service.saveTagling(value);
    response.addCallback(taglineResult);
    dojo.byId('talgline').style.display='none';
}

var taglineResult = function(tagline) {
    if(tagline=='noSession'){
        alert("Your Session has been expired Press ok to login")
        window.open('myprofile.do', '_self');
    }
    dojo.byId('tagcontent').innerHTML=tagline;
};




function getFunctions(industry,functions){
    var indid = dojo.byId(industry).value;
    target=functions;
   
    if(indid==0){

        clearSelectBox(functions);
        defaultSelectOption(functions,'0','Invalid Selection');
       
    }else{
        var response=service.getFunctions(indid);
        clearSelectBox(functions);
        defaultSelectOption(functions,'0','Loading...');
        response.addCallback(functionList);
    }
   
}
var functionList=function(flist){

    populateSelect(flist,target);

};

function getSubfunctions(functions,subfunctions){
    var fid = dojo.byId(functions).value;
    target=subfunctions;
    if(fid==0){
        clearSelectBox(subfunctions);
        defaultSelectOption(subfunctions,'0','Invalid Selection');
    }else{
        var response = service.getSubFunctions(fid);
        clearSelectBox(subfunctions);
        defaultSelectOption(subfunctions,'0','Loading...');
        response.addCallback(subfunctionList);
    }
   
}
var subfunctionList= function(sflist){
    populateSelect(sflist,target);
};

function changePassword(oldPasswordTextBox,newPasswordTextBox,confirmnewPasswordTextBox,targetDiv){
    var oldPassword = dojo.byId(oldPasswordTextBox).value;
    var newPassword = dojo.byId(newPasswordTextBox).value;
    var conPassword = dojo.byId(confirmnewPasswordTextBox).value;
    dojo.byId(oldPasswordTextBox).value="";
    dojo.byId(newPasswordTextBox).value="";
    dojo.byId(confirmnewPasswordTextBox).value="";
    if(oldPassword==''){
        alert('Old Password should not be Blank');
        return;
    }
    if(newPassword == ''){
        alert('New Password should not be Blank');
        return;
    }
    if(conPassword!=newPassword) {
        alert('New Password and confirm password should be same');
        return;
    }
    target=targetDiv;
    var response = service.changePassword(oldPassword,newPassword);
    response.addCallback(handleResponse);

}
var handleResponse=function(result){
    if(result=='noSession'){
        alert("Your Session has been expired Press ok to login")
        window.open('mysettings.do', '_self');
    }
    if(result=='success')  {
        alert("Password Changed Successfully");
        dojo.byId(target).style.display='none';

    }else if(result=='invalid'){
        alert("Invalid Old Password");
    }
};
function updatStatus(empHistoryDiv,statusDisp,checkBoxStatus){
    if(dojo.byId(statusDisp).value=='true')    {
        dojo.byId(checkBoxStatus).checked=true;
    }else{
        dojo.byId(checkBoxStatus).checked=false;
    }
    dojo.byId(empHistoryDiv).style.display='block';
}


function changeEmploymentHistoryStatus(chekboxId,targetDiv,statusDisp,hiddn){
    var status = dojo.byId(chekboxId).checked;
 
    target=targetDiv;
    if(status){
        dojo.byId(statusDisp).innerHTML='Yes';
        
        dojo.byId(hiddn).value="true";

    }else{
        dojo.byId(statusDisp).innerHTML='No';
        dojo.byId(hiddn).value="false";
       
    }
   
    var response = service.showHideEmploymentHistory(status);
    response.addCallback(handleStatusResponse);
}
var handleStatusResponse=function(result){
   
    if(result=='noSession'){
        alert("Your Session has been expired Press ok to login")
        window.open('mysettings.do', '_self');
    }
    dojo.byId(target).style.display='none';

};

function changeAvailabilityStatus(chekboxId,targetDiv,statusDisp,availhidn){
    var status = dojo.byId(chekboxId).checked;
    target=targetDiv;
    if(status){
        dojo.byId(statusDisp).innerHTML='Yes';
        dojo.byId(availhidn).value='true';
    }else{
        dojo.byId(statusDisp).innerHTML='No';
        dojo.byId(availhidn).value='false';
    }
    var response = service.updateAvailability(status);
    response.addCallback(handleAvailabilityStatusResponse);
}
var handleAvailabilityStatusResponse=function(result){

    if(result=='noSession'){
        alert("Your Session has been expired Press ok to login")
        window.open('mysettings.do', '_self');
    }
    dojo.byId(target).style.display='none';

};

function checkResumeUpload() {
 
    return false;
}




function updateProfileRating(){

    var response = service.getProfileRating();
    response.addCallback(handleUpdateRating);

}
var handleUpdateRating=function(result){
    dojo.byId('profilerating').innerHTML=result;

};
//function sendFeedbackRequest(formId,divId1,divId2){
//
//    var form=dojo.byId(formId)
//    var response = service.sendFeedbackRequest(form[0].value,form[1].value,form[2].value);
//    dojo.byId(divId1).innerHTML="Processing...";
//    dojo.byId(divId2).innerHTML="Request Pending";
//    target=divId1;
//    response.addCallback(handleFeedbackResponse);
//}
//var handleFeedbackResponse=function(result){
//    dojo.byId(target).style.display='none';
//
//
//};






function getProfileCompleted(){


    dojo.xhrGet ({
        // Location of the action content we want to grab
        url: "/mygenie/provider/profile/profilecompleted.do",

        // Called when the page loaded successfully

        load: function (data) {

            dojo.byId('pc').innerHTML=data;
        },

        // Called if there was an error (such as a 404 response)
        error: function (data) {
            console.error('Error: ', data);

        }
    });
}






function cancel(id1,id2){
 
    dojo.byId(id1).innerHTML="";
    dojo.byId(id1).style.display='none';
    dojo.byId(id2).style.display='block';
}
function show(id) {

    dojo.byId(id).style.display='block';
}
function hide(id) {
    dojo.byId(id).style.display='none';
}

function populateSelect(list,target)
{
    var selectbox = dojo.byId(target);
    clearSelectBox(target);
    defaultSelectOption(target,'0','Select');
    for(var j=0;j<list.length;j=j+1){
        var optn = document.createElement("OPTION");
        optn.text=list[j].name;
        optn.value=list[j].id;
        selectbox.options.add(optn);

    }

}
function clearSelectBox(target){
    var selectbox = dojo.byId(target);
    for(var i=selectbox.options.length;i>=0;i=i-1){

        selectbox.remove(i);
    }
}

function defaultSelectOption(target,value,text){

    var selectbox = dojo.byId(target);
    var optn = document.createElement("OPTION");
    optn.text=text;
    optn.value=value;
    selectbox.options.add(optn);

}
function limitNum(limitField,limitNum){
    if (limitField.value.length > limitNum) {
        var val = limitField.value.substring(0, limitNum);
         
        limitField.value=val;
        alert('Maximum billing rate Rs. 99,999')
        return ;
    }

}



function limitText(limitField, limitNum, target) {
    //limitField = document.getElementById(limitFieldId);
    textValue = updateSpaceForFirefox(limitField.value);
    var val = textValue.substring(0, limitNum);
    var reming=parseInt(limitNum)-parseInt(textValue.length)

    if (textValue.length > limitNum) {
        reming=1;
        limitField.value=val;
        limitField.blur();
        return ;
    }
    document.getElementById(target).innerHTML=reming;
}

function activateElement(id1,id2){
    var val=dojo.byId(id2).value;
    if(val=='Other'){
        dojo.byId(id1).disabled=false;
    }else{
        dojo.byId(id1).disabled=true;
    }
}
function openclose(divId,img){
 
    var section = dojo.byId(divId);
    if(section.style.display=='none'){
        var myImageOpen = new Image();
        myImageOpen.src="/images/arrow_menu2.jpg";
        section.style.display='block';
        dojo.byId(img).src=myImageOpen.src;
    }else{
        var myImageClose = new Image();
        myImageClose.src="/images/arrow_menu1.jpg";
        dojo.byId(img).src=myImageClose.src;
        section.style.display='none';
    }
}

/*function keywords(){
    dojo.byId('keywords').readOnly=false;
    if(dojo.byId('keywords').value == "Comma seperated Max(10)"){
        dojo.byId('keywords').value="";
    }
    dojo.byId('keywords').focus();
    target=dojo.byId('keywords').value;

}

function cancelkeyword(){
    if(dojo.byId('keywords').readOnly){
        dojo.byId('keywords').focus();
        return;
    }
    dojo.byId('keywords').value=target;
    dojo.byId('keywords').readOnly=true;


    dojo.byId('keywords').focus();

}


function saveKeyword(){
    var val=dojo.byId('keywords').value;
   
    target=dojo.byId('keywords').value;
    if(!dojo.byId('keywords').readOnly){
        var response = service.saveKeywords(val);
        response.addCallback(handleKeywordResponse);
    }

    dojo.byId('keywords').focus();
}

var handleKeywordResponse=function(result){

    if(result.split("-")[0]=='filled'){
        alert("Top 10 keywords has been saved");
        dojo.byId('keywords').value=result.split("-")[1];
    }else{
        dojo.byId('keywords').value=result;
    }

    dojo.byId('keywords').readOnly=true;

    dojo.byId('keywords').focus();

};*/

function check(frm){
    validateForm_saveProvider();
    var fieldval =  frm.elements['consultat.username'].value;
    var error="Enter User Id"
    field=frm.elements['consultat.username'];
    fieldgo= document.getElementById('go')

    if(fieldval==''){

        clearErrorMessages(field);
        addError(field, error);
        errors = true;
        fieldgo.disabled=true;
        field.focus();
    }

}

//Request Feedback validation stuff
//Request Feedback validation stuff

function validate_byerEmail(frm,id){
    var errors=false;
    var form=dojo.byId(frm);

    var error ;
    if (form.elements['buyerEmalil']) {
        field = form.elements['buyerEmalil'];
        fieldval=field.value;
        clearErrorMessages(field);
        error = "Invalid";
        if (fieldval ==''|| fieldval.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi)==null) {
            dojo.byId('erorEmailMesg'+id).innerHTML=error;
            dojo.byId('errEmaiDiv'+id).style.display='block'
            errors = true;
        }else{
            dojo.byId('erorEmailMesg'+id).innerHTML="";
            dojo.byId('errEmaiDiv'+id).style.display='none'
        }
    }
    return errors;
}
function validate_byerName(frm,id){

    var form=dojo.byId(frm);
    var errors=false;
    var error ;
    if (form.elements['buyerName']) {
        field = form.elements['buyerName'];
        fieldval=field.value;
        clearErrorMessages(field);
        error = "Required";
        if (fieldval == ""||fieldval.match("^[\\ ]+")) {
            dojo.byId('erorNameMesg'+id).innerHTML=error;
            dojo.byId('errNameDiv'+id).style.display='block'
            errors = true;
        }else{
            dojo.byId('erorNameMesg'+id).innerHTML="";
            dojo.byId('errNameDiv'+id).style.display='none'
        }
    }
    return errors;
}
function validate_requestMattere(frm,id){

    var form=dojo.byId(frm);
    var errors=false;
    var error ;
    if (form.elements['requestMatter']) {
        field = form.elements['requestMatter'];
        fieldval=field.value;
        clearErrorMessages(field);
        error = "Required";
        if (fieldval == "") {
            dojo.byId('erorMatterMesg'+id).innerHTML=error;
            dojo.byId('errMatterDiv'+id).style.display='block'
            errors = true;
        }else{
            dojo.byId('erorMatterMesg'+id).innerHTML="";
            dojo.byId('errMatterDiv'+id).style.display='none'
        }
    }
    return errors;
}




// Profile Validation stuff

//Professional Summary

function validateInput_profile_bilingRating() {
    form = document.getElementById("professionalSummarySave");
    var error ;
    if (form.elements['profile.bilingRating']) {
        field = form.elements['profile.bilingRating'];
        clearErrorMessages(field);
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9]+[\\.]{0,1}[0-9]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}

function validateInput_profile_annualIncome() {
    form = document.getElementById("professionalSummarySave");
    var error;
    if (form.elements['profile.annualIncome']) {
        field = form.elements['profile.annualIncome'];
        clearErrorMessages(field);
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}




// field name: profile.keyskills
// validator name: regex
function validateInput_profile_keyskills() {
    form = document.getElementById("professionalSummarySave");
    var error ;
    if (form.elements['profile.keyskills']) {
        field = form.elements['profile.keyskills'];
        clearErrorMessages(field);
        error = "Invalid";
        if (field.value=="") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['profile.keyskills'],400,'dispt1');
        }
    }
    return !errors;
}

// field name: profile.description
// validator name: regex
function validateInput_profile_description() {
    form = document.getElementById("professionalSummarySave");
    if (form.elements['profile.description']) {
        field = form.elements['profile.description'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value=="") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['profile.description'],1300,'dispt2');
        }
    }
    return !errors;
}


function validateForm_professionalSummarySave() {

    form = document.getElementById("professionalSummarySave");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: profile.bilingRating
    // validator name: regex
    if (form.elements['profile.bilingRating']) {
        field = form.elements['profile.bilingRating'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9]+[\\.]{0,1}[0-9]+$")) {
            addError(field, error);
            errors = true;
        }else{


    }
    }


    if (form.elements['profile.annualIncome']) {
        field = form.elements['profile.annualIncome'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }



    // field name: profile.keyskills
    // validator name: regex
    if (form.elements['profile.keyskills']) {
        field = form.elements['profile.keyskills'];
        error = "Invalid";
        if (field.value=="") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['profile.keyskills'],400,'dispt1');
        }
    }
    // field name: profile.description
    // validator name: regex
    if (form.elements['profile.description']) {
        field = form.elements['profile.description'];
        error = "Invalid";
        if (field.value=="") {

            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['profile.description'],1300,'dispt2');
        }
    }

    return !errors;
}

function validateInput_screening_question1() {
    var errors;
    form = document.getElementById("knowMe");
    if (form.elements['screening.question1']) {
        field = form.elements['screening.question1'];
        clearErrorMessages(field);
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1000}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
}
// field name: screening.question2
// validator name: regex

function updateSpaceForFirefox(msg) {
    var browser=navigator.appName;
    if (browser == "Netscape") {
        msg = msg.replace(/\n/g,"\\r\n");
    }
    return msg;
}


function validateInput_screening_question2() {
    var errors;
    form = document.getElementById("knowMe");
    if (form.elements['screening.question2']) {
        field = form.elements['screening.question2'];
        clearErrorMessages(field);
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1000}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
}
// field name: screening.question3
// validator name: regex

function updateSpaceForFirefox(msg) {
    var browser=navigator.appName;
    if (browser == "Netscape") {
        msg = msg.replace(/\n/g,"\\r\n");
    }
    return msg;
}


function validateInput_screening_question3() {
    var errors = false;
    form = document.getElementById("knowMe");
    if (form.elements['screening.question3']) {
        field = form.elements['screening.question3'];
        clearErrorMessages(field);
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1000}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
}



function validateForm_knowMe() {


    form = document.getElementById("knowMe");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: screening.question1
    // validator name: regex
    if (form.elements['screening.question1']) {
        field = form.elements['screening.question1'];
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1020}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    // field name: screening.question2
    // validator name: regex
    if (form.elements['screening.question2']) {
        field = form.elements['screening.question2'];
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1020}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    // field name: screening.question3
    // validator name: regex
    if (form.elements['screening.question3']) {
        field = form.elements['screening.question3'];
        var error = "Invalid";
        fieldVal = updateSpaceForFirefox(field.value)
        if (fieldVal != null && !fieldVal.match("^[\\s\\S]{1,1020}$")) {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }

    return !errors;
}
function validateForm_ResumeSave(){
    form = document.getElementById("resumeSave");
                clearErrorMessages(form);
                clearErrorLabels(form);
                var errors = false;
                if (form.elements['resume']) {
        var strExtn = form.elements['resume'].value.substr(form.elements['resume'].value.lastIndexOf(".")+1,form.elements['resume'].value.length);

        field = form.elements['resume'];
        var error = "Select resume";

        if(strExtn=="jsp"||strExtn=="html"){
            alert("Invalid file type");
            errors = true;
        }
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
    }
// Work Profile validations

// field name: workprofile.employeer
// validator name: regex
function validateInput_workprofile_employeer() {
    var errors = false;
    form = document.getElementById("worksummary");
    if (form.elements['workprofile.employeer']) {
        field = form.elements['workprofile.employeer'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: workprofile.roleInCompany
// validator name: regex
function validateInput_workprofile_roleInCompany() {
    var errors = false;
    form = document.getElementById("worksummary");
    if (form.elements['workprofile.roleInCompany']) {
        field = form.elements['workprofile.roleInCompany'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: workprofile.workskills
// validator name: requiredstring
function validateInput_workprofile_workskills() {
    var errors = false;
    form = document.getElementById("worksummary");
    if (form.elements['workprofile.workskills']) {
        field = form.elements['workprofile.workskills'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['workprofile.workskills'],255,'dispt3');
        }

    }
    return !errors;
}
// field name: workprofile.workDescription
// validator name: requiredstring
function validateInput_workprofile_workDescription() {
    var errors = false;
    form = document.getElementById("worksummary");
    if (form.elements['workprofile.workDescription']) {
        field = form.elements['workprofile.workDescription'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['workprofile.workDescription'],255,'dispt4');

        }

    }
    return !errors;
}

function validateForm_worksummary() {
    form = document.getElementById("worksummary");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
  

    if (form.elements['inid']) {
   
        field = form.elements['inid'];
        error = "Invalid";
        if (field.value == 0) {
           
            document.getElementById('indError').style.display='block'
        }else{
            document.getElementById('indError').style.display='none'
        }

    }

    if (form.elements['funid']) {

        field = form.elements['funid'];
        error = "Invalid";
        if (field.value == 0) {

            document.getElementById('catError').style.display='block'
        }else{
            document.getElementById('catError').style.display='none'
        }

    }
    if (form.elements['subfunc']) {

        field = form.elements['subfunc'];
        error = "Invalid";
        if (field.value == 0) {

            document.getElementById('subError').style.display='block'
        }else{
            document.getElementById('subError').style.display='none'
        }

    }
    errors=validateFromDate('workprofile.fromMonth','workprofile.fromYear','wmessageFromdateId','wmessageToDateId');
    errors=validateToDate('workprofile.fromMonth','workprofile.fromYear','workprofile.toMonth','workprofile.toYear','wmessageToDateId');


     
    // field name: workprofile.employeer
    // validator name: regex
    if (form.elements['workprofile.employeer']) {
        field = form.elements['workprofile.employeer'];
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }


    // field name: workprofile.roleInCompany
    // validator name: regex
    if (form.elements['workprofile.roleInCompany']) {
        field = form.elements['workprofile.roleInCompany'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: workprofile.workskills
    // validator name: requiredstring
    if (form.elements['workprofile.workskills']) {
        field = form.elements['workprofile.workskills'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: workprofile.workDescription
    // validator name: requiredstring
    if (form.elements['workprofile.workDescription']) {
        field = form.elements['workprofile.workDescription'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: workprofile.workDescription
    // validator name: requiredstring
    if (form.elements['workprofile.industry']||form.elements['workprofile.functionn']||form.elements['workprofile.subfunction']) {
        field1 = form.elements['workprofile.industry'];
        field2 = form.elements['workprofile.functionn'];
        field3 = form.elements['workprofile.subfunction'];
        error = "Invalid";
        if (field1.value=="0"||field2.value=="0"||field3.value=="0") {

            errors = true;
        }else{

    }
    }


    return !errors;
}

// Education Validation stuff


// field name: education.institute
// validator name: regex
function validateInput_education_institute() {
    form = document.getElementById("education");
    var errors = false;
    if (form.elements['education.institute']) {
        field = form.elements['education.institute'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}



// field name: education.specilatzation
// validator name: regex
function validateInput_education_specilatzation() {
    form = document.getElementById("education");
    var errors = false;
    if (form.elements['education.specilatzation']) {
        field = form.elements['education.specilatzation'];
        clearErrorMessages(field);
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: education.city
// validator name: regex
function validateInput_education_city() {
    form = document.getElementById("education");
    var errors = false;
    if (form.elements['education.city']) {
        field = form.elements['education.city'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
function validateForm_education() {
    form = document.getElementById("education");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: education.institute
    // validator name: regex
    if (form.elements['education.institute']) {
        field = form.elements['education.institute'];
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: education.specilatzation
    // validator name: regex
    if (form.elements['education.specilatzation']) {
        field = form.elements['education.specilatzation'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }

    errors=validateFromDate('education.graduationFromMonth','education.graduationFromYear','amessageFromdateId','amessageToDateId');
    errors=validateToDate('education.graduationFromMonth','education.graduationFromYear','education.graduationToMonth','education.graduationToYear','amessageToDateId');
    // field name: education.city
    // validator name: regex
    if (form.elements['education.city']) {
        field = form.elements['education.city'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    if (form.elements['education.degree']) {
        field = form.elements['education.degree'];
        error = "Invalid";
        if (field.value=='Select') {
            dojo.byId('edumessageId').style.display='block';
            errors = true;
        }else{
            dojo.byId('edumessageId').style.display='none';
        }
    }


    return !errors;
}

//Visa Validation stuff
// field name: visa.visaTilldate
// validator name: regex
function validateInput_visa_visaTilldate() {
    form = document.getElementById("visa");
    var errors = false;
    if (form.elements['visa.visaTilldate']) {
        field = form.elements['visa.visaTilldate'];
        clearErrorMessages(field);
        var error = "Invalid date (mm/dd/yyyy)";
        if (field.value != null && !field.value.match("^(((0?[1-9]|1[012])/(0?[1-9]|1\\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\\d)\\d{2}|0?2/29/((19|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$")) {
            addError(field, error);
            errors = true;
        }if (field.value == ""){
            clearErrorMessages(field);
            addError(field, error);
            errors = true;
        }
        else{

    }
    }
    return !errors;
}

function validateForm_visa() {
    form = document.getElementById("visa");
    var errors = false;
    clearErrorMessages(form);
    if (form.elements['visa.visaTilldate']) {
        field = form.elements['visa.visaTilldate'];
        clearErrorMessages(field);
        var error = "Invalid date (mm/dd/yyyy)";
        if (field.value != null && !field.value.match("^(((0?[1-9]|1[012])/(0?[1-9]|1\\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\\d)\\d{2}|0?2/29/((19|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$")) {
            addError(field, error);
            errors = true;
        }if (field.value == ""){
            clearErrorMessages(field);
            addError(field, error);
            errors = true;
        }
        else{

    }
    }
    return !errors;
}

//Specialized Training validation

// field name: training.trainedIn
// validator name: required
function validateInput_training_trainedIn() {
    form = document.getElementById("training");
    var errors = false;
    if (form.elements['training.trainedIn']) {
        field = form.elements['training.trainedIn'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""|| !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: training.trainingInstitute
// validator name: required
function validateInput_training_trainingInstitute() {
    form = document.getElementById("training");
    var errors = false;
    if (form.elements['training.trainingInstitute']) {
        field = form.elements['training.trainingInstitute'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""|| !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: training.trainingLocation
// validator name: required
function validateInput_training_trainingLocation() {
    form = document.getElementById("training");
    var errors = false;
    if (form.elements['training.trainingLocation']) {
        field = form.elements['training.trainingLocation'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""||!field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
function validateForm_training() {
    form = document.getElementById("training");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: training.trainedIn
    // validator name: required
    if (form.elements['training.trainedIn']) {
        field = form.elements['training.trainedIn'];
        var error = "Invalid";
        if (field.value == ""||!field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    // field name: training.trainingInstitute
    // validator name: required
    if (form.elements['training.trainingInstitute']) {
        field = form.elements['training.trainingInstitute'];
        error = "Invalid";
        if (field.value == ""||!field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    errors = validateFromDate('training.trainingMonth','training.trainingYear','trmessageId','skip');
    // field name: training.trainingLocation
    // validator name: required
    if (form.elements['training.trainingLocation']) {
        field = form.elements['training.trainingLocation'];
        error = "Invalid";
        if (field.value == ""||!field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
   

    return !errors;
}
//Special achievement validationj
// field name: achievement.acheivments
// validator name: required
function validateInput_achievement_acheivments() {
    form = document.getElementById("acheivement");
    var errors = false;

    if (form.elements['achievement.acheivments']) {
        field = form.elements['achievement.acheivments'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['achievement.acheivments'],250,'dispt5');
        }
    }
    return !errors;
}

function validateForm_acheivement() {
    form = document.getElementById("acheivement");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: achievement.acheivments
    // validator name: required
    if (form.elements['achievement.acheivments']) {
        field = form.elements['achievement.acheivments'];
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['achievement.acheivments'],250,'dispt5');
        }
    }

    return !errors;
}

//Industry association validation stuff
// field name: association.association
// validator name: required
function validateInput_association_association() {
    form = document.getElementById("association");
    var errors = false;

    if (form.elements['association.association']) {
        field = form.elements['association.association'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "" || !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: association.associationRole
// validator name: required
function validateInput_association_associationRole() {
    form = document.getElementById("association");
    var errors = false;
    if (form.elements['association.associationRole']) {
        field = form.elements['association.associationRole'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""|| !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}

function validateForm_association() {
    form = document.getElementById("association");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: association.association
    // validator name: required
    if (form.elements['association.association']) {
        field = form.elements['association.association'];
        var error = "Invalid";
        if (field.value == "" || !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    errors = validateFromDate('association.sinceMonth','association.sinceYear','assomessageId','skip');
    // field name: association.associationRole
    // validator name: required
    if (form.elements['association.associationRole']) {
        field = form.elements['association.associationRole'];
        error = "Invalid";
        if (field.value == ""||!field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    


    return !errors;
}



// Cirtification Validation Stuff

// field name: certification.cirtificationName
// validator name: regex
function validateInput_certification_cirtificationName() {
    form = document.getElementById("certification");
    var errors = false;
    if (form.elements['certification.cirtificationName']) {
        field = form.elements['certification.cirtificationName'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: certification.cirtifier
// validator name: regex
function validateInput_certification_cirtifier() {
    form = document.getElementById("certification");
    var errors = false;
    if (form.elements['certification.cirtifier']) {
        field = form.elements['certification.cirtifier'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""|| !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: certification.certificationCode
// validator name: regex
function validateInput_certification_certificationCode() {
    form = document.getElementById("certification");
    var errors = false;
    if (form.elements['certification.certificationCode']) {
        field = form.elements['certification.certificationCode'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == ""|| !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: certification.score
// validator name: regex
function validateInput_certification_score() {
    form = document.getElementById("certification");
    var errors = false;
    if (form.elements['certification.score']) {
        field = form.elements['certification.score'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^100$|^\\s*(\\d{0,2})((\\.)(\\d*))?\\s*\\s*$")) {
            addError(field, error);
            errors = true;
        }if(field.value==""){
            clearErrorMessages(field);
            addError(field, error);
            errors = true;
        }

        else{

    }
    }
    return !errors;
}
function validateForm_certifications() {
    form = document.getElementById("certification");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: certification.cirtificationName
    // validator name: regex
    if (form.elements['certification.cirtificationName']) {
        field = form.elements['certification.cirtificationName'];
        var error = "Invalid";
        if (field.value == "Select") {
        
            dojo.byId('messageId').style.display='block';
            errors = true;
        }else{
            dojo.byId('messageId').style.display='none';
        }

    }
    errors = validateFromDate('certification.passingMonth','certification.passingYear','cermessageId','skip');
    // field name: certification.cirtifier
    // validator name: regex
    if (form.elements['certification.cirtifier']) {
        field = form.elements['certification.cirtifier'];
        error = "Invalid";
        if (field.value == "" || error==true || !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: certification.certificationCode
    // validator name: regex
    if (form.elements['certification.certificationCode']) {
        field = form.elements['certification.certificationCode'];
        error = "Invalid";
        if (field.value == "" || error==true || !field.value.match("^[a-zA-Z0-9][a-zA-Z0-9\\ \\\\]{1,100}$")) {
            addError(field, error);
            errors = true;
        }else{

    }

    }

    // field name: certification.score
    // validator name: regex
    if (form.elements['certification.score']) {
        field = form.elements['certification.score'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^100$|^\\s*(\\d{0,2})((\\.)(\\d*))?\\s*\\s*$") || error==true ) {
            addError(field, error);
            errors = true;
        }if(field.value=="" || error==true){
            clearErrorMessages(field);
            addError(field, error);
            errors = true;
        }
        else{

    }
    }

    return !errors;
}

// Personal information edit validation stuff
// field name: user.firstName
// validator name: regex
function validateInput_user_firstName() {
    form = document.getElementById("personal");
    var errors = false;
    if (form.elements['user.firstName']) {
        field = form.elements['user.firstName'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[a-zA-Z]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: user.lastName
// validator name: regex
function validateInput_user_lastName() {
    form = document.getElementById("personal");
    var errors = false;
    if (form.elements['user.lastName']) {
        field = form.elements['user.lastName'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[a-zA-Z]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: user.mobileNumber
// validator name: regex
function validateInput_user_mobileNumber() {
    form = document.getElementById("personal");
    var errors = false;
    if (form.elements['user.mobileNumber']) {
        field = form.elements['user.mobileNumber'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9\\\\.\\\\(\\\\)\\\\\\\\\\\\+\\\\-]{10,15}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: user.landlineNumber
// validator name: regex
function validateInput_user_landlineNumber() {
    form = document.getElementById("personal");
    if (form.elements['user.landlineNumber']) {
        field = form.elements['user.landlineNumber'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9.,'#-/+]+[0-9.,'#-/+\s]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}

function validateForm_personal() {
    form = document.getElementById("personal");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: user.firstName
    // validator name: regex
    if (form.elements['user.firstName']) {
        field = form.elements['user.firstName'];
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[a-zA-Z]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    // field name: user.lastName
    // validator name: regex
    if (form.elements['user.lastName']) {
        field = form.elements['user.lastName'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[a-zA-Z]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    // field name: user.mobileNumber
    // validator name: regex
    if (form.elements['user.mobileNumber']) {
        field = form.elements['user.mobileNumber'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9\\\\.\\\\(\\\\)\\\\\\\\\\\\+\\\\-]{10,15}$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    // field name: user.landlineNumber
    // validator name: regex
    if (form.elements['user.landlineNumber']) {
        field = form.elements['user.landlineNumber'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9.,'#-/+]+[0-9.,'#-/+\s]+$")) {
            addError(field, error);
            errors = true;
        }else{

    }
    }

    return !errors;
}

//Address Information Edit validation stuff


// field name: user.location.address1
// validator name: required
function validateInput_user_location_address1() {
    form = document.getElementById("address");
    var errors = false;

    if (form.elements['user.location.address1']) {
        field = form.elements['user.location.address1'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    return !errors;
}
// field name: user.location.city
// validator name: regex
function validateInput_user_location_city() {
    form = document.getElementById("address");
    var errors = false;

    if (form.elements['user.location.city']) {
        field = form.elements['user.location.city'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: user.location.province
// validator name: regex
function validateInput_user_location_province() {
    form = document.getElementById("address");
    var errors = false;

    if (form.elements['user.location.province']) {
        field = form.elements['user.location.province'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}
// field name: user.location.postalCode
// validator name: regex
function validateInput_user_location_postalCode() {
    form = document.getElementById("address");
    var errors = false;

    if (form.elements['user.location.postalCode']) {
        field = form.elements['user.location.postalCode'];
        clearErrorMessages(field);
        var error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9A-Za-z]{1,10}$"))  {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    return !errors;
}


function validateForm_address() {
    form = document.getElementById("address");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: user.location.address1
    // validator name: required
    if (form.elements['user.location.address1']) {
        field = form.elements['user.location.address1'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }
    }
    // field name: user.location.city
    // validator name: regex
    if (form.elements['user.location.city']) {
        field = form.elements['user.location.city'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: user.location.province
    // validator name: regex
    if (form.elements['user.location.province']) {
        field = form.elements['user.location.province'];
        error = "Invalid";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{

    }

    }
    // field name: user.location.postalCode
    // validator name: regex
    if (form.elements['user.location.postalCode']) {
        field = form.elements['user.location.postalCode'];
        error = "Invalid";
        if (field.value != null && !field.value.match("^[0-9A-Za-z]{1,10}$"))  {
            addError(field, error);
            errors = true;
        }else{

    }

    }

    return !errors;
}
//My Document validation struff

// field name: document.fileTitle
// validator name: required
function validateInput_document_fileTitle() {
    form = document.getElementById("savedocument");


    var errors = false;

    if (form.elements['document.fileTitle']) {
        field = form.elements['document.fileTitle'];
        clearErrorMessages(field);
        var error = "Title required";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['document.fileTitle'],50,'dispt1')
            addRight(field);
        }
    }
    return !errors;
}
// field name: myfile
// validator name: required
function validateInput_myfile() {
    form = document.getElementById("savedocument");


    var errors = false;

    if (form.elements['myfile']) {
        field = form.elements['myfile'];
        clearErrorMessages(field);
        var error = "Select file";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
}



function validateForm_savedocument() {
     
    form = document.getElementById("savedocument");
    clearErrorMessages(form);
    clearErrorLabels(form);

    var errors = false;
    // field name: document.fileTitle
    // validator name: required
    if (form.elements['document.fileTitle']) {
        field = form.elements['document.fileTitle'];
        var error = "Title required";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    // field name: myfile
    // validator name: required
    if (form.elements['myfile']) {
        var strExtn = form.elements['myfile'].value.substr(form.elements['myfile'].value.lastIndexOf(".")+1,form.elements['myfile'].value.length);
        field = form.elements['myfile'];
        var error = "Select file";

      
        if(strExtn=="jsp"||strExtn=="html"){
            alert("Invalid file type");
            errors=true;
        }
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    if(!errors){

        document.getElementById("documentFormDiv").style.display='none';
        document.getElementById("documentViewDiv").style.display='block';
    }

    return !errors;
}

//My Portfolio validation stuff
// field name: portfolio.fileTitle
// validator name: required
function validateInput_portfolio_fileTitle() {
    form = document.getElementById("saveprotfolio");
    var errors = false;

    if (form.elements['portfolio.fileTitle']) {
        field = form.elements['portfolio.fileTitle'];
        clearErrorMessages(field);
        var error = "Title required";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            limitText(form.elements['portfolio.fileTitle'],50,'dispt1');
            addRight(field);
            
        }
    }
    return !errors;
}
// field name: myfile
// validator name: required
function validateInput_myfile() {
    form = document.getElementById("saveprotfolio");
    var errors = false;

    if (form.elements['myfile']) {
        field = form.elements['myfile'];
        clearErrorMessages(field);
        var error = "Select file";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    return !errors;
}



function validateForm_saveprotfolio() {
    form = document.getElementById("saveprotfolio");
    clearErrorMessages(form);
    clearErrorLabels(form);



    var errors = false;
    // field name: portfolio.fileTitle
    // validator name: required
    if (form.elements['portfolio.fileTitle']) {
        field = form.elements['portfolio.fileTitle'];
        var error = "Title required";
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }
    // field name: myfile
    // validator name: required
    if (form.elements['myfile']) {
        var strExtn = form.elements['myfile'].value.substr(form.elements['myfile'].value.lastIndexOf(".")+1,form.elements['myfile'].value.length);
 
        field = form.elements['myfile'];
        var error = "Select file";
       
        if(strExtn=="jsp"||strExtn=="html"){
            alert("Invalid file type")
            errors = true;
        }
        if (field.value == "") {
            addError(field, error);
            errors = true;
        }else{
            addRight(field);
        }
    }

    if(!errors){
        
        document.getElementById("portfolioFormDiv").style.display='none';
        document.getElementById("portfolioViewDiv").style.display='block';
    }

    return !errors;
}



function validateFromDate(month,year,errfromdiv,errtodiv){
    var d = new Date();
    var error=false;


    if(parseInt(dojo.byId(year).value)>parseInt(d.getFullYear())){
        dojo.byId(errfromdiv).style.display='block';
        error=true;
    }else if(parseInt(dojo.byId(year).value)==parseInt(d.getFullYear())){

        if(parseInt(dojo.byId(month).value)>parseInt(d.getMonth()+1)){
            dojo.byId(errfromdiv).style.display='block';
            error=true;
        }else{
            dojo.byId(errfromdiv).style.display='none';
            error=false;
        }
    }else{
        dojo.byId(errfromdiv).style.display='none';
        if(errtodiv!='skip')  {
            dojo.byId(errtodiv).style.display='none';
        }
       
        error=false;
    }
    return error;
}

function validateToDate(frommonth,fromyear,tomonth,toyear,errortodiv){
    var d = new Date();
    var error=false;
    if(parseInt(dojo.byId(toyear).value)<parseInt(dojo.byId(fromyear).value)){
        dojo.byId(errortodiv).style.display='block';
        error=true;
    }else if(parseInt(dojo.byId(toyear).value)==parseInt(dojo.byId(fromyear).value)){
        if(errortodiv=='amessageToDateId') {
            if(parseInt(dojo.byId(tomonth).value)<=parseInt(dojo.byId(frommonth).value)){
                dojo.byId(errortodiv).style.display='block';
                error=true;
            }else{
                dojo.byId(errortodiv).style.display='none';
                error=false;
            }
        }else{
            if(parseInt(dojo.byId(tomonth).value)<parseInt(dojo.byId(frommonth).value)){
                dojo.byId(errortodiv).style.display='block';
                error=true;
            }else{
                dojo.byId(errortodiv).style.display='none';
                error=false;
            }
        }



    }else if(parseInt(dojo.byId(toyear).value)>parseInt(d.getFullYear())){
        dojo.byId(errortodiv).style.display='block';
        error=true;
    }else if(parseInt(dojo.byId(toyear).value)==parseInt(d.getFullYear())){

        if(parseInt(dojo.byId(tomonth).value)>parseInt(d.getMonth()+1)){
            dojo.byId(errortodiv).style.display='block';
            error=true;
        }else{
            dojo.byId(errortodiv).style.display='none';
            error=false;
        }
    }else{
        dojo.byId(errortodiv).style.display='none';
        error=false;
    }
    return error;
}
