﻿// Javascript document
/*#####################################################
#   Created by Quyền Đình Dũng
#   Mobile: 0978.399.902 
#   Email: quyendinhdung@gmail.com
#   Date Created: 1:07 AM 9/2/2010
#   Project: QD.Portal v.1.0.1
#####################################################*/
function loading() {
    var winW = 0, winH = 0;
    if (document.body && document.body.offsetWidth) {
        winW = document.body.offsetWidth;
        winH = document.body.offsetHeight;
    }
    if (document.compatMode == 'CSS1Compat' &&
		    document.documentElement &&
		    document.documentElement.offsetWidth) {
        winW = document.documentElement.offsetWidth;
        winH = document.documentElement.offsetHeight;
    }
    if (window.innerWidth && window.innerHeight) {
        winW = window.innerWidth;
        winH = window.innerHeight;
    }
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        scrOfY = window.pageYOffset; scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft;
    }
    if ($("#loading").length <= 0) {
        $("body").append("<div id=\"loading\" class=\"loading\" style=\"width:" + winW + "px;height:" + parseInt(winH + scrOfY) + "px\">&nbsp;</div>");
    }
    else $("#loading").removeClass("loadcompleted").addClass("loading").css({ "width": winW, "height": parseInt(winH + scrOfY) });
    $("body").css("cursor", "wait");
}
function loadCompleted() {
    $("#loading").removeClass("loading").addClass("loadcompleted");
    $("body").css("cursor", "default");
}
$.fn.extend({
    loading: function () {
        var w = $(this).width();
        var h = $(this).height();
        var offset = $(this).offset();
        $("body").append("<div id=\"loading\" style=\"width:{0}px;height:{1}px;left:{2}px;top:{3}px;position:absolute;opacity: 0.5;filter:Alpha(Opacity=50);background:#fff;z-index:9999;\">&nbsp;</div>".format(w, h, offset.left, offset.top));
        $("body").css("cursor", "wait");
    },
    loadCompleted: function () {
        $("#loading").remove();
        $("body").css("cursor", "default");
    }
});

// overwrite
function GoTo(i) {
    return goTo(i);
}
function getParam(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}
function getvalofparam(h, _u) {
    if (typeof (h) == "undefined") var h = 'c';
    //else h = h.toLowerCase();
    if (typeof (_u) == "undefined") var _u = getparameter(0);
    var _arrParam = _u.split('/');
    var val = '0';
    for (var _index = 0; _index < _arrParam.length; _index++) {
        if (_arrParam[_index].indexOf(h) >= 0) {
            val = _arrParam[_index].replace(h, '');
            break;
        }
    }
    return val;
}

// Example: url: http://example/#page1
// getparameter(0) = 1;
function getparameter(p) {
    if (typeof (p) == "undefined") p = 0;
    var param = location.href;
    var val = '';
    if (param.indexOf('#') >= 0) {
        val = param.substring(param.indexOf('#') + 1, param.length);
        switch (p) {
            case 0:
                if (val.indexOf('?') > 0)
                    val = val.substring(0, val.indexOf('?'));
                if (val.indexOf('&') > 0)
                    val = val.substring(0, val.indexOf('&'));
                break;
            case 1: // Is Exist character "?". Exp url: #anticipate?m=1
                if (val.indexOf('?') >= 0)
                    val = '&' + val.substring(val.indexOf('?') + 1, val.length);
                else val = '';
                break;
        }
    } else val = '';
    return val;
}

function Rawparam(h, v) {
    if (typeof (h) == "undefined") var h = 'c';
    var _u = getparameter(0);
    if (_u.indexOf(h) < 0) _u = _u.concat('/').concat(h).concat('0');
    _u = location.href.substring(0, location.href.indexOf("#")).concat('#').concat(_u.replace(h + getvalofparam(h, _u), h + v))
    document.location = _u;
}

function RawparamPos(val, p) {
    if (typeof (p) == "undefined") var p = 0;
    var params = location.href;
    params = params.indexOf('#') >= 0 ? params.substring(params.indexOf('#') + 1, params.length) : "";
    if (params == "") {
        location.href = location.href + "#" + val;
    }
    else {
        var v = params;
        if (params.indexOf('/') >= 0) {
            v = params.split('/');
            location.href = location.href.replace(v[p], val);
        }
        else {
            location.href = location.href.substring(0, location.href.indexOf('#')) + "#" + val;
        }
    }
    return false;
}

