/**
 * ZF Electronics GmbH
 * global.js - Seitenspezifisches Skripting auf der Basis von jQuery
 * 
 * @version		1.1.0
 * @package     CHERRY
 * @author		Michael Bayer <michael.bayer@arsmedium.com>
 */
/**
 * Runs jQuery with No-Conflict-Mode
 */ 
jQuery.noConflict();
/**
 * Cherry-LayerManager
 */
var layerManager = {

	/** Standardmasse fuer iFrame-Layer **/
	frameDimension: {
		x: 600,
		y: 400
	},
	/** Standardmasse fuer Dom-Layer **/
	domLayerDimension: {
		x: 600,
		y: 400
	},


 
	galleryBuild: function(thisGallery,callingElement) {
		if(jQuery('#layer-gallery').length == 0 || jQuery('#layer-gallery').data('thisGallery') != thisGallery) {
			jQuery('#layer-gallery').remove();
			jQuery('body').append('<div id="layer-gallery" class="layer-window"><a href="javascript:layerManager.closeLayer();" rel="nofollow" id="layer-close"></a><a href="#vorheriges-bild" onclick="layerManager.galleryNavigate(\'prev\');return false;" rel="nofollow" class="galleryPrev"></a><a href="#naechstes-bild" onclick="layerManager.galleryNavigate(\'next\');return false;" rel="nofollow" class="galleryNext"></a></div>');
			jQuery('#layer-gallery').data('thisGallery',thisGallery).append('<div class="gallery-fullsize"></div>');
			jQuery('#layer-gallery').append('<div class="gallery-related"><span class="desc"></span><div class="wrapper"></div></div>');
			var imageCounter = 0;
			thisGalleryImages = [];
			jQuery.each( jQuery('a[rel="'+thisGallery+'"]'), function(i,e) {
				if( jQuery(e).find('img').length == 1 ) {
					imageCounter++;
					jQuery('#layer-gallery .gallery-related .wrapper').append('<a href="javascript:layerManager.galleryShowfull(\''+thisGallery+'-'+imageCounter+'\');" id="galleryLink-'+imageCounter+'" ><img alt="" src="'+jQuery(e).find('img').attr('src')+'" /></a>');
					jQuery(e).attr('rev',thisGallery+'-'+imageCounter);
				}
			});
			jQuery('#layer-gallery').data('maxImage',String(imageCounter));
			if(isIE6) {
				jQuery('#layer-gallery').pngFix();
			}
		}
		layerManager.handleLayer('add',true);
		layerManager.galleryShowfull(jQuery(callingElement).attr('rev'));
		jQuery('#layer-gallery').fadeIn();
	},

	galleryShowfull: function(target) {
	
		targetFile = jQuery('a[rev="'+target+'"]').attr('href');
/*BY AL*/
  largeFilePath = jQuery('a[rev="'+target+'"]').attr('name');
//  alert(largeFilePath);
/* end AL*/    
		
		if(targetFile.indexOf('.flv') == -1) {
/* BY AL */
//		jQuery('#layer-gallery .gallery-fullsize').html('<img src="'+targetFile+'" alt="" />');
		jQuery('#layer-gallery .gallery-fullsize').html('<a href=\"'+largeFilePath+'\" class=\"cloud-zoom\" rel=\"position: \'inside\' , showTitle: false, adjustX:0, adjustY:0"><img src=\"'+targetFile+'\" alt=\"\" /></a>');
    //init cloud-zoom plugin
window.setTimeout("jQuery('.cloud-zoom').CloudZoom()",500);
/* END AL */
      
		} else {
			jQuery('#layer-gallery .gallery-fullsize').html('<div id="gallery-video"></div>');
			var flashvars = {};
			flashvars.file = targetFile;
			flashvars.autostart = 'true';
			var params = {};
			params.wmode = 'transparent';
			var attributes = {};
//			swfobject.embedSWF('mediaplayer/player.swf', "gallery-video", "480", "320", "9.0.0",false, flashvars, params, attributes);
			swfobject.embedSWF('http://www.cherry.de/test/mediaplayer/player.swf', "gallery-video", "480", "320", "9.0.0",false, flashvars, params, attributes);
		}
	
		var imageNumber = target.replace( jQuery('#layer-gallery').data('thisGallery')+'-', '' );
	
		jQuery('#layer-gallery .gallery-related a').removeClass('active');
		jQuery('a#galleryLink-'+imageNumber).addClass('active');
		jQuery('#layer-gallery').data('currentImage',String(imageNumber));
		if(isIE6) {
			jQuery('#layer-gallery .gallery-fullsize').pngFix();
		}
	},

	closeLayer: function() {
		jQuery('.layer-window').remove();
		layerManager.handleLayer('remove',true);
	},
	
	galleryNavigate: function(direction) {
  
/* by AL*/
window.setTimeout("jQuery('.cloud-zoom').CloudZoom()",500);
/* end AL*/  
	
		var currentNumber = parseInt(jQuery('#layer-gallery').data('currentImage'));
		var thisGallery = jQuery('#layer-gallery').data('thisGallery');
		var next = 0;
		var maxImage = parseInt(jQuery('#layer-gallery').data('maxImage'));
	
		if(direction == 'prev') {
			next = currentNumber - 1;
			if(next == 0) {
				next = maxImage;
			}
			layerManager.galleryShowfull(thisGallery+'-'+next);
		} else {
			next = currentNumber + 1;
			if(next > maxImage) {
				next = 1;
			}
			layerManager.galleryShowfull(thisGallery+'-'+next);
		}
	
		return false;
	},
	
	handleLayer: function(action,fullPage) {
		
		switch (action) {
		  case 'remove':
			jQuery('body').find('.layer').fadeOut('fast', function() {
				jQuery(this).remove();
        
/*by AL*/
//activate form having select-boxes
if(document.getElementById("Auswahlformular")){
document.getElementById("Auswahlformular").style.visibility = "visible";
}
/* end AL */         
        
			});
			break;
		  case 'add':

      /*by AL*/

if(document.getElementById("Auswahlformular")){
document.getElementById("Auswahlformular").style.visibility = "hidden";
}
/* end AL */             
//hide form having select-boxes             
			
			if(fullPage === true) {
				if(jQuery('body').find('.layer').length == 0) {
					jQuery('body').append( '<div class="layer"></div>' )
						.find('.layer').height(jQuery(window).height())
						.width(jQuery(window).width())
						.css('opacity','0.5')
						.fadeIn('fast');
				}
			} else {
				jQuery.each( jQuery('.add-layer') , function(i,e) {
					$element = jQuery(e);
					if($element.find('.layer').length == 0) {
						$element.append( '<div class="layer"></div>' )
							.find('.layer').height($element.outerHeight())
							.width($element.outerWidth())
							.css('opacity','0.5')
							.fadeIn('fast');
					}
				});
			}
			
			break;
		  default:
			break;
		}

		return void(0);

	},
	
	resizeLayer: function() {
		if( jQuery('body > .layer').length == 1 ) {
			jQuery('body > .layer').height(jQuery(document).height());
			/*
			if(parseInt(jQuery(window).width()) > 970) {
				jQuery('body > .layer').width(jQuery(window).width());
			} else {
				jQuery('body > .layer').width(jQuery(document).width());
			}
			*/
			jQuery('body > .layer').width(jQuery(document).width());
		} else {
			jQuery.each( jQuery('.layer'),function(i,e) {
				var $this = jQuery(this);
				var $p = $this.parent();
				$this.height($p.outerHeight()).width($p.outerWidth());
			});
		}
	},

	iFrameLayer: function(target,overflowActive,frameWidth,frameHeight) {

		if(jQuery('.layer-window').length == 0) {
			layerManager.closeLayer();
		}

		!isNaN(frameWidth) && frameWidth > 0 ? '' : frameWidth = layerManager.frameDimension.x;
		!isNaN(frameHeight) && frameHeight > 0 ? '' : frameHeight = layerManager.frameDimension.y;

		var iFrameScrollAttr = 'scrolling="no"'; // Standardwert
		if(overflowActive == true) {
			var iFrameScrollAttr = 'scrolling="auto"';
		}

		// Abdunklungslayer einblenden
//		jQuery('body').append('<div id="layer-iframe" class="layer-window"><a href="javascript:layerManager.closeLayer();" rel="nofollow" id="layer-close"></a><iframe src="'+target+'" id="iframe-layer" name="iframe-layer" height="'+String(frameHeight)+'" width="'+String(frameWidth)+'" frameborder="0" align="left" '+iFrameScrollAttr+'>&ndsp;</iframe></div>');
		jQuery('body').append('<div id="layer-iframe" style="width:'+String(frameWidth)+'px;height:'+String(frameHeight)+'px;" class="layer-window"><a href="javascript:layerManager.closeLayer();" rel="nofollow" id="layer-close"></a><iframe src="'+target+'" id="iframe-layer" name="iframe-layer" height="'+String(frameHeight)+'" width="'+String(frameWidth)+'" frameborder="0" align="left" '+iFrameScrollAttr+'>&ndsp;</iframe></div>');
		jQuery('#layer-iframe').css('margin-left','-'+String((frameWidth+10)/2)+'px');
		
		layerManager.handleLayer('add',true);
		
		jQuery('#layer-iframe').show();
		
		jQuery('#layer-close').pngFix();

	},
	
	documentLayer: function(selector,overflowActive,boxWidth,boxHeight) {

		if(jQuery('.layer-window').length == 0) {
			layerManager.closeLayer();
		}

		var $target = jQuery(selector+':first');
		
		if($target.length != 1) {
			return void(0);
		}

		!isNaN(boxWidth) && boxWidth > 0 ? '' : boxWidth = layerManager.domLayerDimension.x;
		!isNaN(boxHeight) && boxHeight > 0 ? '' : boxHeight = layerManager.domLayerDimension.y;

		var boxOverflow = 'class="overflow-no"'; // Standardwert
		if(overflowActive == true) {
			var boxOverflow = 'class="overflow-yes"';
		}

		jQuery('body').append('<div id="layer-dom" class="layer-window"><a href="javascript:layerManager.closeLayer();" rel="nofollow" id="layer-close"></a><div id="layer-dom-content-wrap"></div></div>');
		jQuery('#layer-dom').css('margin-left','-'+String((boxWidth+10)/2)+'px').height(boxHeight).width(boxWidth);

		jQuery('#layer-dom-content-wrap').html($target.html());

		layerManager.handleLayer('add',true);

		jQuery('#layer-dom').show();

	}

}


