/// <reference path="../jquery-1.3.2.min-vsdoc.js" />

var genericErrorMsg = "Oops! Please wait just one moment while we get our act together. "
                        + "If any horses are readily available, you are free to hold them..."
                        + "If you were in the middle of a search, you can try refreshing the web browser or you can navigate back to the homepage and start again.";
var ie = (typeof window.ActiveXObject != 'undefined');
$(document).ready(function() {
    /* general */
    $(".btn-active").hover(function() {
        $(this).css("background-position", "0 -33px");
    }, function() {
        $(this).css("background-position", "0 0");
    });
    $(".btn-active").mousedown(function() {
        $(this).css("background-position", "0 -66px");
    }).mouseup(function() {
        $(this).css("background-position", "0 0");
    });

    $("a.flag").toggle(function() {
        $(this).parents(".flag-wrapper").addClass("flag-open");
        return false;
    }, function() {
        $(this).parents(".flag-wrapper").removeClass("flag-open");
        return false;
    });
    $("a.flagno").toggle(function() {
        $(".flag-wrapper").each(function() {
            $(this).removeClass("flag-open");
        });
        $(this).parents(".flag-wrapper").addClass("flag-open");
        return false;
    }, function() {
        $(this).parents(".flag-wrapper").removeClass("flag-open");
        return false;
    });
    $("a.flagno").click(function() {
        if ($(this).parents(".flag-wrapper").hasClass("flag-open")) {
            $(this).parents(".flag-wrapper").removeClass("flag-open");
        }
        {
            $(".flag-wrapper").each(function() {
                $(this).removeClass("flag-open");
            });
            $(this).parents(".flag-wrapper").addClass("flag-open");
        }
        return false;
    });
    $(".flag-buttons a").click(function() {
        $(this).parents(".flag-wrapper").removeClass("flag-open");
        return false;
    });
    $("a.chg-loc-toggle").toggle(function() {
        $(this).parents(".chg-loc-wrapper").addClass("chg-loc-open");
        if (ie) { $(".ad-sorter").css("visibility", "hidden"); }
        return false;
    }, function() {
        $(this).parents(".chg-loc-wrapper").removeClass("chg-loc-open");
        if (ie) { $(".ad-sorter").css("visibility", "visible"); }
        return false;
    });
    $(".chg-loc-buttons a").click(function() {
        $(this).parents(".chg-loc-wrapper").removeClass("chg-loc-open");
        if (ie) { $(".ad-sorter").css("visibility", "visible"); }
        return false;
    });
    $(".msg-close a").click(function() {
        $(this).parents(".msg-box").remove();
        return false;
    });
    $("img").one("error", function() {
        $(this).attr("src", "/images/no-photo.png");
    });
    $(".btn-back").click(function() {
        $('#btnaction').val('previous');
    });
    $(".btn-next").click(function() {
        $('#btnaction').val('next');
    });
    $(".btn-create-ad").click(function() {
        $('#btnaction').val('next');
    });
    $(".btn-checkout").click(function() {
        $('#btnaction').val('next');
    });
    $(".btn_savechanges").click(function() {
        $('#btnaction').val('SaveChanges');
    });
    $(".btn-ad-complete").click(function() {
        $('#btnaction').val('PreviewComplete');
    });
    $(".btn-ad-back").click(function() {
        $('#btnaction').val('PreviewBack');
    });

    /* petfinder link */
    $(".pet-finder-link").click(function() {
        window.open('http://www.petfinder.com');
    });

    /* search results/ad listing */
    $(".single-ad").mouseover(function() {
        $(this).addClass("ad-hover");
    }).mouseout(function() {
        $(this).removeClass("ad-hover");
    });
    $(".ad-summary").mouseover(function() {
        $(this).addClass("ad-hover");
    }).mouseout(function() {
        $(this).removeClass("ad-hover");
    });
    $(".attributes li").mouseover(function() {
        $(this).prev("li").addClass("before");
    }).mouseout(function() {
        $(this).prev("li").removeClass("before");
    });
    $("#banner-bar input:text").focus(function() {
        $(this).addClass("active");
        var box = $(this).attr("id");
        var val = $(this).val();
        if ((box == "keyword" && val == "item") || (box == "location" && val == "city, state, or zip code")) {
            $(this).val("");
        }
    });
    $(".refine-set label").click(function() {
        var thisSet = $(this).parent(".refine-set");
        if ($(thisSet).hasClass("open")) {
            $(thisSet).removeClass("open");
        } else {
            $(thisSet).addClass("open");
        }
    });
    $(".refine-more-toggle").click(function() {
        var set = $(this).parent(".refine-more");
        if ($(set).hasClass("refine-open")) {
            $(set).removeClass("refine-open");
        } else {
            $(set).addClass("refine-open");
            $(this).remove();
        }
        return false;
    });
    $("#show-more-extras a").click(function() {
        if ($(this).hasClass("show-more")) {
            $(this).removeClass("show-more");
            $(".preview-more-extras").css("display", "none");
        } else {
            $(this).addClass("show-more");
            $(".preview-more-extras").css("display", "block");
        }
        return false;
    });
    $(".check-all-ads").click(function() {
        if ($(this).hasClass("all-checked")) {
            $(".ad-list input:checkbox").attr("checked", "");
            $(".check-all-ads").text("Select all ads");
            $(this).removeClass("all-checked");
            $(".clear-ads-button").attr("src", "images/btn-clear-selected-ads-inactive.png").attr("disabled", "disabled");
        } else {
            $(".ad-list input:checkbox").attr("checked", "checked");
            $(".check-all-ads").text("Deselect all ads");
            $(this).addClass("all-checked");
            $(".clear-ads-button").attr("src", "images/btn-clear-selected-ads-active.png").attr("disabled", "");
        }
        return false;
    });
    $(".ad-checkbox").click(function() {
        var checkedInputs = $(".ad-list input:checked").length;
        if (checkedInputs == 0) {
            $(".clear-ads-button").attr("src", "images/btn-clear-selected-ads-inactive.png").attr("disabled", "disabled");
        } else {
            $(".clear-ads-button").attr("src", "images/btn-clear-selected-ads-active.png").attr("disabled", "");
        }
    });
    $("#show-active-ads").click(function() {
        if ($(this).hasClass("hide-expired")) {
            $(".ad-list div.ad-expired").css("display", "block");
            $(this).text("Show only active ads");
            $(this).removeClass("hide-expired");
        } else {
            $(".ad-list div.ad-expired").css("display", "none");
            $(this).text("Show all ads");
            $(this).addClass("hide-expired");
        }
        return false;
    });
    /* ad process */
    $("#preview-highlight").click(function() {
        if ($(this).hasClass("added")) {
            $(".single-ad").removeClass("ad-highlight");
            $(this).removeClass("added");
            $(this).text("Add this for $5");
            update_price(-5);
        } else {
            $(".single-ad").addClass("ad-highlight");
            $(this).addClass("added");
            $(this).text("Remove from your ad");
            update_price(5);
        }
        return false;
    });
    $("#preview-zoom").click(function() {
        if ($(this).hasClass("added")) {
            $("a.ad-zoom").css("display", "none");
            $(this).removeClass("added");
            $(this).text("Add this for $5");
            update_price(-5);
        } else {
            $("a.ad-zoom").css("display", "block");
            $(this).addClass("added");
            $(this).text("Remove from your ad");
            update_price(5);
        }
        return false;
    });


    /* help */
    $(".question").click(function() {
        $(this).next(".answer").slideToggle("normal");
        return false;
    });
    $(".close-answer").click(function() {
        $(this).parents(".answer").slideToggle("normal");
        return false;
    });
    $("#top-questions li a").click(function() {
        var whichQ = $(this).attr("href");
        $(whichQ).children(".answer").slideToggle("normal");
    });
    /* ad detail */
    $("#thumb-current").text("1");

    /* select package */
    setupPackagesTable();

    /* create ad */
    $(".text-max-50").attr("maxlength", "50");
    $(".text-max-150").attr("maxlength", "150");
    $(".text-max-140").attr("maxlength", "140");
    $(".text-max-900").attr("maxlength", "900");
    $(".create-ad-make-main").hover(
        function() {
            $(this).parents(".create-ad-photo").addClass("photo-hover");
        },
        function() {
            $(this).parents(".create-ad-photo").removeClass("photo-hover");
        }
    );
    $("#onlinetext").keyup(function() {
        onlinecharlimit($("#maxOnlineChar").val(), "infoonline");
    });
    $("#printtext").keyup(function() {
        printcharlimit($("#maxPrintChar").val(), "infoprint");
    });
    $("#dyn_phone").keyup(function() {
        printcharlimit($("#maxPrintChar").val(), "infoprint");
        buildtext();
    });
    $("#chk_hidephone").change(function() {
        buildtext();
    });
    $(".dyninp").change(function() {
        onlinecharlimit($("#maxOnlineChar").val(), "infoonline");
        printcharlimit($("#maxPrintChar").val(), "infoprint");
    });
    $(".dyninp").keyup(function() {
        onlinecharlimit($("#maxOnlineChar").val(), "infoonline");
        printcharlimit($("#maxPrintChar").val(), "infoprint");
    });
    $("#title").keyup(function() {
        titlecharlimit(25, "title-status");
    });

    $("#copy-ad-text").click(function() {
        var printDesc = "";
        if ($('#printleadin'))
            printDesc += $('#printleadin').val() + " ";
        printDesc += $("#printtext").val();
        if ($('#printleadout'))
            printDesc += " " + $('#printleadout').val();
        $("#onlinetext").val(printDesc);
        onlinecharlimit($("#maxOnlineChar").val(), "infoonline");

        return false;
    });
    $(".inline-help-toggle").click(function() {
        var parentHeight = $(this).parents("div").height();
        var whichHelp = $(this).attr("href");
        var thisTop = parentHeight - 10;
        $(whichHelp).css("top", thisTop);
        $(whichHelp).toggle("normal");
        return false;
    });
    $(".inline-no-photo-toggle").click(function() {
        var parentHeight = $(this).parents("div").height();
        var whichHelp = $(this).attr("href");
        var thisTop = parentHeight - 55;
        $(whichHelp).css("top", thisTop);
        $(whichHelp).toggle("normal");
        return false;
    });
    $(".create-ad-make-main a").click(function() {
        $(".active-main").text("Make main photo").removeClass("active-main");
        $(this).addClass("active-main");
        $(this).text("Main photo");
        return false;
    });
    $(".cat-toggle").click(function() {
        $(this).parents(".menu-cat").toggleClass("cat-open");
        return false;
    });
    $(".cat-more-toggle").click(function() {
        $(this).siblings(".cat-more").css("display", "block");
        $(this).parents(".menu-cat").children(".cat-top-list").css("display", "none");
        $(this).remove();
        return false;
    });

    //PDF DropDown
    $("#ddlPubs").change(function() {
        var pubid = $(this).children("option:selected").val();

        $.ajax({
            type: "POST",
            url: "/PDF/GetPrintPublicationEditions",
            data: { pubid: pubid },
            dataType: "json",
            success: function(data) {
                if (data.ErrorMsg != null && data.ErrorMsg != '') {
                }
                else {
                    var selVal = 0;
                    $('#ddlEds >option').remove();
                    $('#ddlPages >option').remove();

                    if (data.length == 0) {
                        $('#ddlEds').append(
                            $('<option></option>').val('-1').html('No Edition'));
                        $('#ddlPages').append(
                            $('<option></option>').val('-1').html('None'));
                        $('#frame1').attr('src', '');
                        $(".divThumbnails").html('');

                    }
                    else {
                        for (var i = 0; i < data.length; i++) {
                            $('#ddlEds').append($('<option></option>').val(data[i].PEDID).html(data[i].PEDName));
                        }
                        var pedid = $('#ddlEds').val();
                        if (pedid) {
                            ddlEdsChange(pedid);
                        }

                        if ($('#ddlEds').children().size() == 0) $('#ddlEds').append($('<option></option>').val('-1').html('No Edition'));
                        if ($('#ddlPages').children().size() == 0) {
                            $('#ddlPages').append($('<option></option>').val('-1').html('None'));
                            $('#frame1').attr('src', '');
                        }

                    }
                }

                $(".divFrame").css("display", "block");
                $(".divThumbnails").css("display", "none");
            }
        });

    });

    $('#ddlEds').change(function() {
        ddlEdsChange($(this).children("option:selected").val());
    });

    $('#ddlPages').change(function() {
        ChangePDFSource();
    });

    $(".btn-search-pdf-active").hover(function() {
        $(this).css("background-position", "0 -24px");
    }, function() {
        $(this).css("background-position", "0 0");
    });
    $(".btn-search-pdf-active").mousedown(function() {
        $(this).css("background-position", "0 -48px");
    }).mouseup(function() {
        $(this).css("background-position", "0 0");
    });

    $(".numonly").keydown(function(event) {
        if (event.keyCode == '13') {

        }
        else if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || (event.keyCode == 9 || event.keyCode == 8 || event.keyCode == 36 || event.keyCode == 46)) {

        }
        else {
            event.preventDefault();
        }
    });
    $(".deconly").keydown(function(event) {
        if (event.keyCode == '13') {

        }
        else if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || (event.keyCode == 9 || event.keyCode == 8 || event.keyCode == 190 || event.keyCode == 110 || event.keyCode == 46)) {

        }
        else {
            event.preventDefault();
        }
    });
    $(".phone").mask("999-999-9999");
    $(".no-right-click").bind("contextmenu", function(e) {
        return false;
    });


    $(".save-login").fancybox({
        'width': 490,
        'height': 250,
        'autoScale': true,
        'autoDimensions': false,
        'transitionIn': 'fade',
        'transitionOut': 'fade',
        'type': 'iframe'
    });
    $(".contact-dealer").fancybox({
        'width': 490,
        'height': 450,
        'autoScale': true,
        'autoDimensions': false,
        'transitionIn': 'fade',
        'transitionOut': 'fade',
        'type': 'iframe'
    });
    $(".fancybox").fancybox({
        'width': 520,
        'height': 480,
        'autoScale': true,
        'autoDimensions': false,
        'transitionIn': 'fade',
        'transitionOut': 'fade',
        'type': 'iframe'
    });
    $(".fancybox-inline").fancybox({
        'modal': true
    });
});