function WrapPagging(numRow, PageIndex, PageSize, callBack, ObjContainer) {
    // Đến trang [1] Số dòng [30] 1-50 of 160   [<][>]
    var numPage = numRow / PageSize;
    if (PageSize >= numRow) PageIndex = 1;
    if (numPage > Math.floor(numPage))
        numPage = Math.floor(numRow / PageSize) + 1;
    var PageListOption = "<select name=\"PageListOption\" id=\"PageListOption\" >";
    for (var i = 1; i <= numPage; i++) {
        PageListOption += "<option value=\"" + i + "\" " + (i == PageIndex ? "selected=\"selected\"" : "") + ">" + i + "</option>";
    }
    PageListOption += "</select>";
    var SizeListOption = "";
    var maxGoto = 50;
    if (numRow < 50) maxGoto = numRow - (numRow % 10);
    if (maxGoto < 10) maxGoto = 10;
    if (numRow <= 10) {
        SizeListOption = "<select name=\"SizeListOption\" id=\"SizeListOption\" disabled=\"disabled\" >";
    } else {
        SizeListOption = "<select name=\"SizeListOption\" id=\"SizeListOption\" >";
    }
    for (var j = 10; j <= maxGoto; j = j + 10) {
        SizeListOption += "<option value=\"" + j + "\" " + (j == PageSize ? "selected=\"selected\"" : "") + ">" + j + "</option>";
    }
    SizeListOption += "</select>";
    var sHTML = "";
    sHTML = "Đến trang " + PageListOption + " Số dòng " + SizeListOption + "&nbsp;";
    $(ObjContainer).html(sHTML);
    var IndexTo = PageIndex * PageSize;
    var IndexForm = IndexTo - PageSize + 1;
    if (IndexTo > numRow) IndexTo = numRow;
    $(ObjContainer).append(IndexForm + " - " + IndexTo + " of " + numRow);
    var NaviButton = " <input type=\"button\" value=\"<\" id=\"btnPrevPage\" />  <input type=\"button\" id=\"btnNextPage\" value=\">\" /> ";
    $(ObjContainer).append(NaviButton);
    $("#PageListOption").change(function () { callBack(this.value, PageSize); });
    $("#SizeListOption").change(function () { callBack(1, this.value); });
    var _prevIndex = PageIndex <= 1 ? _prevIndex = 1 : PageIndex - 1;
    var _nexIndex = PageIndex >= numPage ? _nexIndex = numPage : parseInt(parseInt(PageIndex) + 1);
    // Enable/Disable Navigator Button
    if (PageIndex <= 1) {
        $("#btnPrevPage").attr("disabled", "disabled");
        $("#btnPrevPage").unbind("click");
    }
    else {
        $("#btnPrevPage").removeAttr("disabled");
        $("#btnPrevPage").unbind("click").click(function () { callBack(_prevIndex, PageSize); });
    }
    if (PageIndex >= numPage) {
        $("#btnNextPage").attr("disabled", "disabled");
        $("#btnNextPage").unbind("click");
    }
    else {
        $("#btnNextPage").removeAttr("disabled");
        $("#btnNextPage").unbind("click").click(function () { callBack(_nexIndex, PageSize); });
    }
}

function WrapSegPaging(numRow, RowPerPage, segPerPage, curentPage, naviId, _sFunc, _itemTitle, isShowTotal) {
    if (typeof (isShowTotal) == "underfined") var isShowTotal = true;
    if (typeof (_itemTitle) == "underfined") var _itemTitle = ' album';
    if (typeof (_outhandle) == "underfined") var _outhandle = '';
    if (typeof (_handle) == "undefined") var _handle = '';
    if (typeof (_sFunc) == "undefined") var _sFunc = '';
    var sHTMLNavi = '';
    var startIndex = 1;
    var endIndex = numPage;
    var constAlpha = 0;
    var numPage = numRow / RowPerPage;
    if (numPage > Math.floor(numPage))
        numPage = Math.floor(numRow / RowPerPage) + 1;
    //Math.floor(numRow/RowPerPage);
    var numSeg = numPage / segPerPage;
    numSeg = numPage <= segPerPage ? segPerPage : Math.floor(numSeg) + 1;
    //alert(numSeg);
    if (curentPage % segPerPage == 0) constAlpha = Math.floor(curentPage / segPerPage) - 1;
    else constAlpha = Math.floor(curentPage / segPerPage);
    startIndex = constAlpha * segPerPage + 1;
    endIndex = startIndex + segPerPage;
    endIndex = endIndex > numPage ? numPage + 1 : endIndex;
    $(naviId).html("");

    if (isShowTotal) {
        sHTMLNavi = '<div class=\"soanh\">Tổng số ' + numberFormat(numRow, 3, 0, true, true) + _itemTitle + ' /  ' + numberFormat(numPage, 3, 0, true, true) + ' trang. </div>';
    }
    if (numPage == 1) {
        $(naviId).html(sHTMLNavi);
        return;
    }

    sHTMLNavi += '<div class="sotrang_photos"><ul>';

    if (curentPage > 1 && constAlpha > 0) sHTMLNavi += '<li><a title="Đầu" href="#page1" onclick="Private_rawparam(\'page\',1);' + _sFunc + '"><img src="/Skins/Default/Images/fist.gif" alt="Đầu" /></a></li>';
    if (constAlpha > 0) sHTMLNavi += '<li><a title="Trước" href="#page' + (parseInt(curentPage) - 1) + '" onclick="Private_rawparam(\'page\',' + (parseInt(curentPage) - 1) + '); ' + _sFunc + '"><img src="/Skins/Default/Images/pre.gif" alt="Trước" /></a></li>';
    for (i = startIndex; i < endIndex; i++) {
        if (i == curentPage)
            sHTMLNavi += '<li><div class="sotrang_photos2"><a class=\"page_selected\">' + i + '</a></div></li>';
        else {
            sHTMLNavi += '<li><div class="sotrang_photos2"><a title="' + _itemTitle + '&nbsp;' + i + '" href="#page' + parseInt(i) + '" onclick="Private_rawparam(\'page\',' + parseInt(i) + ');' + _sFunc + '">' + i + '</a></div></li>';
        }
    }
    if (constAlpha < numSeg - 1 && endIndex < numPage) sHTMLNavi += '<li><a title="Sau" href="#page' + (parseInt(curentPage) + 1) + '" onclick="Private_rawparam(\'page\',' + (parseInt(curentPage) + 1) + ');' + _sFunc + '"><img src="/Skins/Default/Images/next.gif" alt="Sau" /></a></li>';
    if (constAlpha < numSeg - 1 && curentPage < numPage && numPage > numSeg) sHTMLNavi += '<li><a title="Cuối" href="#page' + parseInt(numPage) + '" onclick="Private_rawparam(\'page\',' + parseInt(numPage) + ');' + _sFunc + '"><img src="/Skins/Default/Images/last.gif" alt="Cuối" /></a></li>';
    sHTMLNavi += '</ul></div><div style="clear: both"></div>';

    if (numRow <= 0) sHTMLNavi = '';
    $(naviId).html(sHTMLNavi);
}

