﻿$(document).ready(function () {
    InitializeColorBox();

    InitializeAccordion();

    InitializeSearch();

    jQuery.extend(jQuery.validator.methods, {
        date: function (value, element) {
            return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);
        },
        number: function (value, element) {
            return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
        }
    });

});


function InitializeColorBox() {
    $("a.ColorBox").colorbox({ width: "900px;", height: "75%", opacity: "0.7" });
}


function InitializeAccordion() {
    $("#accordion").accordion(
    {
        active: false,
        autoHeight: false,
        navigation: true,
        create: function (event, ui) {
            $("#accordion").fadeIn();
        }
    });
}

function InitializeSearch() {

    $("#Recherche").catcomplete({
        source: "/Recherche/SearchAutoComplete",
        minLength: 3,
        delay: 500,
        autoFocus: false,
        focus: function (event, ui) { event.preventDefault(); },

        select: function (event, ui) {
            if (event.keyCode != 13) {
                $("#Recherche").val(ui.item.value);
            }
            return false;
        }
    });
}


function favoris() {
    //window.external.AddFavorite("http://www.indexfi.com", "Indexfi.com - L'index de la finance, annuaire en ligne des professionnels de la finance pour les particuliers et les entrepreneurs");

    if ( navigator.appName != 'Microsoft Internet Explorer' )
        { window.sidebar.addPanel("Indexfi.com - L'index de la finance, annuaire en ligne des professionnels de la finance pour les particuliers et les entrepreneurs", "http://www.indexfi.com", ""); }
    else 
        { window.external.AddFavorite("http://www.indexfi.com", "Indexfi.com - L'index de la finance, annuaire en ligne des professionnels de la finance pour les particuliers et les entrepreneurs"); }     
}

$.widget("custom.catcomplete", $.ui.autocomplete, {
    _renderMenu: function (ul, items) {
        var self = this,
				currentCategory = "";
        $.each(items, function (index, item) {
            if (item.category != currentCategory) {
                ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
                currentCategory = item.category;
            }
            self._renderItem(ul, item);
            //"<img src='/content/images/star.png' />" + 
        });
    }
});

$.ui.autocomplete.prototype._renderItem = function (ul, item) {
    var li = $("<li></li>")
            .data("item.autocomplete", item)
            .append("<a>" + (item.loupe == true ? "<img src='/content/images/etoile.png' style='float: left;' />" : "") + item.label + "</a>")
            .appendTo(ul);

    if (item.loupe == true)
        li.addClass("Loupe");

    return li;
};