/**
 * Browser-Detection
 */

var isWebkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1, isIE = navigator.userAgent.toLowerCase().indexOf('msie') > -1, isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6.0') > -1, isIE7 = navigator.userAgent.toLowerCase().indexOf('msie 7.0') > -1

/**
 * DOM-Manipulationen
 */
jQuery(function() {

//init vertical scroller

//jQuery('#carouselv').jsCarousel({ onthumbnailclick: function(src) { alert(src); }, autoscroll: true, masked: false, itemstodisplay: 1, orientation: 'v' });

//

	//Hide (Collapse) the toggle containers on load
	jQuery('.toggle_container').hide(); 

	//Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
	jQuery('span.trigger').click(function(){
		jQuery(this).toggleClass('active').next().slideToggle('slow');
		return false; //Prevent the browser jump to the link anchor
	});


	/** FT **/
	Cufon.set('fontFamily', 'Eurostile').replace('.cufon-eurostile', {hover: true} );
	Cufon.set('fontFamily', 'Eurostile-Roman-DTC').replace('.cufon-eurostile-roman', {hover: true} );

	/** SPRACHENAUSWAHL **/
		jQuery('#lang-switch').click(function() {
			
			if(jQuery('#lang-switch div:animated').length > 0) {
				return false;
			}			
			
			if(!jQuery(this).hasClass('open')) {
				jQuery(this).addClass('open');
				jQuery('#lang-switch .bg-layer').animate({
					top:'-8px'
				},'fast')
				jQuery('#lang-list li:not(.active)').slideDown(200);
			} else {
				jQuery(this).removeClass('open');
				jQuery('#lang-switch .bg-layer').animate({
					top:'-60px'
				},'fast')
				jQuery('#lang-list li:not(.active)').slideUp(200);
			}

		});
    
/** SPRACH- /STANDORTAUSWAHL **/
		jQuery('#location_message-close').click(function() {
				jQuery('#location_message').slideUp(500);
  	});    
/* by AL 		
		jQuery('#search-text').focus(function() {
			if(jQuery.trim(jQuery(this).val()) == 'cherry.de durchsuchen') {
				jQuery(this).val('');
			}
		}).blur(function() {
			if(jQuery.trim(jQuery(this).val()) == '') {
				jQuery(this).val('cherry.de durchsuchen');
			}
		});
End AL */

	
	/** STARSEITEN-ROUNDELL **/
		var home_roundell_current = 0, home_roundell_next = 0, home_roundell_max = jQuery('#home-roundell-datamap li').length-1;

		if(home_roundell_max > -1) {
			jQuery('#home-roundell-view .pos-center').html( jQuery('#home-roundell-datamap li:first').html() );
			if(isIE6) {
				jQuery('#home-roundell-view .pos-center').pngFix();
			}

			if(home_roundell_max > 0) {
				jQuery('#home-roundell .arrow').show();
				
				jQuery('#roundell-right').click(function() {
					
					if(jQuery('#home-roundell-view div:animated').length > 0) {
						return false;
					}

					home_roundell_next = home_roundell_next + 1;

					if(home_roundell_next > home_roundell_max) {
						home_roundell_next = 0;
					}

					jQuery('#home-roundell-view .pos-right').html( jQuery('#home-roundell-datamap li:eq('+home_roundell_next+')').html() );
					if(isIE6) {
						jQuery('#home-roundell-view .pos-right').pngFix();
					}
					jQuery('#home-roundell-view .pos-right').animate({
						left: '0'
					},'slow', function() {
						jQuery(this).removeClass('pos-right').addClass('pos-center').removeAttr('style');
					});
					jQuery('#home-roundell-view .pos-center').animate({
						left: '-908px'
					},'slow', function() {
						jQuery('#home-roundell-view .pos-left').removeClass('pos-left').addClass('pos-right').removeAttr('style');
						jQuery(this).removeClass('pos-center').addClass('pos-left').removeAttr('style');
					});

				});
				jQuery('#roundell-left').click(function() {

					if(jQuery('#home-roundell-view div:animated').length > 0) {
						return false;
					}

					home_roundell_next = home_roundell_next - 1;

					if(home_roundell_next < 0) {
						home_roundell_next = home_roundell_max;
					}

					jQuery('#home-roundell-view .pos-left').html( jQuery('#home-roundell-datamap li:eq('+home_roundell_next+')').html() );
					if(isIE6) {
						jQuery('#home-roundell-view .pos-left').pngFix();
					}
					jQuery('#home-roundell-view .pos-left').animate({
						left: '0'
					},'slow', function() {
						jQuery(this).removeClass('pos-left').addClass('pos-center').removeAttr('style');
					});
					jQuery('#home-roundell-view .pos-center').animate({
						left: '908px'
					},'slow', function() {
						jQuery('#home-roundell-view .pos-right').removeClass('pos-right').addClass('pos-left').removeAttr('style');
						jQuery(this).removeClass('pos-center').addClass('pos-right').removeAttr('style');
					});

				});
				
			}

		}

	/** MENUE **/
		jQuery('#nav li.extended').hover(function() {
			var $this = jQuery(this), $firstA = $this.find('a:first'), $firstUL = $this.find('ul:first');
			if(isIE6 || isIE7) {
				$firstUL.css('width',$firstUL.outerWidth()); // IE-Bugfix
			}
			$this.oneTime(200, function() {
				$firstA.addClass('active');
				$firstUL.slideDown('fast');
			});
		}, function() {
			var $this = jQuery(this), $firstA = $this.find('a:first'), $firstUL = $this.find('ul:first');
			$this.stopTime().oneTime(100, function() {
				$firstA.removeClass('active');
				Cufon.replace( $firstA.get(0), {hover: true} );
				$firstUL.fadeOut('fast');
			});
		});
		jQuery('#nav > ul').hover(function() {
			jQuery(this).stopTime().oneTime(150, function() {
				layerManager.handleLayer('add');
			});
		},function() {
			jQuery(this).stopTime().oneTime(100, function() {
				layerManager.handleLayer('remove');
			});
		});
    
		jQuery('#nav').hover(function() {
			jQuery(this).css('z-index','1010');
		}, function() {
			jQuery(this).css('z-index','auto');
		});
		

	jQuery('.cm_submenu a.open-sub-menu').mouseenter(function() {
		if(jQuery(this).parent().find('ul').hasClass('open')) {
			return false;
		}
		if(isIE6) {
			jQuery(this).parent().find('ul').show();
		} else {
			jQuery(this).parent().find('ul').slideDown('fast');
		}
		jQuery(this).parent().mouseleave(function() {
			jQuery(this).find('ul').hide();
		});
	});
	
//	if(jQuery('.cm_product-data-map').length > 0) {
	if(jQuery('.cm_product-data-map .tab-menu').length > 0) {
//  alert(jQuery('.cm_product-data-map .tab-menu').length);
		jQuery('#'+jQuery('.cm_product-data-map .tab-menu a.active').attr('href').slice(1)).addClass('info-box-active');
		jQuery('.cm_product-data-map .tab-menu a').click(function() {
			var $target = jQuery(this).attr('href').slice(1);
			jQuery('.cm_product-data-map .info-box').removeClass('info-box-active');
			jQuery('#'+$target).addClass('info-box-active');
			jQuery('.cm_product-data-map .tab-menu a').removeClass('active');
			jQuery(this).addClass('active');
			return false;
		});
	}

	jQuery('a.gallery').click(function() {
		var thisGallery = jQuery(this).attr('rel');
		layerManager.galleryBuild(thisGallery,this);
		return false;
	});
	jQuery('a.gallery-change').click(function() {
		var thisGallery = jQuery(this).attr('rel');
		jQuery('.gallery-set').removeClass('gallery-active');
		jQuery('.gallery-'+thisGallery).addClass('gallery-active');
		jQuery('a.gallery-change').removeClass('active');
		jQuery('a.gallery-change[rel="'+thisGallery+'"]').addClass('active');
/*by AL*/    
    window.setTimeout("jQuery('.cloud-zoom').CloudZoom()",500);
/*end AL*/    
		if(isIE6) {
			jQuery('.ie-pngfix:hidden').pngFix();
		}
		return false;
	});

	jQuery('.info-popup-item').hover(function() {
		jQuery(this).find('.info-popup').show();
	}, function() {
		jQuery(this).find('.info-popup').hide();
	});
  
	if(isIE6) {
		jQuery('.ie-pngfix').pngFix();
	}
	jQuery(window).scroll(function() {
		layerManager.resizeLayer();
	}).resize(function() {
		layerManager.resizeLayer();
	});
  
  
});

