﻿$(document).ready(function () {
    //VALIDATION
    $("#validationSummary").hide();

    //DATE PICKER
    if ($(".datePicker").length) { //if exists...
        $(".datePicker").datepicker({ changeMonth: true, changeYear: true, yearRange: 'c-100:c+50' });
    }

    //HIDE ALL SUBMENUS BY DEFAULT
    $("ul.sideMenu li div.submenu").hide();

    //SHOW SUBMENU FOR CURRENT PROVINCE
    $selectedSubMenu = $("ul.sideMenu .selectedLi .submenu");
    $("ul.sideMenu .selectedLi #sideMenuItem").addClass("selected");
    $selectedSubMenu.show();

    var $currentSubMenu;
    var $currentMenuItem;

    //ADD MOUSEOVER/OUT FUNCTIONALITY TO REMAINING ITEMS
    //    $("ul.sideMenu .selectedLi").mouseover(function () {
    //        $currentSubMenu = $(this).find(".submenu");
    //        $currentMenuItem = $(this).find("#sideMenuItem");

    //        $currentMenuItem.addClass("selected");
    //        $selectedSubMenu.hide();
    //        $currentSubMenu.show();
    //    });

    $("ul.sideMenu .dropdownLi #sideMenuItem, ul.sideMenu .dropdownLi #sidemenuitem_about").mouseover(function () {
        $currentSubMenu = $(this).parent().find(".submenu");
        $currentMenuItem = $(this).parent().find("#sideMenuItem, #sidemenuitem_about");

        $currentMenuItem.addClass("selected");
        $selectedSubMenu.hide();
        $currentSubMenu.show();
    });

    $("ul.sideMenu .dropdownLi").mouseleave(function () {
        $currentSubMenu = $(this).find(".submenu");
        $currentMenuItem = $(this).find("#sideMenuItem, #sidemenuitem_about");

        $currentSubMenu.hide();
        $currentMenuItem.removeClass("selected");
        $selectedSubMenu.show();
    });

    //ADD CLASS TO LAST ITEM IN EACH LIST
    $(".sidemenu_submenu_body").each(function () { $(this).find("li:last").addClass("lastItem"); });
});

function UpgradeASPNETValidation() {
    // Hi-jack the ASP.NET error display only if required
    if (typeof (Page_ClientValidate) != "undefined") {
        ValidatorUpdateDisplay = NicerValidatorUpdateDisplay;
        AspPage_ClientValidate = Page_ClientValidate;
        Page_ClientValidate = NicerPage_ClientValidate;
    }
}

function NicerValidatorUpdateDisplay(val) {
    if (val.isvalid) {
        $(val).parent().find(":input").removeClass('invalidField');
        $(val).fadeOut('fast');

    } else {
        $(val).parent().find(":input").addClass('invalidField');
        $(val).fadeIn('fast');
    }
}

function NicerPage_ClientValidate(validationGroup) {
    var valid = AspPage_ClientValidate(validationGroup);
    $("#validationSummary").hide();
    if (!valid) {
        scroll(0, 0);
        $("#validationSummary").show();
    }
}
