$(document).ready(function() {
    page_init();
});
 
function page_init(){
    init_mainmenu();
    init_sidemenu();
	init_search();
    init_slider();
    init_article_magnifier();
    init_banner_skyscraper();
    init_questionnaire_link();
}

function init_mainmenu() {
    var allItems = $("#mainmenu ul > li");
    allItems.find("span").html("&nbsp;");
    var activeItem = allItems.filter(".active");
    activeItem.addClass('active i_' + ($(activeItem).index() + 1) + '_active');
	allItems.not(".active").mouseenter(function() {
        $(this).addClass("hover i_" + mainmenu_getID(this) + "_hover");
	}).mouseleave(function() {
		$(this).removeClass("hover i_" + mainmenu_getID(this) + "_hover");
	});

    function mainmenu_getID(DOMElement) {
        var classAttr = $(DOMElement).attr('class');
        var result = /i_([\d]+).*/.exec(classAttr);
        if (typeof(result)=='object' && (result instanceof Array) && result.length == 2) {
            return result[1];
        }
        return null;
    }
}

function init_sidemenu() {
    var allItems = $(".sidemenu ul li");
	allItems.mouseenter(function() {
		if ($(this).hasClass('active') == false) {
			$(this).addClass('hover');
		}
	}).mouseleave(function() {
		$(this).removeClass('hover');
	});
}

function init_search() {
    $("#search_tabs").tabs();
    $(".search input.text").each(function() {
        search_helper($(this));
    });
}

function search_helper(input) {
    var defaultText = input.val();
	if (defaultText.length > 0) {
		input.click(function() {
			if (input.val() == defaultText) {
				input.val("");
			}
		}).blur(function() {
			if (input.val() == "") {
				input.val(defaultText);
			}
		});
	}
}

function init_slider() {
    if ($("#carousel_items").length > 0) {
        $("#carousel_items").jcarousel({
            scroll: 7,
            auto: 10,
            animation: 600,
            wrap: 'circular'
        });
    }
}

function init_article_magnifier() {
    var size = 100;
    if ($.cookie("article_magnifier_size")) {
        size = parseInt($.cookie("article_magnifier_size"));
    }
    $("#layout_content").css("font-size", size + "%");
    $(".article_magnifier img").click(function() {
        switch ($(this).index()) {
            case 1:
                if (size > 70) {
                    size = size - 10;
                }
                break;
            case 2:
                size = 100;
                break;
            case 3:
                if (size < 130) {
                    size = size + 10;
                }
                break;
        }
        $("#layout_content").css("font-size", size + "%");
        $.cookie("article_magnifier_size", size, {expires: 30});
    });

}

function init_banner_skyscraper() {
    globalBannerId = '#banner_skyscraper';
    globalBannerTop = 20;
    globalFooterId = '#layout_footer';
    $(window).scroll(function(){
        var windowTop = $(window).scrollTop();
        var bannerTop = $(globalBannerId).attr('offsetTop');
        if(windowTop > bannerTop) {
            var maxScrollTop = $(globalFooterId).attr('offsetTop') - $(globalBannerId).attr('offsetHeight');
            if($(window).scrollTop() < maxScrollTop) {
                $(globalBannerId).animate({
                    top:$(window).scrollTop()+'px'
                },{
                    queue: false,
                    duration: 350
                });
            } else {
                $(globalBannerId).animate({
                    top:maxScrollTop+'px'
                },{
                    queue: false,
                    duration: 350
                });
            }
        } else if(bannerTop > globalBannerTop) {
            if($(window).scrollTop() < globalBannerTop) {
                $(globalBannerId).animate({
                    top:globalBannerTop+'px'
                },{
                    queue: false,
                    duration: 350
                });
            } else {
                $(globalBannerId).animate({
                    top:$(window).scrollTop()+'px'
                },{
                    queue: false,
                    duration: 350
                });
            }
        }
    });
}

function init_questionnaire_link() {
    questionnareId = '#questionnaire_link';
    questionnareTop = 160;
    globalFooterId = '#layout_footer';
    $(window).scroll(function(){
        var windowTop = $(window).scrollTop();
        var bannerTop = $(questionnareId).attr('offsetTop');
        if(windowTop > bannerTop) {
            var maxScrollTop = $(globalFooterId).attr('offsetTop') - $(questionnareId).attr('offsetHeight');
            if($(window).scrollTop() < maxScrollTop) {
                $(questionnareId).animate({
                    top:$(window).scrollTop()+'px'
                },{
                    queue: false,
                    duration: 350
                });
            } else {
                $(questionnareId).animate({
                    top:maxScrollTop+'px'
                },{
                    queue: false,
                    duration: 350
                });
            }
        } else if(bannerTop > questionnareTop) {
            if($(window).scrollTop() < questionnareTop) {
                $(questionnareId).animate({
                    top:questionnareTop+'px'
                },{
                    queue: false,
                    duration: 350
                });
            } else {
                $(questionnareId).animate({
                    top:$(window).scrollTop()+'px'
                },{
                    queue: false,
                    duration: 350
                });
            }
        }
    });
}