/** Button-Functions **/

function parentFormSubmit(thisElement) {
	var $this = jQuery(thisElement);
	$this.parents('form:first').submit();
	return false;
}
function parentFormReset(thisElement) {
	var $this = jQuery(thisElement);
	$this.parents('form:first').get(0).reset();
	return false;
}

function galleryBuild(thisGallery,callingElement) {
	if(jQuery('#layer-gallery').length == 0 || jQuery('#layer-gallery').data('thisGallery') != thisGallery) {
		jQuery('#layer-gallery').remove();
		jQuery('body').append('<div id="layer-gallery"><a href="javascript:galleryRemove();" rel="nofollow" id="layer-close"></a><a href="#vorheriges-bild" onclick="galleryNavigate(\'prev\');return false;" rel="nofollow" class="galleryPrev"></a><a href="#naechstes-bild" onclick="galleryNavigate(\'next\');return false;" rel="nofollow" class="galleryNext"></a></div>');
		jQuery('#layer-gallery').data('thisGallery',thisGallery).append('<div class="gallery-fullsize"></div>');
		jQuery('#layer-gallery').append('<div class="gallery-related"><span class="desc">Weitere Ansichten:</span><div class="wrapper"></div></div>');
		var imageCounter = 0;
		thisGalleryImages = [];
		jQuery.each( jQuery('a[rel="'+thisGallery+'"]'), function(i,e) {
			if( jQuery(e).find('img').length == 1 ) {
				imageCounter++;
				jQuery('#layer-gallery .gallery-related .wrapper').append('<a href="javascript:galleryShowfull(\''+thisGallery+'-'+imageCounter+'\');" id="galleryLink-'+imageCounter+'" ><img alt="" src="'+jQuery(e).find('img').attr('src')+'" /></a>');
				jQuery(e).attr('rev',thisGallery+'-'+imageCounter);
			}
		});
		jQuery('#layer-gallery').data('maxImage',String(imageCounter));
		if(isIE6) {
			jQuery('#layer-gallery').pngFix();
		}
	}
	handleLayer('add',true);
	galleryShowfull(jQuery(callingElement).attr('rev'));
	jQuery('#layer-gallery').fadeIn();
}

