// JavaScript Document


jQuery(document).ready(function(){
	vc_initLightbox();

});


function toggleCriteriaBlock(node){
	var displaynode = getNextSibling(node.parentNode.parentNode.parentNode);
	if (node.checked){
		new Effect.Appear(displaynode, {duration:0.4, afterFinish:toggleSyncWithChechboxState});
		return;
	}else{
		new Effect.Fade(displaynode, {duration:0.3, afterFinish:toggleSyncWithChechboxState});
		return;
	}
		
	//new Effect.toggle(displaynode, 'appear', {duration:0.3, afterFinish:toggleSyncWithChechboxState});

	function toggleSyncWithChechboxState(){
		//check if Checkbox has still the state of the beginning, if not, correct that failure
		if (node.checked){
			new Effect.Appear(displaynode, {duration:0});
			return;
		}else{
			new Effect.Fade(displaynode, {duration:0});
			return;
		}
	}	

}


function toggleContact(element){
		var node = element;
			
		var cls = "class";
        if(navigator.userAgent.indexOf("MSIE")>0) {
                cls = "className";
        }
		
			
		var displaynode = getNodeByClass(node.parentNode.parentNode, "additional-text");
		//var displaynode = getNodeByClass(displaynode, "additional-text");
		//new Effect.toggle(displaynode, 'slide', {duration:0.2, afterFinish:changeDate} );

		if (node.innerHTML == "show details"){
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "block";
					changeData();
					return;
			}
			
			new Effect.SlideDown(displaynode, {duration:0.3, afterFinish:changeData});
			return;
		}
		else{
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "none";
					changeData();
					return;
			}
			
			new Effect.SlideUp(displaynode, {duration:0.3, beforeStart:changeData});
			return;
		}


		
		function changeData(){
			if (node.innerHTML == "show details" ) {
			 	node.innerHTML = "hide details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-en-hide');
				/*show image*/
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "none";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "block";				
				return;
			} else if (node.innerHTML == "hide details" ) {	
				node.innerHTML = "show details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-en');
				/*hide image*/
				//new Effect.Fade(getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage'), {duration:0.3}); 
				//new Effect.Appear(getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage'), {duration:0.3});  
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "block";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "none";					
				return;
			}
		}
		

}


function toggleContact_de(element){
		var node = element;
			
		var cls = "class";
        if(navigator.userAgent.indexOf("MSIE")>0) {
                cls = "className";
        }
		
			
		var displaynode = getNodeByClass(node.parentNode.parentNode, "additional-text");
		//var displaynode = getNodeByClass(displaynode, "additional-text");
		//new Effect.toggle(displaynode, 'slide', {duration:0.2, afterFinish:changeDate} );

		if (node.innerHTML == "zeige Details"){
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "block";
					changeData();
					return;
			}
			
			new Effect.SlideDown(displaynode, {duration:0.3, afterFinish:changeData});
			return;
		}
		else{
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "none";
					changeData();
					return;
			}
			
			new Effect.SlideUp(displaynode, {duration:0.3, beforeStart:changeData});
			return;
		}


		
		function changeData(){
			if (node.innerHTML == "zeige Details" ) {
			 	node.innerHTML = "verstecke Details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-de-hide');
				/*show image*/
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "none";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "block";				
				return;
			} else if (node.innerHTML == "verstecke Details" ) {	
				node.innerHTML = "zeige Details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-de');
				/*hide image*/
				//new Effect.Fade(getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage'), {duration:0.3}); 
				//new Effect.Appear(getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage'), {duration:0.3});  
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "block";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "none";					
				return;
			}
		}
		

}


function scrollToElement(targetId){
	new Effect.ScrollTo(targetId, {duration:0.3});
}



/* TABBED ELEMENT - COPIED FROM wiki.script.aculo.us */

/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none 
    ---------------------------------------------------------*/
function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';
    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggleTab(num,numelems,opennum,animate) {
    if ($('tabContent'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tabHeader'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tabHeaderActive');
                    h.id = temph;
                }
                var tempc = 'tabContent'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.toggle(tempc,'blind',{duration:0.5, queue:{scope:'menus', limit: 3}});
                    else
                        toggleDisp(tempc);
                }
            }
        }
        var h = $('tabHeader'+num);
        if (h)
            h.id = 'tabHeaderActive';
        h.blur();
        var c = $('tabContent'+num);
        //c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.toggle('tabContent'+num,'blind',{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
        }else{
            toggleDisp('tabContent'+num);
        }
    }
}


