// (c) EIKONA AG, it.x informationssysteme gmbh, Alle Rechte vorbehalten.

// History --------------------------------------------------------------------------------
// 29.03.10	ssf	Erstellung
// History --------------------------------------------------------------------------------
 

// ----------------------------------------------------------------------------------------
// Allgemeine Zusatzfunktionen.
// ----------------------------------------------------------------------------------------
	document.observe('dom:loaded', function()
		{
		//aktualisieren_stand_datum();
		})

	function aktualisieren_stand_datum()
		{
		// Seitendatum lesen und initial setzen.
		if($('stand_datum'))
			{
			array_split = $('stand_datum').innerHTML.split('.');
			jahr = array_split[2];
			monat = array_split[1];
			tag = array_split[0];
			var str_neueste = new Date(jahr,monat,tag);

			// Verfügbare Objekte ermitteln.
			array_divs = $$('#container-middle div[class=elementdatum]');
			if(array_divs.length > 0)
				{
				array_divs.each(
					function(e){
						// Datum extrahieren
						array_split = e.innerHTML.split('-');
						jahr = array_split[0];
						monat = array_split[1];
						tag = array_split[2];

						// Date-Objket + Vergleich nach dem neuesten
						var obj_datum = new Date(jahr,monat,tag);
						if(obj_datum > str_neueste)
							str_neueste = obj_datum;
					});
				}
			// Datum wurde ermittelt
			if(str_neueste != '')
				{
				var obj_datum = new Date(str_neueste);
				tag = obj_datum.getDate();
				if(tag < 10) tag= "0" + tag;
				monat = obj_datum.getMonth();
				if(monat < 10) monat= "0" + monat;
				jahr = obj_datum.getFullYear();
				str_datum = tag + '.' + monat + '.' + jahr;

				// Datum aktualisieren.
				$('stand_datum').innerHTML = str_datum;
				}
			}
		}


function js_minimize_me(str_id, obj_button, str_class) 
	{
	var obj_html = $(str_id);
	if (obj_html != undefined)
		{
		if (obj_html.style.display == 'none')
			{
			obj_html.style.display = '';
			obj_button.className = str_class + ' button-minimize';
			}
		else
			{
			obj_html.style.display = 'none';
			obj_button.className = str_class + ' button-maximize';
			}
		}
	
	} // js_minimize_me


function activate_tab(int_tabs_id, int_tab_id) 
	{
	var element_tabs = $("element-tabs-" + int_tabs_id);
	element_tabs.style.visibility = "hidden";
	//var array_elements_tabs = element_tabs.getElementsByClassName("container-tab");
	var array_elements_tabs = $$(("#element-tabs-" + int_tabs_id + " .container-tab"));
	for (var i = 0; i < array_elements_tabs.length; i++)
		{
		var int_tab_temp_id = array_elements_tabs[i].id.split("-")[2];
		var str_button_class_name = "tab-button";
		if (array_elements_tabs.length - 1 == i)
			str_button_class_name += " letzter";
		else if (i == 0)
			str_button_class_name += " erster";	
		
		if (int_tab_temp_id == int_tab_id || (int_tab_id == 0 && i == 0))
			{
			array_elements_tabs[i].style.display = "block";
			$("tab-button-" + int_tab_temp_id).className = str_button_class_name + " active";
			
			}
		else
			{
			array_elements_tabs[i].style.display = "none";
			$("tab-button-" + int_tab_temp_id).className = str_button_class_name;
			}
		}
	element_tabs.style.visibility = "visible";
	} // activate_tab

