﻿document.onkeydown = KeyDown;
var browser = navigator.appName;
var IE = (browser.indexOf("Microsoft Internet Explorer") != -1);
var FF = (browser.indexOf("Netscape") != -1);
var SelectedText = "";


//Added by RRC on Global variable declared for getting postback control id
var sourcecontrol = ""; 

function FormLoad() {
    InitializeMenu();
    //This line is added by RRC on 10.01.2011
    if (document.getElementById("ctl00_valSummaryMaster") != null) {
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    }
    return true;
}
function InitializeMenu() {

    var TabCleanText = document.getElementById("ctl00_cphCareer_panCleanResume");
    if (TabCleanText != null) {
        TabCleanText.onmouseup = ShowMenu;
        var ReviewData = document.getElementById("ctl00_cphCareer_panReviewData");
        if (ReviewData != null)
            ReviewData.onclick = HideMenu;
    }
}
function HideMenu(e) {
    var firingobj = IE ? event.srcElement : e.target
    SelectedText = getSelText();
    if (SelectedText.length < 1) {
        var oldmenu = document.getElementById("menu");
        if (oldmenu != null) {
            oldmenu.innerHTML = "";
            oldmenu.style.visibility = 'Hidden';
        }
    }
}
function getSelText() {
    var txt = '';
    if (window.getSelection) {
        txt = window.getSelection();
    }
    else if (document.getSelection) {
        txt = document.getSelection();
    }
    else if (document.selection) {
        txt = document.selection.createRange().text;
    }
    return String(txt);
}
function KeyDown(e) {
    // ctrl
    var intKeyCode = null;
    if (document.all) {
        // IE
        intKeyCode = event.keyCode;
    }
    else {
        // Non IE
        intKeyCode = e.which;
    }
    var ControlKeyInfo = document.getElementById("ctl00_cphCareer_hdnFldCntrlInfoMessage");

    if (intKeyCode != null && ControlKeyInfo != null) {
        if (intKeyCode == 17)
            ControlKeyInfo.value = "true";
        else
            ControlKeyInfo.value = "";
    }
}
function isValidPassword(sender, args) {
    sender.innerHTML = "";
    var pattern1 = /^[a-zA-Z0-9-_@!$*+#.]+$/;
    var pattern2 = /^[\-|_]/;
    var pattern3 = /[\-|_]$/;
    if (args.Value.length == 0) {
        sender.innerHTML = ">> Password is required";
        //Added by RRC on 10.01.2011 to display the message in validator summay
        sender.errormessage = "Password is required";
        args.IsValid = false;
    }
    else {
        if (args.Value.length >= 5 && args.Value.length <= 45) {
            if (pattern1.test(args.Value) == true && pattern2.test(args.Value) == false && pattern3.test(args.Value) == false) {
                args.IsValid = true;
            } else {
                sender.innerHTML = ">> Invalid characters in password";
                //Added by RRC on 10.01.2011 to display the message in validator summay
                sender.errormessage = "Invalid characters in password";
                args.IsValid = false;
            }
        }
        else {
            var reenterPasswordValidator = document.getElementById('ctl00_cphCareer_cmpValPassword');
            if (reenterPasswordValidator != null)
                reenterPasswordValidator.innerHTML = "";
            sender.innerHTML = ">> Password should be minimum of 5 letters";
            //Added by RRC on 10.01.2011 to display the message in validator summay
            sender.errormessage = "Password should be minimum of 5 letters";
            args.IsValid = false;
        }
    }
}
function isValidUsername(sender, args) {
    var pattern1 = /^[a-zA-Z0-9-_@.]+$/;
    var pattern2 = /^[\-|_]/;
    var pattern3 = /[\-|_]$/;

    if (args.Value.length == 0) {
        //oSrc.innerHTML = ">> Username is required"; - RRC- 18.10.2010
        sender.innerHTML = ">> Email Address is required";
        //Added by RRC on 10.01.2011 to display the message in validator summay
        sender.errormessage = "Email Address is required";
        args.IsValid = false;
    }
    else {
        if (args.Value.length >= 5 && args.Value.length <= 45) {
            if (pattern1.test(args.Value) == true && pattern2.test(args.Value) == false && pattern3.test(args.Value) == false) {
                args.IsValid = true;
            } else {
            //                oSrc.innerHTML = ">> Invalid characters in username";  - RRC- 18.10.2010
                sender.innerHTML = ">> Invalid characters in Email Address";
                //Added by RRC on 10.01.2011 to display the message in validator summay
                sender.errormessage = "Invalid characters in Email Address";
                args.IsValid = false;
            }
        } else {
        //            oSrc.innerHTML = ">> Username should be minimum of 5 letters"; - RRC- 18.10.2010
            sender.innerHTML = ">> Email Address should be minimum of 5 letters";
            //Added by RRC on 10.01.2011 to display the message in validator summay
            sender.errormessage = "Email Address should be minimum of 5 letters";
            args.IsValid = false;
        }
    }
}
// Trim function
function trim(str) {
    if (!str || typeof str != 'string')
        return null;
    return str.replace(/^[\s]+/, '').replace(/[\s]+$/, '').replace(/[\s]{2,}/, ' ').replace(/[\n]+$/, '');
}
function ClearEmailAlertInfo() {
    document.getElementById("ctl00_lblAlertInfo").innerHTML = "";
    document.getElementById("ctl00_txtTo").value = "";
    document.getElementById("ctl00_txtSubject").value = "";
    if ( $find('mpeBehaviorEmailAlert')!=null)
        $find('mpeBehaviorEmailAlert').hide();
    if ($find('mpeBehaviorEmailAlertYourResume') !=null )
        $find('mpeBehaviorEmailAlertYourResume').hide();
    
    return false;    
}
function ClearEmailJobAlertInfo() {
    document.getElementById("ctl00_cphCareer_txtEmailJobTo").value = "";
    document.getElementById("ctl00_cphCareer_lblEmailJobAlertInfo").innerHTML = "";
    document.getElementById("ctl00_cphCareer_txtEmailJobSubject").value = "";
}
function RadioCheck(rb, id) {
    var gv = document.getElementById("ctl00_cphCareer_grdJobAlert");
    document.getElementById("ctl00_cphCareer_hdnFldJobAlert").value = id; ;
    var rbs = gv.getElementsByTagName("input");
    var row = rb.parentNode.parentNode;
    for (var i = 0; i < rbs.length; i++) {
        if (rbs[i].type == "radio") {
            if (rbs[i].checked && rbs[i] != rb) {
                rbs[i].checked = false;
                break;
            }
        }
    }
}
function MsgEducation() {
    if (confirm("This feature is not enabled in the version of Focus/Career you are using."))
        return false;
    else
        return false;

}

//function EndRequestHandler() {
//    theForm.action = "Login.aspx";
//    theForm._initialAction = theForm.action;
//}


function hideSettingPopup() {
    $find('mpeBehaviorSetting').hide();
    $find('mpeBehaviorLinkFooter').hide();
    return false;
}

//if (typeof (Sys) != "undefined") {
//    EndRequestHandler();
//    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
//}

var storeKeywords = "";
function AddSelectedStatements() {
    var selectedText = trim(getSelText());
    var IE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1);
    var FF = (navigator.appName.indexOf("Netscape") != -1);
    var CR = false;
    if (FF && (navigator.appVersion.indexOf('KHTML') != -1)) {
        CR = true;
        FF = false;
    }
    var keywordsHeading = "\r\n* Knowledge sets include: ";
    var newline = "\r\n";
    if (selectedText != "") {
        if (IE || CR) {
            var keywordsText = document.getElementById("ctl00_cphCareer_AccordionPane1_content_panKeywords").innerText;
            var statementsText = document.getElementById("ctl00_cphCareer_AccordionPane2_content_panStatements").innerText;
        }
        if (FF) {
            var keywordsText = document.getElementById("ctl00_cphCareer_AccordionPane1_content_panKeywords").innerHTML;
            var statementsText = document.getElementById("ctl00_cphCareer_AccordionPane2_content_panStatements").innerHTML;
            keywordsText = keywordsText.replace(/<li>/g, "").replace(/<\/li>/g, "\r\n");
            statementsText = statementsText.replace(/<li>/g, "").replace(/<\/li>/g, "\r\n");
            selectedText = selectedText.replace(/# /g, "");
            newline = "\n";
        }
        if (keywordsText.indexOf(selectedText) >= 0 || statementsText.indexOf(selectedText) >= 0) {
            if (keywordsText.indexOf(selectedText) >= 0) {

                if (!CR)
                    selectedText = selectedText.replace(/\r\n/g, ", ").replace(/# /g, "");
                else {
                    selectedText = selectedText.replace(/\n/g, ", ");
                    newline = "\n";
                }

                if (document.getElementById("ctl00_cphCareer_txtJobDesc").value.indexOf("* Knowledge sets include:") != -1) {
                    if (storeKeywords == "") {
                        var job_description = document.getElementById("ctl00_cphCareer_txtJobDesc").value;
                        var after_data = job_description.substring(job_description.indexOf("* Knowledge sets include:"), job_description.length);
                        storeKeywords = trim(after_data.split(newline)[0]);
                        if ((storeKeywords != "" || storeKeywords != '') && storeKeywords.substring(storeKeywords.length - 1, storeKeywords.length) == ".")
                            storeKeywords = storeKeywords.substring(0, storeKeywords.length - 1);
                    }
                    selectedText = storeKeywords + ", " + selectedText;
                    document.getElementById("ctl00_cphCareer_txtJobDesc").value = document.getElementById("ctl00_cphCareer_txtJobDesc").value.replace(newline + trim(storeKeywords) + ".", "");
                    document.getElementById("ctl00_cphCareer_txtJobDesc").value += "\r\n" + trim(selectedText) + ".";

                    storeKeywords = selectedText.substring(0, selectedText.length);
                }
                else {
                    selectedText = keywordsHeading + selectedText + ".";
                    document.getElementById("ctl00_cphCareer_txtJobDesc").value += selectedText;
                    storeKeywords = selectedText.substring(0, selectedText.length - 1);
                }
            }
            else {
                if (!CR)
                    selectedText = "\r\n* " + selectedText.replace(/\r\n/g, "\r\n* ").replace(/# /g, "");
                else
                    selectedText = "\r\n* " + selectedText.replace(/\n/g, "\r\n* ");

                document.getElementById("ctl00_cphCareer_txtJobDesc").value += selectedText;
            }

            document.getElementById("ctl00_cphCareer_txtJobDesc").focus();
        }
    }

    return false;
}

function ClearAlertInfo() {
    var validated = Page_ClientValidate('Email');
    if (validated)
        document.getElementById("ctl00_lblAlertInfo").innerHTML = "Sending...";
    else
        document.getElementById("ctl00_lblAlertInfo").innerHTML = "";
}

function ClearAlertInfoYourResume() {
    var validated = Page_ClientValidate('EmailYourResume');
    if (validated)
        document.getElementById("ctl00_cphCareer_lblAlertInfo").innerHTML = "Sending...";
    else
        document.getElementById("ctl00_cphCareer_lblAlertInfo").innerHTML = "";
}

function CloseMessage() {
    document.getElementById("ctl00_UpdatePanel1").style.display = "none"; 
    return false;
}

//The below function is added by RRC on 12.01.2011 to find out which control causing the postback
function BeginRequestHandler(sender, args) {
    sourcecontrol = args.get_postBackElement();  //the control causing the postback
}


//The below function is added by RRC on 10.01.2011 to get the error message return from ajax post back
function EndRequestHandler(sender, args) {

    //alert(sourcecontrol.id);

    if (document.getElementById('ctl00_hdnFldAlertMsg').value != "") {
        alert(document.getElementById('ctl00_hdnFldAlertMsg').value);
        document.getElementById('ctl00_hdnFldAlertMsg').value = "";
    }


    if (sourcecontrol.id == "ctl00_cphCareer_btnLogin" && document.getElementById('ctl00_hdnFldAlertMsg').value != "" && document.getElementById('ctl00_cphCareer_valSummaryLogin')!=null)  
        document.getElementById('ctl00_cphCareer_txtUserName').focus();

    if (sourcecontrol.id == "ctl00_cphCareer_btnSubmit" && document.getElementById('ctl00_hdnFldAlertMsg').value != "" &&  document.getElementById('ctl00_cphCareer_valSummaryHelp') !=null) 
        document.getElementById('ctl00_cphCareer_txtEmail').focus();

    if (sourcecontrol.id == "ctl00_cphCareer_TabResumeSubmission_TbContact_btnContactSave" && document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbContact_lblAlertInfoContact").innerHTML != "")
        alert(document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbContact_lblAlertInfoContact").innerHTML);

    if (sourcecontrol.id.indexOf("ctl00_cphCareer_TabResumeSubmission_TbEducation") != -1 && document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbEducation_lblAlertInfoEducation").innerHTML != "")
        alert(document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbEducation_lblAlertInfoEducation").innerHTML);

    if (sourcecontrol.id == "ctl00_cphCareer_TabResumeSubmission_TbSummary_btnSaveAutomatedSummary" && document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbSummary_lblAutomatedInfo").innerHTML != "")
        alert(document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbSummary_lblAutomatedInfo").innerHTML);

    if ((sourcecontrol.id == "ctl00_cphCareer_TabResumeSubmission_TbMoreSections_btnSectionSave" || sourcecontrol.id == "ctl00_cphCareer_TabResumeSubmission_TbMoreSections_btnSectionDelete") && document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbMoreSections_lblAlertInfoSections").innerHTML != "")
        alert(document.getElementById("ctl00_cphCareer_TabResumeSubmission_TbMoreSections_lblAlertInfoSections").innerHTML);

    if ((sourcecontrol.id == "ctl00_cphCareer_btnSubmit") && document.getElementById("ctl00_cphCareer_lblHelpMessage").innerHTML != "")
        alert(document.getElementById("ctl00_cphCareer_lblHelpMessage").innerHTML);

    if ((sourcecontrol.id == "ctl00_btnResetPassword") && document.getElementById("ctl00_lblAlertResetPasswdInfo").innerHTML != "") {
        alert(document.getElementById("ctl00_lblAlertResetPasswdInfo").innerHTML);
        //document.getElementById("ctl00_btnResetPasswordClose").focus();
    }

    if ((sourcecontrol.id == "ctl00_btnSend") && document.getElementById("ctl00_lblAlertInfo").innerHTML != "") {
        doIT = confirm(document.getElementById("ctl00_lblAlertInfo").innerHTML);
        if (!doIT) {
            if ($find('mpeBehaviorEmailAlert') != null)
                $find('mpeBehaviorEmailAlert').hide();
        } 
        else
            $find('mpeBehaviorEmailAlert').show();

    }
    if ((sourcecontrol.id == "ctl00_cphCareer_btnSendEmail") && document.getElementById("ctl00_cphCareer_lblAlertInfo").innerHTML != "") {
        doITYour = confirm(document.getElementById("ctl00_cphCareer_lblAlertInfo").innerHTML);
        if (!doITYour) { 
            if ($find('mpeBehaviorEmailAlertYourResume') != null)
                $find('mpeBehaviorEmailAlertYourResume').hide();
        } 
        else
            $find('mpeBehaviorEmailAlertYourResume').show();
    }
    
    
    //ctl00_cphCareer_lblInfo

}


var isCtrl = false;
var keycode;
document.onkeyup = checkUpKeycode
function checkUpKeycode(e) {    
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;

    if (keycode == 17)
        isCtrl = false;
}

document.onkeydown = checkDownKeycode
function checkDownKeycode(e) {
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;

    if (keycode == 17)
        isCtrl = true;

    if (keycode == 32 && isCtrl == true && document.getElementById("ctl00_valSummaryMaster") != null) {
        var answer = confirm("Are you sure you want to switch to main menu?")
        if (answer) {
            if (document.getElementById("ctl00_HomeLink") != null)
                document.getElementById("ctl00_HomeLink").focus();
            else
                alert("Page does not have main menu");
        }
        isCtrl = false;
    }
}

function skiptomainmenu() {
    if (document.getElementById("ctl00_HomeLink") != null)
        document.getElementById("ctl00_HomeLink").focus();
    else
        alert("Page does not have main menu");
}
