﻿// Copyright Zerone Consulting Pvt. Ltd. 2009
//
// All rights are reserved. Reproduction or transmission in whole or in part,in
// any form or by any means, electronic, mechanical or otherwise, is prohibited
// without the prior written consent of the copyright owner.
//
// Filename      :	Utilities.js
// Purpose       :  Utilities.js
// Creation Date :	29/October/2009
// Author        :	Naveenkumar C N
// 
// Change History
// Changed By :
// Date :
// Purpose :

// function to trim
// Author        :	Naveenkumar C N
String.prototype.trim = function() {
    return this.replace(/\s+/g, "");
}

// function to get a parameter value from query string
// Author        :	Naveenkumar C N
function getValueFromQueryString(keyword) {

    var qry = location.href;
    var tmpLen = qry.substring(0, qry.indexOf("?")).length + 1;
    qry = qry.substring(tmpLen, qry.length);
    var query = qry;
    var parms = query.split('&');
    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = parms[i].substring(0, pos).toLowerCase();
            var val = parms[i].substring(pos + 1);
            if (key == keyword.toLowerCase())
                return val;
        }
    }
    return null;
}

// function to get a parameter value from query string
// Author        :	Naveenkumar C N
function getFullValueFromQueryString(keyword) {
    if (location.href.indexOf(keyword) >= 0) {
        var qry = location.href;
        var tmpLen = qry.substring(0, qry.indexOf("?")).length + 1;
        qry = qry.substring(tmpLen + keyword.length + 1);
        return qry;
    }
    else {
        return null;
    }
}


// function to Show Popup
// Author        :	Naveenkumar C N
function ShowPopup(page, width, height) {

    var left = parseInt((screen.availWidth / 2) - (width / 2));
    var top = parseInt((screen.availHeight / 2) - (height / 2));
    var windowFeatures = "width=" + width + ",height=" + height + ",status=yes,scrollbars=yes,resizable=yes,left=" + left +
     ",top=" + top + "screenX=" + left + ",screenY=" + top;
    window.open(page, "popup", windowFeatures).focus();
}

// function to Set Cookie
// Author        :	Naveenkumar C N
function SetCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}

// function to Get Cookie
// Author        :	Naveenkumar C N
function GetCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");

        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);

            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

// function to show group calender
// Author        :	Naveenkumar C N
// references    :  jquery-1.3.2.js
//               :  jquery-ui-1.7.2.custom.min.js
function ShowGroupCalender(txt, fromYear, toYear) {
    var imgPath = $("#hdnResolvedPath").val() + "Image/imgCalendar.jpg";

    $(txt).datepicker({
        showOn: "button",
        buttonImage: imgPath,
        buttonText: 'Pick date',
        buttonImageOnly: true,
        duration: '',
        showTime: false,
        constrainInput: true,
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        minDate: new Date(fromYear, 0, 1),
        maxDate: new Date(toYear, 11, 31),
        yearRange: "-200:+200",
        onSelect: function() {
            this.fireEvent && this.fireEvent('onchange') || $(this).change();
            $('#' + txt).focus();
            $('#' + txt).select();
        }


    });
}


// function to show calender
// Author        :	Naveenkumar C N
// references    :  jquery-1.3.2.js
//               :  jquery-ui-1.7.2.custom.min.js
function showCalender(txt, fromYear, toYear) {
    var imgPath = $("#hdnResolvedPath").val() + "Image/imgCalendar.jpg";

    $('#' + txt).datepicker({
        showOn: "button",
        buttonImage: imgPath,
        buttonText: 'Pick date',
        buttonImageOnly: true,
        duration: '',
        showTime: false,
        constrainInput: true,
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        minDate: new Date(fromYear, 0, 1),
        maxDate: new Date(toYear, 11, 31),
        yearRange: "-200:+200",
        onSelect: function() {
            try {
                this.fireEvent && this.fireEvent('onchange') || $(this).change();
                $('#' + txt).focus();
                $('#' + txt).select();
            }
            catch (e) {
            }
        }


    });
}


// function to show calender
// Author        :	Naveenkumar C N
// references    :  jquery-1.3.2.js
//               :  jquery-ui-1.7.2.custom.min.js
//               :  timepicker.js
function showCalenderAndTime(txt, fromYear, toYear) {
    var imgPath = $("#hdnResolvedPath").val() + "Image/imgCalendar.jpg";
    $('#' + txt).datepicker({
        showOn: "button",
        buttonImage: imgPath,
        buttonImageOnly: true,
        duration: '',
        showTime: true,
        constrainInput: true,
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        minDate: new Date(fromYear, 0, 1),
        maxDate: new Date(toYear, 11, 31),
        yearRange: "-200:+200",
        onSelect: function() {
            this.fireEvent && this.fireEvent('onchange') || $(this).change();
            $('#' + txt).focus();
            $('#' + txt).select();


        }


    });

}

// function to show calender
// Author        :	Naveenkumar C N
// references    :  jquery-1.3.2.js
//               :  jquery-ui-1.7.2.custom.min.js
function showMultipleCalender(txt, fromYear, toYear) {
    var imgPath = $("#hdnResolvedPath").val() + "Image/imgCalendar.jpg";

    $(":text[id*='" + txt + "']").datepicker({
        showOn: "button",
        buttonImage: imgPath,
        buttonText: 'Pick date',
        buttonImageOnly: true,
        duration: '',
        showTime: false,
        constrainInput: true,
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        minDate: new Date(fromYear, 0, 1),
        maxDate: new Date(toYear, 11, 31),
        yearRange: "-200:+200",
        onSelect: function() {
            this.fireEvent && this.fireEvent('onchange') || $(this).change();
            $(this).focus();
            $(this).select();
        }


    });
}

// function to show confirmation Message
// Author        :	Jerin Simon 
function fnConfirmDelete(message) {
    if (confirm(message)) {
        return true;
    }
    else {
        return false;
    }
}
function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + // ',' +
        num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num + '.' + cents);
}



function CloseFancyDilogue() {
    try {
        if (parent != null) {
            parent.$.fancybox.close();
        }
        else {
            $.fancybox.close();
        }
    }
    catch (e) {
    }
}

function SetFocus(obj) {
    $(document).ready
    (
        function() {
            $('#' + obj).focus();
            $('#' + obj).select();
        }
    );

}

function Show(obj) {
    $(document).ready
    (
        function() {
            // $('#' + obj).show();
            $('#' + obj).fadeIn("slow");
        }
    );

}

function Hide(obj) {
    $(document).ready
    (
        function() {
            // $('#' + obj).hide();
            $('#' + obj).fadeOut("slow");
        }
    );

}

function ConfirmDelete() {
    if (!confirm('Are you sure you want to delete this record?')) {
        return false;
    }
    return true;
}

function ShowAlert(msg) {
    $(document).ready
    (
        function() {
            var htmlMsg = "<div class='alert-content'>" + msg + "</div>"
            $.fancybox
            (
                htmlMsg,
                {
                    'autoDimensions': false,
                    'width': 350,
                    'height': 130,
                    'transitionIn': 'none',
                    'transitionOut': 'fade',
                    modal: false,
                    hideOnOverlayClick: true,
                    hideOnContentClick: true,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true

                }
            );

            // auto hide alert box
            //setTimeout("$.fancybox.close()", 2000);
        }
    );
}



function Calender_KeyDown(txt) {
    //commended by nishar on 26 oct for enable editing in datepicker..
    //    $(document).ready(

    //    function() {

    //        $('#' + txt).keydown
    //            (
    //                function(event) {
    //                    if (event.keyCode == 46) {
    //                        $(this).val("");
    //                    }
    //                    else if (event.keyCode == 9) {
    //                        //do nothing
    //                    }
    //                    else {
    //                        event.preventDefault();
    //                        event.returnValue = false;
    //                    }
    //                }
    //            )
    //    }
    //);


    $(document).ready(

       function() {

           $('#' + txt).keydown
                (
                   function(event) {
                       if (event.keyCode == 46) {
                           $(this).val("");
                       }
                       else if (event.keyCode == 9) {
                           //do nothing
                       }
                       else {
                           event.preventDefault();
                           event.returnValue = false;
                       }
                   }
                )
       }
    );

}

