// JavaScript Document
var isIE = navigator.appName == "Microsoft Internet Explorer";
var isWebkit = (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) || (navigator.userAgent.toLowerCase().indexOf('safari') > -1);
var showSelect = function(obj) {

    $('#findService_dynamic').slideUp(500, function() {
        if ($(obj).val() == "") {
            //disable+hide everything
            $('#subcategory_venues2').attr('disabled', true);
            $('#subcategory_venues2').css('display', 'none');
            $('.frmHidden').attr('disabled', true);
            $('.frmHidden').css('display', 'none');
            $('#ctl00_contentSidePanel_serviceFinder_btnSearch').css('cursor', 'default');
            $('#ctl00_contentSidePanel_serviceFinder_btnSearch').attr('src', '/images/btnSearch_disabled.gif');
            $('#ctl00_contentSidePanel_serviceFinder_btnSearch').attr('disabled', 'true');
        }
        else {
            //disable+hide then show selected elements
            $('#subcategory_venues2').attr('disabled', true);
            $('#subcategory_venues2').css('display', 'none');
            $('.frmHidden').attr('disabled', true);
            $('.frmHidden').css('display', 'none');
            if ($(obj).val() == 'venues') {
                $('#subcategory_venues2').attr('disabled', false);
                $('#subcategory_venues2').css('display', 'block');
            }
            $('#ctl00_contentSidePanel_serviceFinder_subcategory_' + $(obj).val()).attr('disabled', false);
            $('#ctl00_contentSidePanel_serviceFinder_subcategory_' + $(obj).val()).css('display', 'block');
            $('#findService_dynamic').slideDown(500, function() {
                $('#ctl00_contentSidePanel_serviceFinder_btnSearch').css('cursor', 'pointer');
                $('#ctl00_contentSidePanel_serviceFinder_btnSearch').attr('src', '/images/btnSearch.gif');
                $('#ctl00_contentSidePanel_serviceFinder_btnSearch').removeAttr('disabled');
            });
        }
    });
}

$(document).ready(function() {
    $('#mso0T').live('click', function() {
        $('#mso0T').toggleClass('moreSearchOptionsTitleShow');
        $('#mso0').slideToggle(500);
    });

    $('#mso1T').live('click', function() {
        $('#mso1T').toggleClass('moreSearchOptionsTitleShow');
        $('#mso1').slideToggle(500);
    });
    //hide form elements
    $('#findService_dynamic').css('display', 'none');
    $('.frmHidden').css('display', 'none');
    $('.frmHidden').attr('disabled', true);
    $('#subcategory_venues2').attr('disabled', true);
    $('#subcategory_venues2').css('display', 'none');
    $('#ctl00_contentSidePanel_serviceFinder_btnSearch').css('cursor', 'default');
    $('#ctl00_contentSidePanel_serviceFinder_btnSearch').attr('disabled', 'true');

    //Nav bar events
    $('.button').bind('mouseenter', function() {
        if ($(this).attr('src') != "images/btnSearch_disabled.gif") {
            $(this).attr('src', "images/btnSearch_over.gif");
        }
    });
    $('.button').bind('mouseleave', function() {
        if ($(this).attr('src') != "/images/btnSearch_disabled.gif") {
            $(this).attr('src', "/images/btnSearch.gif");
        }
    });
    $('.btnAdvertise').bind('mouseenter', function() {
        $(this).attr('src', "/images/btnAdvertise_over.gif");
    });
    $('.btnAdvertise').bind('mouseleave', function() {
        $(this).attr('src', "/images/btnAdvertise.gif");
    });

    //Search bar events
    var clickedOnce = false;
    $('#ctl00_txtSearch').live('click', function() {
        if (!clickedOnce) {
            $(this).css('font-size', '12px');
            $(this).css('color', '#000');
            $(this).val("");
            clickedOnce = true;
        }
    });

    //what's new scroll bar
    if ($('#scroll').length > 0) {
        $('#scroll').jScrollPane({
            showArrows: true,
            scrollbarWidth: 16,
            wheelSpeed: 36
        });
    }
    
    var sponsorHeight = $('#generalContainer').innerHeight();
    if (true) {
        if ($.browser.msie) {
            if ($.browser.version >= 8) {
                sponsorHeight -= 30;
            }
            else if ($.browser.version >= 7) {
                sponsorHeight -= 38;
            }
        }
        else if ($.browser.mozilla) {
            sponsorHeight -= 30;
        }
        else if ($.browser.safari) {
            sponsorHeight += 14;
            if ($('#whatsNew').length == 0) {
                sponsorHeight -= 50;
            }
        }
        $('#sponsors').height(sponsorHeight);
    }
});