function einblenden_banner(int_hoehe_banner, int_breite_skyskraper, str_typ)
	{
	var obj_container = $('container-banner');
	var obj_head = $('container-head');
	var obj_middle = $('container-middle');
	var obj_spacer = $('container-spacer');
	var obj_background = $('container-background');
	var obj_bottom = $('container-bottom');
	var obj_banner_spacer = $('container-banner-spacer');
	var int_hoehe_head = obj_head.getDimensions().height;
	var int_hoehe_bottom = obj_bottom.getDimensions().height;

	if (str_typ == "js")
		{
		//var obj_banner = $$("#container-banner .modul-dsv-banner");
		//obj_banner[0].style.left = ((int_breite_head - int_breite_skyskraper) / 2) + "px";
		int_hoehe_banner += 10;
		$("container-banner").setStyle({'zIndex': 5});
		}
	else
		{

		// Typ 1
		if (int_hoehe_banner == 0 && int_breite_skyskraper == 0)
			int_hoehe_banner = obj_container.getDimensions().height - 3;

		// Typ 2
		else
			{
			int_hoehe_banner += 10;

			var int_breite_head = obj_head.getDimensions().width;
			var obj_banner = $$("#container-banner .modul-dsv-banner");
			var obj_img = $$("#container-banner img");
			var int_breite_img = obj_img[0].getDimensions().width;
			//obj_img[0].style.left = ((int_breite_head - int_breite_img) / 2 + int_breite_skyskraper + 10) + "px";
			obj_img[0].style.left = ((int_breite_head - int_breite_img) + int_breite_skyskraper + 10) + "px";
			}
		}
	
	//
	obj_head.style.height = (int_hoehe_banner + int_hoehe_head) + "px";
	obj_middle.style.marginTop = (-1 * (int_hoehe_banner + int_hoehe_head + int_hoehe_bottom)) + "px";
	obj_spacer.style.paddingTop = (int_hoehe_banner + int_hoehe_head + int_hoehe_bottom) + "px";
	obj_banner_spacer.style.height = int_hoehe_banner + "px";
	
	
	obj_container.style.display = 'block';
	
	} // einblenden_banner

/**
 *  Fotoviewer
 */