/* ------------------------------------------------------------------------------------------------------------
	init lightbox
------------------------------------------------------------------------------------------------------------ */

function vc_initLightbox(){
	if(!jQuery("a.vc_link_lightbox").vc_exists()) {
		return false;
	}	
	
	jQuery("a.vc_link_lightbox").each(function(){
		
		
		jQuery(this).click(function(e){
			
			if(!e) var e = window.event;
			e.preventDefault();			

			if(!jQuery("#vc_jq_lightbox").vc_exists()) {	
				// remove old content
				jQuery("#vc_jq_autolinking").remove();
				
					
					//Video Object
					videoobject = '<object width="640" height="370" data="/fileadmin/video/jwplayer.swf" type="application/x-shockwave-flash">';
					videoobject = videoobject + '<param value="/fileadmin/video/jwplayer.swf" name="movie">';
					videoobject = videoobject + '<param value="file=http://www.eurambank.com/fileadmin/video/eurambank_commerical.flv&amp;autostart=1" name="flashvars">';
					videoobject = videoobject + '<param value="high" name="quality">';
					videoobject = videoobject + '<param value="true" name="allowfullscreen">';
					videoobject = videoobject + '<param value="true" name="seamlesstabbing">';
					videoobject = videoobject + '<param value="opaque" name="wmode">';
					videoobject = videoobject + '<p>Sie benötigen den <a title="Adobe FlashPlayer installieren" class="vc_link_external" target="_blank" href="http://get.adobe.com/de/flashplayer/">Adobe FlashPlayer</a> um diesen Inhalt anzeigen zu können.</p>';
					videoobject = videoobject + '</object>';
						
				// create lightbox content
				height = 500;
				width = 500;
				scrolling = 'auto';
				lightbox_content = '<div id="vc_jq_autolinking" class="vc_jq_lightbox_content" style="height:380px">'+ videoobject +'</div>';
				
				jQuery("body").append(lightbox_content);
				
				// open lightbox
				jQuery(this).vc_lightbox('#vc_jq_autolinking', 'div', width + 'px', 'common');			
			}
		});
	});
}


/* ------------------------------------------------------------------------------------------------------------
	lightbox
	
	objectID: jquery-syntax
	objectMode: div/img
	objectWidth: %/em/px
	closingMethod: none/all/common
------------------------------------------------------------------------------------------------------------ */