function JsonSort(a, b) {
    return parseInt(b.Id) - parseInt(a.Id);
}

function IsWord(s) {
    if (Trim(s) != "") {
        var sWord = s.split(' ');
        for (var i = 0; i < sWord.length; i++) {
            if (sWord[i].length > 25)
                return false;
        }
        return true;
    }
    else
        return false;
}
function CheckIsNaN(o, e) {
    var charCode = (e.which) ? e.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
    return true;
}
function ValidField(obj) {
    if (Trim($(obj).val()) == "")
        return false;
    return true;
}
function IsValidEmail(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (reg.test(email) == false) {
        return false;
    }
    return true;
}

function CounterWord(ObjCounterTag, ObjTextTag, e, maxWord) {
    var key = (window.event) ? window.event.keyCode : e.charCode;
    if (Trim($(ObjTextTag).val()) == "") {
        $(ObjCounterTag).text("0");
        return;
    }
    var s = Trim($(ObjTextTag).val()).split(' ');
    var num = s.length;
    if (num <= maxWord) {
        $(ObjCounterTag).text(num);
    }
    else {
        if (key != 0) {
            KeypressThrow(e);
        }
    }
}

function KeyCountCharacter(ObjSpanTag, objContainer, e, maxCh) {
    var key = (window.event) ? window.event.keyCode : e.charCode;
    var strLength = 0;
    var tem = "";
    if (typeof (maxCh) == "undefined") var maxCh = 300;

    strLength = Trim(objContainer.value).length;
    if (strLength <= maxCh) {
        tem = objContainer.value;
        $(ObjSpanTag).text(maxCh - strLength);
    }
    else {
        if (key != 0) {
            KeypressThrow(e);
        }
    }

}

function KeypressThrow(e) {
    if (window.event)
        window.event.returnValue = null;
    else
        if (e.preventDefault)
            e.preventDefault();
    e.returnValue = false;
    return false;
}

function MouseCountCharacter(objContainer) {
    var strLength = 0;
    var maxCh = 300;
    strLength = Trim(objContainer.value).length;
    if (strLength <= maxCh) {
        $('#commentCount').text(maxCh - strLength);
    }
    else {
        $('#commentCount').text(maxCh - strLength);
        showMessageBox("Bạn chỉ được phép nhập tối đa " + maxCh + " ký tự. Vui lòng nhập lại!");
    }
}

function goTo(i) {
    location.href = i;
    return false;
}
/*
function getdomain() {
var _mydomain = 'http://'.concat(location.href.match(/:\/\/(.[^/]+)/)[1]);
return _mydomain;
}
*/

