﻿tinyMCE.init({
    mode: "exact",
    elements: "cvHTML",
    theme: "simple"
}); /// <reference path="profile.js" />

var responseArray;

function validateForm() {
    _email = document.getElementById('ctl00_main_panel_newEmail').value;
    document.getElementById('ctl00_main_panel_newEmail').disabled = true;
    document.getElementById('ctl00_main_panel_firstname').disabled = true;
    document.getElementById('ctl00_main_panel_surname').disabled = true;
    document.getElementById('ctl00_main_panel_telephone').disabled = true;
    document.getElementById('ctl00_main_panel_postcode').disabled = true;
    document.getElementById('ctl00_main_panel_sectorID').disabled = true;
    document.getElementById('ctl00_main_panel_educationLevel').disabled = true;
    document.getElementById('ctl00_main_panel_passwordNew').disabled = true;
    document.getElementById('ctl00_main_panel_passwordConfirm').disabled = true;
    if (userID == '')
        userID = -1;

    new Ajax.Request('/jobs/ajax/validateEmail.aspx', { parameters: 'uid=' + userID + '&e=' + _email, onSuccess: handlerValidateEmail, onFailure: errFuncx });

}

function echeck(str) {

    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    if (str.indexOf(at) == -1) {
        return false
    }

    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        return false
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        return false
    }

    if (str.indexOf(at, (lat + 1)) != -1) {
        return false
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
        return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        return false
    }

    if (str.indexOf(" ") != -1) {
        return false
    }

    return true
}


function validateExtensions(extensionsList, filename) {
    var allowedExtensions = extensionsList.toLowerCase().split('|');
    var passed = false;
    var cnt = 0;
    while (cnt < allowedExtensions.length) {
        if (filename.toLowerCase().lastIndexOf('.' + allowedExtensions[cnt]) >= 0)
            passed = true

        cnt++;
    }

    return passed;
}



handlerValidateEmail = function(t) {
    //alert("response:"+t.responseText)
    var errorMsg = '<div>';
    var errorMsgDiv = document.getElementById('errorDiv');
    var errorMsgs = "";
    var errorMsgCount = 0;


    document.getElementById('ctl00_main_panel_newEmail').disabled = false;
    document.getElementById('ctl00_main_panel_firstname').disabled = false;
    document.getElementById('ctl00_main_panel_surname').disabled = false;
    document.getElementById('ctl00_main_panel_telephone').disabled = false;
    document.getElementById('ctl00_main_panel_postcode').disabled = false;
    document.getElementById('ctl00_main_panel_sectorID').disabled = false;
    document.getElementById('ctl00_main_panel_educationLevel').disabled = false;
    document.getElementById('ctl00_main_panel_passwordNew').disabled = false;
    document.getElementById('ctl00_main_panel_passwordConfirm').disabled = false;

    if (t.responseText == 'failed') {
        errorMsgCount++;
        errorMsgs += '<li>The email address you have chosen is already registered.</li>';
        document.getElementById('ctl00_main_panel_newEmail').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_newEmail').style.borderColor = "#eee";




    if (document.getElementById('ctl00_main_panel_cvFile').value != '') {
        if (!validateExtensions('doc|pdf|rtf|txt|docx', document.getElementById('ctl00_main_panel_cvFile').value)) {
            errorMsgCount++;
            errorMsgs += '<li>Please only upload CV files in doc, docx, pdf, rtf or txt file formats.</li>';
            document.getElementById('ctl00_main_panel_cvFile').style.borderColor = "#cc0000";
        }
        else
            document.getElementById('ctl00_main_panel_cvFile').style.borderColor = "#eee";
    }

    if (!echeck(document.getElementById('ctl00_main_panel_newEmail').value)) {
        errorMsgCount++;
        errorMsgs += '<li>The email address you have chosen is not valid.</li>';
        document.getElementById('ctl00_main_panel_newEmail').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_newEmail').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_firstname').value == '') {
        errorMsgCount++;
        errorMsgs += '<li>Please enter your first name.</li>';
        document.getElementById('ctl00_main_panel_firstname').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_firstname').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_surname').value == '') {
        errorMsgCount++;
        errorMsgs += '<li>Please enter your surname.</li>';
        document.getElementById('ctl00_main_panel_surname').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_surname').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_telephone').value == '') {
        errorMsgCount++;
        errorMsgs += '<li>Please enter your telephone number.</li>';
        document.getElementById('ctl00_main_panel_telephone').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_telephone').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_postcode').value == '') {
        errorMsgCount++;
        errorMsgs += '<li>Please enter your postcode.</li>';
        document.getElementById('ctl00_main_panel_postcode').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_postcode').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_sectorID').selectedIndex == 0) {
        errorMsgCount++;
        errorMsgs += '<li>Please specify the sector you work in.</li>';
        document.getElementById('ctl00_main_panel_sectorID').style.borderColor = "#cc0000";
    }
    else
        document.getElementById('ctl00_main_panel_sectorID').style.borderColor = "#eee";

    if (document.getElementById('ctl00_main_panel_passwordNew').value != document.getElementById('ctl00_main_panel_passwordConfirm').value) {
        errorMsgCount++;
        errorMsgs += '<li>Your passwords do not match</li>';
        document.getElementById('ctl00_main_panel_passwordNew').style.borderColor = "#cc0000";
        document.getElementById('ctl00_main_panel_passwordConfirm').style.borderColor = "#cc0000";
    }
    else {
        document.getElementById('ctl00_main_panel_passwordNew').style.borderColor = "#eee";
        document.getElementById('ctl00_main_panel_passwordConfirm').style.borderColor = "#eee";
    }


    if (errorMsgCount > 0) {
        if (errorMsgCount == 1)
            errorMsg += '<h2 class="jobs" style="color: #5a9bf7; margin: 20px 0px 10px 0px;">Update profile Problem</h2>'
        else
            errorMsg += '<h2 class="jobs" style="color: #5a9bf7; margin: 20px 0px 10px 0px;">Update profile Problem</h2>'

        errorMsg += "<ul style=\"color:#aa1111; line-height:150%\">" + errorMsgs + '</ul></div>';
        document.getElementById("body_main_panel").style.height = "100%";
        errorMsgDiv.innerHTML = errorMsg;
        jQuery('html,body').animate({ scrollTop: 300 }, 800);
        resizeDiv('errorDiv', 45 + (errorMsgCount * 20));


    }
    else {
        document.getElementById('applyGo').value = "go";
        document.getElementById('aspnetForm').submit();
    }
}