var CheckAllListings = function(isChecked) {
    var MyControlName = 'ctl00_ContentPlaceHolder1_chkSimilarVenues';
    var myTable = document.getElementById(MyControlName);
    var nCols;
    var nRows;
    var CurrentCheckBox;
    var NextRowFirstTD;

    try {
        nRows = myTable.rows.length;
    }
    catch (err) { return; }

    for (var i = 0; i < nRows; i++) {
        var n = MyControlName + '_' + i;
        CurrentCheckBox = document.getElementById(n);
        CurrentCheckBox.checked = isChecked;
    }
}

var isTopSearchCleared = false;
var blurHash = new Array();
var clearOnce = function(elementid) {
    var searchBoxElement = $('#' + elementid);
    if (searchBoxElement.hasClass("ctl00_txtSearch") && searchBoxElement.val() == "Enter Establishment Name") {
        blurHash[elementid] = searchBoxElement.val();
        searchBoxElement.val("");
        searchBoxElement.css({ color: 'black' });
    }
    else if (searchBoxElement.hasClass('grey_fields')) {
        blurHash[elementid] = searchBoxElement.val();
        searchBoxElement.val("");
        searchBoxElement.removeClass('grey_fields');
    }
}

var blurOnce = function(elementid) {

    var searchBoxElement = $('#' + elementid);
    if (jQuery.trim(searchBoxElement.val()).length == 0) {
        if (searchBoxElement.hasClass("ctl00_txtSearch")) {
            searchBoxElement.val(blurHash[elementid]);
            searchBoxElement.css({ color: '#939393' });
        }
        else {
            searchBoxElement.val(blurHash[elementid]);
            searchBoxElement.addClass('grey_fields');
        }
    }
}