jQuery.fn.extend({
	vc_lightbox : function(objectID, objectMode, objectWidth, closingMethod){
		/* abort if already opened */
		if(jQuery("div#vc_jq_lightbox").length > 0) {
			return false;
		}	
		
		/* mark refering link to set focus on close */
		jQuery(this).addClass("vc_jq_lightbox_opener");
		
		/* create object */
		if(objectMode == 'img') {
			jQuery(objectID).wrap('<div id="vc_jq_lightbox" class="vc_jq_lightbox_img"></div>');
		} else {
			jQuery(objectID).wrap('<div id="vc_jq_lightbox"></div>');
		}
		
		object = jQuery("div#vc_jq_lightbox");
		object.hide();
		jQuery(objectID).show();	
		
		
		/* initial values */		
		// min and max width - set in em - use same values as set in css		
		maxWidth = 99;
		minWidth = 30;

		// border left - set in px
		minWidthLeft = 20;
		
		/* set width */
		if(/em/.test(objectWidth)) {
			objectWidth = objectWidth.replace(/em/, '');
			width = objectWidth;
		} else if(/px/.test(objectWidth)) {
			objectWidth = objectWidth.replace(/px/, '');
			width = objectWidth / 10;
		} else {
			objectWidth = objectWidth.replace(/%/, '');
			width = ( maxWidth/100 ) * objectWidth;
		}

		if(objectMode != 'img') {
			if(width > maxWidth) { width = maxWidth; }
			if(width < minWidth) { width = minWidth; }
		}
		
		
		//object.css("width", width+"em");

		/* set initial position */				
		object.css("position", "fixed");
		
		var positionLeft = (document.documentElement.clientWidth / 2) - (object.outerWidth() / 2);
		if (positionLeft <= minWidthLeft) {
			positionLeft = minWidthLeft;
		}
		object.css("left", positionLeft);

		var positionTop = (document.documentElement.clientHeight / 2) - (object.outerHeight() / 2);
		if (positionTop <= 0) {
			positionTop = 0;
		}
		
		object.css("top", positionTop);
		
		// set position absolute if box is to big and must be scrollable	
		if ( object.outerHeight() > document.documentElement.clientHeight || object.outerWidth() > document.documentElement.clientWidth || jQuery.browser.msie && /6.0/.test(navigator.userAgent)) {
			object.css("position", "absolute");
			
			var positionTop = (document.documentElement.clientHeight / 2) + jQuery(window).scrollTop() - (object.outerHeight() / 2);
			if (positionTop <= jQuery(window).scrollTop()) {
				positionTop = jQuery(window).scrollTop();
			}
			object.css("top", positionTop);
			var positionLeft = (document.documentElement.clientWidth / 2) + jQuery(window).scrollLeft() - (object.outerWidth() / 2);
			if (positionLeft <= minWidthLeft) {
				positionLeft = minWidthLeft;
			}
			object.css("left", positionLeft);
		}
		
		/* handle resize */
		jQuery(window).resize(function(){
			jQuery(object).vc_lightboxResize();
		});
		
		/* handle scroll */
		jQuery(window).scroll(function(){
			jQuery(object).vc_lightboxPosition();
		});
		
		
		/* make content */						
		// add lightbox header
		objectLanguage = 'de';
		if (closingMethod == 'all' || closingMethod == 'common') {			
			object.prepend('<div class="vc_jq_lightbox_header"><p><a href="#" class="vc_link_close"><img src="fileadmin/templates/css/img/icon_close_lightbox.gif" ></a></p></div>');
		}
		
		// show content
		object.show();
		
		
		/* overlay */		
		// generate overlay
		object.before('<div id="vc_jq_lightbox_overlay"></div>');
		
		overlay = jQuery("#vc_jq_lightbox_overlay");
		
		// set size and position
		if (jQuery.browser.msie && /6.0/.test(navigator.userAgent)) {
			overlay.width(document.documentElement.clientWidth);
			overlay.height(jQuery(document).height());
			
			positionLeft = jQuery(window).scrollLeft();
			overlay.css("left", positionLeft);
		} else {
			overlay.css("position", "fixed");
		}
		
		// hide alle elments which can't be overlaid, but not in lightbox
		jQuery("embed, object, select, iframe").css("visibility", "hidden");
		
		object.find("embed").css("visibility", "visible");
		object.find("object").css("visibility", "visible");
		object.find("select").css("visibility", "visible");
		object.find("iframe").css("visibility", "visible");
		
		// show overlay
		overlay.show();		
		
		// handle resize
		jQuery(window).resize(function(){
			if (jQuery.browser.msie && /6.0/.test(navigator.userAgent)) {
				overlay.width(document.documentElement.clientWidth);
				overlay.height(jQuery(document).height());
			} else {
				overlay.hide().show();
			}
		});
		
		// handle scroll
		if (jQuery.browser.msie && /6.0/.test(navigator.userAgent)) {	
			jQuery(window).scroll(function(){
				positionLeft = jQuery(window).scrollLeft();
				overlay.css("left", positionLeft);
			});
		}		
		
		
		/* events */		
		// close lightbox by close link
		jQuery("div#vc_jq_lightbox div.vc_jq_lightbox_header a.vc_link_close").click(function(event){
			event.preventDefault();
			jQuery(this).vc_lightboxClose();
		});
		
		// close lightbox by clicking into the overlay
		if (closingMethod == 'all') {
			overlay.click(function(){
				jQuery(this).vc_lightboxClose();
				return false;
			});
		}
		
		//Esc should close lightbox
		if (closingMethod == 'all' || closingMethod == 'common') {
			jQuery(document).keyup(function(event){
				if (event.keyCode == 27) {
					event.preventDefault();
					jQuery(this).vc_lightboxClose();
					return false;
				}
			});
			jQuery(document).keydown(function(event){
				if (event.keyCode == 27) {
					event.preventDefault();
				}
			});
		} else {
			jQuery(document).unbind('keyup');
		}
		
		// rotate focus within lightbox
		if(jQuery("div#vc_jq_lightbox div.vc_jq_lightbox_content a, div#vc_jq_lightbox div.vc_jq_lightbox_content :input").length == 0) {
			jQuery("div#vc_jq_lightbox a").keydown(function(event){
				if (!event) var event = window.event;
				
				if ( event.keyCode == 9 ) {
					event.preventDefault();
					jQuery("div#vc_jq_lightbox a").focus();
				}
			});
		} else {
			jQuery("div#vc_jq_lightbox a, div#vc_jq_lightbox :input").last().blur(function(){
				jQuery("div#vc_jq_lightbox a, div#vc_jq_lightbox :input").first().focus();
			});
		}
		
	},
	
	vc_lightboxClose : function(){
		// get object
		object = jQuery("div#vc_jq_lightbox div.vc_jq_lightbox_content");
		
		// hide content
		object.hide();
		
		// remove lightbox header
		jQuery("div#vc_jq_lightbox div.vc_jq_lightbox_header").remove();
		
		// unbind events
		jQuery(window).unbind('resize');
		jQuery(window).unbind('scroll');
		
		// remove overlay
		if(jQuery.browser.opera){
			jQuery("div#vc_jq_lightbox_overlay").remove();
			jQuery.scrollTo(jQuery(window).scrollTop()+1);
			jQuery.scrollTo(jQuery(window).scrollTop()-1);
		} else {
			jQuery("div#vc_jq_lightbox_overlay").remove();
		}
		
		// unwrap content
		object.unwrap();
		
		// show hidden element
		jQuery("embed, object, select, iframe").css("visibility", "visible");
		
		// set focus back to openinglink
		jQuery(".vc_jq_lightbox_opener").focus();
		jQuery(".vc_jq_lightbox_opener").removeClass("vc_jq_lightbox_opener");
				
		return false;
	},
	
	vc_lightboxResize: function(){
		object = jQuery("div#vc_jq_lightbox");
		
		jQuery(window).resize(function(){
			object.css("position", "fixed");
			
			// position left
			var positionLeft = (document.documentElement.clientWidth / 2) - (object.outerWidth() / 2);
			if (positionLeft <= minWidthLeft) {
				positionLeft = minWidthLeft;
			}
			object.css("left", positionLeft + "px");
			
			// postion top
			var positionTop = (document.documentElement.clientHeight / 2) - (object.outerHeight() / 2);
			if (positionTop <= 0) {
				positionTop = 0;
			}
			object.css("top", positionTop);
			
			// set position absolute if box is to big and must be scrollable	
			if ( object.outerHeight() > document.documentElement.clientHeight || object.outerWidth() > document.documentElement.clientWidth || jQuery.browser.msie && /6.0/.test(navigator.userAgent)) {
				object.css("position", "absolute");
				
				var positionTop = (document.documentElement.clientHeight / 2) + jQuery(window).scrollTop() - (object.outerHeight() / 2);
				if (positionTop <= jQuery(window).scrollTop()) {
					positionTop = jQuery(window).scrollTop();
				}
				object.css("top", positionTop);
				
				var positionLeft = (document.documentElement.clientWidth / 2) + jQuery(window).scrollLeft() - (object.outerWidth() / 2);
				if (positionLeft <= minWidthLeft) {
					positionLeft = minWidthLeft;
				}
				object.css("left", positionLeft);
			}		
		});
	},
	
	vc_lightboxPosition: function(){
		object = jQuery("div#vc_jq_lightbox");		
		
		object.css("position", "fixed");	
		
		// set position absolute if box is to big and must be scrollable
		
		// box too heigh	
		if (object.outerHeight() > document.documentElement.clientHeight && object.outerWidth() <= document.documentElement.clientWidth) {
			object.css("position", "absolute");
			
			// position left
			var positionLeft = (document.documentElement.clientWidth / 2) + jQuery(window).scrollLeft() - (object.outerWidth() / 2);
			if (positionLeft <= minWidthLeft) {
				positionLeft = minWidthLeft;
			}
			object.css("left", positionLeft);
		}
		
		// box to wide
		if (object.outerWidth() > document.documentElement.clientWidth && object.outerHeight() <= document.documentElement.clientHeight) {
			object.css("position", "absolute");
			
				positionLeft = minWidthLeft;
				object.css("left", positionLeft);
			
			
				var positionTop = (document.documentElement.clientHeight / 2) + jQuery(window).scrollTop() - (object.outerHeight() / 2);
				if (positionTop <= jQuery(window).scrollTop()) {
					positionTop = jQuery(window).scrollTop();
				}
				object.css("top", positionTop);
		}
		
		//box to wide and to heigh
		if (object.outerHeight() > document.documentElement.clientHeight && object.outerWidth() > document.documentElement.clientWidth) {
			object.css("position", "absolute");
		}
	}
});

