
function _communiacs_show(element){
	element.className += " hover";
}

function _communiacs_hide(element){
	if(element.className == 'hover')
		element.className = '';
	else {
		element.className = element.className.replace(/ hover/g, "");
	}
}

function _communiacs_getDirectChildrenByTagName(p_source, p_tag) {
	var ret = new Array();
	for(var i = 0; i < p_source.childNodes.length; i++) {
		if(p_source.childNodes[i].nodeType == 1 && p_source.childNodes[i].nodeName.toLowerCase() == p_tag.toLowerCase()) {
			ret[ret.length] = p_source.childNodes[i];
		}
	}
	return ret;
}

function _communiacs_getElementsByTagAndClass(p_source, p_tag, p_class, p_direct_child) {
	var t_return = new Array();
	if(!p_direct_child) {
		var t_elements = p_source.getElementsByTagName(p_tag);
	}
	else {
		var t_elements = _communiacs_getDirectChildrenByTagName(p_source, p_tag);
	}
	for(var i = 0; i < t_elements.length; i++) {
		if(t_elements[i].className.indexOf(p_class) > -1) {
			t_return[t_return.length] = t_elements[i];
		}
	}
	return t_return;
}

function openPreviousLink(elem) {
	elem.parentNode.parentNode.getElementsByTagName('a')[0].onclick();
}





var cm_slider_items = new Array();
var cm_slider_status = 0;
var cm_slider_content_width = 0;
var cm_slider_thumbs_container = null;
var cm_slider_thumbs = new Array();
var cm_slide_effect_1 = null;
var cm_slide_effect_2 = null;

function cm_slider_init() {
	if(_communiacs_getElementsByTagAndClass(document.body, 'div', 'fce_slider_frame').length > 0) {
		cm_slider_items = _communiacs_getElementsByTagAndClass(document.body, 'div', 'fce_slider_item_box');
		cm_slider_content_width = _communiacs_getElementsByTagAndClass(document.body, 'div', 'fce_slider_content')[0].offsetWidth;
		cm_slider_thumbs_container = _communiacs_getElementsByTagAndClass(document.body, 'div', 'fce_slider_thumbs')[0];
		for(var i = cm_slider_items.length - 1; i >= 0; i--) {
			var t_thumb = document.createElement("div");
			t_thumb.className = 'fce_slider_thumb_icon';
			if(i == cm_slider_status) {
				t_thumb.className += ' active';
				cm_slider_items[i].style.display = 'block';
			}
			else {
				cm_slider_items[i].style.display = 'none';
			}
			t_thumb.className += ' thumb_id_' + i;
			t_thumb.innerHTML = '&nbsp;';
			t_thumb.onclick = function() { cm_slider_navigate(0,parseInt(this.className.substring(this.className.indexOf('_id_') + 4)));};
			cm_slider_thumbs_container.appendChild(t_thumb);
			cm_slider_thumbs[i] = t_thumb;
			
			delete t_thumb;
		}
	}
}

function cm_slider_navigate(p_dir, p_index) {
	if(cm_slider_content_width > 0) {
		var t_status_old = cm_slider_status;
		if(p_dir == 0) {
			cm_slider_status = p_index;
			if(t_status_old > cm_slider_status) {
				p_dir = -1;
			}
			else {
				p_dir = 1;
			}
		}
		else {
			cm_slider_status += parseInt(p_dir);
		}
		if(cm_slider_status < 0) {
			cm_slider_status = cm_slider_items.length - 1;
		}
		if(cm_slider_status >= cm_slider_items.length) {
			cm_slider_status = 0;
		}
		if(cm_slider_status != t_status_old) {
			cm_slider_thumbs[t_status_old].className = cm_slider_thumbs[t_status_old].className.replace(/ active/g, '');
			cm_slider_thumbs[cm_slider_status].className += ' active';
			
			if(cm_slide_effect_1 != null) {
				cm_slide_effect_1.element.style.left = '0px';
				cm_slide_effect_1.cancel();
			}
			if(cm_slide_effect_2 != null) {
				cm_slide_effect_2.element.style.display = 'none';
				cm_slide_effect_2.cancel();
			}
			if(p_dir < 0) {
				cm_slider_items[cm_slider_status].style.left = (0 - cm_slider_content_width) + 'px';
				cm_slide_effect_2 = new Effect.Move(cm_slider_items[t_status_old],{ x: cm_slider_content_width, y: 0, mode: 'absolute', duration:0.5, afterFinish:function(){cm_slide_effect_2 = null}});
			}
			else {
				cm_slider_items[cm_slider_status].style.left = cm_slider_content_width + 'px';
				cm_slide_effect_2 = new Effect.Move(cm_slider_items[t_status_old],{ x: 0 - cm_slider_content_width, y: 0, mode: 'absolute', duration:0.5, afterFinish:function(){cm_slide_effect_2 = null}});
			}
			cm_slider_items[cm_slider_status].style.display = 'block';
			cm_slide_effect_1 = new Effect.Move(cm_slider_items[cm_slider_status],{ x: 0, y: 0, mode: 'absolute', duration:0.5, afterFinish:function(){cm_slide_effect_1 = null}});
		}
	}
}