var sendContactAllEmail = function() {
    var retval = true;
    var catThank = $("#categorytothank").val();
    var emailThank = "";
    if ($("#deliverCopy").is(":checked")) {
        emailThank = $("#contactEmail").val();
    }
    //Verify the event name
    if (jQuery.trim($("#dialogeventName").val()).length == 0) {
        $("#eventNameError").removeClass('hidden');
        retval = false;
    }
    else if ($("#dialogeventName").hasClass('grey_fields')) {
        $("#eventNameError").removeClass('hidden');
        retval = false;
    }
    else {
        $("#eventNameError").addClass('hidden');
    }
    //Verify the event type
    if ($("#selectType").length > 0) {
        if ($("#selectType").val().length == 0) {
            $("#selectTypeError").removeClass('hidden');
            retval = false;
        }
        else {
            $("#typeError").addClass('hidden');
        }
    }
    else if ($("#Photographers").length > 0) {
        if ($("#Photographers").is(":checked") || $("Videographers").is(":checked")) {
            $("#typeError").addClass('hidden');
        }
        else {
            $("#typeError").removeClass('hidden');
            retval = false;
        }
    }
    else if ($("#LiveMusic").length > 0) {
        if ($("#LiveMusic").is(":checked") || $("DJs").is(":checked")) {
            $("#typeError").addClass('hidden');
        }
        else {
            $("#typeError").removeClass('hidden');
            retval = false;
        }
    }
    //Verify the dates
    if (jQuery.trim($('#eventDate').val()).length == 0) {
        $("#errorDate").removeClass('hidden');
        retval = false;
    }
    else {
        $("#errorDate").addClass('hidden');
    }

    //Validate the number of Guests
   /* if (jQuery.trim($("#dialognumGuests").val()).length == 0) {
        $("#errorGuests").removeClass('hidden');
        retval = false;
    }
    else {
        $("#errorGuests").addClass('hidden');
    }*/

    //Validate the details section
    if (jQuery.trim($('#details').val()).length == 0) {
        $("#errorDetails").removeClass('hidden');
        retval = false;
    }
    else {
        $("#errorDetails").addClass('hidden');
    }

    //Validate the budget section
    if (jQuery.trim($('#dialogbudget').val()).length > 0 && jQuery.trim($('#dialogbudget').val()) != 'Optional') {
        if (jQuery.trim($('#dialogbudget').val()).match(/\$?[0-9]*\.?[0-9]?[0-9]?/) == null) {
            $("#errorBudget").removeClass('hidden');
            retval = false;
        }
        else {
            $("#errorBudget").addClass('hidden');
        }
    }

    /*Validate the contact name*/
    if (jQuery.trim($('#contactName').val()).length == 0) {
        $('#errorName').removeClass('hidden');
        retval = false;
    }
    else {
        $('#errorName').addClass('hidden');
    }

    /*Validate the contact email address*/
    if (jQuery.trim($('#contactEmail').val()).length == 0) {
        $('#errorEmail').removeClass('hidden');
        retval = false;
    }
    else if (jQuery.trim($('#contactEmail').val()).match(/^[a-zA-Z0-9_\.%\+\-]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,6}$/) == null) {
        $('#errorEmail').removeClass('hidden');
        retval = false;
    }
    else {
        $('#errorEmail').addClass('hidden');
    }

    /*Validate contact the phone*/
    if (jQuery.trim($('#contactPhone').val()).length == 0) {
        $('#errorPhone').removeClass('hidden');
        retval = false;
    }
    else if (jQuery.trim($('#contactPhone').val()).match(/^^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/) == null) {
        $('#errorPhone').removeClass('hidden');
        retval = false;
    }
    else {
        $('#errorPhone').addClass('hidden');
    }

    if (jQuery.trim($('#captchaValue').val()).length == 0) {
        $('#CaptchaError').removeClass('hidden');
        retval = false;
    }
    else {
        $.ajax({ url: "/captchacheck.aspx", data: { captchaString: $('#captchaValue').val() }, type: 'GET',
            success: function(data) {
                if (data.toString() == 'Incorrect') {
                    retval = false;
                    $('#CaptchaError').removeClass('hidden');
                }
                else {
                    if (retval) {
                        $("#spinner").removeClass('hidden');
                        $("#innerBody").addClass('hidden');
                        $("#background_div").height($("#dialog").height());                    
                        $.ajax({ url: "/contactall.aspx", data: $('#ContactallForm').serialize(), type: 'POST',
                            success: function(data) {
                            $("#spinner").addClass('hidden');
                            var dlg = $("#dialog").parents(".ui-dialog:first");
                            dlg.animate({ height: 360 }, 'fast', 'linear', function() { $("#background_div").height(310); });                                
                                $.ajax({ url: "/thank_you.aspx", data: ({ category: catThank, email: emailThank }), type: 'GET',
                                    success: function(data) {
                                        $("#dialogBody").empty();
                                        $("#dialogBody").append(data);
                                        $("#background_div").height($("#dialog").height());
                                        return;
                                    }
                                });
                            }
                        });
                    }
                }
            }
        });
    }
}

var sendContactModalEmail = function() {
    var retval = true;
    var emailThank = "";
    if ($("#deliverCopy").is(":checked")) {
        emailThank = $("#dialogEmail").val();
    }
    $("#spinner").removeClass('hidden');
    $("#innerBody").addClass('hidden');
    $("#background_div").height($("#dialog").height());
    if (jQuery.trim($("#dialogName").val()).length == 0) {
        $("#dialogNameError").removeClass('hidden');
        retval = false;
    }
    else {
        $("#dialogNameError").addClass('hidden');
    }
    if (jQuery.trim($("#dialogEmail").val()).length == 0) {
        $("#dialogEmailError").removeClass('hidden');
        retval = false;
    }
    else if (jQuery.trim($('#dialogEmail').val()).match(/^[a-zA-Z0-9_\.%\+\-]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,6}$/) == null) {
        $('#dialogEmailError').removeClass('hidden');
        retval = false;
    }
    else {
        $('#dialogEmailError').addClass('hidden');
    }
    
    if (jQuery.trim($("#dialogPhoneNumber").val()).length == 0) {
        $("#dialogPhoneNumberError").removeClass('hidden');
        retval = false;
    }
    else {
        $("#dialogPhoneNumberError").addClass('hidden');
    }
    if (retval) {
        var dlg = $("#dialog").parents(".ui-dialog:first");
        dlg.animate({ height: 259 }, 'fast', 'linear', function() { $("#background_div").height(245); });
        $.ajax({ url: "/contactmodal.aspx", data: $('#ContactmodalForm').serialize(), type: 'POST',
            success: function(data) {
                $("#spinner").addClass('hidden');
                $.ajax({ url: "/thank_you.aspx", data: ({ email: emailThank }), type: 'GET',
                    success: function(data) {
                        $("#modalBody").empty();
                        $("#modalBody").append(data);
                        return;
                    }
                });
            }
        });
    }
    else {
        $("#spinner").addClass('hidden');
        $("#innerBody").removeClass('hidden');
        $("#background_div").height($("#dialog").height());
    }
}