function dFormat(strDate) {
    var rStr = '';
    if (strDate == '') {
        sDate = rStr;
    }
    else {
        var tDates = strDate.split(" ");
        var tDay = tDates[0].split("/");
        var tTime = tDates[1].split(":");
        var oDay = new Date();
        oDay.setFullYear(tDay[2], tDay[0] - 1, tDay[1]);
        switch (oDay.getDay()) {
            case 0:
                rStr = 'Ch&#7911; nh&#7853;t'; break;
            case 1:
                rStr = 'Th&#7913; hai'; break;
            case 2:
                rStr = 'Th&#7913; ba'; break;
            case 3:
                rStr = 'Th&#7913; t&#432;'; break;
            case 4:
                rStr = 'Th&#7913; n&#259;m'; break;
            case 5:
                rStr = 'Th&#7913; s&#225;u'; break;
            case 6:
                rStr = 'Th&#7913; b&#7843;y'; break;
            default:
                rStr = ''; break;
        }
        rStr = rStr.concat(', ').concat(tDay[1]).concat('/').concat(tDay[0]).concat('/').concat(tDay[2]);
        sDate = rStr;

    }
    document.write(sDate);
}

function dmy(strDate) {
    var temp = new Array();
    temp = strDate.split('/');
    return temp[1].concat('/').concat(temp[0]).concat('/').concat(temp[2]);
}

function Hexa(input) {
    return ('00000000'.concat(input.toString(16)), 8);
}

function HexToDec(input) {
    var rt = 0;
    var cha = '';
    var temp;
    var len = input.length;
    for (var i = 1; i <= len; i++) {
        cha = Left(input, 1);
        switch (cha) {
            case 'A': case 'a': temp = 10; break;
            case 'B': case 'b': temp = 11; break;
            case 'C': case 'c': temp = 12; break;
            case 'D': case 'd': temp = 13; break;
            case 'E': case 'e': temp = 14; break;
            case 'F': case 'f': temp = 15; break;
            default: temp = parseInt(cha); break;
        }
        rt = rt + temp * Math.pow(16, len - i);
        input = (input, len - i);
    }
    return rt;
}

function CurrencyFormat(num, decimalNum, bolLeadingZero, bolParens, bolCommas) {
    if (typeof (decimalNum) == "undefined") decimalNum = 3;
    if (typeof (bolLeadingZero) == "undefined") bolLeadingZero = true;
    if (typeof (bolParens) == "undefined") bolParens = true;
    if (typeof (bolCommas) == "undefined") bolCommas = true;

    if (isNaN(parseInt(num))) return "0";

    var tmpNum = num;
    var iSign = num < 0 ? -1 : 1;

    tmpNum *= Math.pow(10, decimalNum);
    tmpNum = Math.round(Math.abs(tmpNum))
    tmpNum /= Math.pow(10, decimalNum);
    tmpNum *= iSign;

    var tmpNumStr = new String(tmpNum);

    if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
        if (num > 0)
            tmpNumStr = tmpNumStr.substring(1, tmpNumStr.length);
        else
            tmpNumStr = "-" + tmpNumStr.substring(2, tmpNumStr.length);

    if (bolCommas && (num >= 1000 || num <= -1000)) {
        var iStart = tmpNumStr.indexOf(".");
        if (iStart < 0)
            iStart = tmpNumStr.length;
        else {
            tmpNumStr = tmpNumStr.replace(".", ",");
        }

        iStart -= 3;
        while (iStart >= 1) {
            tmpNumStr = tmpNumStr.substring(0, iStart) + "." + tmpNumStr.substring(iStart, tmpNumStr.length)
            iStart -= 3;
        }
    }
    if (bolParens && num < 0)
        tmpNumStr = "(" + tmpNumStr.substring(1, tmpNumStr.length) + ")";
    return tmpNumStr;
}
//alert(numberFormat(5000.001,3,true,true,true));
function numberFormat(num, decimalNum, bolLeadingZero, bolParens, bolCommas) {
    if (isNaN(parseInt(num))) return "0";

    var tmpNum = num;
    var iSign = num < 0 ? -1 : 1;

    tmpNum *= Math.pow(10, decimalNum);
    tmpNum = Math.round(Math.abs(tmpNum))
    tmpNum /= Math.pow(10, decimalNum);
    tmpNum *= iSign;

    var tmpNumStr = new String(tmpNum);

    if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
        if (num > 0)
            tmpNumStr = tmpNumStr.substring(1, tmpNumStr.length);
        else
            tmpNumStr = "-" + tmpNumStr.substring(2, tmpNumStr.length);

    if (bolCommas && (num >= 1000 || num <= -1000)) {
        var iStart = tmpNumStr.indexOf(",");
        if (iStart < 0)
            iStart = tmpNumStr.length;

        iStart -= 3;
        while (iStart >= 1) {
            tmpNumStr = tmpNumStr.substring(0, iStart) + "." + tmpNumStr.substring(iStart, tmpNumStr.length)
            iStart -= 3;
        }
    }
    if (bolParens && num < 0)
        tmpNumStr = "(" + tmpNumStr.substring(1, tmpNumStr.length) + ")";
    return tmpNumStr;
}

