
var banners = function(){}
banners.setlink = function(){
    banners.pane_front.unbind("click");
    banners.active_index = (banners.active_index==-1)?0:banners.active_index;
    var link_info = banners.banner_set[banners.active_index]
    if (link_info["link"].length>0){
        banners.pane_front.addClass("pseudoLink");
        var link_target = (link_info["target"].length>0)?link_info["target"]:"_self";
        banners.pane_front.bind("click",function(){window.open(link_info["link"], link_target)});
    } else {
        banners.pane_front.removeClass("pseudoLink");
    }
}

banners.navhover = function(e){
    var obj_href = jQuery(this).attr("href");
    if (e.originalEvent.type=="mouseover"){
        jQuery(this).fadeTo(0,banners.nav_hover_opacity);
    } else {
        if (/#(pause|play)/.test(obj_href)){
            if (banners.play_state == 1){
                jQuery(this).removeClass("manual").fadeTo(0,banners.nav_link_opacity);
            }
        } else {
            var active_opacity = (parseInt(/#img=(\d+)/.exec(jQuery(this).attr("href"))[1]) == banners.active_index)?1:banners.nav_link_opacity;
            jQuery(this).removeClass("manual").fadeTo(0,active_opacity);
        }
    }
}

banners.navclick = function(){
    clearTimeout(banners.active_timeout);
    var obj_href = jQuery(this).attr("href");
    if (/#(pause|play)/.test(obj_href)){
        switch(/#(pause|play)/.exec(obj_href)[1]){
            case "pause":
                banners.play_state = 0;
                jQuery(this).text('P').attr("href","#play");
                jQuery(this).fadeTo(0,1);
                break;
            case "play":
                banners.play_state = 1;
                jQuery(this).text('S').attr("href","#pause");
                banners.rotate();
                break;
        }
    } else {
        banners.active_index = parseInt(/#img=(\d+)/.exec(jQuery(this).attr("href"))[1]);
        banners.nav_wrapper.find("a:not(.banners_playpause)").fadeTo(0,banners.nav_link_opacity);
        jQuery(this).fadeTo(0,1);
        banners.nav_wrapper.find("a:eq(" + banners.active_index + ")").fadeTo(0,1);
        banners.pane_rear.css("background-image", "url(" + banners.banner_set[banners.active_index]["src"] + ")")
        banners.pane_front.fadeOut(banners.fade_speed,function(){
    		banners.pane_front.css("background-image", banners.pane_rear.css("background-image"))
    		banners.pane_front.show();
    		banners.setlink();
    		if (banners.play_state==1){
			banners.starttimeout();
            }
        })
    }
    return false;
}

banners.starttimeout = function() {
	banners.active_timeout = setTimeout(banners.rotate, banners.banner_set[banners.active_index]["delay"]);
}
banners.rotate = function(){
	banners.active_index++;
	if (banners.active_index >= banners.banner_set.length){banners.active_index=0;}
	banners.setlink();
	banners.pane_rear.css("background-image","url(" + banners.banner_set[banners.active_index]["src"] + ")");
	banners.nav_wrapper.find("a:eq(" + banners.active_index + ")").fadeTo(banners.fade_speed, 1);
	banners.nav_wrapper.find("a:not(:eq(" + banners.active_index + ")):not(.manual)").fadeTo(banners.fade_speed,banners.nav_link_opacity);
	banners.pane_front.fadeOut(banners.fade_speed, function(){
		banners.pane_front.css("background-image", banners.pane_rear.css("background-image"))
		banners.pane_front.show();
		banners.active_timeout = setTimeout(banners.rotate, banners.banner_set[banners.active_index]["delay"]);
	});
}

banners.parsexml = function(xml){
    jQuery(xml).find("Banner").each(function(){
        var obj_banner = jQuery(this);
        banners.banner_set.push({"src":obj_banner.find("Source").text(), "link":obj_banner.find("Link").text(), "target":obj_banner.find("LinkTarget").text(), "delay":parseInt(obj_banner.find("TimeDelay").text())*1000})
    });
	banners.pane_front.css("background-image","url(" + banners.banner_set[banners.active_index]["src"] + ")")
	banners.setlink();
	for (var i=0;i<banners.banner_set.length;i++){
		banners.nav_wrapper.append("<a href='#img=" + i + "' style='display:none;'>" + (i+1) + "</a>");
		if (i<0){
			null_load = document.createElement("img");
			null_load.src = banners.banner_set[i]["src"];
			null_load.id = "img_preloader";
			null_load.style.display = "none";
			document.getElementsByTagName("body")[0].appendChild(null_load);
			jQuery("#img_preloader").remove();
		}
	}
//	banners.nav_wrapper.append('<a href="#pause" class="banners_playpause">S</a>');
	banners.nav_wrapper.find("a:not(:first)").fadeTo(0, banners.nav_link_opacity);
	banners.nav_wrapper.find("a").show().bind("click",banners.navclick);
	banners.nav_wrapper.find("a").hover(banners.navhover,banners.navhover)
	banners.active_timeout = setTimeout(banners.rotate, banners.banner_set[banners.active_index]["delay"]);
}

banners.init = function(){
    jQuery("#imgbanner").find("*").remove();
    jQuery("#imgbanner").append('<div id="imgrotator"><div class="navLinkBlock"></div><div id="imgrotator_back"><div id="imgrotator_front"></div></div></div>');
    if (jQuery.browser.msie && /8/.exec(jQuery.browser.version)){
        jQuery("#imgrotator").parent().css("overflow","hidden");
        jQuery("#imgrotator").find(".navLinkBlock").css("margin","0px");
    }
    banners.fade_speed = 1000;
    banners.banner_set = []
    banners.active_index = 0;
    banners.nav_link_opacity = .42;
    banners.nav_hover_opacity = .75;
    banners.play_state = 1;
    banners.pane_front = jQuery("#imgrotator #imgrotator_front");
    banners.pane_rear = jQuery("#imgrotator #imgrotator_back");
    banners.nav_wrapper = jQuery("#imgrotator div.navLinkBlock");
    //jQuery("#imgrotator").hover(function() { removeTimeout(banners.active_timeout); }, function() { banners.starttimeout(); }).css('border','thin red solid');
    banners.active_timeout = -1;
    jQuery.ajax({type:"GET", url:"banner_rotator.xml", dataType:"xml", success:banners.parsexml});
}