//To make a text box Numeric
//Use as: NumericTextBox("<%=txtboxId.ClientID %>");
function NumericTextBox(txtboxID) {

    $("#" + txtboxID).keydown(function(event) {
        //46:       delete
        //8:        backspace
        //37,39:    left,right arrow
        //9:        tab
        //48-57:    numbers
        //96-105:   numbers numpad
        // alert(event.keyCode);
        if (!(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37 ||
            event.keyCode == 39 || event.keyCode == 9) &&
                (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105) || event.shiftKey) {

            event.preventDefault();
            event.returnValue = false;

            //alert(event.keyCode);
        } //END if(...)
    });   //END $("#" + objTxt).keydown...
} //END function NumericTextBox(...)


/*
Author  : Sajith A.K
Date    : 21-Feb-2011
Purpose : Allow only numeric values and decimal point to be entered in a textbox 
*/
function DecimalTextBox(txtboxID) {

    $("#" + txtboxID).keydown(function(event) {
        //110 and 190 :  dot
        //46:       delete
        //8:        backspace
        //37,39:    left,right arrow
        //9:        tab
        //48-57:    numbers
        //96-105:   numbers numpad
        // alert(event.keyCode);
        if (!(event.keyCode == 110 || event.keyCode == 190 || event.keyCode == 46 || event.keyCode == 8
            || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9) &&
            (event.keyCode < 48 || event.keyCode > 57)
            && (event.keyCode < 96 || event.keyCode > 105) || event.shiftKey) {

            event.preventDefault();
            event.returnValue = false;

            //alert(event.keyCode);
        } //END if(...)
    });    //END $("#" + objTxt).keydown...
} //END function NumericTextBox(...)

/*
Author  : Benaiah John
Date    : 04-Jan-2011
Purpose : Allow only numeric values to be entered in a textbox. This method must be called in the onkeydown event of textbox
This method is intented to be applied to textboxes within a grid or other data-controls
*/
function CheckIfNumeric(event) {
    //46:       delete
    //8:        backspace
    //37,39:    left,right arrow
    //9:        tab
    //48-57:    numbers
    //96-105:   numbers numpad
    // alert(event.keyCode);
    if (!(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37 ||
            event.keyCode == 39 || event.keyCode == 9) &&
                (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105) || event.shiftKey) {

        try {
            event.preventDefault();
        } catch (e) { }
        try {
            event.returnValue = false;
        } catch (e) { }

    } //END if(...)
}

function CheckNumericAndDecimal(event) {
    //110 and 190 :  dot
    //46:       delete
    //8:        backspace
    //37,39:    left,right arrow
    //9:        tab
    //48-57:    numbers
    //96-105:   numbers numpad
    if (!(event.keyCode == 110 || event.keyCode == 190 || event.keyCode == 46 || event.keyCode == 8
            || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9) &&
            (event.keyCode < 48 || event.keyCode > 57)
            && (event.keyCode < 96 || event.keyCode > 105) || event.shiftKey) {
        try {
            event.preventDefault();
        } catch (e) { }
        try {
            event.returnValue = false;
        } catch (e) { }

    } //END if(...)
}
function AlphaNumericTextBox(txtboxID) {
    $("#" + txtboxID).keydown(function(event) {
        //46:       delete
        //8:        backspace
        //37,39:    left,right arrow
        //9:        tab
        //48-57:    numbers
        //96-105:   numbers numpad
        //alert(event.keyCode);
        if (!(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37 ||
            event.keyCode == 39 || event.keyCode == 9) &&
                !(event.keyCode >= 48 && event.keyCode <= 57) && !(event.keyCode >= 96 && event.keyCode <= 105) && !(event.keyCode >= 65 && event.keyCode <= 90) && !(event.keyCode == 32)) {

            event.preventDefault();
            event.returnValue = false;

            //alert(event.keyCode);
        } //END if(...)
        if (event.shiftKey) {
            if (event.keyCode >= 48 && event.keyCode <= 57) {
                event.preventDefault();
                event.returnValue = false;
            }
        }
    });        //END $("#" + objTxt).keydown...
}

//START: 9773 Candidate passport verification
//Benaiah John, 21-Nov-2011
/*
Author  : Benaiah John
Date    : 21-Nov-2011
Purpose : Allow only alphanumeric values to be entered in a textbox. NO SPACE character allowed.
*/
function PureAlphaNumericTextBox(txtboxID) {
    $("#" + txtboxID).keydown(function(event) {
        //46:       delete
        //8:        backspace
        //37,39:    left,right arrow
        //9:        tab
        //48-57:    numbers
        //96-105:   numbers numpad
        //alert(event.keyCode);
        if (!(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37 ||
            event.keyCode == 39 || event.keyCode == 9) &&
                !(event.keyCode >= 48 && event.keyCode <= 57) && !(event.keyCode >= 96 && event.keyCode <= 105) && !(event.keyCode >= 65 && event.keyCode <= 90)) {

            event.preventDefault();
            event.returnValue = false;

            //alert(event.keyCode);
        } //END if(...)
        if (event.shiftKey) {
            if (event.keyCode >= 48 && event.keyCode <= 57) {
                event.preventDefault();
                event.returnValue = false;
            }
        }
    });        //END $("#" + objTxt).keydown...
}
//END: 9773 Candidate passport verification
//Benaiah John, 21-Nov-2011

//Clears all textboxes, and selects 0th index of all DDLs
//Param: containerID: the client ID of the div or table
function ResetForm(containerID) {
    $('#' + containerID + ' input[type="text"]').val("");
    $('#' + containerID + ' textarea').val("");
    $('#' + containerID + ' select').val("0");
    $('#' + containerID + ' checkbox').attr("checked", false);
} //END function ResetForm(containerID)

//Validates a textbox to enforce 'required field'
//Used in the PDDEL insert usercontrols
//Added by Benaiah
function ValidateTextBox(textboxID, msgLabelID) {
    if ($('#' + textboxID).val() == "") {
        $('#' + textboxID).css("border", "solid 1px Red");
        $('#' + textboxID).css("background-color", "#FFE8E8");
        $('#' + msgLabelID).text("");
        return false;
    }
    else {
        $('#' + textboxID).css("border", "1px solid #aac1d3");
        $('#' + textboxID).css("background-color", "#FFF");
        return true;
    }
}

///  <summary>Displays Messagebox using jquery fancybox plugin</summary>
/// <param name="messageCaption">The Messagebox Caption</param>
/// <param name="message">The Message content</param>
/// <param name="messageType">The type of Message: 'error','success','warning','alert','information </param>
/// <param name="hideOnClick">TRUE if the Messagebox should be closed when user clicks anywhere inside it</param>
/// <param name="showCloseButton">TRUE if the close button needs to be displayed</param>
/// <remarks>Added by Benaiah</remarks>
function ShowMessageBox(messageCaption, message, messageType, hideOnClick, showCloseButton, width, height, autoClose, timeInSeconds) {

    $(document).ready(function() {


        var cssClassName = "";
        var cssHeaderClassName = "";
        var imagePath = gblVirtualRootDir;
        var isModal = false;
        var timeToClose = "";
        if (timeInSeconds != "") {
            timeToClose = timeInSeconds * 1000;
        }
        switch (messageType) {
            case "error":
                cssHeaderClassName = "errorMessageHeader";
                cssClassName = "errorMessageBox";
                imagePath += "/Image/dialog-error.png"
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "warning":
                cssHeaderClassName = "warningMessageHeader";
                cssClassName = "warningMessageBox";
                imagePath += "/Image/dialog-warning.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            case "information":
                cssHeaderClassName = "infoMessageHeader";
                cssClassName = "infoMessageBox";
                imagePath += "/Image/dialog-information.png"
                break;
            default:
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
        } //END switch
        //        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><br/>" + message + "</div>";
        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><div style='width:100%;height:" + (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" + (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left;width:" + (width - 80) + "px'><br/><span style='padding:0px'>" + message + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: height, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: hideOnClick,
                    hideOnContentClick: hideOnClick,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: showCloseButton,
                    onComplete: function() {
                        if (autoClose) {
                            if (timeToClose != "") {
                                setTimeout('autoClose()', timeToClose);
                            }
                            else {
                                setTimeout('autoClose()', 4000);
                            }
                        }

                    }

                });
    });                             //END document.ready(...)
}