function validateInPutLetter(strValue) {
    var objRegExp = /^[a-z\u00C0-\u00ff]+$/;
    return objRegExp.test(strValue);
}

function newWindow(file, window, w, h) {
    msgWindow = open(file, window, 'resizable=no,width=' + w + ',height=' + h + ',titlebar=no,toolbar=no,scrollbars=yes');
    if (msgWindow.opener == null) msgWindow.opener = self;
}

function toUpper(sInput) {
    sInput = sInput.toUpperCase()
    var sOutput = '', sTemp;
    var i = 0, j = 0;
    for (var i = 0; i < sInput.length; i++) {
        if (sInput.charAt(i) + sInput.charAt(i + 1) == '&#') {
            sTemp = sInput.substring(i + 2, sInput.length);
            j = sTemp.indexOf(';');
            if (j > 4) {
                sOutput += sInput.charAt(i);
            }
            else {
                sTemp = sTemp.substring(0, j)
                switch (sTemp) {
                    case '225': { sOutput += '&#193;'; break; } 	//a'
                    case '224': { sOutput += '&#192;'; break; } 	//a`
                    case '7843': { sOutput += '&#7842;'; break; } //a?
                    case '227': { sOutput += '&#195;'; break; } 	//a~
                    case '7841': { sOutput += '&#7840;'; break; } //a.
                    case '226': { sOutput += '&#194;'; break; } 	//a^
                    case '7845': { sOutput += '&#7844;'; break; } //a^'
                    case '7847': { sOutput += '&#7846;'; break; } //a^`
                    case '7849': { sOutput += '&#7848;'; break; } //a^?
                    case '7851': { sOutput += '&#7850;'; break; } //a^~
                    case '7853': { sOutput += '&#7852;'; break; } //a^.
                    case '259': { sOutput += '&#258;'; break; } 	//a(
                    case '7855': { sOutput += '&#7854;'; break; } //a('
                    case '7857': { sOutput += '&#7856;'; break; } //a(`
                    case '7859': { sOutput += '&#7858;'; break; } //a(?
                    case '7861': { sOutput += '&#7860;'; break; } //a(~
                    case '7863': { sOutput += '&#7862;'; break; } //a(.
                    case '273': { sOutput += '&#272;'; break; } 	//dd
                    case '233': { sOutput += '&#201;'; break; } 	//e'
                    case '232': { sOutput += '&#200;'; break; } 	//e`
                    case '7867': { sOutput += '&#7866;'; break; } //e?
                    case '7869': { sOutput += '&#7868;'; break; } //e~
                    case '7865': { sOutput += '&#7864;'; break; } //e.
                    case '234': { sOutput += '&#202;'; break; } 	//e^
                    case '7871': { sOutput += '&#7870;'; break; } //e^'
                    case '7873': { sOutput += '&#7872;'; break; } //e^`
                    case '7875': { sOutput += '&#7874;'; break; } //e^?
                    case '7877': { sOutput += '&#7876;'; break; } //e^~
                    case '7879': { sOutput += '&#7878;'; break; } //e^.
                    case '237': { sOutput += '&#205;'; break; } 	//i'
                    case '236': { sOutput += '&#204;'; break; } 	//i`
                    case '7881': { sOutput += '&#7880;'; break; } //i?
                    case '297': { sOutput += '&#296;'; break; } 	//i~
                    case '7883': { sOutput += '&#7882;'; break; } //i.
                    case '243': { sOutput += '&#211;'; break; } 	//o'
                    case '242': { sOutput += '&#210;'; break; } 	//i`
                    case '7887': { sOutput += '&#7886;'; break; } //o?
                    case '245': { sOutput += '&#213;'; break; } 	//o~
                    case '7885': { sOutput += '&#7884;'; break; } //o.
                    case '244': { sOutput += '&#212;'; break; } 	//o^
                    case '7889': { sOutput += '&#7888;'; break; } //o^'
                    case '7891': { sOutput += '&#7890;'; break; } //o^`
                    case '7893': { sOutput += '&#7892;'; break; } //o^?
                    case '7895': { sOutput += '&#7894;'; break; } //o^~
                    case '7897': { sOutput += '&#7896;'; break; } //o^.
                    case '417': { sOutput += '&#416;'; break; } 	//o*
                    case '7899': { sOutput += '&#7898;'; break; } //o*'
                    case '7901': { sOutput += '&#7900;'; break; } //o*`
                    case '7903': { sOutput += '&#7902;'; break; } //o*?
                    case '7905': { sOutput += '&#7904;'; break; } //o*~
                    case '7907': { sOutput += '&#7906;'; break; } //o*.
                    case '250': { sOutput += '&#218;'; break; } 	//u'
                    case '249': { sOutput += '&#217;'; break; } 	//u`
                    case '7911': { sOutput += '&#7910;'; break; } //u?
                    case '361': { sOutput += '&#360;'; break; } 	//u~
                    case '7909': { sOutput += '&#7908;'; break; } //u.
                    case '432': { sOutput += '&#431;'; break; } 	//u*
                    case '7913': { sOutput += '&#7912;'; break; } //u*'
                    case '7915': { sOutput += '&#7914;'; break; } //u*`
                    case '7917': { sOutput += '&#7916;'; break; } //u*?
                    case '7919': { sOutput += '&#7918;'; break; } //u*~
                    case '7921': { sOutput += '&#7920;'; break; } //u*.
                    case '253': { sOutput += '&#221;'; break; } 	//y'
                    case '7923': { sOutput += '&#7922;'; break; } //y`
                    case '7927': { sOutput += '&#7926;'; break; } //y?
                    case '7929': { sOutput += '&#7928;'; break; } //y~
                    case '7925': { sOutput += '&#7924;'; break; } //y.
                    default: { sOutput += '&#' + sTemp + ';'; break; }
                }
                i += j + 2;
            }
        }
        else {
            sOutput += sInput.charAt(i);
        }
    }
    return sOutput;
}

