$(function() {
    //
    $("#accordion2").hide();
    $("#personal-fields").hide();
    $("#expertise-fields").hide();
    $("#cv-fields").hide();
    $("form.forgotpassform").hide();
    $("form.forgotpassform_cand_response").hide();
    $(".warning").hide();

    var $eotabs = $("#tabs").tabs();
    if ($("#login-status").is(":contains('Logged in')")) {
        $eotabs.tabs("remove", 1);
        $eotabs.tabs("remove", 0);
        
        var v = $("span#exp1.varspan").text();
        $("[value=" + v + "][name='exp1']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='exp1']  ~ label").text();
        $("span#exp1.varspan").text(t);

        var v = $("span#exp2.varspan").text();
        $("[value=" + v + "][name='exp2']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='exp2']  ~ label").text();
        $("span#exp2.varspan").text(t);
        //skills
        var v = $("span#ski1.varspan").text();
        $("[value=" + v + "][name='skills']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='skills']  ~ label").text();
        $("span#ski1.varspan").text(t);

        var v = $("span#ski2.varspan").text();
        $("[value=" + v + "][name='skills']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='skills']  ~ label").text();
        $("span#ski2.varspan").text(t);

        var v = $("span#ski3.varspan").text();
        $("[value=" + v + "][name='skills']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='skills']  ~ label").text();
        $("span#ski3.varspan").text(t);

        var v = $("span#ski4.varspan").text();
        $("[value=" + v + "][name='skills']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='skills']  ~ label").text();
        $("span#ski4.varspan").text(t);
        //
        var v = $("span#ind1.varspan").text();
        $("[value=" + v + "][name='industry']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='industry']  ~ label").text();
        $("span#ind1.varspan").text(t);

        var v = $("span#ind2.varspan").text();
        $("[value=" + v + "][name='industry']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='industry']  ~ label").text();
        $("span#ind2.varspan").text(t);

        var v = $("span#ind3.varspan").text();
        $("[value=" + v + "][name='industry']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='industry']  ~ label").text();
        $("span#ind3.varspan").text(t);

        var v = $("span#ind4.varspan").text();
        $("[value=" + v + "][name='industry']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='industry']  ~ label").text();
        $("span#ind4.varspan").text(t);
        //
        var v = $("span#loc1.varspan").text();
        $("[value=" + v + "][name='loc1']").attr("checked", "checked");
        var v = $("span#loc2.varspan").text();
        $("[value=" + v + "][name='loc2']").attr("checked", "checked");
        var v = $("span#loc3.varspan").text();
        $("[value=" + v + "][name='loc3']").attr("checked", "checked");
        var v = $("span#loc4.varspan").text();
        $("[value=" + v + "][name='loc4']").attr("checked", "checked");
        $("span#loc1.varspan").hide();
        $("span#loc2.varspan").hide();
        $("span#loc3.varspan").hide();
        $("span#loc4.varspan").hide();
        $("span#lan1.varspan").hide();
        $("span#lan2.varspan").hide();
        $("span#lan3.varspan").hide();
        $("span#lan4.varspan").hide();
        $("span#flu1.varspan").hide();
        $("span#flu2.varspan").hide();
        $("span#flu3.varspan").hide();
        $("span#flu4.varspan").hide();
        //
        //var v = $("span#lan1.varspan").text();
        //$("[value="+v+"][name='languages1']").attr("selected","selected");
        //var v = $("span#lan2.varspan").text();
        //$("[value="+v+"][name='languages2']").attr("selected","selected");
        //var v = $("span#lan3.varspan").text();
        //$("[value="+v+"][name='languages3']").attr("selected","selected");
        //var v = $("span#lan4.varspan").text();
        //$("[value="+v+"][name='languages4']").attr("selected","selected");
        //
        //var v = $("span#flu1.varspan").text();
        //$("[value="+v+"][name='flu1']").attr("selected","selected");
        //var v = $("span#flu2.varspan").text();
        //$("[value="+v+"][name='flu2']").attr("selected","selected");
        //var v = $("span#flu3.varspan").text();
        //$("[value="+v+"][name='flu3']").attr("selected","selected");
        //var v = $("span#flu4.varspan").text();
        //$("[value="+v+"][name='flu4']").attr("selected","selected");
        //
        var v = $("span#qual1.varspan").text();
        $("[value=" + v + "][name='qualification']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='qualification']  ~ label").text();
        $("span#qual1.varspan").text(t);
        var v = $("span#qual2.varspan").text();
        $("[value=" + v + "][name='qualification']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='qualification']  ~ label").text();
        $("span#qual2.varspan").text(t);
        var v = $("span#qual3.varspan").text();
        $("[value=" + v + "][name='qualification']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='qualification']  ~ label").text();
        $("span#qual3.varspan").text(t);
        var v = $("span#qual4.varspan").text();
        $("[value=" + v + "][name='qualification']").attr("checked", "checked");
        var t = $("[value=" + v + "][name='qualification']  ~ label").text();
        $("span#qual4.varspan").text(t);

    }
    else {
        //not logged in
        $eotabs.tabs("remove", 8);
        //$eotabs.tabs("remove", 7);
        $eotabs.tabs("remove", 6);
        $eotabs.tabs("remove", 5);
        $eotabs.tabs("remove", 4);
        $eotabs.tabs("remove", 3);
        $eotabs.tabs("remove", 2);
    }

    var $acc = $("#accordion").accordion({
        autoHeight: false
    });

    //parse url data
    var getdata = []
    if (location.search.length > 1) {
        var ls = location.search.substring(1);
        var namevalue = ls.split("&");
        for (var i = 0; i < namevalue.length; i++) {
            var data = namevalue[i].split("=");
            getdata[data[0]] = data[1];
        }
    }
    //register actions
    switch (getdata["action"]) {
    case "preregister":
        $eotabs.tabs("select", 1);
        break;
    case "login":
        $eotabs.tabs("select", 0);
        break;
    case "respond":
        $eotabs.tabs("select", 2);
        $("#jobid").val(getdata["jobid"]);
        break;
    case "register":
        $('#PreReg-fields').hide();
        $("#cv-fields").hide();
        $("#personal-fields").show();
        $eotabs.tabs("select", 1);
        current = 1;
        break;
    case "PreReg":
        $('#PreReg-fields').show();
        $("#cv-fields").hide();
        $eotabs.tabs("select", 1);
        if (getdata["code"] == "1") {
            $('div.feedback1').show();
        }
        current = 0
        break;
    case "cvupload":
        $('#PreReg-fields').hide();
        $("#personal-fields").hide();
        $("#expertise-fields").hide();
        $("#cv-fields").show();
        $eotabs.tabs("select", 1);
        break;
    case "password-request":
        $("#loginForm").hide();
        $("form.forgotpassform").show();
        $eotabs.tabs("select", 0);
        break;
    default:
        break;
    }

    //update actions
    if ($("div.login-status").length > 0 && getdata["action"] == "profile") {
        $eotabs.tabs("select", 0);
    }
    if ($("div.login-status").length > 0 && getdata["action"] == "update-security") {
        $eotabs.tabs("select", 1);
    }
    if ($("div.login-status").length > 0 && getdata["action"] == "update-personal") {
        $eotabs.tabs("select", 2);
    }
    if ($("div.login-status").length > 0 && getdata["action"] == "update-experience") {
        $eotabs.tabs("select", 3);
    }
    if ($("div.login-status").length > 0 && getdata["action"] == "update-cv") {
        $eotabs.tabs("select", 4);
    }
    if ($("div.login-status").length > 0 && getdata["action"] == "respond") {
        $eotabs.tabs("select", 5);
    }
    //new to eol tab link
    $(".new2eol").click(function() {
        $eotabs.tabs("select", 1);
        return false;
    });


    //show messages
    // rewrite to using ajax to handle multi-lingual messages
    for (i = 1; i <= 35; i++) {
        if (getdata["code"] == i) {
            switch (getdata["action"]) {
            case "preregister":
                $('div.feedback-preregister').load("feedback?message_id=" + i);
                $('div.feedback-preregiser').show();
                break;
            case "login":
                $('div.feedback-login').load("feedback?message_id=" + i);
                $('div.feedback-login').show();
                break;
            case "register":
                $('div.feedback-register').load("feedback?message_id=" + i);
                $('div.feedback-register').show();
                break;
            case "password-request":
                if (getdata["code"] == 29){
                    $("form.forgotpassform").hide();
                    $("#loginForm").show();
                    $('div.feedback-login').load("feedback?message_id=" + i);
                    $('div.feedback-login').show();
                }
                $('div.feedback-password').load("feedback?message_id=" + i);
                $('div.feedback-password').show();
                break;
            case "PreReg":
                $('div.feedback-preregister').load("feedback?message_id=" + i);
                $('div.feedback-preregister').show();
                break;
            case "cvupload":
                $('div.feedback-cvupload').load("feedback?message_id=" + i);
                $('div.feedback-cvupload').show();
                break;
            case "profile":
                $('div.feedback-profile').load("feedback?message_id=" + i);
                $('div.feedback-profile').show();
                break;
            case "update-security":
                $('div.feedback-update-security').load("feedback?message_id=" + i);
                $('div.feedback-update-security').show();
                break;
            case "update-personal":
                $('div.feedback-update-personal').load("feedback?message_id=" + i);
                $('div.feedback-update-personal').show();
                break;
            case "update-experience":
                $('div.feedback-update-experience').load("feedback?message_id=" + i);
                $('div.feedback-update-experience').show();
                break;
            case "update-cv":
                $('div.feedback-update-cv').load("feedback?message_id=" + i);
                $('div.feedback-update-cv').show();
                break;
            case "respond":
                $('div.feedback-respond').load("feedback?message_id=" + i);
                $('div.feedback-respond').show();
                break;
            default:
                $('div.feedback').load("feedback?message_id=" + i);
                $('div.feedback').show()
                break;
            }

        }
    }


    $(".unorderedlisttree").checkboxTree({
        collapsedarrow: "http://media.executivesonline.com/js/themes/checkboxtree/img-arrow-collapsed.gif",
        expandedarrow: "http://media.executivesonline.com/js/themes/checkboxtree/img-arrow-expanded.gif",
        blankarrow: "http://media.executivesonline.com/js/themes/checkboxtree/img-arrow-blank.gif",
        checkchildren: false,
        checkparents: false
    });

    //add stars to required fields
    $('label.required').prepend('&nbsp;*&nbsp;');
    //hide user feedback messages
    //$("p.sec-update-message").hide();
    $('#mask').hide();
    
    //profile
    $('#profile_exp').text($('span#exp1').text());
    $('#profile_exp2').text($('span#exp2').text());
    $('#profile_skill1').text($('span#ski1').text());
    $('#profile_skill2').text($('span#ski2').text());
    $('#profile_skill3').text($('span#ski3').text());
    $('#profile_skill4').text($('span#ski4').text());
    $('#profile_ind1').text($('span#ind1').text());
    $('#profile_ind2').text($('span#ind2').text());
    $('#profile_ind3').text($('span#ind3').text());
    $('#profile_ind4').text($('span#ind4').text());
});
var $eotabs = $("#tabs").tabs();
$("a.open-security-tab").click(function(){
   $eotabs.tabs("select", 1);
   return false; 
});
$("a.open-personal-tab").click(function(){
   $eotabs.tabs("select", 2);
   return false; 
});
$("a.open-experience-tab").click(function(){
   $eotabs.tabs("select", 3);
   return false; 
});
$("a.open-cv-tab").click(function(){
   $eotabs.tabs("select", 4);
   return false; 
});
$("a.open-respond-tab").click(function(){
   $eotabs.tabs("select", 5);
   return false; 
});
$("a.open-subscriptions-tab").click(function(){
   $eotabs.tabs("select", 6);
   return false; 
});
$("a#forgotpass").click(function() {
    $("#loginForm").hide("normal");
    $("form.forgotpassform_cand_response").hide("normal");
    $("form.forgotpassform").show("normal");
    return false;
});