function cm_slider_prev(p_elem) {
	cm_slider_navigate(-1);
}

function cm_slider_next(p_elem) {
	cm_slider_navigate(1);
}

function cm_onload_handler() {
	cm_slider_init();
	cm_gallery_init();
	cm_browser_os_switch();
	
	init_image_gallery_with_text();
}

if (document.addEventListener) {
  document.addEventListener("DOMContentLoaded", cm_onload_handler, false);
}
else if(window.attachEvent) {
	window.attachEvent('onload', cm_onload_handler);
}
else {
	var onload_old = window.onload;
	window.onload = function() {
		if(onload_old) {
			onload_old();
		}
		cm_onload_handler();
	}
}



/*** FCE-Gallery ***/

var cm_gallery_big_img = null;
var cm_gallery_big_img_2 = null;
var cm_gallery_big_img_idx = 0;
function cm_gallery_init() {
	cm_gallery_big_img = null;
	var t_big_img = _communiacs_getElementsByTagAndClass(document.body, 'img', 'fce_gallery_big_image');
	var t_big_img_2 = _communiacs_getElementsByTagAndClass(document.body, 'img', 'fce_gallery_big_image_2');
	if(t_big_img[0] && t_big_img_2[0]) {
		cm_gallery_big_img = t_big_img[0];
		cm_gallery_big_img_2 = t_big_img_2[0];
		cm_gallery_big_img.style.display = 'none';
		cm_gallery_big_img_2.style.display = 'none';
		_communiacs_getElementsByTagAndClass(document.body, 'img', 'fce_gallery_thumb_image')[0].onclick();
	}
}

function cm_gallery_switch(p_img_url) {
	var t_skip = true;
	if(cm_gallery_big_img != null) {
		if(cm_gallery_big_img_idx == 0) {
			if(cm_gallery_big_img_2.src.indexOf(p_img_url) < 0) {
				cm_gallery_big_img.src = p_img_url;
				new Effect.Appear(cm_gallery_big_img,{duration:0.3, queue: { position: 'end', scope: 'gallery_img_1' }});
				new Effect.Fade(cm_gallery_big_img_2,{duration:0.3, queue: { position: 'end', scope: 'gallery_img_2' }});
				t_skip = false;
			}
		}
		else {
			if(cm_gallery_big_img.src.indexOf(p_img_url) < 0) {
				cm_gallery_big_img_2.src = p_img_url;
				new Effect.Appear(cm_gallery_big_img_2,{duration:0.3, queue: { position: 'end', scope: 'gallery_img_2' }});
				new Effect.Fade(cm_gallery_big_img,{duration:0.3, queue: { position: 'end', scope: 'gallery_img_1' }});
				t_skip = false;
			}
		}
		if(!t_skip) {
			cm_gallery_big_img_idx = 1 - cm_gallery_big_img_idx;
		}
	}
}





// FUNKTIONEN FÜR HANDELSPARTNER

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}