function ddlEdsChange(pedid) {
    $.ajax({
        type: "POST",
        url: "/PDF/GetPagesByIssue",
        data: { pedid: pedid },
        dataType: "json",
        success: function(data) {
            var thumbHTML = '';
            if (data.ErrorMsg != null && data.ErrorMsg != '') {
            }
            else {
                $('#ddlPages >option').remove();
                $(".divThumbnails").html('');
                if (data.length == 0) {
                    $('#ddlPages').append(
                            $('<option></option>').val('-1').html('None'));

                }
                else {
                    var thumbpath = $("#path").val() + 'thumbs/';

                    for (var i = 0; i < data.length; i++) {
                        $('#ddlPages').append(
                            $('<option></option>').val(data[i].FileName).html(data[i].Display));
                        thumbHTML += '<img src="' + thumbpath + data[i].Thumbnail + '" alt="' + data[i].Thumbnal + '" id="' + data[i].FileName + '" class="lnk-thumb" />';
                    }

                }
            }
            if ($('#ddlPages').children().size() == 0) {
                $('#ddlPages').append($('<option></option>').val('-1').html('None'));
                $('#frame1').attr('src', '');
            }
            else {
                ChangePDFSource();
            }
            $(".divThumbnails").html(thumbHTML);
        }
    });

}

