jQuery("html").addClass("js");

jQuery.noConflict();

/*
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* http://cherne.net/brian/resources/jquery.hoverIntent.html
*/
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);


/*
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
*/
jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend(jQuery.easing,
{
    def: 'easeOutQuad',
    swing: function (x, t, b, c, d) {
        //alert(jQuery.easing.default);
        return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
    },
    easeOutQuad: function (x, t, b, c, d) {
        return -c * (t /= d) * (t - 2) + b;
    },
    // t: current time, b: begInnIng value, c: change In value, d: duration
    easeOutExpo: function (x, t, b, c, d) {
        return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;
    }
});

jQuery(function ($) {
    Engine = {
        fixes: {
        // JavaScript Fixes :P
    },
    ui: {

        feedback: function () {
            var $feedback = $("#tip-off");
            $feedback.css({
                width: 0,
                overflow: "hidden"
            });
            $('.tip-off-button')
					.toggle(function () {
					    $feedback.animate({
					        width: "710px"
					    }, 500, "easeOutExpo");
					}, function () {
					    $feedback.animate({
					        width: 0
					    }, 300, "easeOutExpo");
					});
        },

	    megamenu: function () {
	        var $navimain = $("#navi-main > ul > li");
	        $navimain
					    .hoverIntent(
						    function () {
						        $(this).find("a").eq(0).addClass("active");
						        $(this).find("ul:first").slideDown(500, "easeOutExpo");
						    }, function () {
						        $(this).find("a").eq(0).removeClass("active");
						        $(this).find("ul:first").slideUp(100, "easeOutExpo");
						    }
					    );
	    },

	    megamenuSimple: function () {
	        var $navimain = $("#navi-main > ul > li");
	        $navimain
					    .hoverIntent(
						    function () {
						        $(this).find("a").eq(0).addClass("active");
						        $(this).find("ul:first").show();
						    }, function () {
						        $(this).find("a").eq(0).removeClass("active");
						        $(this).find("ul:first").hide();
						    }
					    );
	    },

        searchbox: function () {
            $(".searchbox")
					.attr("value", $(".searchbox").attr("title"))
					.focus(function () {
					    if (this.value == $('.searchbox').attr("title")) {
					        this.value = "";
					    }
					})
					.blur(function () {
					    if (this.value == "") {
					        this.value = $(".searchbox").attr("title");
					    }
					});
        }

    }
}
})


/*	On DOM loaded */
jQuery(document).ready(function ($) {
    Engine.ui.feedback();

    // frontpage slider
    $(function () {
        $('#banner').cycle({
            speed: 1000
        })
    });
});

/*	On WINDOW loaded */
jQuery(window).load(function ($) {
    if ((jQuery.browser.msie) && (jQuery.browser.version <= 6)) {
        Engine.ui.megamenuSimple();
    } else {
        Engine.ui.megamenu();
    }

    Engine.ui.searchbox();

});