function galleryShowfull(target) {

	targetFile = jQuery('a[rev="'+target+'"]').attr('href');
/*BY AL*/
  largeFilePath = jQuery('a[rev="'+target+'"]').attr('name');
//  alert(largeFilePath);
/* end AL*/
	
	if(targetFile.indexOf('.flv') == -1) {
/* BY AL */
//		jQuery('#layer-gallery .gallery-fullsize').html('<img src="'+targetFile+'" alt="" />');
		jQuery('#layer-gallery .gallery-fullsize').html('<a href=\"'+largeFilePath+'\" class=\"cloud-zoom\" rel=\"position: \'inside\' , showTitle: false, adjustX:0, adjustY:0"><img src=\"'+targetFile+'\" alt=\"\" /></a>');
    //init cloud-zoom plugin
window.setTimeout("jQuery('.cloud-zoom').CloudZoom()",500);

    
/* END AL */    
	} else {
		jQuery('#layer-gallery .gallery-fullsize').html('<div id="gallery-video"></div>');
		var flashvars = {};
		flashvars.file = targetFile;
		flashvars.autostart = 'true';
		var params = {};
		params.wmode = 'transparent';
		var attributes = {};
		swfobject.embedSWF('http://www.cherry.de/test/mediaplayer/player.swf', "gallery-video", "480", "320", "9.0.0",false, flashvars, params, attributes);
	}

	var imageNumber = target.replace( jQuery('#layer-gallery').data('thisGallery')+'-', '' );

	jQuery('#layer-gallery .gallery-related a').removeClass('active');
	jQuery('a#galleryLink-'+imageNumber).addClass('active');
	jQuery('#layer-gallery').data('currentImage',String(imageNumber));
	if(isIE6) {
		jQuery('#layer-gallery .gallery-fullsize').pngFix();
	}
}