function ChangePDFSource() {
    var id = $('#ddlPages').children("option:selected").val();
    if (id != null && id != '' && id != '-1') {
        var url = $("#path").val() + id;
        $('#frame1').attr('src', url);
    }
    else $('#frame1').attr('src', '');

    $(".divFrame").css("display", "block");
    $(".divThumbnails").css("display", "none");
}

function ViewThumbnails() {
    $(".divFrame").css("display", "none");
    $(".divThumbnails").css("display", "block");
    return false;
}

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}
function setupPackagesTable() {
    var cols = $(".packages-table .column-head").length;
    if (cols == 4) {
        $(".packages-table .column-head").css("width", "127px");
        $(".recommended-notice").css("width", "127px");
    } else if (cols == 3) {
        $(".packages-table .column-head").css("width", "188px");
        $(".recommended-notice").css("width", "177px").addClass("three-col");
    } else if (cols == 2) {
        $(".packages-table .column-head").css("width", "283px");
        $(".recommended-notice").css("width", "271px").addClass("two-col");
    } else if (cols == 1) {
        $(".packages-table .column-head").css("width", "567px");
        $(".recommended-notice").css("width", "567px");
    };
}

function update_price(addThis) {
    var currPrice = parseFloat($('#baseCost').val());
    var newPrice = parseFloat(currPrice + parseFloat(addThis));
    newPrice = Math.round(newPrice * 100) / 100;
    newPrice = newPrice.toFixed(2);
    $(".current-price").text(newPrice);
    $('#baseCost').val(newPrice);
}
function setClass(id, cls) {
    var el = document.getElementById(id);
    if (el == null) return;
    el.className = cls;
}
function setInnerHTML(id, ih) {
    $("#" + id).html(ih);
}
function setInvisible(id) {
    $("#" + id).css("display", "none");
}
function setVisible(id) {
    $("#" + id).css("display", "block");
}
function clickedCancel(accID, adID, prrIDs) {
    var ids = prrIDs.split(",");
    var prrIDsChecked = "";
    for (var i = 0; i < ids.length; i++) {
        var chkBox = document.getElementById(ids[i]);
        if (chkBox != null && chkBox.checked) {
            var subid = ids[i].split("_");
            prrIDsChecked += subid[2] + ",";
        }
    }

    var dataString =
                    'accID=' + accID.toString() +
                    '&adID=' + adID.toString() +
                    '&prrIDs=' + prrIDsChecked;
    $.ajax({
        type: "POST",
        url: "/Account/ManageAd",
        async: false,
        data: dataString,
        dataType: 'json',
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(genericErrorMsg);
        },
        success: function(data, textStatus) {
            setInvisible("cancelAdWrapper_" + adID);
        }
    });
}
function close_alert(alID, accID) {
    $.ajax({
        type: "POST",
        url: "/Account/AccountAlertClose",
        async: false,
        data: { aaid: alID, accid: accID },
        success: function(data) {
        }
    });
}
function onSortResult(opt) {
    //var sortbySel = document.getElementById("sortbySel");
    if (opt != null && opt.value != null && opt.selectedIndex >= 0) {
        document.location = opt.value;

    }
}