///  <summary>Displays Messagebox using jquery fancybox plugin</summary>
/// <param name="messageCaption">The Messagebox Caption</param>
/// <param name="message">The Message content</param>
/// <param name="messageType">The type of Message: 'error','success','warning','alert','information </param>
/// <param name="hideOnClick">TRUE if the Messagebox should be closed when user clicks anywhere inside it</param>
/// <param name="showCloseButton">TRUE if the close button needs to be displayed</param>
/// <remarks>Added by Sreedevi: after message is closed it redirects to a page</remarks>
/// <modified by>Romy Mathews : TaskID: 9139</modified by>
function ShowMessageBoxAndRedirectToPage(messageCaption, message, messageType, hideOnClick, showCloseButton, width, height, redirectUrl, autoClose, timeInSeconds) {

    $(document).ready(function() {


        var cssClassName = "";
        var cssHeaderClassName = "";
        var imagePath = gblVirtualRootDir;
        var isModal = false;
        var timeToClose = "";
        if (timeInSeconds != "") {
            timeToClose = timeInSeconds * 1000;
        }
        switch (messageType) {
            case "error":
                cssHeaderClassName = "errorMessageHeader";
                cssClassName = "errorMessageBox";
                imagePath += "/Image/dialog-error.png"
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "warning":
                cssHeaderClassName = "warningMessageHeader";
                cssClassName = "warningMessageBox";
                imagePath += "/Image/dialog-warning.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            case "information":
                cssHeaderClassName = "infoMessageHeader";
                cssClassName = "infoMessageBox";
                imagePath += "/Image/dialog-info.png"
                break;
            default:
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
        } //END switch
        //        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><br/>" + message + "</div>";
        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><div style='width:100%;height:" + (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" + (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left;width:" + (width - 80) + "px'><br/><span style='padding:0px'>" + message + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: height, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: hideOnClick,
                    hideOnContentClick: hideOnClick,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: showCloseButton,
                    onClosed: function() {
                        if (autoClose) {
                            if (timeToClose != "") {
                                setTimeout('autoCloseAndRedirect("' + redirectUrl + '")', timeToClose);
                            }
                            else {
                                setTimeout('autoCloseAndRedirect("' + redirectUrl + '")', 4000);
                            }
                        }
                    }

                });

    });                              //END document.ready(...)
}

//START: 9139 ATS - In ats a user should be able to progress a group of candidates from capture rates to FDC as well....(part3)
//Romy Mathews, 10-Oct-2011
function autoCloseAndRedirect(redirectUrl) {
    $("#fancybox-overlay, #fancybox-wrap").fadeOut();
    location.href = redirectUrl;
};
//END: 9139 ATS - In ats a user should be able to progress a group of candidates from capture rates to FDC as well....(part3)
//Romy Mathews, 10-Oct-2011

///  <summary>Displays Mini Messagebox using jquery fancybox plugin</summary>
/// <param name="message">The Message content</param>
/// <param name="showCloseButton">TRUE if the close button needs to be displayed</param>
/// <remarks>Added by Benaiah</remarks>
function ShowMiniMessageBox(message, width, timeInSeconds) {

    $(document).ready(function() {
        var hLeft = $(window).width() / 2;
        var vTop = $(window).height() / 2;
        var autoClose = true;
        var timeToClose = "";

        if (timeInSeconds != "0") {
            timeToClose = timeInSeconds * 1000;
        }
        else {
            autoClose = false;
        }


        //var htmlMsg = "<div class='alert-content'>";
        var htmlMsg = "<div class='miniMsgBoxContainer' style='width:" + width + "px; top:" + vTop + "px; left:" + hLeft + "px;'><b class='rtop'><b class='r1'></b><b class='r2'></b>";
        htmlMsg += "<b class='r3'></b><b class='r4'></b></b><div class='miniMsgBoxContentWrapper'>";
        htmlMsg += message;
        htmlMsg += "</div><b class='rbottom'><b id='B2' class='r4'></b><b class='r3'></b><b class='r2'>";
        htmlMsg += "</b><b class='r1'></b></b></div>";
        //htmlMsg += "</div>";


        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: 40, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: true,
                    hideOnContentClick: true,
                    overlayColor: 'transparent',
                    overlayOpacity: 0.5,
                    centerOnScroll: true,
                    showCloseButton: false,
                    opacity: true,
                    onComplete: function() {
                        if (autoClose) {
                            if (timeToClose != "") {
                                setTimeout('autoClose()', timeToClose);
                            }
                        }

                    } //END onComplete

                }); //END fancyBox
        $("#fancy-bg-n").css("background-image", "none");
        $("#fancy-bg-ne").css("background-image", "none");
        $("#fancy-bg-e").css("background-image", "none");
        $("#fancy-bg-se").css("background-image", "none");
        $("#fancy-bg-s").css("background-image", "none");
        $("#fancy-bg-sw").css("background-image", "none");
        $("#fancy-bg-w").css("background-image", "none");
        $("#fancy-bg-nw").css("background-image", "none");

        $("#fancy-bg-n").css("display", "none");
        $("#fancy-bg-ne").css("display", "none");
        $("#fancy-bg-e").css("display", "none");
        $("#fancy-bg-se").css("display", "none");
        $("#fancy-bg-s").css("display", "none");
        $("#fancy-bg-sw").css("display", "none");
        $("#fancy-bg-w").css("display", "none");
        $("#fancy-bg-nw").css("display", "none");


        $("#fancybox-outer ").css("background", "transparent");

    }); //END document.ready(...)
}


function autoClose() {
    $("#fancybox-overlay, #fancybox-wrap").fadeOut();
};


function ParseToDate(dateStr, splitChar) {
    try {
        dateStr = dateStr.toLowerCase();
        var d = dateStr.split(splitChar)[0];
        var mm = dateStr.split(splitChar)[1];
        var y = dateStr.split(splitChar)[2];
        var m = 0;

        switch (mm) {
            case "jan":
                m = 0;
                break;
            case "feb":
                m = 1;
                break;
            case "mar":
                m = 2;
                break;
            case "apr":
                m = 3;
                break;
            case "may":
                m = 4;
                break;
            case "jun":
                m = 5;
                break;
            case "jul":
                m = 6;
                break;
            case "aug":
                m = 7;
                break;
            case "sep":
                m = 8;
                break;
            case "oct":
                m = 9;
                break;
            case "nov":
                m = 10;
                break;
            case "dec":
                m = 11;
                break;
        }

        var newDate = new Date()
        newDate.setFullYear(y, m, d);
        newDate.setHours(0, 0, 0, 0);
        return newDate;
    }
    catch (e) {
    }
    return null;
}


///
function showRelationalCalender(txt, fromYear, fromMonth, fromDay, toYear, toMonth, toDay) {

    var imgPath = $("#hdnResolvedPath").val() + "Image/imgCalendar.jpg";

    $('#' + txt).datepicker({
        showOn: "button",
        buttonImage: imgPath,
        buttonText: 'Choose',
        buttonImageOnly: true,
        duration: '',
        showTime: false,
        constrainInput: true,
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        minDate: new Date(fromYear, fromMonth - 1, fromDay),
        maxDate: new Date(toYear, toMonth - 1, toDay),
        yearRange: "-200:+200",
        onSelect: function() {
            this.fireEvent && this.fireEvent('onchange') || $(this).change();
            $('#' + txt).focus();
            $('#' + txt).select();
        }


    });
}



function ShowRedirectionMsgWithoutClose(caption, message, messageType, closeRedirectUrl, widthPx, heightPx) {

    $(document).ready(function() {

        var cssClassName = "";
        if (heightPx == null || heightPx == "") {
            heightPx = 150;
        }
        if (widthPx == null || widthPx == "") {
            widthPx = 350;
        }
        var imagePath = gblVirtualRootDir;
        var cssHeaderClassName = "";
        switch (messageType) {
            case "error":
                cssClassName = "errorMessageHeader";
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            default:
                break;
        } //END switch

        var closebtn = "<br/><br/><span  class='mainround' style='float:right'><span class='roundleft'></span><input onclick='location.href=\"" +
            closeRedirectUrl + "\";' type='button' value='Close' class='button' /><span class='roundright'></span></span>";
        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (heightPx - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (heightPx / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (widthPx - 80) + "px'><br/><span style='padding:5px'>" + message + closebtn + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: widthPx,
                    height: heightPx,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: false,
                    enableEscapeButton: false
                });

    });              //END document.ready(...)
}

