﻿$(document).ready(function () {
    if ($(".socialLinks a img").size() < 2) {
        $(".socialLinks .introImg").addClass("oneImg");
    }
    initSlideshow();
    displayBlueBgBreadcrumbs();

    if ($("#breadcrumbsWrapper .rssLinkWrapper").length) {
        var rssLinkContent = "<li>" + $("#breadcrumbsWrapper .rssLinkWrapper").html() + "</li>";
        $("#topContentLinks").append(rssLinkContent);
        $("#breadcrumbsWrapper .rssLinkWrapper").hide();
    }


    hideEmptyBlocks();
    navigation();
    addClass();
    $("#tabs").tabs();
    // publicationPager();
    searchPager();
    applyWatermark();
    jobList();
    restrictedAccess();

    $("#account-changePassword .editor-field").each(function () {
        $(this).after("<div class='clear'></div>");
    });
    if ($('#CM-modalContextEditor').size() > 0) {
        $('#CM-modalContextEditor').jqm();
    }

    $('.documentListBlock ul:not(:has(li))').parents('.documentListBlock').hide();
    $('.linkListBlock ul:not(:has(li))').parents('.linkListBlock').hide();
    $('.imageGallery:not(:has(img))').hide();
    $('.generalContentImg:not(:has(img))').hide();
    $(".publicationText p:last-child").addClass('last'); /*for IE<9*/

    $("a[rel^='prettyPhoto']").prettyPhoto({ social_tools: false });
    $('.colapsibleContent .colapsibleContent-title').live('click', function () {
        $(this).parent().toggleClass('colapsed').toggleClass('expanded');
    });

    $('#navigation.horizontal li:last').addClass('last-child'); //for old browsers
    $('#generalContent img[align="left"]').addClass('left'); //for old browsers

    stickyFooter();
    $(window).resize(function () { stickyFooter(); });
    window.setTimeout(function () { stickyFooter() }, 500);
});

function stickyFooter() {
    if ($(window).height() > $('#page').height() + $('#footerWrapper').height() ) {
        $('#footerWrapper').addClass('sticky');
    }
    else {
        $('#footerWrapper').removeClass('sticky');
    }   
}

function displayBlueBgBreadcrumbs() {
    if ($("#slideShowWrapper").length) {
        $("#breadcrumbsWrapper").hide();
    }
}


function restrictedAccess() {
    $(".restricted").each(function () {
        $(this).append("<span class='restrictedIcon'></span>");
    });
    $(".restricted-access").each(function () {
        $(this).append("<span class='restricted-accessIcon'></span>");
    });
}

function hideEmptyBlocks() {
    $('.documentListBlock ul:not(:has(li))').parents('.documentListBlock').hide();
    $('.linkListBlock ul:not(:has(li))').parents('.linkListBlock').hide();
    $('.imageGallery:not(:has(img))').hide();
    $('.generalContentImg:not(:has(img))').hide();
    $("a[rel^='prettyPhoto']").prettyPhoto({ social_tools: false });
    $("h4:empty").hide();

}

function jobList(){
    $('#jobListTable').dataTable({
        "iDisplayLength": 10, /* nbre de resultats affiches par page*/
        "bLengthChange": false,
        "bFilter": false,
        "aaSorting": [[0,'desc']],
        "oLanguage": {
           /* "sLengthMenu": "Display _MENU_ records per page",*/
            "sInfo": "_LENGTH_ r&eacute;sultats de _TOTAL_"
		}
    });
    if ($("#jobListTable_previous").hasClass("paginate_enabled_previous") || $("#jobListTable_next").hasClass("paginate_enabled_next")) { 
        $("#jobListTable_paginate").after("<div class='pagerLabel'>Pages:</div>");
    }
    

}

function addClass() {
    $("#breadcrumbs a:first").addClass("first");
    $("#breadcrumbs a:last").addClass("last");
    $(".socialLinks a:last").addClass("last");
    $(".newsBlock:last").addClass("last");
    $(".eventBlock:last").addClass("last");
    $(".jobListTable tr:even").addClass("even");
    $(".jobListTable tr:odd").addClass("odd");
    $("#form .Checkbox .values input[type=checkbox]:first").addClass("first");
    $("#publicationsListTable tr").each(function () {
        $(this).find("td:last").addClass("last");
    });
}

function applyWatermark() {
    $('.watermark').each(function () {
        if ($(this).val() == $(this).attr('title')) { $(this).addClass('on'); }
        $(this).focus(function () {
            $(this).filter(function () { return ($(this).val() === "" || $(this).val() == $(this).attr('title')); }).removeClass("on").val("");
            $(this).removeClass("swap_value");
        });
        $(this).blur(function () {
            $(this).filter(function () { return $(this).val() === ""; }).addClass("on").val($(this).attr('title'));
            $(this).addClass("swap_value");
        });
    });
}