function onSearchSubmit() {

    var want = $('#keyword').val();
    var near = $('#location').val();
    near = near.replace("city, state, or zip code", "");
    if (near.length <= 0 && want == "item") return false;
    if (want == "item") want = want.replace("item", "");
    $('#location').val(near);
    $('#keyword').val(want);
    return true;
}

function onFlagAd(id, flagIds) {
    var ids = flagIds.split(",");
    var idsChecked = "";
    for (var i = 0; i < ids.length; i++) {
        var chkBox = document.getElementById('flagad_' + ids[i]);
        if (chkBox != null && chkBox.checked) {
            var subid = ids[i].split("_");
            idsChecked += subid[1] + "|";
        }
    }
    if (idsChecked == "") return false;

    var dataString =
                    'id=' + id.toString() +
                    '&reasons=' + idsChecked;
    $.ajax({
        type: "POST",
        url: "/Details/" + id + "?ajax=flag",
        async: false,
        data: dataString,
        dataType: 'json',
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(genericErrorMsg);
        },
        success: function(data, textStatus) {
            adFlag("/Details/" + id + "?ajax=flag", id);
            setInvisible('ad_' + id);
            setInvisible('ad1_' + id);
            $("body").bar({
                color: '#F5B62D',
                background_color: '#FFFFFF',
                removebutton: true,
                message: 'You have flagged this ad.',
                time: 5000
            });
            
        }
    });

}