///  <summary>Displays Messagebox using jquery fancybox plugin</summary>
/// <param name="messageCaption">The Messagebox Caption</param>
/// <param name="message">The Message content</param>
/// <param name="messageType">The type of Message: 'error','success','warning','alert','information </param>
/// <param name="hideOnClick">TRUE if the Messagebox should be closed when user clicks anywhere inside it</param>
/// <param name="showCloseButton">TRUE if the close button needs to be displayed</param>
/// <remarks>Added by Raji</remarks>
function ShowMessageBoxForMatch(messageCaption, message, messageType, hideOnClick, showCloseButton, width, height, autoClose, timeInSeconds) {

    $(document).ready(function() {


        var cssClassName = "";
        var cssHeaderClassName = "";
        var imagePath = gblVirtualRootDir;
        var isModal = false;
        var timeToClose = "";
        if (timeInSeconds != "") {
            timeToClose = timeInSeconds * 1000;
        }
        switch (messageType) {
            case "error":
                cssHeaderClassName = "errorMessageHeader";
                cssClassName = "errorMessageBox";
                imagePath += "/Image/dialog-error.png"
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "warning":
                cssHeaderClassName = "warningMessageHeader";
                cssClassName = "warningMessageBox";
                imagePath += "/Image/dialog-warning.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            case "information":
                cssHeaderClassName = "infoMessageHeader";
                cssClassName = "infoMessageBox";
                imagePath += "/Image/dialog-info.png"
                break;
            default:
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
        } //END switch
        //        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><br/>" + message + "</div>";
        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><div style='width:100%;height:500px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" + (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left;width:" + (width - 80) + "px'><br/><span style='padding:0px'>" + message + "</span><div style=\"text-align:right;margin-top:10px;\"><input id=\"fancyConfirm_cancel\" style=\"margin:3px;padding:0px;background:#692727 url(images/redHeader.png) 10% top repeat-x;\" type=\"button\" value=\"Cancel\"><input id=\"fancyConfirm_ok\" style=\"margin:3px;padding:0px; background:#692727 url(images/redHeader.png) 10% top repeat-x;forecolor:white\" type=\"button\" value=\"Ok\" onclick=\"RedirectToShortList();\" ></div></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: height, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: true,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: false,
                    enableEscapeButton: false,
                    onComplete: function() {
                        jQuery("#fancyConfirm_cancel").click(function() {
                            ret = false;
                            jQuery.fancybox.close();

                        })
                        jQuery("#fancyConfirm_ok").click(function() {
                            ret = true;
                            jQuery.fancybox.close();
                        })
                    }



                });
    });                            //END document.ready(...)
}


function ShowATSMessageBox(wfInstanceId, hideOnClick, showCloseButton, width, height, resolvedUrl, pageName, redirectUrl) {

    $(document).ready(function() {

        $.fancybox({
            autoDimensions: false,
            width: width, //450
            height: height, //300
            transitionIn: 'none',
            transitionOut: 'fade',
            href: resolvedUrl + 'Showdialog.aspx?ucpath=ATS/UserControls/uctlFancyBox.ascx&wfInstance=' + wfInstanceId + '&PageName=' + pageName + '&RedirectUrl=' + redirectUrl,
            showCloseButton: false,
            hideOnOverlayClick: false,
            hideOnContentClick: false,
            overlayColor: '#fff',
            easingIn: 'easeOutBack',
            easingOut: 'easeInBack',
            overlayOpacity: 0,
            centerOnScroll: true,
            type: 'iframe',
            enableEscapeButton: false

        });
    });                                       //END document.ready(...)
}