function cm_browser_os_switch() {
	var t_os = '';
	var t_browser = '';
	var t_browser_version = '';
	var t_engine = '';
	
	// check for OS
	if(navigator.userAgent.toLowerCase().indexOf('windows') >= 0) t_os = 'Win';
	if(navigator.userAgent.toLowerCase().indexOf('macintosh') >= 0) t_os = 'Mac';
	if(navigator.userAgent.toLowerCase().indexOf('iphone') >= 0) t_os = 'iPhone'; // Muss hinter der Abfrage für Mac stehen !!!
	
	// Check for Browser and Version
	if(navigator.userAgent.toLowerCase().indexOf('msie') >= 0) {
		t_browser = 'IE';
		var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
		if(IE6) { t_browser_version = '6'; }
		else if(navigator.userAgent.toLowerCase().indexOf('msie 7') >= 0) { t_browser_version = '7'; }
		else if(navigator.userAgent.toLowerCase().indexOf('msie 8') >= 0) { t_browser_version = '8'; }
	}
	if(navigator.userAgent.toLowerCase().indexOf('firefox') >= 0) t_browser = 'Firefox';
	if(navigator.userAgent.toLowerCase().indexOf('opera') >= 0) t_browser = 'Opera';
	if(navigator.userAgent.toLowerCase().indexOf('safari') >= 0) t_browser = 'Safari';
	if(navigator.userAgent.toLowerCase().indexOf('chrome') >= 0) t_browser = 'Chrome'; // Muss hinter der Abfrage für Safari stehen !!!
	
	//Check for Browser-Engine
	if(t_browser == 'IE') t_engine = 'IE'; // IE
	if(navigator.userAgent.toLowerCase().indexOf('presto') >= 0) t_engine = 'Presto'; // Opera
	if(navigator.userAgent.toLowerCase().indexOf('gecko') >= 0) t_engine = 'Gecko'; // Firefox
	if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0) t_engine = 'WebKit'; // Safari, Chrome (Muss hinter der Abfrage für Gecko stehen !!!)
	
	// ########## Weichenspezifischer-code ########## //
	if(t_browser == 'IE' && t_browser_version != '6') {
		var t_elems = _communiacs_getElementsByTagAndClass($('mainMenu'),'a','');
		t_elems.each(function(e){
			if(window.getComputedStyle) {
				var t_padtop = parseInt(window.getComputedStyle(e,"").getPropertyValue('padding-top'));
				var t_height = parseInt(window.getComputedStyle(e,"").getPropertyValue('height'));
			}
			else {
				var t_padtop = parseInt(e.currentStyle.paddingTop);
				var t_height = parseInt(e.currentStyle.height);
			}
			e.style.paddingTop = (t_padtop - 3) + 'px';
			e.style.height = (t_height + 3) + 'px';
		});
	}
}

// Neue Gallery für Bild und Text
function init_image_gallery_with_text() {
	if(jQuery('.fce_gallery_with_text_wrapper').length) {
		var image_text_html = jQuery('.fce_gallery_with_text_wrapper > .fce_gallery_with_text_element:first').children('.text').html();
		var image_html = '<img class="fce_gallery_with_text_big_image" src="'+jQuery('.fce_gallery_with_text_wrapper > .fce_gallery_with_text_element:first').children('.image_path').html()+'" style="display:none;" />';
		jQuery('.fce_gallery_image').html(image_html);
		jQuery('.fce_gallery_image_text').html(image_text_html);
		jQuery('.fce_gallery_with_text_big_image').fadeIn(350);
		Cufon.refresh();
		
		
		jQuery('.fce_gallery_with_text_element').each(function(){
			jQuery(this).bind('click',function(){
				if(!jQuery('body').hasClass('jqanimating')) {
					jQuery('body').addClass('jqanimating');
					var image_text_html = jQuery(this).children('.text').html();
					var image_html = '<img class="fce_gallery_with_text_big_image" src="'+jQuery(this).children('.image_path').html()+'" style="display:none;" />';
					jQuery('.fce_gallery_image').append(image_html);
					
					jQuery('.fce_gallery_image > img').eq(0).stop().fadeOut(350);
					jQuery('.fce_gallery_image > img').eq(1).stop().fadeIn(350,function(){
						jQuery('.fce_gallery_image > img').eq(0).remove();
						jQuery('body').removeClass('jqanimating');
					});
					
					jQuery('.fce_gallery_image_text').html(image_text_html);
					Cufon.refresh();
				}
			});
		});
	}
}

function image_gallery_with_text_next() {
	
}
