﻿$(function() {
    $.alerts.overlayColor = '#000000';
    $.alerts.overlayOpacity = '0.7';

    $('input,select,textarea,table').focus(function() {
        var mtt = $.trim($(this).attr("mtt"));
        var err = $.trim($(this).attr("err"));
        var x = $(this).offset().left;
        var y = $(this).offset().top;
        var h = $(this).height();
        var w = $(this).width() + 20;
        var cls = $(this).attr("class");

        try {
            if (cls.indexOf("errinput") >= 0) {
                if (err != null && err != "" && err != "undefined") {
                    var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="errdiv">' + err + '</div>');
                    div.appendTo(document.body);
                }
                else if (mtt != null && mtt != "" && mtt != "undefined") {
                    var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="errdiv">' + mtt + '</div>');
                    div.appendTo(document.body);
                }
            }
            else if (mtt != null && mtt != "" && mtt != "undefined") {
                var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="mttdiv">' + mtt + '</div>');
                div.appendTo(document.body);
            }
        } catch (e) { }
    });

    $("input,select,textarea,table").blur(function() {
        $('.errdiv').remove();
        $('.mttdiv').remove();
    });

    //$('.nn').blur(function() { mynn(this, true) });

    //$('.unique').blur(function() { checkUnique(this); });
    //$('.myform').click(function() { return checkformvalidation(); });
});

function checkformvalidation() {
    $('.nn').each(function() { mynn(this, false) });
    //$('input,textarea,select').each(function() { if ($(this).attr('onblur').indexOf('mynn') >= 0) { alert('hi'); mynn(this, false); } });

    if ($('.errinput').length <= 0 && $('.errinput1').length <= 0)
        return true;
    else {
        ShowErr('Provide valid data in boxs in red', 'Error - Patel.com');
        return false
    };
}

function ShowMsg(msg, title) {
    setTimeout(function() {
        jAlert(msg, title);
        $('.errdiv').remove();
        $('.mttdiv').remove();
    }, 100);
}
function ShowMsg1(msg, title, fn) {
    setTimeout(function() {
        jAlert(msg, title, fn);
        $('.errdiv').remove();
        $('.mttdiv').remove();
    }, 100);
}
function ShowErr(msg, title) {
    setTimeout(function() {
        jAlert(msg, title, function() { $('.errinput')[0].focus(); });
        $('#popup_title').css('color', 'red');
        $('#popup_message').css('color', 'red');
        $('.errdiv').remove();
        $('.mttdiv').remove();
    }, 500);
}

function ShowErr1(msg, title, fn) {
    setTimeout(function() {
        jAlert(msg, title, fn);
        $('#popup_title').css('color', 'red');
        $('#popup_message').css('color', 'red');
        $('.errdiv').remove();
        $('.mttdiv').remove();
    }, 500);
}

function filterDate(e) {
    var k = (window.event) ? event.keyCode : e.keyCode;
    if ((k >= 47 && k <= 57) || (k >= 1 && k <= 31) || k == 46 || k == 111 || k == 191 || (k >= 112 && k <= 123) || (k >= 96 && k <= 105))
        return true;
    else return false;
}

function filterNumber(e) {
    var k = (window.event) ? event.keyCode : e.keyCode;
    if ((k >= 47 && k <= 57) || (k >= 1 && k <= 31) || k == 46 || k == 110 || k == 190 || (k >= 112 && k <= 123) || (k >= 96 && k <= 105))
        return true;
    else return false;
}

function removerole(roleimg) {
    var myli = $(roleimg).parents('li');
    $(roleimg).parents('.roletable').find(".rolelist option[value='" + myli.attr('myval') + "']").attr("selected", false);
    myli.remove();

    try {
        var thisrole = document.getElementById($(roleimg).attr('rid'));
        var smax = parseInt($(thisrole).attr('smax'));
        if ($(thisrole).find(":selected").length > smax) $(thisrole).addClass('errinput');
        else $(thisrole).removeClass('errinput')

        $(".lblCnt").html($(thisrole).find(":selected").length);
    } catch (e) { }
}