function ShowConfirmation(caption, message, yesFunctionality, noFunctionality) {
    //END document.ready(...)

    $(document).ready(function() {

        var cssClassName = "";
        var height = 150;
        var width = 350;
        var imagePath = gblVirtualRootDir;


        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"

        //        if (yesRedirectUrl.search("ShowDialog") != -1) {
        //            var scrY = "( \"" + yesRedirectUrl + " \");";
        //        }
        //        else {
        //            var scrY = "location.href=\"" + yesRedirectUrl + "\";";
        //        }

        //        if (noRedirectUrl == "close") {
        //            var scrn = "CloseFancyDilogue();";
        //        }
        //        else {
        //            var scrn = "location.href=\"" + noRedirectUrl + "\";";
        //        }
        if (noFunctionality.trim().length > 0) {
            var scrn = "location.href=\"" + noFunctionality + "\";";
        }
        else {
            var scrn = "CloseFancyDilogue();";
        }
        if (yesFunctionality.trim().length > 0) {
            var scrY = "CloseFancyDilogue();" + yesFunctionality;
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick='" + scrY + "' type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";


        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (width - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: 350,
                    height: 150,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: true,
                    enableEscapeButton: false
                });

    });
    return false;
}
//START: 9085 BUG : 4086 - Enhancement - Maintenance - Moving candidate and contacts....contd (1-Reallocate Contacts)
//SAJITH A.K., 17-AUG-2011
function ShowConfirmation(caption, message, yesFunctionality, noFunctionality, fancyWidth, fancyHeight, funOnClose) {

    $(document).ready(function() {


        var NoFun = "parent.NoFunctionality(1);CloseFancyDilogue();"
        var cssClassName = "";
        var height = 150;
        var width = 350;
        var imagePath = gblVirtualRootDir;

        if (fancyWidth == 0) {
            fancyWidth = 350;
        }
        else if (fancyWidth > 0) {
            width = fancyWidth;
        }
        else {
            fancyWidth = width;
        }

        if (fancyHeight == 0) {
            fancyHeight = 150;
        }
        else if (fancyHeight > 0) {
            height = fancyHeight;
        }
        else {
            fancyHeight = height;
        }


        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"

        if (noFunctionality.trim().length > 0) {
            var scrn = noFunctionality;
        }
        else {
            var scrn = "CloseFancyDilogue();";
        }
        if (yesFunctionality.trim().length > 0) {
            var scrY = "CloseFancyDilogue();" + yesFunctionality;
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick='" + scrY + "' type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";
        var anchor = '';

        if (funOnClose != '') {
            anchor = "<a href='#' id='lnkNofun' onclick='" + funOnClose + "'/>";

            $("a[id*='fancybox-close']").click(function() {
                $("a[id*='lnkNofun']").click();
            });
        }

        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (fancyHeight - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (fancyHeight / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (fancyWidth - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn +
            anchor + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: fancyWidth,
                    height: fancyHeight,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: true,
                    enableEscapeButton: false

                });

    });
    return false;
}


//END: 9085 BUG : 4086 - Enhancement - Maintenance - Moving candidate and contacts....contd (1-Reallocate Contacts)
//SAJITH A.K., 17-AUG-2011

// Added by Rajin on 11-Nov-2010 (modification of ShowConfirmation function)
// Rev #2 - Modified by Anis S on 23Noc2010 - Added two more parameters in this method
function ShowYesNoConfirmation(caption, message, yesFunctionality, noFunctionality, fancyWidth, fancyHeight) {
    //END document.ready(...)

    $(document).ready(function() {

        var cssClassName = "";
        var height = 150;
        var width = 350;
        var imagePath = gblVirtualRootDir;

        if (fancyWidth == 0) {
            fancyWidth = 350;
        }
        else if (fancyWidth > 0) {
            width = fancyWidth;
        }
        else {
            fancyWidth = width;
        }

        if (fancyHeight == 0) {
            fancyHeight = 150;
        }
        else if (fancyHeight > 0) {
            height = fancyHeight;
        }
        else {
            fancyHeight = height;
        }

        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"


        if (noFunctionality.trim().length > 0) {
            var scrn = "location.href=\"" + noFunctionality + "\";";
        }
        else {
            var scrn = "CloseFancyDilogue();";
        }
        if (yesFunctionality.trim().length > 0) {
            var scrY = "location.href=\"" + yesFunctionality + "\";";
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick='" + scrY + "' type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";


        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (width - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: fancyWidth,
                    height: fancyHeight,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: false,
                    enableEscapeButton: false,
                    onClosed: function() {
                        location.href = noFunctionality;
                    }
                });

    });
}


function ShowYesNoConfirmationWithFunctionForYesNo(caption, message, yesFunctionality, noFunctionality, fancyWidth, fancyHeight) {
    //END document.ready(...)

    $(document).ready(function() {

        var cssClassName = "";
        var height = 150;
        var width = 350;
        var imagePath = gblVirtualRootDir;

        if (fancyWidth == 0) {
            fancyWidth = 350;
        }
        else if (fancyWidth > 0) {
            width = fancyWidth;
        }
        else {
            fancyWidth = width;
        }

        if (fancyHeight == 0) {
            fancyHeight = 150;
        }
        else if (fancyHeight > 0) {
            height = fancyHeight;
        }
        else {
            fancyHeight = height;
        }

        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"


        if (noFunctionality.trim().length > 0) {
            var scrn = noFunctionality;
        }
        else {
            var scrn = "CloseFancyDilogue();";
        }
        if (yesFunctionality.trim().length > 0) {
            var scrY = yesFunctionality;
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick='" + scrY + "' type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";


        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (width - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: fancyWidth,
                    height: fancyHeight,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: false,
                    enableEscapeButton: false,
                    onClosed: function() {
                        location.href = noFunctionality;
                    }
                });

    });
}

function ShowYesNoConfirmationWithFunctionForYesNoAndRadioButton(caption, message, yesFunctionality, noFunctionality, fancyWidth, fancyHeight) {
    //END document.ready(...)

    $(document).ready(function() {

        var cssClassName = "";
        var height = 240;
        var width = 430;
        var imagePath = gblVirtualRootDir;

        if (fancyWidth == 0) {
            fancyWidth = 350;
        }
        else if (fancyWidth > 0) {
            width = fancyWidth;
        }
        else {
            fancyWidth = width;
        }

        if (fancyHeight == 0) {
            fancyHeight = 150;
        }
        else if (fancyHeight > 0) {
            height = fancyHeight;
        }
        else {
            fancyHeight = height;
        }

        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"


        if (noFunctionality.trim().length > 0) {
            var scrn = noFunctionality;
        }
        else {
            var scrn = "CloseFancyDilogue();";
        }
        if (yesFunctionality.trim().length > 0) {
            var scrY = yesFunctionality;
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick='" + scrY + "' type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";
        var option = "<fieldset style='width:95%; padding:4px'><legend style='padding:1px;'>Option</legend><br />On Marking as Lost, do you want to send emails to candidates<br /><input type='radio' checked='checked' onclick='parent.yesChecked=true' id='rbtYes' name='yesno' value='yes'/>Yes<br /><input type='radio' onclick='parent.yesChecked=false' id='rbtNo' name='yesno' value='No' /> No </fieldset>"

        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (width - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn + "</span>" + option + "</div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: fancyWidth,
                    height: fancyHeight,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: false,
                    enableEscapeButton: false,
                    onClosed: function() {
                        location.href = noFunctionality;
                    }
                });

    });
}

function ShowConfirmationWithPostBack(caption, message, yesFunctionality, noFunctionality, anchoTag) {
    //END document.ready(...)
    // To do postback while deleting items from grid in gridrowcommand event.
    $(document).ready(function() {

        var cssClassName = "";
        var height = 150;
        var width = 350;
        var imagePath = gblVirtualRootDir;

        //debugger;
        cssHeaderClassName = "alertMessageHeader";
        cssClassName = "alertMessageBox";
        imagePath += "/Image/dialog-alert.png"

        //        if (yesRedirectUrl.search("ShowDialog") != -1) {
        //            var scrY = "( \"" + yesRedirectUrl + " \");";
        //        }
        //        else {
        //            var scrY = "location.href=\"" + yesRedirectUrl + "\";";
        //        }

        //        if (noRedirectUrl == "close") {
        //            var scrn = "CloseFancyDilogue();";
        //        }
        //        else {
        //            var scrn = "location.href=\"" + noRedirectUrl + "\";";
        //        }
        yesFunctionality = $(anchoTag).attr("href");
        //        if (noFunctionality.trim().length > 0) {
        //            var scrn = "location.href=\"" + noFunctionality + "\";";
        //        }
        //        else {
        //            var scrn = "CloseFancyDilogue();";
        //        }
        var scrn = "CloseFancyDilogue();";

        if (yesFunctionality.trim().length > 0) {
            var scrY = "CloseFancyDilogue();" + yesFunctionality;
        }

        var yesBtn = "<br/><br/><span  class='mainround' style='float:left;margin-left:150px;'><span class='roundleft'></span><input onclick=\"" + scrY + "\" type='button' value='Yes' class='button' /><span class='roundright'></span></span>";
        var noBtn = "<span  class='mainround' style='float:left'><span class='roundleft'></span><input onclick='" + scrn + "' type='button' value='No' class='button' /><span class='roundright'></span></span>";


        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + caption + "</b></span><div style='width:100%;height:" +
            (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left; text-align: justify; width:" +
            (width - 80) + "px'><br/><span style='padding:5px'>" + message + yesBtn + noBtn + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: 350,
                    height: 150,
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: false,
                    hideOnContentClick: false,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: true,
                    enableEscapeButton: false
                });

    });
    return false;
}


/*
Author: Benaiah John
Date: 20-Jan-2011
Purpose: ParseDate event handler for Dev-express grid
Allows user to manually enter required date in the following formats: 
dd.mm.yy; dd-mm-yy;dd/mm/yy;dd/MMM/yyyy
*/
function ASPxDateEdit_ParseDate(s, e) {
    var enteredDate = e.value;
    var todayDate = new Date();
    var baseYear = 2000;
    var dayIsValid = false;
    var monthIsValid = false;
    var yearIsValid = false;

    enteredDate = enteredDate.replace('.', '/').replace('.', '/').replace('-', '/').replace('-', '/').replace('.', '/').replace('.', '/');
    var strDateParts = enteredDate.split('/');
    if (strDateParts.length == 3) {

        var monthsOfTheYear = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
        var dd = strDateParts[0];
        var mm = strDateParts[1];
        var yy = strDateParts[2];

        /*DATE PART */
        if (dd.length > 0 && !isNaN(dd)) {
            dd = parseInt(dd, 10);
            dayIsValid = true;
        }

        /* MONTH PART */
        if (isNaN(mm)) {

            var monthNo = $.inArray(mm.toLowerCase(), monthsOfTheYear);

            if (monthNo != -1) {
                mm = monthNo;
                monthIsValid = true;
            }

        } //END if (isNaN(mm))
        else {
            mm = parseInt(mm, 10) - 1;
            monthIsValid = true;
        }

        /* YEAR PART */
        if (yy.length == 0 || isNaN(yy)) {
            //invalid year; do nothing
        }
        else {
            if (yy.length < 3) {
                yy = parseInt(yy, 10) + baseYear;
                yearIsValid = true;
            }
            else if (yy.length == 4) {
                yy = parseInt(yy, 10);
                yearIsValid = true;
            }
            else if (yy.length > 4) {
                yy = parseInt(yy, 10) % 100;
                yy = yy + baseYear;
                yearIsValid = true;
            }
        } //END else

        if (dayIsValid && monthIsValid && yearIsValid) {
            var selectedDate = new Date(yy, mm, dd);
            e.date = selectedDate;
            e.handled = true;
        } //END if (dayIsValid && monthIsValid && yearIsValid)

    } //END if (strDateParts.length == 3)
}

/*
Author: Varun T V
Date: 3-Feb-2011
Purpose: ParseDate event handler for Dev-express grid
Allows user to manually enter required date in the following formats: 
dd.mm.yy hh:mt PM; dd-mm-yy hh.mt PM;dd/mm/yy hh:mt PM;dd/MMM/yyyy hh:mt PM
NB : Allows time string 
*/
function ASPxDateEdit_ParseDate_WithTime(s, e) {
    var enteredDate = e.value;
    var todayDate = new Date();
    var baseYear = 2000;
    var dayIsValid = false;
    var monthIsValid = false;
    var yearIsValid = false;
    var hourIsValid = false;
    var minutIsValid = false;
    var secIsValid = false;

    enteredDate = enteredDate.replace('.', '/').replace('.', '/').replace('-', '/').replace('-', '/')
              .replace('.', '/').replace('.', '/').replace(':', '/').replace(':', '/').replace(' ', '/').replace(' ', '/');
    var strDateParts = enteredDate.split('/');
    if (strDateParts.length == 6) {

        var monthsOfTheYear = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
        var dd = strDateParts[0];
        var mm = strDateParts[1];
        var yy = strDateParts[2];
        var hh = strDateParts[3];
        var mt = strDateParts[4];
        var tt = strDateParts[5];

        /*DATE PART */
        if (dd.length > 0 && !isNaN(dd)) {
            dd = parseInt(dd, 10);
            dayIsValid = true;
        }

        /* MONTH PART */
        if (isNaN(mm)) {

            var monthNo = $.inArray(mm.toLowerCase(), monthsOfTheYear);

            if (monthNo != -1) {
                mm = monthNo;
                monthIsValid = true;
            }

        } //END if (isNaN(mm))
        else {
            mm = parseInt(mm, 10) - 1;
            monthIsValid = true;
        }

        /* YEAR PART */
        if (yy.length == 0 || isNaN(yy)) {
            //invalid year; do nothing
        }
        else {
            if (yy.length < 3) {
                yy = parseInt(yy, 10) + baseYear;
                yearIsValid = true;
            }
            else if (yy.length == 4) {
                yy = parseInt(yy, 10);
                yearIsValid = true;
            }
            else if (yy.length > 4) {
                yy = parseInt(yy, 10) % 100;
                yy = yy + baseYear;
                yearIsValid = true;
            }
        } //END else

        /*HOUR PART */
        if (hh.length > 0 && !isNaN(hh)) {
            hh = parseInt(hh, 10);
            hourIsValid = true;
        }
        /*MINUT PART */
        if (mt.length > 0 && !isNaN(mt)) {
            mt = parseInt(mt, 10);
            minutIsValid = true;
        }

        if (tt.length > 0) {

            if ((tt == 'PM' || tt == 'pm' || tt == 'Pm' || tt == 'pM') && hh <= 12) {
                hh = hh + 12;
            }
        }

        if (dayIsValid && monthIsValid && yearIsValid && hourIsValid && minutIsValid) {
            var selectedDate = new Date(yy, mm, dd, hh, mt, 0);
            e.date = selectedDate;
            e.handled = true;
        } //END if (dayIsValid && monthIsValid && yearIsValid)

    } //END if (strDateParts.length == 3)
}


/*
Author: Sobish Joseph
Date: 18-Mar-2011
Purpose: Support mutiple formats in the jquery calender
Allows user to manually enter required date in the following formats: 
dd.mm.yy; dd-mm-yy;dd/mm/yy;dd/MMM/yyyy
*/
function EnableMultipleDateFormatForTextBox(controlObject) {
    try {
        var enteredDate = controlObject.value;
        var todayDate = new Date();
        var baseYear = 2000;
        var dayIsValid = false;
        var monthIsValid = false;
        var yearIsValid = false;

        enteredDate = enteredDate.replace('.', '/').replace('.', '/').replace('-', '/').replace('-', '/').replace('.', '/').replace('.', '/');
        var strDateParts = enteredDate.split('/');
        if (strDateParts.length == 3) {

            var monthsOfTheYear = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
            var monthsToDispaly = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
            var dd = strDateParts[0];
            var mm = strDateParts[1];
            var yy = strDateParts[2];

            /*DATE PART */
            if (dd.length > 0 && !isNaN(dd)) {
                dd = parseInt(dd, 10);
                dayIsValid = true;
            }

            /* MONTH PART */
            if (isNaN(mm)) {

                var monthNo = $.inArray(mm.toLowerCase(), monthsOfTheYear);
                if (monthNo != -1) {
                    mm = monthNo;
                    monthIsValid = true;
                }

            } //END if (isNaN(mm))
            else if (parseInt(mm, 10) < 13) {
                mm = parseInt(mm, 10) - 1;
                monthIsValid = true;
            }

            /* YEAR PART */
            if (yy.length == 0 || isNaN(yy)) {
                //invalid year; do nothing
            }
            else {
                if (yy.length < 3) {
                    yy = parseInt(yy, 10) + baseYear;
                    yearIsValid = true;
                }
                else if (yy.length == 4) {
                    yy = parseInt(yy, 10);
                    yearIsValid = true;
                }
                else if (yy.length > 4) {
                    yy = parseInt(yy, 10) % 100;
                    yy = yy + baseYear;
                    yearIsValid = true;
                }
            } //END else

            if (dayIsValid && monthIsValid && yearIsValid) {

                if (parseInt(dd, 10) < 10) {
                    dd = '0' + dd;
                }

                var selectedDate = dd + '/' + monthsToDispaly[mm] + '/' + yy;

                var isleapyr = isLeapYear(yy);

                if (mm == "0" || mm == "2" || mm == "4" || mm == "6" || mm == "7" || mm == "9" || mm == "11") {
                    if (parseInt(dd, 10) > 31) {
                        dayIsValid = false;
                    }
                }
                else if (mm == "3" || mm == "5" || mm == "8" || mm == "10") {
                    if (parseInt(dd, 10) > 30) {
                        dayIsValid = false;
                    }
                }
                else if (mm == "1") {
                    if (isleapyr == "true") {
                        if (parseInt(dd, 10) > 29) {
                            dayIsValid = false;
                        }
                    }
                    else {
                        if (parseInt(dd, 10) > 28) {
                            dayIsValid = false;
                        }
                    }
                }
                if (dayIsValid && monthIsValid && yearIsValid) {
                    controlObject.value = selectedDate;
                }
                else {
                    controlObject.value = "";
                }
            } //END if (dayIsValid && monthIsValid && yearIsValid)
            else {
                controlObject.value = "";
            }

        } //END if (strDateParts.length == 3)
        else {
            controlObject.value = "";
        }
    }
    catch (Error) {

    }

} //End of EnableMultipleDateFormatForTextBox


/*
Author  : Benaiah John
Date    : 16-Feb-2011
Purpose : Handles the selection-changed event of all DDLs within a container, to check selection of inactive data items, and displays appropriate message
Param   : strContainerId - ID of container (gridview, div, table, repeater, etc...)
*/
function CheckIfInactiveItemIsSelected_Container(strContainerIdListJSON) {
    $(document).ready(function() {
        var jsonObj = eval(strContainerIdListJSON);


        if (jsonObj != null) {
            for (i = 0; i < jsonObj.length; i++) {
                var strContainerId = jsonObj[i];
                var containerObj = $("#[id$='" + strContainerId + "']");

                if (containerObj != null && containerObj != undefined) {
                    var ddlObj = containerObj.find("select");
                    ddlObj.find("option").each(function() {
                        if ($(this).text().search('(Inactive)') != -1) {

                            $(this).css("color", "#666666");

                        }
                    }); //END ddlObj.find("option").find("option")

                    ddlObj.change(function() {
                        var selectedValue = $(this).val();
                        var attrDisplayName = $(this).attr("displayName");
                        var objSelectedOption = $(this).find("option:selected");

                        if (objSelectedOption != null && objSelectedOption != undefined) {

                            var selectedText = objSelectedOption.text();
                            if (selectedValue != null && selectedValue != undefined && selectedText != null && selectedText != undefined && selectedText.search('(Inactive)') != -1) {

                                $(this).val('0');
                                var errorMsg = "The item you selected is currently Inactive.<br />Please change your selection.";
                                ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);

                            } //END if (selectedValue != null &&...)
                        } //END if (objSelectedOption != null && ...) 

                    }); //END containerObj.find.change

                } //END if (containerObj != null && containerObj != undefined)
            } //END for()

        } //END if(jsonObj != null)

    });       //END document.ready

} //END function CheckIfInactiveItemIsSelected_Container(...)