$("a#forgotpass_cand_response").click(function() {
    $("#JobLoginForm").hide("normal");
    $("form.forgotpassform").hide("normal");
    $("form.forgotpassform_cand_response").show("normal");
    return false;
});
//
var current = 1

//form validation objects
var l = $("#loginForm").validate({
    errorClass: "warning"
});

//login from job email
var jl = $("#JobLoginForm").validate({
    errorClass: "warning"
});

//email my password
var pwd = $("form.forgotpassform").validate({
    errorClass: "warning"
});
var pwdcr = $("form.forgotpassform_cand_response").validate({
    errorClass: "warning"
});

//prereg
var prf = $("#PreRegForm").validate({
    errorClass: "warning"
});

//Reg form
var v = $("#RegForm").validate({
    errorClass: "warning"
});

var container = $('div.warning');
// validate the form when it is submitted
var rcv = $("#regcvform").validate({
    errorContainer: container,
    errorLabelContainer: $("dl", container),
    wrapper: '#cv-warning',
    meta: "validate"
});

//update forms
var s = $("#secUpdateEmailForm").validate({
    errorClass: "warning"
});

var s2 = $("#secUpdatePasswordForm").validate({
    errorClass: "warning"
});

var p = $("#persUpdateForm").validate({
    errorClass: "warning"
});