function rolelist(thisrole) {
    try {
        var mydiv = $(thisrole).parents('.roletable').find('.roledetail');
        mydiv.html('');
        var str = '<ul style="list-style:none">';
        for (var i = 0, j = 0; i < thisrole.options.length; i++) {
            if (thisrole.options[i].selected == true) {
                if (thisrole.options[i].text.indexOf("--") == 0)
                    thisrole.options[i].selected = false
                else {
                    str += "<li style='vertical-align: middle;' myval='" + thisrole.options[i].value + "'><img src='style/img/cancel3.png' width='10' height='10' title='click here to remove from selection' class='rmvme' style='cursor:pointer;' align='absmiddle' onclick='removerole(this)' rid='" + $(thisrole).attr('id') + "' />&nbsp;" + thisrole.options[i].text + "</li>";
                    j++;
                }
            }
        }
        mydiv.html(str + "</ul>");

        var smax = parseInt($(thisrole).attr('smax'));
        if ($(thisrole).find(":selected").length > smax) $(thisrole).addClass('errinput');
        else $(thisrole).removeClass('errinput')

        $(".lblCnt").html($(thisrole).find(":selected").length);
    } catch (e) { }
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function filterFiletype(objthis) {
    if (!/(\.bmp|\.png|\.gif|\.jpg|\.jpeg)$/i.test(objthis.value)) {
        $(objthis).addClass('errinput');
    }
    else {
        $(objthis).removeClass('errinput');
    }
}

function filterFiletypeWord(objthis) {
    if (!/(\.pdf|\.doc|\.docx|\.txt)$/i.test(objthis.value)) {
        $(objthis).addClass('errinput');
    }
    else {
        $(objthis).removeClass('errinput');
    }
}

function AddShipping() {
    var hdn = $('.hdncnt');
    var cnt = hdn.val();
    cnt = parseInt(cnt) + 1;
    if (cnt >= 2) {
        $('.lnkremoveshipping').show();
    }
    var tr = document.createElement('TR');
    tr.setAttribute('id', 'trother' + cnt);
    $(tr).append('<td align="center" valign="middle" class="pt5"><input id="txtWeight' + cnt + '" name="txtWeight' + cnt + '" type="text" class="textbox nn unique" onblur="mynn(this,true); checkUnique(this,\'Weights\');" style="width: 100px;" onkeydown="return filterNumber(event)" maxlength="5" err="Weight can not left blank" /></td><td align="center" valign="middle"><input id="txtPrice' + cnt + '" name="txtPrice' + cnt + '" type="text" class="textbox nn" onblur="mynn(this,true);" style="width: 100px;" onkeydown="return filterNumber(event)" maxlength="7" err="Price can not left blank" /></td>');
    hdn.val(cnt);
    $('.tbother').append(tr);
    $('#txtWeight' + cnt).focus();
}

function RemoveShipping() {
    var hdn = $('.hdncnt');
    var cnt = hdn.val();
    $('#trother' + cnt).remove();
    cnt = parseInt(cnt) - 1;
    if (cnt <= 1) {
        $('.lnkremoveshipping').hide();
    }
    hdn.val(cnt);
    $('#txtWeight' + cnt).focus();
}

function AddOtherProductDetail() {
    var hdn = $('.hdncnt');
    var hdcat = $('.hdcatid');
    var cnt = hdn.val();
    var hdcatid = hdcat.val();
    cnt = parseInt(cnt) + 1;
    if (cnt >= 2) {
        $('.lnkremoveother').show();
    }
    var tr = document.createElement('TR');
    tr.setAttribute('id', 'trother' + cnt);    
    if (hdcatid == 0)
        $(tr).append('<td align="center" valign="middle" style="width: 15%;" class="h35"><input id="txtPrice' + cnt + '" name="txtPrice' + cnt + '" value="" type="text" class="textbox nn" style="width: 80px;"onkeydown="return filterNumber(event)" err="Price can not left blank" onblur="mynn(this,true);"maxlength="7" /></td><td align="center" valign="middle" style="width: 15%;"><input id="txtWeight' + cnt + '" name="txtWeight' + cnt + '" value="" type="text" class="textbox" style="width: 80px;"onkeydown="return filterNumber(event)" maxlength="3" /></td><td align="center" valign="middle" style="width: 15%;"><select id="txtSize' + cnt + '" name="txtSize' + cnt + '" class="textbox" style="width: 75px;" err="Size can not left blank"><option value="0">Select</option><option value="ml">ml.</option><option value="gm">gms.</option></select></td><td align="center" valign="middle" style="width: 15%;"><input id="txtColor' + cnt + '" name="txtColor' + cnt + '" value="" type="text" class="textbox" style="width: 80px;" maxlength="500" /></td><td align="center" valign="middle" style="width: 15%;"><input id="txtQty' + cnt + '" name="txtQty' + cnt + '" value="" type="text" class="textbox" style="width: 80px;" onkeydown="return filterNumber(event)" maxlength="5" /></td>');
    else if (hdcatid == 1)
        $(tr).append('<td align="center" valign="middle" style="width: 15%;" class="h35"><input id="txtPrice' + cnt + '" name="txtPrice' + cnt + '" value="" type="text" class="textbox nn" style="width: 80px;"onkeydown="return filterNumber(event)" err="Price can not left blank" onblur="mynn(this,true);"maxlength="7" /></td><div ID="divwsprice' + cnt + '"style="display:none;"><td align="center" valign="middle" style="width: 15%;" class="h35"> <input id="txtwsPrice' + cnt + '"name="txtwsPrice' + cnt + '" value="" type="text" class="textbox nn" style="width: 80px;" onkeydown="return filterNumber(event)" err="Wholeseller Price can not left blank" onblur="mynn(this,true);" maxlength="7" /></td></div><td align="center" valign="middle" style="width: 15%;"><input id="txtWeight' + cnt + '" name="txtWeight' + cnt + '" value="" type="text" class="textbox" style="width: 80px;"onkeydown="return filterNumber(event)" maxlength="3" /></td><td align="center" valign="middle" style="width: 15%;"><select id="txtSize' + cnt + '" name="txtSize' + cnt + '" class="textbox" style="width: 75px;" err="Size can not left blank"><option value="0">Select</option><option value="ml">ml.</option><option value="gm">gms.</option></select></td><td align="center" valign="middle" style="width: 15%;"><input id="txtColor' + cnt + '" name="txtColor' + cnt + '" value="" type="text" class="textbox" style="width: 80px;" maxlength="500" /></td><td align="center" valign="middle" style="width: 15%;"><input id="txtQty' + cnt + '" name="txtQty' + cnt + '" value="" type="text" class="textbox" style="width: 80px;" onkeydown="return filterNumber(event)" maxlength="5" /></td>');
    hdn.val(cnt);
    $('.tbother').append(tr);
    $('#txtPrice' + cnt).focus();
}

function RemoveOtherProductDetail() {
    var hdn = $('.hdncnt');
    var cnt = hdn.val();
    $('#trother' + cnt).remove();
    cnt = parseInt(cnt) - 1;
    if (cnt <= 1) {
        $('.lnkremoveother').hide();
    }
    hdn.val(cnt);
    $('#txtPrice' + cnt).focus();
}

function checkUnique(objthis, str) {
    var co = $(objthis);
    var oarr = [];
    oarr = $('.unique');
    var len = oarr.length;
    var i = 0;
    var j = 0;
    var r = false;
    for (i = 0; i < len; i++) {
        r = false;
        for (j = 0; j < len; j++) {
            if (i != j && $.trim($(oarr[j]).val()) != "" && $.trim($(oarr[j]).val()) == $.trim($(oarr[i]).val())) {
                r = true;
            }
        }
        if (r) $(oarr[i]).addClass('errinput1');
        else $(oarr[i]).removeClass('errinput1');
    }

    if ($('.errinput1').length > 0)
        ShowErr1(str + ' should be unique', 'Error - Ping-Tech', function() { $('.errinput1')[$('.errinput1').length - 1].focus(); });

    //    $('.unique').each(function() {
    //        var res = true;
    //        if (co.attr('id') != $(this).attr('id') && $.trim($(this).val()) != "" && co.val() == $.trim($(this).val()))
    //            res = false;

    //        if (res)
    //            co.removeClass('errinput1');
    //        else
    //            co.addClass('errinput1');
    //    });
}

function mynn(objthis, sflag) {
    var tn = objthis.nodeName.toLowerCase();
    if (tn == 'textarea') tn = 'input';
    switch (tn) {
        case 'input':
            if ($.trim($(objthis).val()) == "" || $.trim($(objthis).val()) == $(objthis).attr('svalue')) {
                $(objthis).addClass('errinput');
            }
            else {
                $(objthis).removeClass('errinput');
                var valtype = $(objthis).attr('valtype');

                try {
                    switch (valtype.toLowerCase()) {
                        case 'bdate':
                            if (/Invalid|NaN/.test(new Date($(objthis).val())) || new Date($(objthis).val()) > new Date()) $(objthis).addClass('errinput');
                            break;
                        case 'date':
                            if (/Invalid|NaN/.test(new Date($(objthis).val()))) $(objthis).addClass('errinput');
                            break;
                        case 'email':
                            //if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test($(objthis).val()))
                            if (!/^\w+([-+.']\w+)*@[-.a-zA-Z0-9]+(\.[-.a-zA-Z0-9]+)*\.(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$/.test($(objthis).val()))
                                $(objthis).addClass('errinput');
                            break;
                        case 'multiemail':
                            var emails = trim($(objthis).val(), ',').split(',');
                            var res = true;
                            for (var i = 0; i < emails.length; i++)
                                if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(emails[i])) res = false;
                            if (!res) $(objthis).addClass('errinput');
                            break;
                    }
                } catch (e) { }

                try {
                    var c = $(objthis).attr('compareto');
                    if (c != "" && c != "undefined" && c != "NaN" && c != null) {
                        if ($(objthis).val() != $('#' + c).val()) {
                            $(objthis).addClass('errinput');
                        }
                        else {
                            $(objthis).removeClass('errinput');
                        }
                    }
                } catch (e) { }
            }
            break;
        case 'select':
            if ($(objthis).find(":selected").length > 0) {
                $(objthis).removeClass('errinput');
                if (objthis.type == 'select-multiple') {
                    var smax = parseInt($(objthis).attr('smax'));
                    if (smax != "" && smax != "undefined" && smax != "NaN" && smax != null) {
                        if ($(objthis).find(":selected").length > smax) $(objthis).addClass('errinput');
                    }
                }
                else {
                    if (objthis.options[0].selected == true) $(objthis).addClass('errinput');
                }
            }
            else {
                $(objthis).addClass('errinput');
            }

            if (sflag) {
                $(objthis).blur();
                $(objthis).focus();
            }
            break;
    }
}

/*function myPopup() {
try {
clearPopup();
$(document.body).append('<div class="modalBack" style="position:absolute;z-index:100001;top:0;left:0;width:100%;height:' + $(document).height() + 'px;">&nbsp;</div>');
var mydiv = $('.myPopup');
getmeatcenter(mydiv);
mydiv.fadeIn(500);
} catch (e) { alert(e); }
}*/

function myPopup(id) {
    try {
        clearPopup();
        $(document.body).append('<div class="modalBack" style="position:absolute;z-index:99997;top:0;left:0;width:100%;height:' + $(document).height() + 'px;">&nbsp;</div>');
        var mydiv;
        if (id == null || id == undefined)
            mydiv = $('.myPopup');
        else
            mydiv = $('#' + id);
        getmeatcenter(mydiv);
        mydiv.fadeIn(500);
    } catch (e) { }
}

function getmeatcenter(mydiv) {
    mydiv.css('top', $(window).height() / 2 - mydiv.height() / 2 + $(window).scrollTop());
    mydiv.css('left', $(window).width() / 2 - mydiv.width() / 2 + $(window).scrollLeft());
}

function clearPopup() {
    $('.modalBack').remove();
    $('.myPopup').hide();
}

function setUpdateProgress() {
    getmeatcenter($('.uprDiv'));
    $('.uprOverlay').css('height', $(document).height());
    setTimeout(function() { if ($('.uprDiv').css('display') != 'none') setUpdateProgress(); }, 100);
}

function pageLoad(sender, args) {
    $(window).scroll(function() { getmeatcenter($('.myPopup')); setUpdateProgress(); });
    $(window).keypress(function(e) {
        var k = window.event ? event.keyCode : e.keyCode;
        if (k == 27)
            clearPopup();
    });
    setUpdateProgress();
}

function SelectDeselectAll(isChecked, chk) {
    var a = document.forms[0];
    var i = 0;
    for (i = 0; i < a.length; i++) {
        try {
            if (a[i].name.indexOf(chk) != -1) a[i].checked = isChecked;
        } catch (e) { }
    }
}
/*function 
$('input,select,textarea,table').focus(function() {
var mtt = $.trim($(this).attr("mtt"));
var err = $.trim($(this).attr("err"));
var x = $(this).offset().left;
var y = $(this).offset().top;
var h = $(this).height();
var w = $(this).width() + 20;
var cls = $(this).attr("class");

try {
if (cls.indexOf("errinput") >= 0) {
if (err != null && err != "" && err != "undefined") {
var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="errdiv">' + err + '</div>');
div.appendTo(document.body);
}
else if (mtt != null && mtt != "" && mtt != "undefined") {
var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="errdiv">' + mtt + '</div>');
div.appendTo(document.body);
}
}
else if (mtt != null && mtt != "" && mtt != "undefined") {
var div = $('<div style="position: absolute; left: ' + (x + w) + 'px; top: ' + y + 'px; display: block;" class="mttdiv">' + mtt + '</div>');
div.appendTo(document.body);
}
} catch (e) { }
});

$("input,select,textarea,table").blur(function() {
$('.errdiv').remove();
$('.mttdiv').remove();
});
*/
