    //if it is frame window then top URL is main url of the IDM and root_folder = top URL
    //else it is /Public or other folder and root_folder must be set from variable virtual_folder
    if (top.location.href == window.location.href) {
    } else {
        var root_folder = top.location.href;
        root_folder = root_folder.substr(0, root_folder.lastIndexOf("/") + 1);
    }

    var labelErrorId = ''; //this must set - where error to be visualized
    var labelPrefixId = ''; //this must set - what is id of div for prefix adding
    var lastchecked = "";
    function checkUser(el) {
        logonname = trim(el.value);
        if (logonname == "") {
            return;
        }
        logonname = ((labelPrefixId != "") ? $("#" + labelPrefixId).text() : "") + logonname;
        if (lastchecked == logonname) {
            return;
        }
        var url_check = virtual_folder + "Public/check_logonname.aspx";
        var postdata = "l=" + logonname;
        $("#imgLogonNameExists").attr("src", virtual_folder + "images/wait.gif");
        $("#imgLogonNameExists").attr("alt", "Checking...");
        $("#imgLogonNameExists").attr("title", "Checking...");
        $("#imgLogonNameExists").show();
        $.ajax({
            url: url_check,
            type: 'POST',
            async: true,
            cache: false,
            data: postdata,
            timeout: 1000 * 50,
            error: function() {
                //alert("error");
            },
            success: function(json) {
                lastchecked = logonname;
                try {
                    var result = eval("(" + json + ")");
                } catch (e) {
                    var result = { "code": "error", "description": "Error in response" };
                }
                if (result.code == "done") {
                    $("#imgLogonNameExists").attr("src", virtual_folder + "images/name-free.gif");
                    if (labelErrorId != "") $("#" + labelErrorId).hide();
                } else {
                    $("#imgLogonNameExists").attr("src", virtual_folder + "images/name-reserved.gif");
                    if (labelErrorId != "") {
                        $("#" + labelErrorId).html(result.description);
                        $("#" + labelErrorId).show();
                    } else {
                        //alert(result);
                    }
                    el.focus();
                }
                $("#imgLogonNameExists").attr("alt", result.description);
                $("#imgLogonNameExists").attr("title", result.description);
                $("#imgLogonNameExists").show();
            }
        });
    }

    function checkNikc(el, logon, nickOld) {
        var nickname = trim(el.value)

        if (nickname == "" && nickOld == "") {
            return;
        }
        
        // & could not be send as GET param
        var ampersand = (nickname.indexOf("&") >= 0);

        var url_check = virtual_folder + "Public/check_logonname.aspx";
        var postdata = "l=" + logon + "&n=" + nickname + "&nOld=" + nickOld + "&isLogon=false&hasAmp=" + ampersand;
        $("#imgNicknameExists").attr("src", virtual_folder + "images/wait.gif");
        $("#imgNicknameExists").attr("alt", "Checking...");
        $("#imgNicknameExists").attr("title", "Checking...");
        $("#imgNicknameExists").show();                        
        $.ajax({
            url: url_check,
            type: 'POST',
            async: true,
            cache: false,
            data: postdata,
            timeout: 1000 * 50,
            error: function() {
                //alert("error");
            },
            success: function(json) {
                try {
                    var result = eval("(" + json + ")");
                } catch (e) {
                    var result = { "code": "error", "description": "Error in response" };
                }
                if (result.code == "done") {
                    $("#imgNicknameExists").attr("src", virtual_folder + "images/name-free.gif");
                    if (labelErrorId != "") $("#" + labelErrorId).hide();
                } else {
                    $("#imgNicknameExists").attr("src", virtual_folder + "images/name-reserved.gif");
                    if (labelErrorId != "") {
                        $("#" + labelErrorId).html(result.description);
                        $("#" + labelErrorId).show();
                    } else {
                        //alert(result);
                    }
                    el.focus();
                }
                $("#imgNicknameExists").attr("alt", result.description);
                $("#imgNicknameExists").attr("title", result.description);
                $("#imgNicknameExists").show();
            }
        });
    }

    function trim(str) {
        return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }

    var lastchecked_card = null;

    function checkNationalCardIDKR(cardID, fieldlength, lblerrorid, imgid, logonname) {
        if ($("#" + idKoreanNumberValidator).is(":visible")) {
            if (lblerrorid != "") $("#" + lblerrorid).hide();
            $("#" + imgid).hide();
            lastchecked_card = "";
            return;
        }
        checkNationalCardID(cardID, fieldlength, lblerrorid, imgid, logonname);
    }

    function checkNationalCardID(cardID, fieldlength, lblerrorid, imgid, logonname) {
        cardID = trim(cardID);
        if (!lblerrorid) lblerrorid = "";
        if (cardID.length != fieldlength) {
            if (lblerrorid != "") $("#" + lblerrorid).hide();
            $("#" + imgid).hide();
            lastchecked_card = "";
            return;
        }
        if (lastchecked_card == cardID) {
            return;
        }
        var url_check = root_folder + "Public/check_cardid.aspx";
        var postdata = "cid=" + cardID + "&logonname=" + logonname;
        $("#" + imgid).attr("src", root_folder + "images/wait.gif");
        $("#" + imgid).attr("alt", "Checking...");
        $("#" + imgid).attr("title", "Checking...");
        $("#" + imgid).show();
        $.ajax({
            url: url_check,
            type: 'POST',
            async: true,
            cache: false,
            data: postdata,
            timeout: 1000 * 50,
            error: function() {
                //alert("error");
            },
            success: function(json) {
            lastchecked_card = cardID;
                try {
                    var result = eval("(" + json + ")");
                } catch (e) {
                    var result = { "code": "error", "description": "Error in response" };
                }
                if (result.code == "done") {
                    $("#" + imgid).attr("src", root_folder + "images/name-free.gif");
                    if (lblerrorid != "") $("#" + lblerrorid).hide();
                } else {
                    $("#" + imgid).attr("src", root_folder + "images/name-reserved.gif");
                    if (lblerrorid != "") {
                        $("#" + lblerrorid).html(result.description);
                        $("#" + lblerrorid).show();
                    } else {
                        //alert(result);
                    }
                }
                $("#" + imgid).attr("alt", result.description);
                $("#" + imgid).attr("title", result.description);
                $("#" + imgid).show();
            }
        });
    }
    