/*
Author  : Benaiah John
Date    : 10-Feb-2011
Purpose : Handles the selection-changed event of specified DDLs, to check selection of inactive data items, and displays appropriate message
Param   : strListJson-list of ddlClientIds & corresponding DisplayNames
*/
function CheckIfInactiveItemIsSelected_DDL(strListJson) {
    $(document).ready(function() {
        var ddlClientId = "";
        var displayName = "";
        var jsonObj = eval(strListJson);

        if (jsonObj != null) {
            for (i = 0; i < jsonObj.length; i++) {

                ddlClientId = jsonObj[i].Id;
                displayName = jsonObj[i].DisplayName;
                var ddlObj = $("[id$='" + ddlClientId + "']");

                if (ddlObj != null && ddlObj != undefined) {
                    /* Add an attribute to DDL to save the display name*/
                    ddlObj.attr("displayName", displayName);

                    /* Add an onChanged event handler to display error msg when inactive items are selected */
                    ddlObj.change(function() {
                        var selectedValue = $(this).val();
                        var attrDisplayName = $(this).attr("displayName");
                        var objSelectedOption = $(this).find("option:selected");

                        if (objSelectedOption != null && objSelectedOption != undefined) {

                            var selectedText = objSelectedOption.text();
                            //var attrIsActive = objSelectedOption.attr("isactive");
                            if (selectedValue != null && selectedValue != undefined && selectedText != null && selectedText != undefined && selectedText.search('(Inactive)') != -1) {

                                $(this).val('0');
                                var errorMsg = "The " + attrDisplayName + " you selected is currently Inactive.<br />Please change your selection.";
                                ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);

                            } //END if (selectedValue != null &&...)
                        } //END if (objSelectedOption != null && ...) 

                    }); //END ddlObj.change()

                } //END if(ddlObk!=null && ...)

            } //END for()

        } //END if(jsonObj != null)

    }); //END document.ready

} //END function