function initSlideshow() {
    $('.slideshow').cycle({
        fx:     'fade',
        pager:  '#slideshowpager',
        timeout: 6000 
    });
}

function publicationPager() {
    itemPerPage = 1;
    pageclickednumber = 0;
    PageInitialize();
    nbrePages = parseInt($(".publicationArchiveListBlock .pagination").children().length / itemPerPage, 10);
    $(".publicationArchiveListBlock #pager").pager({ pagenumber: 1, pagecount: nbrePages, buttonClickCallback: PageClick });
    $(".publicationArchiveListBlock #pager").prepend("<div class='labePager'>Page(s)</div>");
}

function searchPager() {
    itemPerPage = 5;
    pageclickednumber = 0;
    PageInitialize();
    nbrePages = parseInt($("#searchPager .pagination").children().length / itemPerPage, 10);
    $("#searchPager #pager").pager({ pagenumber: 1, pagecount: nbrePages, buttonClickCallback: PageClick });
    $("#searchPager #pager").prepend("<div class='labePager'>Page(s)</div>");
}

function PageInitialize() {
    for (i = 0; i < itemPerPage; i++) {
        $(".pagination").children().eq(i).show();
    }
    
}

function PageClick(pageclickednumber) {
    $("#pager").pager({ pagenumber: pageclickednumber, pagecount: nbrePages, buttonClickCallback: PageClick });
    $("#pager").prepend("<div class='labePager'>Page(s)</div>");
    $(".pagination").children().each(function () {
        if (pageclickednumber <= 1) {
            $(".pagination").children().hide();
            for (i = 0; i < itemPerPage; i++) {
                $(".pagination").children().eq(i).show();
            }
        } else {
            $(".pagination").children().hide();
            for (i = itemPerPage * (pageclickednumber - 1); i < (itemPerPage * pageclickednumber); i++) {

                $(".pagination").children().eq(i).show();
            }

        }

    });
}

function initializeForms(language) {
    if (!$.datepicker) {
        return;
    }

   $.datepicker.setDefaults($.datepicker.regional[language]);
    
    $('div.required label').each(function () {
        $(this).append("<span class=\"required\">*</span>");
    }); 
    
    $("div.Int input").numeric();
    
    $("div.Float input, div.Money input").numeric({ allow: "., " });

    $("div.Upload input").uploadify({
        'uploader': '/Scripts/Uploadify/uploadify.swf',
        'script': '/CMS/Forms/Uploadify',
        'buttonImg': '',
        'cancelImg': '/Scripts/Uploadify/cancel.png',
        'folder': '/uploads',
        'auto': true,
        'onComplete': function (event, id, fileObj, response, data) {
            if (fileObj && fileObj.name) {
                var element = $(event.target);
                element.val(fileObj.name);
            }
        },
        'onSelect': function (event, id, fileObj) {
            var element = $(event.target);
            var elemID = element.attr("id"); //here you get the id of the object.

            $("#" + elemID).uploadifySettings('scriptData', {
                'inputName': elemID,
                'id': $('form #UniqueNumber').eq(0).val(),
                'formId': $('form #FormId').eq(0).val(),
                'pageId': $('form #PageId').eq(0).val(),
                'cultureCode': $('form #CultureCode').eq(0).val(),
                'navId': $('form #NavId').eq(0).val(),
                'elementName': $('form #ElementName').eq(0).val(),
                'referenceUrl': $('form #ReferenceUrl').eq(0).val()
            });
        }
    });
    $('div.Date input, div.DateRange input').each(function () {
        var elem = $(this);
        $(this).datepicker(
                    {
                        dateFormat: "yy-mm-dd",
                        minDate: $.datepicker.parseDate("yy-mm-dd", elem.attr('data-min')),
                        maxDate: $.datepicker.parseDate("yy-mm-dd", elem.attr('data-max'))
                    });
    });
 }

    function navigation() {
        $(".horizontal li a").each(function() {
            if ($(this).hasClass("Selected")) {
                $(this).parent().addClass("selected");
            }
            if (!$(this).hasClass("Selected")) {
                $(this).hover(
                    function() {
                        $(this).parent().addClass("selected");
                    },
                    function() {
                        $(this).parent().removeClass("selected");
                    }
                );
            }
        });
            $("#sideRight .vertical > ul > li").addClass("firstlevel");
            $("#sideRight .vertical ul ul").addClass("secondlevel");

            $(".vertical .firstlevel a.Selected").each(function () {
                $(this).parent().addClass("selected");
                $(this).parent().parent().parent().addClass("secondLevelSelected");
            });

    }