var e = $("#experUpdateForm").validate({
    //debug:true, //dont send form
    errorClass: "warning"
    //onkeyup: false
    //onblur: false
});


//interim and permanent in forms alter required fields
$("#permanent").click(function() {
    var n = $("#permanent:checked").length;
    if (n == 1) {
        $("label.input[for='tsal']").append('&nbsp;*&nbsp;');
        $("label.input[for='lsal']").append('&nbsp;*&nbsp;');
    }
    if (n == 0) {
        $("label.input[for='tsal']").html('Target Salary?');
        $("label.input[for='lsal']").html('Last Salary?');
        //$.get("feedback", { message_id: "40"},
        //function(data){
        //    $("label.input[for='tsal']").html(data);
        //});
        
        
    }
});

$("#interim").click(function() {
    var n = $("#interim:checked").length;
    if (n == 1) {
        $("label.input[for='trate']").append('&nbsp;*&nbsp;');
        $("label.input[for='lrate']").append('&nbsp;*&nbsp;');
    }
    if (n == 0) {
        $("label.input[for='trate']").html('Target Rate?');
        $("label.input[for='lrate']").html('Last Rate?');
    }
});

//buttons to triger validation
$("#preregsubmit").click(function() {
    if (prf.form()) {
        $("#PreRegForm").submit(function() {
            $('#preregsubmit', this).attr('disabled', 'disabled');
        });
        //$("#PreReg-fields").hide();
        //$("#personal-fields").show();
        //$("#expertise-fields").show();
    }
});