/* ------------------------------------------------------------------------------------------------------------
	extend jquery with own helper functions
------------------------------------------------------------------------------------------------------------ */
jQuery.fn.extend({
	/* checks if an jquery-object has at least one dom-element */
	vc_exists: function() {
	 	if(this.length != 0) { return true; } else { return false; }
	},
	 
	 /* clear input fields on focus */
	vc_clearInput: function() {
		var searchlabeltext = clearObject.val();		
		this.focus(function(){	if(this.value==searchlabeltext) { this.value=''; } });
		this.blur(function(){ if(this.value=='') { this.value=searchlabeltext; } });
	},
	
	/* generate hover and focus/blur event at one time  */
	vc_hoverFocus: function(fnIn, fnOut) {
		return this.bind('mouseenter', fnIn).bind('mouseleave', fnOut).bind('focus', fnIn).bind('blur', fnOut);
	},
	
	/* generate focus/blur event at one time */ 
	vc_focusBlur: function(fnIn, fnOut) {
		return this.bind('focus', fnIn).bind('blur', fnOut);
	}
});


/* ------------------------------------------------------------------------------------------------------------
	ajax loading animation
------------------------------------------------------------------------------------------------------------ */

function vc_showLoadingAnimation(){

	if(!jQuery("div#vc_jq_loading_global_overlay").vc_exists()) {		
		// hide elements
		jQuery("embed, object, select, iframe").css("visibility", "hidden");
		
			
		// add animation
		jQuery("body").append('<div id="vc_jq_loading_global_overlay"></div><div id="vc_jq_loading_global"><div id="vc_jq_loading_global_wrapper"><img src="/fileadmin/templates/css/img/loader_large.gif" alt="loading image"/></div></div>');
		
		// set width and position
		if(jQuery.browser.msie && jQuery.browser.version <=6) {			
			// overlay
			jQuery("div#vc_jq_loading_global_overlay").css("position", "absolute");
			jQuery("div#vc_jq_loading_global_overlay").css("top", jQuery(window).scrollTop());
			jQuery("div#vc_jq_loading_global_overlay").css("left", jQuery(window).scrollLeft());
			jQuery("div#vc_jq_loading_global_overlay").height(document.documentElement.clientHeight);
			jQuery("div#vc_jq_loading_global_overlay").width(document.documentElement.clientWidth);			
			
			// loading animation
			jQuery("div#vc_jq_loading_global").css("position", "absolute");
			jQuery("div#vc_jq_loading_global").css("top", jQuery(window).scrollTop());
			jQuery("div#vc_jq_loading_global").css("left", jQuery(window).scrollLeft());
			jQuery("div#vc_jq_loading_global").height(document.documentElement.clientHeight);
			jQuery("div#vc_jq_loading_global").width(document.documentElement.clientWidth);
			
			// resize events
			jQuery(window).resize(function(){
				jQuery("div#vc_jq_loading_global_overlay").height(document.documentElement.clientHeight);
				jQuery("div#vc_jq_loading_global_overlay").width(document.documentElement.clientWidth);
				
				jQuery("div#vc_jq_loading_global").height(document.documentElement.clientHeight);
				jQuery("div#vc_jq_loading_global").width(document.documentElement.clientWidth);
			});			
			jQuery(window).scroll(function(){
				jQuery("div#vc_jq_loading_global_overlay").css("top", jQuery(window).scrollTop());
				jQuery("div#vc_jq_loading_global_overlay").css("left", jQuery(window).scrollLeft());
				
				jQuery("div#vc_jq_loading_global").css("top", jQuery(window).scrollTop());
				jQuery("div#vc_jq_loading_global").css("left", jQuery(window).scrollLeft());
			});
			
		} else {
			// resize overlay
			jQuery("div#vc_jq_loading_global_overlay").height(document.documentElement.clientHeight);
			
			jQuery(window).resize(function(){
				jQuery("div#vc_jq_loading_global_overlay").height(document.documentElement.clientHeight);
			});
		}
	}
}

function vc_hideLoadingAnimation(){
	// show elements again
	jQuery("embed, object, select, iframe").css("visibility", "visible");
	
	
	// remove animation
	jQuery("div#vc_jq_loading_global").remove();
	jQuery("div#vc_jq_loading_global_overlay").remove();
}

jQuery.fn.extend({
	vc_showLoadingAnimation: function(message) {
		if(!jQuery(this).prev("div.vc_jq_loading").vc_exists()) {
		
			if(!message) {
				message = 'defaultMessage';
			} else {
				message = message + 'Message';
			}
			
		 	jQuery(this).before('<div class="vc_jq_loading"><div class="vc_message vc_message_loading"><p>' + vc_languageArray['loadingAnimation'][message] + '</p></div></div>');
			jQuery(this).hide();
		}
	},
	
	vc_hideLoadingAnimation: function() {
	 	jQuery(this).prev("div.vc_jq_loading").remove();
		jQuery(this).show();
	}
});



