﻿$.noConflict();
jQuery(document).ready(function ($) {

    var debug = false;
    var value = new Object;

    /*** Basic functions ***/
    /* Stops Event Propagation
    -----------------------------------------------------------------------------*/

    function stop(e) {
        if (!e) e = window.event;
        (e.stopPropagation) ? e.stopPropagation() : e.cancelBubble = true;
        (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
        return false;
    }

    function prevDef(e) {
        if (!e) e = window.event;
        (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
        return false;
    }

    /* Debug 
    -----------------------------------------------------------------------------*/

    if (debug) {
        jQuery("body").append("<div id='debugwindow'></div>")
    }

    function reportDebug(message) {
        if (debug) {
            jQuery("#debugwindow").html(jQuery("#debugwindow").html() + "<br/>" + message)
        }
    }

    function report(msg) {
        if (window.console && window.console.firebug) {//Firebug is enabled
            console.log(msg)
        } else {
            alert(msg)
        }
    }

    /*****************************************/

    var menu = jQuery(".SVnMenu .root>li>ul>li");
    var menuHtml = "<div id='newMenu' class='clearfix'>";

    jQuery(".SVnMenu .ms-hidden").remove();

    menu.each(function (index) {
        menuHtml += "<ul><li>" + jQuery(menu[index]).html() + "</li></ul>"
    });

    menuHtml += "</div>"

    jQuery("#mainmenu").before(menuHtml)

    jQuery("#mainmenu").hide();

    jQuery("#newMenu>ul>li>a").each(function () {
        $(this).replaceWith("<span class='forCufon'>" + $(this).text() + "</span>");
    });

    if (jQuery("#wpzone_homepage .teaser").length > 0) {
        var fullHeight = jQuery("#wpzone_homepage .teaser").closest(".s4-wpcell-plain").height();
        jQuery("#wpzone_homepage .teaser").css({ "height": fullHeight })
    }

    jQuery(".ms-wpContentDivSpace").each(function () {
        var text = jQuery(this).html().replace(/^\s*|\s*$/g, '');
        if (text.length == 0) {
            jQuery(this).remove()
        }
    });

    /*********************/

    jQuery(".SVnMenu2 li.selected")
        .parent().addClass("selected")
        .parent().addClass("selected")
        .parent().addClass("selected");

    jQuery("#newMenu li.selected")
        .parent().addClass("selected")
        .parent().addClass("selected")
        .parent().addClass("selected");

    /***************************/

    Cufon.replace('.ms-bodyareacell h1');
    Cufon.replace('#newMenu .forCufon', { hover: true });
    Cufon.replace('#s4-rightpanel .teaser h2');
    Cufon.replace('#wpzone_homepage .ms-WPBody H1');
    Cufon.replace('#wpzone_homepage H3.ms-WPTitle');
    Cufon.replace('#sidewidemenu a', { hover: true });
    Cufon.replace('#loginLink a', { hover: true });
    Cufon.replace('#footer', { hover: true });

    Cufon.now();

    /***************************/

    var counter = 0;

    jQuery("#newMenu>ul>li>span").each(function () {
        var left = jQuery(this).position().left + 2;
        jQuery(this).next().css({ "left": left, "width": 184 - (left - (counter * 184)) });
        counter += 1;
    });

    value.mainMenuHeight = jQuery("#newMenu").height();
    jQuery("#newMenu").attr("rel", value.mainMenuHeight);

    jQuery("#newMenu").css("height", "25px");
    jQuery("#newMenu>ul>li>span").each(function () {
        jQuery(this).next().css({ "position": "absolute" });
    });


    /***************************/

    jQuery(".faqlist dd").slideUp();

    jQuery(".faqlist dt").bind("click", function () {
        if (jQuery(this).hasClass("openFAQ")) {
            jQuery(this)
            .removeClass("openFAQ")
            .next()
            .slideUp();
        } else {
            jQuery(this).addClass("openFAQ")
            .next()
            .slideDown();
        }
    });


    /*************************/

    jQuery(".print").bind("click", function () {
        window.print();
    })

    /*************************/

    var slider = new Object;
    slider.counter = 1;
    slider.slides = jQuery(".slide");
    slider.max = max = slider.slides.length;
    slider.width = 980;
    slider.transitionPeriod = 3000;
    slider.waitPeriod = 6000;
    slider.timer = null;

    if (slider.max >= 2) {
        var slides1 = jQuery(".slide").clone();
        var slides2 = jQuery(".slide").clone();

        jQuery(".slideboard").append(slides1)
        jQuery(".slideboard").prepend(slides2)
    }

    Cufon.replace('#caroussel h2');
    Cufon.replace('#caroussel blockquote');
    Cufon.now();

    jQuery(".slideboard").css({ left: -(slider.max * slider.width) })

    function activateSlideboard(intention) {

        if (intention == "next") {
            var first = jQuery(".slide:first")

            first.animate({ "width": 0 }, slider.transitionPeriod, function () {
                jQuery(".slideboard").append(jQuery(first));
                jQuery(".slide:last").css({ "width": 980 });
            });
        }

        if (intention == "prev") {
            last = jQuery(".slide:last");

            last.css({ "width": 0 }); ;
            jQuery(".slideboard").prepend(jQuery(last));

            jQuery(".slide:first").animate({ "width": 980 }, slider.transitionPeriod);
        }

    }

    function haltSlideboard() {
        clearInterval(slider.timer);
    }

    function startSlideboard() {
        clearInterval(slider.timer);
        slider.timer = setInterval(function () { activateSlideboard("next") }, slider.waitPeriod + slider.transitionPeriod);
    }

    function connectSlideboard() {
        jQuery(".slideboard").bind("mouseenter", function () {
            haltSlideboard();
        })

        jQuery(".slideboard").bind("mouseleave", function () {
            startSlideboard();
        })

        jQuery(".slideboard .prev").bind("click", function (e) {
            stop(e);
            activateSlideboard("prev")
        });

        jQuery(".slideboard .next").bind("click", function (e) {
            stop(e);
            activateSlideboard("next")
        });
    }

    connectSlideboard();
    startSlideboard();


    /*************************************/

    jQuery("#mainNavigation").bind("mouseenter", function () {
        jQuery(this).addClass("active");
        jQuery("#newMenu").stop().animate({
            height: value.mainMenuHeight + 10
        }, 150);
        jQuery("#mainNavigation").stop().animate({
            height: value.mainMenuHeight + 20
        }, 250);
    });

    jQuery("#mainNavigation").bind("mouseleave", function () {
        jQuery("#newMenu").stop().animate({
            height: 25
        }, 150);
        jQuery("#mainNavigation").stop().animate({
            height: 40
        }, 150, function () {
            jQuery(this).removeClass("active");
        });
    });


});