// update form buttons
$(".updateemail").click(function() {
    if (s.form())
    {
        $("#secUpdateEmailForm").submit();
        }
    else
    {   
        $.get("feedback", { message_id: "40"},
        function(data){
            $(".updateemail").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
        
        
        }
});

$(".updatepassword").click(function() {
    if (s2.form())
    {
        $("#secUpdatePasswordForm").submit();
        }
    else
    {
        
        $.get("feedback", { message_id: "40"},
        function(data){
            $(".updatepassword").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
        }
});

$(".updatepersonal").click(function() {
    if (p.form())
    {
        $("#persUpdateForm").submit();
        }
    else
    {
        
        $.get("feedback", { message_id: "40"},
        function(data){
            $(".updatepersonal").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
        }
});
$(".updateexpertise").click(function() {
    current = 2;
    if (e.form())
    {
        $("#experUpdateForm").submit();
        }
    else
    {
        
        $.get("feedback", { message_id: "40"},
        function(data){
            $(".updateexpertise").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
        }
    current = 1;
});

//submit buttons - Personal
$("#personalregsubmit").click(function() {
    if (v.form())
    {
        $("#personal-fields").hide();
        $("#expertise-fields").show();

        current = 2;
    }
    else
    {
        $.get("feedback", { message_id: "40"},
        function(data){
            $("#personalregsubmit").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
    }
});

$("#back2personal").click(function() {
    $("#expertise-fields").hide();
    $("#personal-fields").show();
    current = 1;
});

//expertise
$(".open3").click(function() {
    if (v.form())
    {
        $("#RegForm").submit();
    }
    else
    {
        
        $.get("feedback", { message_id: "40"},
        function(data){
            $(".open3").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
    }
});

//response 
$("#responsesubmit").click(function(){
    var rsp = $("#CandResponseForm").validate({
    errorClass: "warning",
    rules:{
        cv:{
            required:"#prev_cv[value='']",
            accept:'docx|txt|rtf|doc|pdf'
        },
        info:{
            required:true,
            maxlength:3000
        }
    }
    });
    
    if (rsp.form()) {
        $("#CandResponseForm").submit();
    }
    else
    {
        $.get("feedback", { message_id: "40"},
        function(data){
            $("#responsesubmit").parent(".buttonWrapper").append('<label class="warning">'+data+'</label>');
        });
        return false;
    }
});


//subscriptions 
$(".updatesubscriptions").click(function() {
    $("#subscriptionsForm").submit();
});

//login
$(".login1").click(function() {
    if (l.form()) {
        current2 = 0;
    }
});

//forgotpass
$("input.forgotpass").click(function() {
    if (pwd.form())
    {   
        $("form.forgotpassform").submit();//
    }
    else{
       return false; 
    }
});
//forgotpass
$("input.forgotpass_cand_response").click(function() {
    if (pwdcr.form())
    {   
        $("form.forgotpassform_cand_response").submit();//
    }
    else{
       return false; 
    }
});

//custom validators
$.validator.addMethod(
"dateITA",
function(value, element) {
    var check = false;
    var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    if (re.test(value)) {
        var adata = value.split('/');
        var gg = parseInt(adata[0], 10);
        var mm = parseInt(adata[1], 10);
        var aaaa = parseInt(adata[2], 10);
        var xdata = new Date(aaaa, mm - 1, gg);
        if ((xdata.getFullYear() == aaaa) && (xdata.getMonth() == mm - 1) && (xdata.getDate() == gg) && (xdata.getFullYear() >= 1900) && (xdata.getFullYear() <= 2010))
        {
            check = true;
        }
        else
        {
            check = false;
        }
    } else if (value=='')
    {
        check = true;
    }
    else
    {
        check = false;
    }
    return check; //this.optional(element) || check;
},
"! Please enter a correct date"
);


$.validator.addMethod("pageRequired",
function(value, element) {
    var e = element;
    if (current == 1) {
        var check_ids = ['fname', 'lname', 'add1', 'town', 'county', 'pcode', 'title', 'country', 'race','source'];
    }
    if (current == 2) {
        var check_ids = ['interim', 'expdur1', 'exp1', 'exp2', 'location', 'skills', 'qualification', 'industry'];
    }
    for (i = 0; i < check_ids.length; i++) {
        if (check_ids[i] == e.id) {
            if (value == ''){
                return false;
              }
            return ! this.optional(e);
        }
    }
    return "no validation check";
    //this.optional(e);
}
,
"! This field is required");


$.validator.addMethod("required_group",
function(val, el) {
    var $module = $(el).parents(".unorderedlisttree");
    if (current == 2)
    return $module.find("input:checked").length;
    else
    return "no validation check";
}
,
"! Please choose at least one");

$.validator.addMethod("ie_select_fix",
function(val, e) {
    if (val == ''){
                return false;
              }
    else {
        return true;
    }
    
}
,
"! Please choose at least one");

$.validator.addMethod('numbergroupcheck', 
function(val, e) {
            return ! $(".phone_num:blank:gt(1)").length;
        }, 'Please enter at least one phone number');
 
 
$.validator.addMethod('interim_checked', 
function(val, e) {
            if (current == 2 && val == '')
            return ! $("#interim:checked").length;
            else
            return "no validation check";
        }, 'Required field for interim positions');
        


$.validator.addMethod('permanent_checked', 
function(val, e) {
            if (current == 2 && val == '')
            return ! $("#permanent:checked").length;
            else
            return "no validation check";
        }, 'Required field for permanent positions');

$.validator.addMethod('interim_checked_update', 
function(val, e) {
            if (val == '')
            return ! $("#interim:checked").length;
            else
            return "no validation check";
        }, 'Required field for interim positions');
        


$.validator.addMethod('permanent_checked_update', 
function(val, e) {
            if (val == '')
            return ! $("#permanent:checked").length;
            else
            return "no validation check";
        }, 'Required field for permanent positions');