function galleryRemove() {
	jQuery('#layer-gallery').hide();
	handleLayer('remove',true);
}

function galleryNavigate(direction) {

/* by AL*/
window.setTimeout("jQuery('.cloud-zoom').CloudZoom()",500);
/* end AL*/

	var currentNumber = parseInt(jQuery('#layer-gallery').data('currentImage'));
	var thisGallery = jQuery('#layer-gallery').data('thisGallery');
	var next = 0;
	var maxImage = parseInt(jQuery('#layer-gallery').data('maxImage'));

	if(direction == 'prev') {
		next = currentNumber - 1;
		if(next == 0) {
			next = maxImage;
		}
		galleryShowfull(thisGallery+'-'+next);
	} else {
		next = currentNumber + 1;
		if(next > maxImage) {
			next = 1;
		}
		galleryShowfull(thisGallery+'-'+next);
	}

	return false;
}

function handleLayer(action,fullPage) {
	if(fullPage === true) {
		$targets = jQuery('body');
	} else {
		$targets = jQuery('.add-layer');
	}
	jQuery.each( $targets , function(i,e) {
		$element = jQuery(e);
		if(action == 'add') {
			if($element.find('.layer').length == 0) {
				$element.append( '<div class="layer"></div>' )
					.find('.layer').height($element.outerHeight())
					.width($element.outerWidth())
					.css('opacity','0.5')
					.fadeIn('fast');
          
/*by AL*/

if(document.getElementById("Auswahlformular")){
document.getElementById("Auswahlformular").style.visibility = "hidden";
}
/* end AL */             
//hide form having select-boxes          
			}
		} else if(action == 'remove') {
			$element.find('.layer:visible').fadeOut('fast', function() {
				jQuery(this).remove();
        
/*by AL*/
//activate form having select-boxes
if(document.getElementById("Auswahlformular")){
document.getElementById("Auswahlformular").style.visibility = "visible";
}
/* end AL */           
        
			});
		}
	});
}