var showContactAllDialog = function(type, subtype, metaid) {
    $.ajax({ url: "contactall.aspx", context: $('#dialog'), data: { type: type, subtype: subtype, metaid: metaid }, type: 'GET',
        success: function(data) {
            this.html(data);
            /*Setup the modal dialog and date picker*/
            $("#dialog").dialog({
                width: 700,
                height: 'auto',
                autoOpen: false,
                modal: true,
                closeOnEscape: true,
                resizable: false,
                close: function(event, ui) {
                    $('.error_text').each(function(err) {
                        if (err) {
                            try {
                                err.addClass("hidden");
                            } catch (e) { }
                        }
                    });
                    $("#background_div").addClass('hidden');
                    $(this).hide();
                },
                open: function(event, ui) {
                    $(this).show();
                    $("#background_div").removeClass('hidden');
                    $("#background_div").offset({ top: $(this).offset().top + 28, left: $(this).offset().left + 31 });
                    var ofsty = -1;
                    var ofstx = 6;
                    if (isIE) {
                        ofsty = 0;
                        ofstx = 6;
                    }
                    else if (isWebkit) {
                        ofsty = -2;
                        ofstx = 6;
                    }
                    $("#background_div").height($(this).height() + ofsty);
                    $("#background_div").width($(this).width() + ofstx);
                    $("#eventDate").datepicker({
                        clickInput: true,
                        defaultDate: null,
                        showOn: 'button',
                        buttonImage: '/images/calendar.gif',
                        buttonImageOnly: true,
                        changeMonth: true,
                        changeYear: true,
                        constrainInput: false,
                        yearRange: 'c:c+5',
                        buttonText: ''
                    });
                }
            });
            $(".ui-dialog-titlebar").hide();
            $(".ui-dialog").bgiframe();
            this.dialog('open');
        }
    });
}

var showContactModalDialog = function(id) {
    $.ajax({ url: "contactmodal.aspx", context: $('#dialog'), data: { venueid: id }, type: 'GET',
        success: function(data) {
            this.html(data);
            $("#dialog").dialog({
                width: 550,
                height: 'auto',
                title: 'Send us an Email',
                autoOpen: false,
                modal: true,
                closeOnEscape: true,
                resizable: false,
                close: function(event, ui) {
                    $('.error_text').each(function(err) {
                        if (err) {
                            try {
                                err.addClass("hidden");
                            } catch (e) { }
                        }
                    });
                    $("#background_div").addClass('hidden');
                    $("#company_website").attr("src", $("#websiteurl").val());
                    $(this).hide();
                },
                open: function(event, ui) {
                $(this).show();
                    $("#company_website").attr("src","/blank.html");
                    $("#background_div").removeClass('hidden');
                    $("#background_div").offset({ top: $(this).offset().top + 28, left: $(this).offset().left + 31 });
                    var ofstx = 12;
                    var ofsty = 0;
                    if (isIE) {
                        ofsty = 0;
                        ofstx = 12;
                    }
                    else if (isWebkit) {
                        ofsty = -2;
                        ofstx = 12;
                    }
                    $("#background_div").height($(this).height() + ofsty);
                    $("#background_div").width($(this).width() + ofstx);
                }
            });
            $(".ui-dialog-titlebar").hide();
            $(".ui-dialog").bgiframe();
            this.dialog('open');
        }
    });
}

var checkDeliver = function() {
    if ($("#deliverCopy").is(":checked")) {
        $("#deliverCopy").removeAttr("checked");
    }
    else {
        $("#deliverCopy").attr("checked", "true");
    }
}

var hideCheckboxesSlide = function() {
    if ($('#selectType').val() == "Decor") {
        $('#rentalcheckboxes').slideUp(500, function() { });
        $('#decorcheckboxes').slideDown(500, function() { });
    }
    else if ($('#selectType').val() == "Rentals") {
        $('#decorcheckboxes').slideUp(500, function() { });
        $('#rentalcheckboxes').slideDown(500, function() { });
    }
    else {
        $('#decorcheckboxes').slideUp(500, function() { });
        $('#rentalcheckboxes').slideUp(500, function() { });
    }
}