function fotoviewer(str_obj_name, array_bilder, int_breite_bilder, int_hoehe_bilder, str_vatiation_bilder, str_typ_medien) {
	this.obj_container = $(str_obj_name);
	this.obj_image_container = new Element("div", { className: "image-container" });
	this.str_obj_name = str_obj_name;
	this.obj_container_titel = "";
	this.array_bilder = array_bilder
	this.int_bild_count = 0;
	this.int_breite_bilder = int_breite_bilder;
	this.int_hoehe_bilder = int_hoehe_bilder;
	this.str_vatiation_bilder = str_vatiation_bilder;
	this.array_buttons = 0;
	this.str_typ_medien = str_typ_medien;
	this.array_links = new Array();
	this.str_link_url = "";

  /**
    *  
	*/
	this.set_container_titel = function(str_container_id)	{
		this.obj_container_titel = $(str_container_id);
	} // set_container_titel

  /**
    *
	*/
	this.set_link_url = function(str_link_url)	{
		this.str_link_url = str_link_url;
	} // set_link_url

  /**
    *
	*/
	this.add_link = function(str_link_url)	{
		this.array_links.pop(str_link_url);
	} // set_link_url


  /**
    *  Buttons, etc. einfügen.
	*/
	this.start = function()	{
		this.obj_container.appendChild(this.obj_image_container);
		this.array_buttons = new Object();
		this.array_buttons["zurueck"] = new Element("div", { className: "button button-zurueck" });
		for (var i = 1; i <= 5; i++) {
			this.array_buttons[i] = new Element("div", { className: "button button-" + i });
		}
		this.array_buttons["vor"] = new Element("div", { className: "button button-vor" });
		
		var obj_buttons_container = new Element("div", { className: "buttons-container" });
		Object.values(this.array_buttons).each(function(obj_button){
			obj_buttons_container.appendChild(obj_button);		
		});
		this.obj_image_container.appendChild(obj_buttons_container);

		// Link auf dem Objekt
		if (this.str_link_url != "")
			this.obj_image_container.appendChild(new Element("a", { className: "object-link", id: this.str_obj_name + "_object_link", href: "#" }));

		this.erstellen_buttons();
		this.request_image();
	} // start

  /**
    *  Bild per AJAX laden
	*/
	this.request_image = function() {
		var that = this;
        this.ajax = new Ajax.Request('./common/ajax.php', {
            evalScripts:true,
            method:'GET',
            onCreate:function() {
                //
            },
            onComplete:function(response) {
            	that.response_image(response);
            },
            parameters:{
                bereich:'portal',
                modul_id:101,
                klasse:'medien',
                com:'detail_ajax',
                system_id:this.array_bilder[this.int_bild_count],
                width:this.int_breite_bilder,
                height:this.int_hoehe_bilder,
                variation:this.str_vatiation_bilder
            }
        });
	} // request_image
	
  /**
    *  AJAX Bild empfangen
	*/
	this.response_image = function(response) {
    	if (response.status == 200) {
    		{
    		var array_response = response.responseText.split("|");
    		
			this.obj_image_container.style.backgroundImage = "url('" + array_response[0] + "')";
			if (this.obj_container_titel && array_response[1]) {
				if (this.str_link_url != ""){
					//str_link = this.str_link_url + "?medium_medium=" + this.array_bilder[this.int_bild_count];
					// Das geht auch schöner...
					str_link = this.str_link_url.replace('|medium_id|', this.array_bilder[this.int_bild_count]);
					str_link = str_link.replace('|medium_id|', this.array_bilder[this.int_bild_count]);
					$(this.str_obj_name + "_object_link").href = str_link;
					}

				this.obj_container_titel.innerHTML = array_response[1];
				}
    		}
		}
	} // response_image
	
  /**
    *  Buttons
	*/
	this.erstellen_buttons = function()	{

		// Buttons ausblenden.
		var int_buttons_visible = 0;
		for (var i = 1; i <= 5; i++) {
			if (this.array_bilder[(i - 1)] != undefined) {
				this.array_buttons[i].style.display = "block"; 
				int_buttons_visible++;
			} else
				this.array_buttons[i].style.display = "none"; 
		}

		// Buttons nummerieren + Events verteilen.
		var int_button_active = this.int_bild_count + 1;
		if ((int_button_active - Math.floor((int_buttons_visible - 1) / 2)) <= 1)
			var int_button_start = 1;
		else if ((int_button_active + Math.ceil((int_buttons_visible - 1) / 2)) >= this.array_bilder.length)
			var int_button_start = (this.array_bilder.length + 1) - int_buttons_visible;
		else 
			var int_button_start = int_button_active - Math.floor((int_buttons_visible - 1) / 2);

		var int_button_nummer = int_button_start;
		var that = this;
		for (var i = 1; i <= int_buttons_visible; i++) {
			this.array_buttons[i].innerHTML = int_button_nummer;
			this.array_buttons[i].stopObserving('click');
			if (int_button_nummer == (this.int_bild_count + 1))	{
				this.array_buttons[i].className = "button button-aktiv button-" + i;
			} else {
				this.array_buttons[i].observe('click', function(event){ that.click_button(event); });
				this.array_buttons[i].className = "button button-" + i;
			}
				
			int_button_nummer++;
		}

		// Vorwärts + Zurück deaktivieren + Events erstellen.
		this.array_buttons["zurueck"].stopObserving('click');
		if (this.int_bild_count == 0) {
			this.array_buttons["zurueck"].className = "button button-zurueck-inaktiv"; 
		} else {
			this.array_buttons["zurueck"].observe('click', function(event){ that.click_button(event, "zurueck"); });
			this.array_buttons["zurueck"].className = "button button-zurueck-aktiv"; 
		}

		this.array_buttons["vor"].stopObserving('click');
		if (!((this.int_bild_count + 1) < this.array_bilder.length)) {
			this.array_buttons["vor"].className = "button button-vor-inaktiv"; 
		} else {
			this.array_buttons["vor"].observe('click', function(event){ that.click_button(event, "vor"); });
			this.array_buttons["vor"].className = "button button-vor-aktiv"; 
		}
		
		
	} // erstellen_buttons

  /**
    *  Klick auf einen Button
	*/	
	this.click_button = function(event, str_button) {
		if (str_button == "zurueck") {
			this.int_bild_count -= 1;
		} else if (str_button == "vor") {
			this.int_bild_count += 1;
		} else {	
			this.int_bild_count = event.target.innerHTML - 1;
		}
		this.obj_image_container.style.backgroundImage = "";
		if (this.obj_container_titel)
			this.obj_container_titel.innerHTML = "";
		this.erstellen_buttons();
	    this.request_image(); 
	} // click_button
	
} // fotoviewer


/**
  *  Startseite
  */	
