$(document).ready(function () {
    setFunctions($('#divLeftMenu li'));
    setFormSubmit();
    $('.tbQty').numeric({ decimal: false, negative: false });
    $('a[rel]').each(function () {
        $(this).colorbox({
            speed: 600,
            innerWidth: 500,
            innerHeight: 450,
            current: "{current}/{total}"
        });
    });

    $('#divLanguages').hide();
    $('#divLanguageSelect').height('auto');
    $('#divLanguageSelect').hoverIntent(function () { $('#divLanguages').slideDown(200); }, function () { $('#divLanguages').slideUp(200); });

    $('input.clear').each(function () {
        $(this)
            .data('default', $(this).val())
            .addClass('inactive')
            .focus(function () {
                $(this).removeClass('inactive');
                if ($(this).val() == $(this).data('default') || '') {
                    $(this).val('');
                }
            })
            .blur(function () {
                var default_val = $(this).data('default');
                if ($(this).val() == '') {
                    $(this).addClass('inactive');
                    $(this).val($(this).data('default'));
                }
            });
    });
});

var t = 0;
function setFormSubmit() {
    $('form.ProductForm').submit(function () {
        var postData = $(this).serialize();
        var button = this.Add;
        if (postData.length > 0) {
            $.ajax({
                type: 'POST',
                url: '/AjaxQuote.aspx',
                data: postData,
                success: function (text) {
                    button.value = added;
                    button.className = 'btn added';
                    setTimeout(function () { button.value = add; button.className = 'btn'; }, 1000);
                    var divAjaxQuote = $('#divAjaxQuote');
                    $(divAjaxQuote).html(text);
                    clearTimeout(t);
                    $(divAjaxQuote).slideDown('slow', function () { t = setTimeout(function () { $(divAjaxQuote).slideUp('slow'); }, 3000) });
                    $('.quoteItems').text($('#divAjaxTotalText').text());
                },
                dataType: 'text'
            });
        }
        return false;
    });
    $('form.QuoteForm').submit(function () {
        var postData = $(this).serialize();
        var button = this.Update;
        if (postData.length > 0) {
            $.ajax({
                type: 'POST',
                url: '/AjaxQuote.aspx',
                data: postData,
                success: function (text) {
                    button.value = updated;
                    button.className = 'btn added';
                    setTimeout(function () { button.value = update; button.className = 'btn'; }, 1000);
                    var divAjaxQuote = $('#divAjaxQuote');
                    $(divAjaxQuote).html(text);
                    clearTimeout(t);
                    $(divAjaxQuote).slideDown('slow', function () { t = setTimeout(function () { $(divAjaxQuote).slideUp('slow'); }, 3000) });
                    $('.quoteItems').text($('#divAjaxTotalText').text());
                    if ($('#divAjaxTotal').text() == '0') {
                        $('#divQuoteForm').fadeOut();
                    }
                },
                dataType: 'text'
            });
        }
        return false;
    });
    $('form.SubmitQuote').submit(function () {
        $.colorbox({ href: '/Quote.aspx?SubmitQuote=true' },
            function () {
                $('form.CompleteQuote').validate({
                    rules: {
                        Name: {
                            required: true
                        },
                        Email: {
                            required: true,
                            email: true
                        }
                    }
                });
            });
        return false;
    });
    $('.btnDelete').mousedown(function () {
        var tr = $(this).parent().parent();
        $(tr).find('.tbQty').each(function () {
            $(this).val(0);
        });
        $(tr).fadeOut();
    });
}

function setFunctions(p) {
    $(p).find('div').click(function () {
        getMenu(this, this.id);
    },
            function () {
                null;
                //                slideMenu(this, true);
            });
}

function getMenu(obj, postData) {
    if (postData.length > 0) {
        var t = $(obj).siblings().length;
        if (t == 1) {
            $.ajax({
                type: 'POST',
                url: '/menu.asmx/getMenu',
                data: postData,
                success: function (xml) {
                    appendMenu(xml, obj);
                },
                dataType: 'xml'
            });
        }
        else {
            if ($(obj).siblings('ul').is(':visible')) {
                slideMenu(obj, true);
            }
            else {
                slideMenu(obj, false);
            }
        }
    }
}

function appendMenu(xml, obj) {
    var strResult = xml.documentElement.firstChild.nodeValue;
    var ul = document.createElement('ul');
    ul.innerHTML = strResult;
    var uls = ul.getElementsByTagName('ul');
    if (uls.length > 0) {
        ul.innerHTML = uls[0].innerHTML;
    }
    ul.style.display = 'none';
    obj.parentNode.appendChild(ul);
    setFunctions(ul);
    slideMenu(obj, false);
}

function slideMenu(obj, direction) {
    if (direction) {
        $(obj).siblings('ul').slideUp('slow', function () {
            $(obj).parent('li').removeClass('selected');
        });
    }
    else {
        $(obj).siblings('ul').slideDown('slow', function () {
            $(obj).parent('li').addClass('selected');
        });
    }
    $(obj.parentNode).siblings('li').find('ul').slideUp('slow', function () {
        $(obj.parentNode).siblings('li').removeClass('selected');
    });
}