var errFuncx = function(t) {
    alert('Error>> ' + t.status + ' -- ' + t.statusText);
}

function resizeDiv(id, finishHeight) {
    dummy_mc = document.getElementById(id);
    zzz = new Tween(dummy_mc.style, 'height', Tween.strongEaseInOut, parseInt(dummy_mc.style.height), parseInt(dummy_mc.style.height) + 1, .01, 'px');
    zzz.fixTime;


    var b = new Object();
    b.onMotionFinished = function() {
        document.getElementById("body_main_panel").style.height = "100%";
        document.getElementById("body_right_panel").style.height = "100%";
        vertHeights();
    };

    var a = new Object();
    a.onMotionFinished = function() {
        xxx = new Tween(dummy_mc.style, 'height', Tween.strongEaseInOut, parseInt(dummy_mc.style.height), finishHeight, 1.5, 'px');

        xxx.fixTime
        xxx.addListener(b);
        xxx.start();
    };
    zzz.addListener(a);
    zzz.start();



}

function fixPageHeight() {
    document.getElementById("body_main_panel").style.height = "100%";
    vertHeights();
}

function showCV(forceOpen) {

    var a = new Object();
    a.onMotionFinished = function() {
        fixPageHeight();
    };



    dummy_mc = document.getElementById('CVWYSIWYG');
    if (dummy_mc.style.height == "0px" || forceOpen)
        xxx2 = new Tween(dummy_mc.style, 'height', Tween.strongEaseInOut, parseInt(dummy_mc.style.height), 260, 1.5, 'px');
    else
        xxx2 = new Tween(dummy_mc.style, 'height', Tween.strongEaseInOut, parseInt(dummy_mc.style.height), 0, 1.5, 'px');
    xxx2.start();
    xxx2.addListener(a);
}

function selectAll(txtObj) {
    if (txtObj.value == "email address")
        txtObj.select();
    if (txtObj.value == "password")
        txtObj.select();
}