function setCookie(Name, Path, Expires, Value) {
    var cstr = Name.concat('=').concat(Value);
    if (Path == '')
        Path = '/';
    cstr = cstr.concat(';path=').concat(Path);
    if (Expires == '')
        Expires = (new Date(2020, 11, 14)).toGMTString();
    document.cookie = cstr.concat(';expires=').concat(Expires);
}

function getCookie(Name, Default) {
    var cookie = document.cookie;
    var ir = 0, ie = 0, sf = '', i = 0, j = 0;
    Name = Name.toLowerCase();
    if (typeof (Default) == "undefined")
        Default = '';
    if (cookie.length == 0)
        return Default;
    if ((ir = Name.indexOf('.')) == -1) {
        if (cookie.substr(0, Name.length + 1).toLowerCase() == Name.concat('=')) {
            if ((ie = cookie.indexOf(';')) != -1) {
                cookie = cookie.substr(0, ie);
            }
        }
        else {
            if ((ie = cookie.toLowerCase().indexOf('; '.concat(Name).concat('='))) == -1)
                return Default;
            cookie = cookie.substr(ie + 2);
            if ((ie = cookie.indexOf(';')) != -1) {
                cookie = cookie.substr(0, ie);
            }
        }
        sf = ';';
    }
    else {
        if ((i = cookie.toLowerCase().indexOf(Name.concat('='))) != -1) {
            if ((j = cookie.indexOf(';', i)) > i + Name.length + 1) {
                return ReplaceAll(unescape(cookie.substr(i + Name.length + 1, j - i - Name.length - 1)), '+', ' ');
            }
            else {
                j = cookie.length;
                return ReplaceAll(unescape(cookie.substr(i + Name.length + 1, j - i - Name.length - 1)), '+', ' ');
            }
        }

        var Root = Name.substr(0, ir);
        Name = Name.substr(ir + 1);
        if (cookie.substr(0, Root.length + 1).toLowerCase() == Root.concat('=')) {
            if ((ie = cookie.indexOf(';')) != -1) {
                cookie = cookie.substr(0, ie);
            }
        }
        else {
            if ((ie = cookie.toLowerCase().indexOf('; '.concat(Root).concat('='))) == -1)
                return Default;

            cookie = cookie.substr(ie + 2);

            if ((ie = cookie.indexOf(';')) != -1) {
                cookie = cookie.substr(0, ie);
            }
        }
        cookie = cookie.substr(Root.length + 1);
        sf = '&';
    }

    if (cookie.substr(0, Name.length + 1).toLowerCase() == Name.concat('=')) {
        ir = Name.length + 1;
    }
    else {
        if ((ir = cookie.toLowerCase().indexOf('&'.concat(Name).concat('='))) == -1)
            return Default;
        ir += Name.length + 2;
    }
    if ((ie = cookie.indexOf(sf, ir)) == -1) {
        return ReplaceAll(unescape(cookie.substr(ir)), '+', ' ');
    }
    else {
        return ReplaceAll(unescape(cookie.substring(ir, ie)), '+', ' ');
    }
}

function CharReplace(iStr) {
    var r1 = /%26/g;
    var r2 = /%20/g;
    var r3 = /%22/g;
    iStr = iStr.replace(r1, '&');
    iStr = iStr.replace(r2, ' ');
    iStr = iStr.replace(r3, '"');
    return iStr;
}

function FieldOnFocus(field, s) {
    if ($(field).val() == s) { $(field).val(''); }
}

function FieldOnBlur(field, s) {
    if ($(field).val() == '') { $(field).val(s); }
}