/*
Author  : Benaiah John
Date    : 16-Feb-2011
Purpose : Handles the selection-changed event of all DDLs within a container, to check selection of inactive data items, and displays appropriate message
Param   : strChklIdListJSON - ID of CheckBoxList
*/
function CheckIfInactiveItemIsSelected_CheckBoxList(strChklIdListJSON) {
    $(document).ready(function() {
        var jsonObj = eval(strChklIdListJSON);


        if (jsonObj != null) {
            for (i = 0; i < jsonObj.length; i++) {
                var strContainerId = jsonObj[i];
                var containerObj = $("#[id*='" + strContainerId + "']");

                if (containerObj != null && containerObj != undefined) {

                    containerObj.find("label").each(function() {
                        if ($(this).text().search("(Inactive)") != -1) {
                            $(this).css("color", "#666666");
                        }
                    });
                    containerObj.find("input[type='checkbox']")
                        .click(function() {
                            var strChkBoxId = $(this).attr('id');                                   //current checkbox
                            var labelObj = containerObj.find("label[for='" + strChkBoxId + "']");   //label of current checkbox
                            //labelObj.css("color", "#666666");
                            if (strChkBoxId != null && labelObj != null && strChkBoxId != undefined && labelObj != undefined) {
                                if (labelObj.text().search("(Inactive)") != -1) {

                                    var errorMsg = "The item you selected is currently Inactive.<br />Please change your selection.";
                                    ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);
                                    this.checked = !this.checked;
                                }

                            } //END if (strChkBoxId != null && ...)

                        }); //END containerObj.find("input[type='checkbox']").each().click()

                } //END if (containerObj != null && containerObj != undefined)

            } //END for()

        } //END if(jsonObj != null)

    });                  //END document.ready

} //END function CheckIfInactiveItemIsSelected_Container(...)


/*
Author  : Benaiah John
Date    : 11-Feb-2011
Purpose : Checks selection of inactive data items, and displays appropriate message
Param   : lstbxClientInstanceId - clientInstanceId of ASPxComboBox or ASPxListBox as a string
Param   : displayName - The displayName of the comboBox/listBox
Returns : TRUE if Inactive Item is selected; otherwise FALSE
*/
function CheckIfInactiveItemIsSelected_SingleSelectMode(lstbxClientInstanceId, displayName) {
    var lstbxObj = eval(lstbxClientInstanceId);
    var selectedItem = lstbxObj.GetSelectedItem();
    if (selectedItem != null && selectedItem != undefined) {
        var selectedValue = parseInt(selectedItem.value);
        var selectedText = selectedItem.text;
        if (selectedValue < 0) {

            if (lstbxObj.GetItemCount() > 0) {
                lstbxObj.SetSelectedIndex(-1);
            }

            var errorMsg = "The " + displayName + " you selected is currently Inactive.<br />Please change your selection.";
            ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);
            return true;
        } //END if (selectedValue < 0)
        else if (selectedText.search("(Inactive)") != -1) {

            if (lstbxObj.GetItemCount() > 0) {
                lstbxObj.SetSelectedIndex(-1);
            }

            var errorMsg = "The " + displayName + " you selected is currently Inactive.<br />Please change your selection.";
            ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);

            return true;
        } //END else if
    } //END if (selectedItem != null &&...
    return false;
}

/*
Author  : Benaiah John
Date    : 11-Feb-2011
Purpose : Checks selection of inactive data items, and displays appropriate message
Param   : lstbxClientInstanceId - clientInstanceId of ASPxComboBox or ASPxListBox as a string
Param   : displayName - The displayName of the comboBox/listBox
Returns : TRUE if Inactive Item is selected; otherwise FALSE
*/
function CheckIfInactiveItemIsSelected_MultiSelectMode(lstbxClientInstanceId, displayName) {
    var lstbxObj = eval(lstbxClientInstanceId);
    var lstSelectedItems = lstbxObj.GetSelectedItems();
    var lstItemsToUnselect = new Array();

    for (var i = 0; i < lstSelectedItems.length; i++) {
        if (lstSelectedItems[i].GetColumnText(0).search('(Inactive)') != -1) {
            lstItemsToUnselect.push(lstSelectedItems[i]);
        }
    } //END for()

    if (lstItemsToUnselect.length > 0) {
        lstbxObj.UnselectItems(lstItemsToUnselect);
        var errorMsg = "One or more " + displayName + " you selected are currently Inactive.<br />These items have not been selected";
        ShowMessageBox("Inactive Item(s) Selected", errorMsg, "error", true, true, 300, 125, false, 60);

    } //END if (lstItemsToUnselect.length > 0)

    return false;
}

/*
Author  : Benaiah John
Date    : 15-Feb-2011
Purpose : Checks selection of inactive data items, and displays appropriate message
Param   : ddlJqueryObj - Jquery Object of DDL
Param   : displayName - The displayName of the DropDownListBox
Returns : TRUE if Inactive Item is selected; otherwise FALSE
*/
function CheckIfInactiveItemIsSelected_NormalDDL(ddlJqueryObj, displayName) {
    var selectedValue = parseInt(ddlJqueryObj.val());
    var selectedText = ddlJqueryObj.find('option:selected').text();
    if (selectedText.search("(Inactive)") != -1) {


        ddlJqueryObj.val('0');
        var errorMsg = "The " + displayName + " you selected is currently Inactive.<br />Please change your selection.";
        ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);

        return true;
    } //END else if

    return false;
}

/*
Author  : Benaiah John
Date    : 21-Feb-2011
Purpose : Checks selection of inactive data items, and displays appropriate message
Param   : lstbxClientInstanceId - clientInstanceId of ASPxComboBox as a string
Param   : displayName - The displayName of the comboBox/listBox
Returns : TRUE if Inactive Item is selected; otherwise FALSE
*/
function CheckIfInactiveItemIsSelected_ASPxComboBox(cmbbxClientInstanceId, displayName) {
    var comboboxObj = eval(cmbbxClientInstanceId);
    var selectedItem = comboboxObj.GetSelectedItem();
    if (selectedItem != null && selectedItem != undefined) {
        var selectedValue = parseInt(selectedItem.value);
        var selectedText = selectedItem.text;
        if (selectedValue < 0) {

            if (comboboxObj.GetItemCount() > 0) {
                comboboxObj.SetSelectedIndex(0);
            }

            var errorMsg = "The " + displayName + " you selected is currently Inactive.<br />Please change your selection.";
            ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);
            return true;
        } //END if (selectedValue < 0)
        else if (selectedText.search("(Inactive)") != -1) {

            if (comboboxObj.GetItemCount() > 0) {
                comboboxObj.SetSelectedIndex(0);
            }

            var errorMsg = "The " + displayName + " you selected is currently Inactive.<br />Please change your selection.";
            ShowMessageBox("Inactive Item Selected", errorMsg, "error", true, true, 300, 125, false, 60);

            return true;
        } //END else if
    } //END if (selectedItem != null &&...
    return false;
}


