/****************************** siemens' new web appearance script *****/
/****************************** Copyright (c) 2007-2009 Siemens AG *****/
/***********************************************************************/
/********************************************* module HeaderVisual *****/
/***********************************************************************/
/* $LastChangedDate: 2009-01-13 10:53:52 +0100 (Di, 13 Jan 2009) $ *****/

// swap header visuals


var HeaderHelper = {
		 Current  : {			 	
				  id : 0
				, source : ''
			 },
			 
		Headervisual : {
			
				Event : function()
					{
					$A($("content-zone").getElementsByTagName("div")).findAll(function(elt) {
							return $(elt).hasClassName("link-hover-image");
							}).each(function(elt) {
										elt.hover(
											function() {
											 
											},
											function() {
												// Hide swap image container
											 	$('swap-image-container').style.visibility = 'hidden';
												// Show default header
												$('headervisual-zone').style.visibility = 'visible';
												// Hide header text
												HeaderHelper.Headervisual.HideText();
												// Show header text
												HeaderVisual.defaultContentNode.show();
											
												// Show big feature
												if(HIDE_BIG_HEADER) {
													Header.Visual.Show();
												}
												
											},
											{
											   enterDelay: 0,
											   leaveDelay: 0
											}
										  );
							
							});
					},
				
				Bind : false,
				Start : false,
				
				HideText: function() {
					
					$A($("hidden-headertext-contents").getElementsByTagName("div")).findAll(function(elt) {
						return $(elt).hasClassName("headertext-content");
						}).each(function(elt) {
								
								elt.removeClassName('active');
						});
			
				}
				
			}

	}

var HeaderVisual = Class.create();

HeaderVisual.initialize = function() {


	if ($("headervisual-zone") && $("headertext-zone")) {
		HeaderVisual.node = $("headervisual-zone");
		HeaderVisual.defaultContentNode = $("headertext-zone").down();

		$A($("content-zone").getElementsByTagName("ul")).findAll(function(elt) {
			return $(elt).hasClassName("js-swap-headervisual");
			}).each(function(elt) {
					$A(elt.getElementsByTagName("li")).each(function(elt) {
						$A(elt.getElementsByTagName("a")).each(function(elt) {
							new HeaderVisual($(elt));
							
							HeaderHelper.Headervisual.Start = true;
					});
			});
		});
		
		
		
		if(!HeaderHelper.Headervisual.Bind && HeaderHelper.Headervisual.Start)
			HeaderHelper.Headervisual.Event();
	}
}

HeaderVisual.prototype = {
	initialize: function(listItem) {
	
		this.id     = listItem.id;
		this.source = headerVisualImages[this.id];
		this.loaded = false;
		this.active = false;
	
		listItem.observe("mouseover", function() {
			this.show();
		}.bindAsEventListener(this));

		listItem.observe("mouseout", function() {
			this.hide();
		}.bindAsEventListener(this));
	},

	hide: function() {
		this.active = false;
					
					
	},

	hideProgress: function() {
		// not implemented
	},

	show: function() {
		this.active = true;
		
		HeaderHelper.Headervisual.HideText();
		$('swap-image-container').setOpacity(0);
		
		// Hide big feature
		if(HIDE_BIG_HEADER) {
			Header.Visual.Hide();
		}
		
		
		// Show swap image container
		$('swap-image-container').style.visibility = 'visible';

		// Hide default header
		$('headervisual-zone').style.visibility = 'hidden';
	
		// Show header listitem text
		HeaderVisual.defaultContentNode.hide();

	
		$("headertext-" + this.id).addClassName("active");

		
		/* Controling 
		if(HeaderHelper.Current.id == this.id) return;
		if(HeaderHelper.Current.source == this.source) return;
		*/
		
		// Show image 
		var pic = this.source

		$('swap-image-container').update();

		$('swap-image-container').setOpacity(0);

		var preLoad = new Image();

		preLoad.style.width = 638 + "px";

		preLoad.style.height = 393 + "px";

		preLoad.onload = function()

		{
			this.loaded = true;
			
			$('swap-image-container').setStyle("width:638px; opacity:0; filter:alpha(opacity=0);");

			$('swap-image-container').update(preLoad);
			
			Spry.Effect.DoFade($('swap-image-container'), {duration:2000, to:100});


		}

		preLoad.src = pic;
		
		// Setting controling variables
		HeaderHelper.Current.id = this.id;
		HeaderHelper.Current.source = this.source;
		


	},

	showProgress: function() {
		// not implemented
	}
}