function onSaveAd(id) {
    var itemID = 'savead_' + id;
    var dataString = 'id=' + id;
    $("#" + itemID).parent().removeClass("save-ad");
    $("#" + itemID).parent().addClass("saving");
    
    $.ajax({
        type: "POST",
        url: "/Details/" + id + "?ajax=savead",
        async: false,
        data: dataString,
        dataType: 'json',
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(genericErrorMsg);
        },
        success: function(data, textStatus) {
            adSave("/Details/" + id + "?ajax=savead", id);
            $("#" + itemID).parent().removeClass("saving");
            $("#" + itemID).parent().addClass("saved");
            //setInnerHTML(itemID, "Saved");

        }
    });
    return false;
}
function viewedDealer(dealerID, actionID) {
    $.ajax({
        type: "POST",
        url: "/Viewed/Dealer/" + dealerID + "?actid=" + actionID,
        dataType: 'json',
        success: function(data, textStatus) {
        }
    });
}
function viewedAd(adID, actionID) {
    $.ajax({
        type: "POST",
        url: "/Viewed/Ad/" + adID + "?actid=" + actionID,
        dataType: 'json',
        success: function(data, textStatus) {
        }
    });

    $("#ad-large-image img").css("display", "block");
    $("#divCOTT").css("display", "none");
    $("#hidframesrc").val($("#videoFrame").attr("src"));
    $("#videoFrame").attr("src", "");
    $("#videoFrame").load();
    $("#videoFrame").attr("src", $("#hidframesrc").val());
}
function filterphonenumber() {
    var temp = $('#dyn_phone').val();
    var result = '';
    for (var i = 0; i < temp.length; i++) {

        if (isDigit(temp[i])) {
            result += temp[i];
        }
    }
    $('#dyn_phone').val(result);
}
function isDigit(c) {
    return ((c >= "0") && (c <= "9"));
}

