// JavaScript Document

var Manager = {
	
	screenWidth : 0,
	screenHeight : 0,
	scrollPane: null,
	scrollPaneApi: null,
	gallery : null,
	galleryHTMLContent: "",
	sliderHome: null,
	sliderHomeHTMLContent: "",
	aspectRatio: 1.5,
	
	init: function(){
		// Bind Window Resize Event
		$(window).bind('resize',Manager.windowResizeListener);
		// Init News Slider
		if($('#slider').length > 0){
			$('#slider').nivoSlider();
		}
		// Init Fancybox
		if($('#book_image_container').length > 0){
			$("a.book_images").fancybox();
		}
		
		// Init JScrollPane
		var deviceAgent = navigator.userAgent.toLowerCase();
		var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);
		if (!agentID) {
	  		Manager.scrollPane = $('.scroll_pane').jScrollPane();
			Manager.scrollPaneApi = Manager.scrollPane.data('jsp');
	 	}
		// Init Size
		Manager.windowResize(null);
	},
	
	windowResizeListener: function(event){
		event.preventDefault();
		Manager.windowResize(this);
	},
	
	windowResize: function(element){
		if(Manager.scrollPaneApi){
			Manager.scrollPaneApi.reinitialise();
		}
		/***** GET VIEWPORT *****/
		// The more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
		if (typeof window.innerWidth != 'undefined'){
			Manager.screenWidth = window.innerWidth - 50;
			Manager.screenHeight = window.innerHeight - 2;
		}
		// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
		else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0){
			Manager.screenWidth = document.documentElement.clientWidth;
			Manager.screenHeight = document.documentElement.clientHeight;
		}
		// older versions of IE
		else{
			Manager.screenWidth = document.getElementsByTagName('body')[0].clientWidth;
			Manager.screenHeight = document.getElementsByTagName('body')[0].clientHeight;
		}
		/***** GET VIEWPORT *****/
		var wrapperContainerWidth = Manager.screenWidth;
		var availableWidth = Manager.screenWidth - 376 - 100;
		var availableHeight = Manager.screenHeight - 100;
		
		var contentWidth = 0;
		var contentHeight = 0;
		var marginH = 0;
		var marginV = 0;
		
		if(availableWidth < 820){
			contentWidth = 820;
			marginH = 50;
			contentHeight = contentWidth / Manager.aspectRatio;
			marginV = 50 + ((availableHeight - contentHeight) / 2);
			wrapperContainerWidth = contentWidth + 100 + 376;
		} else {
			contentWidth = availableWidth;
			marginH = 50;
			contentHeight = contentWidth / Manager.aspectRatio;
			marginV = 50 + ((availableHeight - contentHeight) / 2);
			wrapperContainerWidth = contentWidth + 100 + 376;
		}
		
		if ((contentHeight > (availableHeight)) && (availableWidth >= 820)){
			contentHeight = availableHeight;
			contentWidth = contentHeight * Manager.aspectRatio;
			marginV = 50;
			marginH = 50 + ((availableWidth - contentWidth) / 2);
			wrapperContainerWidth  = contentWidth + (marginH * 2) + 376;
		}
		var servicesHeight = Manager.screenHeight - 20;
		$('#wrapper_container').css('width',wrapperContainerWidth);
		$('#content').css('width',contentWidth);
		$('#content').css('height',contentHeight);
		$('#content').css('margin-left',marginH);
		$('#content').css('margin-right',marginH);
		$('#content').css('margin-top',marginV);
		$('#content').css('margin-bottom',marginV);
		$('#content .content_top').css('width',(contentWidth - 40));
		$('#content .content_center').css('width',(contentWidth - 40));
		$('#book_image_container').css('padding-left',parseInt(((contentWidth - 52 - 760)/2)));
		$('#book_image_container').css('padding-right',parseInt(((contentWidth - 52 - 760)/2)));
		if($('#sliderHome').length > 0){
			$('#content .content_center').css('height',(contentHeight - 40));
		} else {
			$('#content .content_center').css('height',(contentHeight - 93));
		}
		$('#news_list .news_list_item_right').css('width',(contentWidth - 194));
		if($('#services').height() < servicesHeight){
			$('#services').css('height',servicesHeight);
		}
		if($('#sliderHome').length > 0){
			$('#sliderHome').css('width',(contentWidth - 40));
			$('#sliderHome').css('height',(contentHeight - 40));
			$('#sliderHomeContent').css('width',(contentWidth - 40));
			
			if(Manager.sliderHome == null){
				Manager.sliderHomeHTMLContent = $("#sliderHome").html();
				$('#sliderHomeContent').innerfade({
					speed: 'slow',
					timeout: 4000,
					type: 'sequence',
					containerheight: $('#sliderHome').css('height',(contentHeight - 40))
				});
				Manager.sliderHome = true;
			} else {
				$("#sliderHome").empty();
				$("#sliderHome").html(Manager.sliderHomeHTMLContent);
				$('#sliderHomeContent').innerfade({
					speed: 'slow',
					timeout: 4000,
					type: 'sequence',
					containerheight: $('#sliderHome').css('height',(contentHeight - 40))
				});
			}
			$('#sliderHomeContent .sliderHomeImage img').each(function(){
					$(this).attr('width',(contentWidth - 40));
				}
			);
			$('#sliderHomeContent .sliderHomeImage img').each(function(){
					$(this).attr('height',(contentHeight - 40));
				}
			);
			//Home slider
			/*
			$('#sliderHome').css('width',(contentWidth - 40));
			$('#sliderHome').css('height',(contentHeight - 93));
			$('#sliderHomeContent').css('width',(contentWidth - 40));
			$('#sliderHomeContent .sliderHomeImage img').css('width',(contentWidth - 40));
			if(Manager.sliderHome == null){
				Manager.sliderHomeHTMLContent = $("#sliderHome").html();
				$("#sliderHome").s3Slider({	timeOut: 3000 });
				Manager.sliderHome = true;
			} else {
				//Manager.stopTimer();
				$("#sliderHome").empty();
				$("#sliderHome").html(Manager.sliderHomeHTMLContent);
				$("#sliderHome").s3Slider({	timeOut: 3000 });
			}
			*/
		}
		if($('.gallery_images').length > 0){
			//Galleria
			$('#content .gallery_images').css('height',(contentHeight - 93));
			if(Manager.gallery == null){http://www.devidea.ch/index.php?id=2
				//Galleria.loadTheme('fileadmin/javascript/libraries/galleria/themes/classic/galleria.classic.js');
				Manager.galleryHTMLContent = $('.gallery_images').html();
				Manager.gallery = $('.gallery_images').galleria();
			}else{
				$('.gallery_images').empty();
				$('.gallery_images').html(Manager.galleryHTMLContent);
				Manager.gallery = $('.gallery_images').galleria();
			}
		}
		// Re-Init JScrollPane
		if(Manager.scrollPaneApi){
			Manager.scrollPaneApi.reinitialise();
		}
	},
	
	stopTimer: function(){
		location.href = 'javascript:(' + encodeURI(uneval(function() {
		  /*
		   * Each Site can contains several Timers.
		   * We want to know last number, so let make our own timer to
		   * see number.
		  */
		  T = window.setTimeout('alert("Timer #" + T + " ON")', 100000);
		  
		  /* Our Timer ID =T is last timer number.
		   *  At Now we know about IDs of all timers.
		   * The loop below made clear all timers from number 0 to T
		   *  
		   */
		  for(var i=0; i<=T; i++){ 
		  	window.clearTimeout(i); 
		  }
		  
		})) + ')();';
		  
		  /** Yeah! No more any timers on this page !  **/
	}
};


$(document).ready(function(){
  		// Handler for .ready() called
		Manager.init();
	}
);