/*
Author: Benaiah John
Date: 15-Feb-2011
Purpose: Creates title attribute for html select tags
*/
function GenerateTooltipsForDdlItems(jsonDdlClientIdList) {
    $(document).ready(function() {
        var jsonObj = eval(jsonDdlClientIdList);
        if (jsonObj != null) {
            for (var i = 0; i < jsonObj.length; i++) {
                var ddlClientId = jsonObj[i].Id;
                var ddlObj = $("[id*='" + ddlClientId + "']");
                if (ddlObj != null && ddlObj != undefined) {
                    ddlObj.find("option").each(function() {
                        $(this).attr("title", $(this).text());
                        //$(this).title = $(this).text();
                    });
                } //END if (ddlObj != null &&...)
            } //END for(...)
        } //END if (jsonObj != null)
    }); //END document.ready
}


/*
Author: Sobish Joseph
Date: 18-Mar-2011
Purpose: Find the leap year
returns true when it is a leap year otherwise returns false
*/

function isLeapYear(yr) {
    try {
        if ((parseInt(yr) % 4) == 0) {
            if (parseInt(yr) % 100 == 0) {
                if (parseInt(yr) % 400 != 0) {
                    return "false";
                }
                else {
                    return "true";
                }
            }
            else {
                return "true";
            }
        }
        else {
            return "false";
        }
    }
    catch (Error) {

    }
}

//START 4881 - Critical - Reports - Grouping, sorting and exporting to be for all pages of results
//Author Raji , Date 20 Jun 11
function ShowMessageBoxExport(messageCaption, message, messageType, hideOnClick, showCloseButton, width, height, autoClose, timeInSeconds) {

    $(document).ready(function() {


        var cssClassName = "";
        var cssHeaderClassName = "";
        var imagePath = gblVirtualRootDir;
        var isModal = false;
        var timeToClose = "";
        if (timeInSeconds != "") {
            timeToClose = timeInSeconds * 1000;
        }
        switch (messageType) {
            case "error":
                cssHeaderClassName = "errorMessageHeader";
                cssClassName = "errorMessageBox";
                imagePath += "/Image/dialog-error.png"
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "warning":
                cssHeaderClassName = "warningMessageHeader";
                cssClassName = "warningMessageBox";
                imagePath += "/Image/dialog-warning.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            case "information":
                cssHeaderClassName = "infoMessageHeader";
                cssClassName = "infoMessageBox";
                imagePath += "/Image/dialog-info.png"
                break;
            default:
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
        } //END switch
        //        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><br/>" + message + "</div>";
        //START 4881 - Critical - Reports - Grouping, sorting and exporting to be for all pages of results
        //Author Raji , Date 21 Jun 11
        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" + messageCaption + "</b></span><div style='width:100%;height:" + (height - 27) + "px' class='" + cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" + (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left;width:" + (width - 80) + "px'><br/><span style='padding:0px'>" + message + "</span><br/><br/><div style='float:right; width:55%;height:25px'><input type='button' value='OK' width='50px' /></div></div></div></div>";
        //END 4881 - Critical -  exporting to be for all pages of results
        //Author Raji , Date 21 Jun 11
        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: height, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: hideOnClick,
                    hideOnContentClick: hideOnClick,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: showCloseButton,
                    onComplete: function() {
                        if (autoClose) {
                            if (timeToClose != "") {
                                setTimeout('autoClose()', timeToClose);
                            }
                            else {
                                setTimeout('autoClose()', 4000);
                            }
                        }

                    }

                });
    });                             //END document.ready(...)
}
//END 4881 - Critical -  exporting to be for all pages of results
//Author Raji , Date 20 Jun 11

//START:9696: BUG 4868 - Critical - Maintenance - Transferring a candidate across branches - part 2 (old Task: 7939)
//Dileep C D, Nov-04-2011

/*
Description:
Will perform a postback on closing or after the timer interval provided in timeInSeconds.
eventTarget : Represents name attribute of the html markup for the control for which the postback will be performed. 
eventArgument : Represents __EVENTARGUMENT for the Postback.
ERROR : If valid eventTarget is not provided , error will be thrown.
ERROR : EnableEventValidation attribute of the page should be false.Otherwise exception will be thrown. 
*/
function ShowMessageBoxWithPostbackOnClose(messageCaption, message, messageType, hideOnClick,
    showCloseButton, width, height, autoClose, timeInSeconds, eventTarget, eventArgument) {
    $(document).ready(function() {
        var cssClassName = "";
        var cssHeaderClassName = "";
        var imagePath = gblVirtualRootDir;
        var isModal = false;
        var timeToClose = "";
        if (timeInSeconds != "") {
            timeToClose = timeInSeconds * 1000;
        }
        switch (messageType) {
            case "error":
                cssHeaderClassName = "errorMessageHeader";
                cssClassName = "errorMessageBox";
                imagePath += "/Image/dialog-error.png"
                break;
            case "success":
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
            case "warning":
                cssHeaderClassName = "warningMessageHeader";
                cssClassName = "warningMessageBox";
                imagePath += "/Image/dialog-warning.png"
                break;
            case "alert":
                cssHeaderClassName = "alertMessageHeader";
                cssClassName = "alertMessageBox";
                imagePath += "/Image/dialog-alert.png"
                break;
            case "information":
                cssHeaderClassName = "infoMessageHeader";
                cssClassName = "infoMessageBox";
                imagePath += "/Image/dialog-info.png"
                break;
            default:
                cssHeaderClassName = "successMessageHeader";
                cssClassName = "successMessageBox";
                imagePath += "/Image/dialog-success.png"
                break;
        } //END switch

        var htmlMsg = "<div class='alert-content'><span class='" + cssHeaderClassName + "'><b>" +
            messageCaption + "</b></span><div style='width:100%;height:" + (height - 27) + "px' class='" +
            cssClassName + "'><div style='float:left; width:50px;height:50px;padding-left:10px;padding-top:" +
            (height / 4) + "px'><img src='" + imagePath + "'/></div><div style='float:left;width:" + (width - 80) +
             "px'><br/><span style='padding:0px'>" + message + "</span></div></div></div>";

        $.fancybox(
                htmlMsg, {
                    autoDimensions: false,
                    width: width, //350
                    height: height, //130
                    transitionIn: 'none',
                    transitionOut: 'fade',
                    modal: false,
                    hideOnOverlayClick: hideOnClick,
                    hideOnContentClick: hideOnClick,
                    overlayColor: '#fff',
                    overlayOpacity: 0,
                    centerOnScroll: true,
                    showCloseButton: showCloseButton,
                    onClosed: function() {
                        __doPostBack(eventTarget, eventArgument);
                    },
                    onComplete: function() {
                        if (autoClose) {
                            if (timeToClose != "") {
                                setTimeout('autoClose(); __doPostBack("' + eventTarget + '", "' + eventArgument + '");', timeToClose);
                            }
                            else {
                                setTimeout('autoClose();  __doPostBack("' + eventTarget + '", "' + eventArgument + '");', 4000);
                            }
                        }
                    }
                });
    });                                  //END document.ready(...)
}
// END:9696: BUG 4868 - Critical - Maintenance - Transferring a candidate across branches - part 2 (old Task: 7939)
//Dileep C D, Nov-04-2011

//START: 9695:  Moving Assignments Between Contacts
//Benaiah John 30-Nov-2011
function checkIfDropdownListHasValue(strDropdownlistID, strValueToCheck) {
    var exists = false;
    $('#' + strDropdownlistID + ' option').each(function() {
        if (this.value == strValueToCheck) {
            exists = true;            
        }
    });
    return exists;
}
//END: 9695:  Moving Assignments Between Contacts
//Benaiah John 30-Nov-2011