function add_bg_startseite(int_sortierung, int_system_id, str_variation, int_width) {
	var array_tabs = $$('div.container-tabs.buehenteaser .tab a');
	var obj_tab = array_tabs[int_sortierung];
	if (obj_tab) {
		obj_tab.observe('click', function(){ change_bg_startseite_request(int_system_id, str_variation, int_width); });
		//obj_tab.observe('tabs:setStartseite', function(){ change_bg_startseite_request(int_system_id, str_variation, int_width); });
		if (int_sortierung == 0) {
			if (intBildStartseite == 0)
				change_bg_startseite_request(int_system_id, str_variation, int_width);
			else
				change_bg_startseite_request(intBildStartseite, str_variation, int_width);
		}
	}
} // add_bg_startseite

function change_bg_startseite_request(int_system_id, str_variation, int_width) {
    this.ajax = new Ajax.Request('./common/ajax.php', {
        evalScripts:true,
        method:'GET',
        onCreate:function() {
    		$('container-background').style.backgroundImage = "url('portal/pics/layout/ladekreis.gif')";
        },
        onComplete:function(response) {
    		var array_response = response.responseText.split("|");
    		$('container-background').style.backgroundImage = "url('" + array_response[0] + "')";
        },
        parameters:{
            bereich:'portal',
            modul_id:101,
            klasse:'medien',
            com:'detail_ajax',
            system_id:int_system_id,
            width:int_width,
            variation:str_variation,
			log_startseite:1
        }
    });	
} // change_bg_startseite_request


/**
 *  Fotoviewer
 */
function fotostrecke(int_container, array_bilder, int_breite_bilder, int_hoehe_bilder, str_variation_bilder, obj_div) {
	this.str_obj_name = "bild_auswahl_" + int_container;
	this.obj_container = $(this.str_obj_name);
	this.int_container = int_container;
	this.array_bilder = array_bilder
	this.int_bild_count = 0;
	this.int_breite_bilder = int_breite_bilder;
	this.int_hoehe_bilder = int_hoehe_bilder;
	this.str_variation_bilder = str_variation_bilder;
	
  /**
    *  
	*/
	this.zurueck = function()	{
		if(this.int_bild_count > 0) {
			this.int_bild_count--;
			this.zuruecksetzen_bild();
			$(this.int_container + "-" + this.array_bilder[this.int_bild_count]).className += " aktiv";
			laden_bild(this.array_bilder[this.int_bild_count], this.str_variation_bilder, 510, 255, this.str_obj_name, false, true, true, true);
		}
	} // zurueck

  /**
    *  
	*/
	this.vor = function()	{
		if(this.int_bild_count < (this.array_bilder.length - 1)) {
			this.int_bild_count++;
			this.zuruecksetzen_bild();
			$(this.int_container + "-" + this.array_bilder[this.int_bild_count]).className += " aktiv";
			laden_bild(this.array_bilder[this.int_bild_count], this.str_variation_bilder, 510, 255, this.str_obj_name, false, true, true, true);
		}
	} // vor

  /**
    *  
	*/
	this.auswahl = function(int_count)	{
		this.int_bild_count = int_count - 1;
		this.zuruecksetzen_bild();
		$(this.int_container + "-" + this.array_bilder[this.int_bild_count]).className += " aktiv";
		laden_bild(this.array_bilder[this.int_bild_count], this.str_variation_bilder, 510, 255, this.str_obj_name, false, true, true, true);
	} // auswahl
	
  /**
    *  
	*/
	this.zuruecksetzen_bild = function() {
		this.array_bilder.each(function(int_medium_id) {
			var str_class_name = $(this.int_container + "-" + int_medium_id).className;
			$(this.int_container + "-" + int_medium_id).className = str_class_name.replace("aktiv", "");
		}.bind(this));
	} // zuruecksetzen_bild

/**
 *  Laden Bild
 */
function laden_bild(int_system_id, str_variation, int_width, int_height, str_container_id, bit_bg, bit_replace, bit_aktiv, bit_erzeuge_detailbild) {
    this.ajax = new Ajax.Request('./common/ajax.php', {
        evalScripts:true,
        method:'GET',
        onCreate:function() {
	    	if (!bit_bg) {
				if (bit_replace == true) {
					var array_images = $$("#" + str_container_id + " img");
					array_images.each(function(obj_image){
						obj_image.remove();
					});
				}
	    	}
    	},
        onComplete:function(response) {
    		var array_response = response.responseText.split("|");

			var str_container_titel = str_container_id.replace("bild", "titel");
    		var obj_container_titel = $(str_container_titel);
    		if (obj_container_titel != undefined && str_container_titel != str_container_id && array_response[1] != "")
    			obj_container_titel.innerHTML = array_response[1];
    		else if (obj_container_titel != undefined)
    			obj_container_titel.innerHTML = "";

    		var str_container_copyright = str_container_id.replace("bild", "copyright");
    		var obj_container_copyright = $(str_container_copyright);
    		if (obj_container_copyright != undefined && str_container_copyright != str_container_id && array_response[2] != "")
    			obj_container_copyright.innerHTML = "<div class=\"text\">" + array_response[2] + "</div>";
    		else if (obj_container_copyright != undefined)
    			obj_container_copyright.innerHTML = "";

    		var str_container_beschreibung = str_container_id.replace("bild", "beschreibung");
    		var obj_container_beschreibung = $(str_container_beschreibung);
    		if (obj_container_beschreibung != undefined && str_container_beschreibung != str_container_id && array_response[3] != "")
    			obj_container_beschreibung.innerHTML = "<div class=\"text\">" + array_response[3] + "</div>";
    		else if (obj_container_beschreibung != undefined)
    			obj_container_beschreibung.innerHTML = "";
    		if (!bit_bg) {
    			var obj_image = new Element("img", { src: array_response[0] });
    			obj_image.align = "center";
    			$(str_container_id).appendChild(obj_image)
				if(bit_aktiv && bit_erzeuge_detailbild)
					{
					$('zoomtrigger').href = array_response[4];
					$('zoomtrigger').title = array_response[1];
					$('zoomtrigger').desc = array_response[3];
					}
				if($('link_' + str_container_id))
					$('link_' + str_container_id).href('href', array_response[4]);
    		} else {
    			$(str_container_id).style.backgroundImage = "url('" + array_response[0] + "')";
    		}
        },
        parameters:{
            bereich:'portal',
            modul_id:101,
            klasse:'medien',
            com:'detail_ajax',
            system_id:int_system_id,
            width:int_width,
            height:int_height,
            variation:str_variation,
			erzeuge_detailbild:bit_erzeuge_detailbild
        }
    });
	}	// laden_bild
}
	