function Trim(iStr) {
    while (iStr.charCodeAt(0) <= 32) {
        iStr = iStr.substr(1);
    }

    while (iStr.charCodeAt(iStr.length - 1) <= 32) {
        iStr = iStr.substr(0, iStr.length - 1);
    }

    return iStr;
}

function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}

function SubString(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        return String(str).substring(0, n) + "...";
    }
}

// CheckBox

function ToggleCheckAll(o, Name) {
    $("input[name='" + Name + "']").each(function () {
        this.checked = o.checked;
    });
}

function CheckAll(me, chkname) {
    for (i = 0; i < document.getElementsByName(chkname).length; i++) {
        document.getElementsByName(chkname)[i].checked = me.checked;
    }
}

function checkMe(o) {
    if (o.checked) o.value = 'True';
    else o.value = 'False';
}

function CheckItem(_chkname, _value, _checkbox) {
    for (var i = 0; i < document.getElementsByName(_chkname).length; i++) {
        if (document.getElementsByName(_chkname)[i].value == _value) {
            if (_checkbox) {
                if (document.getElementsByName(_chkname)[i].checked == true) {
                    document.getElementsByName(_chkname)[i].checked = false;
                }
                else {
                    document.getElementsByName(_chkname)[i].checked = true;
                }
            }
            else {
                document.getElementsByName(_chkname)[i].checked = true;
            }
            break;
        }
    }
}

//alert(formatDateTime(new Date(1281941988107)));
function formatDateTime(dt) {
    // Vài giây trước
    // 1-59 phút trước
    // 1-23 tiếng trước
    // 9:58 15/08/2010

    // Input DateTime
    var yy = dt.getFullYear();
    var mm = (dt.getMonth() + 1);
    var dd = dt.getDate();
    var hr = dt.getHours();
    var mi = dt.getMinutes();
    var ss = dt.getSeconds();
    // Curent DateTime
    var curentDate = new Date();
    var cYY = curentDate.getFullYear();
    var cMM = (curentDate.getMonth() + 1);
    var cDD = curentDate.getDate();
    var cHR = curentDate.getHours();
    var cMI = curentDate.getMinutes();
    var cSS = curentDate.getSeconds();

    var strTime = "";
    // If InputDate Is Today
    var dif = curentDate.getTime() - dt.getTime();
    var numberSecond = Math.abs(dif / 1000);
    var numberMinute = Math.floor(numberSecond / 60);
    var numberHour = Math.floor(numberSecond / 3600);
    if (numberSecond < 60)
        strTime = "Vài giây trước";
    else if (numberSecond < 3600)
        strTime = numberMinute.toString() + " phút trước";
    else if (numberSecond < 3600 * 24)
        strTime = numberHour.toString() + " giờ trước";

    else {
        strTime = parseInt(hr) < 10 ? ('0' + hr) : hr;
        strTime += ":" + (parseInt(mi) < 10 ? ('0' + mi) : mi);
        strTime += " " + (parseInt(dd) < 10 ? ('0' + dd) : dd);
        strTime += "/" + (parseInt(mm) < 10 ? ('0' + mm) : mm);
        strTime += "/" + (parseInt(yy) < 10 ? ('0' + yy) : yy);
        //strTime = hr.concat(':').concat(mi).concat(' ').concat(dd).concat('/').concat(mm).concat('/').concat(yy);
    }
    return strTime;
}

function SetSelected(val, objContainer) {
    $(objContainer).val(val);
}

function row_toggle(o, c) {
    if ($(o).hasClass("icon-minus")) {
        $(o).removeClass("icon-minus").addClass("icon-plus");
        $(c).slideUp();
    } else {
        $(o).removeClass("icon-plus").addClass("icon-minus");
        $(c).slideDown();
    }
}
/* Do with Select Box List */

function list_movedown(cbo) {
    cbo = document.getElementById(cbo);
    var si = cbo.selectedIndex;
    if (si >= 0 && si <= cbo.length - 2) {
        var text = cbo.options[si].text;
        var value = cbo.options[si].value;
        cbo.options[si] = new Option(cbo.options[si + 1].text, cbo.options[si + 1].value);
        cbo.options[si + 1] = new Option(text, value);
        cbo.selectedIndex = si + 1;
    }
    return si;
}
function list_moveup(cbo) {
    cbo = document.getElementById(cbo);
    var si = cbo.selectedIndex;
    if (si >= 1) {
        var text = cbo.options[si].text;
        var value = cbo.options[si].value;
        cbo.options[si] = new Option(cbo.options[si - 1].text, cbo.options[si - 1].value);
        cbo.options[si - 1] = new Option(text, value);
        cbo.selectedIndex = si - 1;
    }
    return si;
}
function list_remove(cbo) {
    cbo = document.getElementById(cbo);
    var si = cbo.selectedIndex;
    if (si >= 0) {
        cbo.remove(si);
        if (cbo.options.length == si)
            cbo.selectedIndex = si - 1;
        else
            cbo.selectedIndex = si;
    }
    return si;
}