function sortBinsNs(bincls) {
    var li = $('#' + bincls + 'id li.refinem').get();
    var ns = li.pop();
    li.sort(function(a, b) {
        return a.innerHTML > b.innerHTML ? 1 : -1;
    });
    li.push(ns);
    $('#' + bincls + 'id').html(li);
    $('#' + bincls + 'id div.refine-more').remove();
    return false;
}

function sortBins(bincls) {
    var li = $('#' + bincls + 'id li.refinem').get();
    li.sort(function(a, b) {
        return a.innerHTML > b.innerHTML ? 1 : -1;
    });
    //$('#' + bincls + 'id').html('');

    $('#' + bincls + 'id').html(li);
    $('#' + bincls + 'id div.refine-more').remove();
    return false;
}
function sortBins2(bincls) {
    var li = $('#' + bincls + ' li.refinem').get();
    li.sort(function(a, b) {
        if (a.innerText == "Not Specified") return 200;
        return a.innerHTML > b.innerHTML ? 1 : -1;
    });
    //$('#' + bincls + 'id').html('');

    $('#' + bincls).html(li);
    $('#' + bincls + ' div.refine-more').remove();
    return false;
}
function saveAccountPreferences(accid, pref) {

    $.ajax({
        type: "POST",
        url: "/Account/SaveAccountPreference",
        data: { accid: accid, preference: pref },
        dataType: "json",
        success: function(data) { }
    });
}


