/*	keep for code coloring
<script>
functions allowing to add items to inbox
*/

/* changes label of job in table by id */
function changeSavedJobLabel(id, name, text) {

    if (name == null)
        name = "save";

    if (text == null)
        text = "Saved";

    var objSaveJobItem = document.getElementById("sv" + id);
    if (objSaveJobItem != null) {
        objSaveJobItem.className = name;
        objSaveJobItem.innerHTML = text;
    }
}
/* saves selected jobs using ajax */
function saveSelectedJobsAjax() {

    var classNameSaved = "save"
    var textSaved = "Saved"
    var classNameWait = "loading";
    var textWait = "Saving";
    var classNameError = "save";
    var textError = "Failed";

    var strURL = "/JobSeeker/AddJobToInbox.asp?j=1&";
    var strJobIDs = getSelectedJobIDs();

    if (strJobIDs != "") {

        changeSelectedJobLabels(classNameWait, textWait);

        strURL += strJobIDs;

        new Ajax.Request(strURL, { method: 'get',
            onSuccess: function(transport) {
                var strResponseText = new String(transport.responseText);

                if (strResponseText.toUpperCase() == "OK")
                    changeSelectedJobLabels(classNameSaved, textSaved);

            },
            onFailure: function() {
                //Error message
                changeSelectedJobLabels(classNameError, textError);
            }
        });
    }
}

/* returns a url delim list of selected job ids */
function getSelectedJobIDs() {

    var strResult = "";
    var j = 0
    var objCheckBoxArray = document.getElementsByTagName('input');

    for (var i = 0; i < objCheckBoxArray.length; i++) {
        if (objCheckBoxArray[i].type == "checkbox" && objCheckBoxArray[i].name.substr(0, 3) == "job") {
            if (objCheckBoxArray[i].checked) {
                j++
                strResult += (j == 1 ? "jobid=" : "&jobid=") + objCheckBoxArray[i].value;
            }
        }
    }
    return strResult;
}

/* changes labels of all selected jobs to the specified class and text */
function changeSelectedJobLabels(className, text) {
    var objCheckBoxArray = document.getElementsByTagName('input');

    for (var i = 0; i < objCheckBoxArray.length; i++) {
        if (objCheckBoxArray[i].type == "checkbox" && objCheckBoxArray[i].name.substr(0, 3) == "job") {
            if (objCheckBoxArray[i].checked) {
                changeSavedJobLabel(objCheckBoxArray[i].value, className, text);
            }
        }
    }
}

/* saves individual job using ajax */
function saveJobAjax(strJobID) {

    var classNameSaved = "save";
    var textSaved = "Saved";
    var classNameWait = "loading";
    var textWait = "Saving";
    var classNameError = "save";
    var textError = "failed";

    var strURL = "";
    strURL = "/JobSeeker/AddJobToInbox.asp?jobid=" + strJobID + "&j=1";

    //Show image while waiting
    changeSavedJobLabel(strJobID, classNameWait, textWait);

    new Ajax.Request(strURL, { method: 'get',
        onSuccess: function(transport) {
            var strResponseText = new String(transport.responseText);
            if (strResponseText.toUpperCase() == "OK")
                changeSavedJobLabel(strJobID, classNameSaved, textSaved);
        },
        onFailure: function() {
            //Error message
            changeSavedJobLabel(strJobID, classNameError, textError);
        }
    });
}
/* saves job with support of redir flow if user is not logged in */
function saveJobRedirect(ID, Login) {
    if (Login) {
        saveJobAjax(ID);
    }
    else {
        saveJob(ID);
    }
}

function saveViewJobAjax(strJobID) {

    var classNameSaved = "saved";
    var textSaved = " (saved)";
    var classNameWait = "wait";
    var textWait = ":::::::::";
    var classNameError = "failed";
    var textError = "failed";

    var strURL = "";
    strURL = "/JobSeeker/AddJobToInbox.asp?jobid=" + strJobID + "&j=1";

    //Show text while waiting
    var objItem = document.getElementById("btn" + strJobID);
    if (objItem != null)
        objItem.value = textWait;

    new Ajax.Request(strURL, { method: 'get',
        onSuccess: function(transport) {

            var strResponseText = new String(transport.responseText);
            if (strResponseText.toUpperCase() == "OK") {
                if (objItem != null) {
                    objItem.disabled = true;
                    objItem.value = "Saved";
                    objItem.title = "Saved in your inbox";
                }
            }

        },
        onFailure: function() {
            //Error message
            if (objItem != null)
                objItem.value = textError;
        }
    });
}

function saveViewJobRedirect(ID, blnLogIn) {
    if (typeof (blnLogIn) != "boolean")
        blnLogIn = false;
    
    if (blnLogIn) {
        saveViewJobAjax(ID);
    }
    else {
        saveJob(ID);
    }
}