function openpreview(url, w, h) {
    var winX = 0;
    var winY = 0;
    if (parseInt(navigator.appVersion) >= 4) {
        winX = (screen.availWidth - w) * .5;
        winY = (screen.availHeight - h) * .5;
    }
    var newWindow = window.open(url, 'mywindow' + (new Date()).getTime(), 'scrollbars,resizable=yes,status=yes, width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY);
}

function SelectBoxHour(h, v) {
    if (typeof (v) == "undefined") var v = 0;
    for (var i = 0; i < 24; i++) {
        if (v == i)
            $(h).append("<option selected=\"selected\" value=\"" + i + "\">" + (i < 10 ? "0" + i : i) + "</option>");
        else
            $(h).append("<option value=\"" + i + "\">" + (i < 10 ? "0" + i : i) + "</option>");
    }
}

function SelectBoxMinute(m, v) {
    if (typeof (v) == "undefined") var v = 0;
    for (var i = 0; i < 60; i++) {
        if (v == i)
            $(m).append("<option selected=\"selected\" value=\"" + i + "\">" + (i < 10 ? "0" + i : i) + "</option>");
        else
            $(m).append("<option value=\"" + i + "\">" + (i < 10 ? "0" + i : i) + "</option>");
    }
}

function SetInputAmount() {
    BrowserDetect.init();
    $('.input-amount').bind('keypress', function (event) {
        if (BrowserDetect.browser != 'Explorer') {
            if ((event.charCode >= 48 && event.charCode <= 57) || (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 13 || event.keyCode == 35 || event.keyCode == 36 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46)) {
                return true;
            };
        } else {
            if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 13 || event.keyCode == 35 || event.keyCode == 36 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46)) {
                return true;
            };
        }
        return false;
    }).bind('keyup', function (event) {
        if (this.value.length <= this.maxLength) {
            var temp = this.value;
            while (temp.indexOf('.') != -1) {
                temp = temp.replace('.', '');
            }
            var result = '';
            while (temp.length > 3) {
                var length = temp.length;
                result = '.' + temp.substring(length - 3, length) + result;
                temp = temp.substring(0, length - 3);
            }
            result = temp + result;
            this.value = result;
        } else {
            return false;
        }
    });
}
function SetInputNumeric() {
    BrowserDetect.init();
    $('.input-numeric').bind('keypress', function (event) {
        if (BrowserDetect.browser != 'Explorer') {
            if ((event.charCode >= 48 && event.charCode <= 57) || (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 13 || event.keyCode == 35 || event.keyCode == 36 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46)) {
                return true;
            };
        } else {
            if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 13 || event.keyCode == 35 || event.keyCode == 36 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46)) {
                return true;
            };
        }
        return false;
    });
}
function repareImagePath(domainImage, storeId) {
    var imageList = $("#product_content").find("img");
    $.each(imageList, function () {
        var src = $(this).attr('src');
        if (src.toLowerCase().indexOf('/customers/') >= 0) {
            src = domainImage + "photo/product/20110910/" + storeId + src.substring(src.lastIndexOf('/'), src.length) + ".900.O.jpg";
            $(this).attr('src', src);
        }
    });
}
function setasHome() {
    if (confirm("Bạn có muốn đặt Shop xinh xinh làm trang chủ?")) {
        var url = "http://shop.xinhxinh.com.vn";
        if (document.all) {
            var homepage = document.getElementById("homepage");
            homepage.style.behavior = 'url(#default#homepage)';
            homepage.setHomePage(url);
        }
        else
            alert("Chá»n Tools > Option > Main > Use Current Page (Alt+C) Ä‘á»ƒ Ä‘áº·t trang chá»§!");
    }
}
function OnSearchClick(key) {
    if ($(key).val().length < 1 || $(key).val().toLowerCase() == 'từ khóa tìm kiếm') {
        return false;
    }
    var strSearch = $(key).val().replace("?", "");
    strSearch = encodeURIComponent($(key).val());
    var _url = "/Search.aspx?key=" + strSearch;
    window.location.href = _url
}
function doClickSearchProduct(event, key) {
    var textSearch = $(key);
    var strSearch = textSearch.val(); strSearch = strSearch.replace("?", ""); strSearch = encodeURIComponent(strSearch);
    var _url = "/Search.aspx?key=" + strSearch;
    var key;
    if (window.event) {
        key = window.event.keyCode;
        if (key == 13) {
            if (document.all) { window.location.href = _url }
            else { document.location.href = _url }
            return false
        }
    } else {
        key = event.which;
        if (key == 13) {
            if (document.all) { window.location.href = _url }
            else { document.location.href = _url }
            return false
        }
    }
}