function set_active_tab(str_tab_container, obj_link) {
	var array_tab = obj_link.href.split("#");
	var str_tab = array_tab[1];
	var objAjaxCall = new Ajax.Request('./common/set_tab.php', {
		method:'get',
		parameters: {tab_container: str_tab_container, tab: str_tab}
	});


}

	/*
	This script detects the following:
	Flash
	Windows Media Player
	Java
	Shockwave
	RealPlayer
	QuickTime
	Acrobat Reader
	SVG Viewer

	Beispiel - "Flash"
	if (pluginlist.indexOf("Flash")!=-1)
		document.write("Sie haben Flash installiert<br>")

	if (pluginlist.indexOf("Windows Media Player")!=-1)
		document.write("Sie haben den Windows Media Player installiert<br>")

	Rückgabe "-1" ist negativ, "10" ist positiv
	Quelle: http://www.jswelt.de/showsource.php?id=1008836349
	*/
   
	var flash_installed = null;

	var flash_installed = null;

	function is_flash_installed()
		{
		if (flash_installed === null)
			{
			agt=navigator.userAgent.toLowerCase();
			var ie  = (agt.indexOf("msie") != -1);
			var ns  = (navigator.appName.indexOf("Netscape") != -1);
			var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));

			if (ie && win) { 
				pluginlist = flash_detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash");
			}
			else if (ns || !win) {
				nse = "";
				for (var i=0;i<navigator.mimeTypes.length;i++)
					nse += navigator.mimeTypes[i].type.toLowerCase();
				pluginlist = flash_detectNS("application/x-shockwave-flash","Shockwave Flash");
			}

			if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);

			if(pluginlist.indexOf('Flash') == -1)
				flash_installed = false;
			else
				flash_installed = true;
			}
			return flash_installed;
		}

	function flash_detectIE(ClassID,name) { result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCR'+'IPT>\n'); if (result) return name+','; else return ''; }
	function flash_detectNS(ClassID,name) { n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; }

