jQuery.noConflict();
jQuery(document).ready(function($) {
	    
	var ImgGallery = {
		init: function() {
           ImgGallery.addActionToImgNav();
		   ImgGallery.addImageZoomBtn();
		},
		addActionToImgNav: function() { 
			var links = $('#exposeImgNav a');
            var linksLength = links.length;
		    $(links).each(
		   		function(intIndex){ 
				   if(intIndex < linksLength-1){ 
					var exposeImg ='#exposeImg-'+intIndex; 
						$(this).bind({
					  		click: function() {
							$('#exposeImgNav li').removeClass('active');
							$(this).parent().addClass('active');
							$('#exposeImgContainer img').removeClass('active');
							$(exposeImg).addClass('active');
							ImgGallery.bindImageZoomBtn(intIndex);
							ImgGallery.callPixel(intIndex+1);
							return false;
					  		}
						});
					}else{
						$(this).bind({
					  		click: function() {
                            	ImgGallery.openLayer(0);
					    	return false; 
					  		}
						});						
					}
		    	}
		    );
	   	},
		bindLayerCloseBtn: function(){
			$('#lnkCloseExposeImgLayer').bind({
		  		click: function() { 
					ImgGallery.closeLayer();
		    		return false; 
		  		}
			});
			$('body').bind({
		  		click: function() { 
					ImgGallery.closeLayer();
		  		}
			});	
			$('#exposeImgLayer').click(function(event){
			     event.stopPropagation();
			 });
			  		
		},
		addImageZoomBtn: function(){
		  	if(!$('#exposeImg-0').hasClass("noObject")){
    		    //$(' <a href="#" id="lnkExposeImgZoom">&nbsp;</a>').appendTo('#exposeImgContainer').bind({
		  		$('#lnkExposeImgZoom').bind({
    		  		click: function() {
                    	ImgGallery.openLayer(0);
    		    	return false; 
    		  		}
    			});
		  	}
		},
		bindImageZoomBtn: function(intActiveImage){
		 	$('#lnkExposeImgZoom').unbind();
			$('#lnkExposeImgZoom').bind({
		  		click: function() {
                	ImgGallery.openLayer(intActiveImage);
		    	return false; 
		  		}
			});   
		},
		openLayer: function(intActiveImage){
        	ImgGallery.getExposeImages(intActiveImage);
 			ImgGallery.creatImgLayerNav(intActiveImage);
			ImgGallery.selectLayerImage(intActiveImage);
			$('#exposeImgLayer').show();
			ImgGallery.bindLayerCloseBtn();
			$('.vcardIcon').hide();
			$('#finanzierungshinweis').hide();
			$('.funktionsbox-bereich').hide();
			$('#divMwSt').hide();
			//check for ie6
			if(typeof document.body.style.maxHeight === "undefined") {
				$('.radio').css('visibility','hidden');
				$("input[type='checkbox']").css('visibility','hidden');
			}			
		},
		closeLayer: function(){
		   	$('#exposeImgLayer').hide(); 
			$('body').unbind();
			$('.vcardIcon').show();
			$('#finanzierungshinweis').show();
			$('.funktionsbox-bereich').show();
			$('#divMwSt').show();
			//check for ie6
			if(typeof document.body.style.maxHeight === "undefined") {
				$('.radio').css('visibility','visible');
				$("input[type='checkbox']").css('visibility','visible');
			}
		},
		creatImgLayerNav: function(intActiveImage){
			ImgGallery.removeActionFromImgLayerNav(); 
		  
			var wrapperBegin = '<td id="exposeImgLayerNavContainer">';
			var wrapperEnd = '</td>';
			var links = '';
			var images = ExposeImages;
			var activeClass; 
			var activeImage = intActiveImage;
            var loopLength;
            
			if(activeImage > 2 && images.length > 5){
				links = links+'<span id="lnkImgNavBegin"><a href="#">&nbsp;</a></span><span id="lnkImgNavPrev"><a href="#">&nbsp;</a></span>' ;
			}

    		// setzten der loopLength fuer die Anzeige der Navigation
			if (images.length > 5){ 					
				if(activeImage >2){ 
					
					links= links+'<span class="stlMoreImgs first">&hellip;</span>';
					if(activeImage+3 < images.length){
						loopLength = activeImage+3;
					}
					else{loopLength =images.length;}
				}
				else{loopLength = 5;}
			}else{loopLength =images.length;}  
			
            // erzeugen der Links fuer die Navigation
			for (var i = 0, ii = loopLength; i < ii; i++)
			{          

				if ((i >= activeImage-2)||(i > images.length-6)){
					var j = i+1;
					if(i == activeImage){
				  		activeClass ='active';  
					}
					else{
				  		activeClass = '';  
					}
					if((i == 0) && (activeImage < 3)){
					   activeClass=activeClass+" first"; 
					}
					links = links+'<span class="'+activeClass+'"><a class="lnkImgNav" href="#exposeLayerImg-'+i+'" >'+j+'</a></span>';
				}
		    };

			if(loopLength < images.length){
				    links= links+'<span class="stlMoreImgs">&hellip;</span>'; 
			}
			if((activeImage < images.length-1) && (images.length >5)){
				    links = links+'<span id="lnkImgNavNext"><a href="#">&nbsp;</a></span><span id="lnkImgNavEnd"><a href="#">&nbsp;</a></span>' ; 
			}		
			var output = $(wrapperBegin+links+wrapperEnd);
			
			$('#exposeImgLayerNavContainer').replaceWith(output);
			ImgGallery.addActionToImgLayerNav(loopLength, activeImage);
		},		
		addActionToImgLayerNav: function(intLoopLength, intActiveImage) { 
			var links = $('#exposeImgLayerNav .lnkImgNav');
            var offset = intLoopLength - links.length ;
            var end = ExposeImages.length-1;
      
		    $(links).each(
		   		function(intIndex){
					var activeLnk = intIndex+offset;
					var exposeImgId = $(this).attr('href');  
					$(this).bind({
				  		click: function() {
							ImgGallery.selectLayerImage(activeLnk);
							ImgGallery.creatImgLayerNav(activeLnk);
							ImgGallery.callPixel(activeLnk+1);
							return false;
				  		}
					});  
		    	}
		    ); 
		
			$('#lnkImgNavBegin').bind({
		  		click: function() {
					ImgGallery.selectLayerImage(0);
					ImgGallery.creatImgLayerNav(0); 
					ImgGallery.callPixel(1);
					return false;
		  		}
			});
			$('#lnkImgNavEnd').bind({
		  		click: function() {
					ImgGallery.selectLayerImage(end);
					ImgGallery.creatImgLayerNav(end);
					ImgGallery.callPixel(end+1);
					return false;
		  		}
			});
			$('#lnkImgNavPrev').bind({
		  		click: function() {
					ImgGallery.selectLayerImage(intActiveImage-1);
					ImgGallery.creatImgLayerNav(intActiveImage-1);
					ImgGallery.callPixel(intActiveImage);
					return false;
		  		}
			});
			$('#lnkImgNavNext').bind({
		  		click: function() {
					ImgGallery.selectLayerImage(intActiveImage+1);
					ImgGallery.creatImgLayerNav(intActiveImage+1);
					ImgGallery.callPixel(intActiveImage+2);
					return false;
		  		}
			});
	   	},
		callPixel: function(intActiveImage) {
	   		erzeugeBildZaehlpixel(intActiveImage); 
	   	},	   	
		removeActionFromImgLayerNav: function() { 
			$('#exposeImgLayerNav .lnkImgNav').unbind(); 
	   	},
		selectLayerImage: function(intActiveImage){
		    $('#exposeImgLayerContainer tr').removeClass('active');
			$('#exposeImgLayerDescription div').removeClass('active'); 
			var imageId = '#exposeLayerImg-'+ intActiveImage;
			var imageDescId = '#exposeLayerImgDesc-'+ intActiveImage;
			$(imageId).addClass('active');
			$(imageDescId).addClass('active');			
		},
		getExposeImages: function(intActiveImage){
			if(!$('#exposeImgLayerContainer').hasClass('exposeImagesCreated')){
				var wrapperBegin = '<div id="exposeImgLayerContainer" class="exposeImagesCreated"><table border="0" cellspacing="0" cellpadding="0">';
				var wrapperEnd = '</table></div>';
				var images='';
				var activeClass =''; 

				for (var i = 0, ii = ExposeImages.length; i < ii; i++)
				{
					if(i == intActiveImage){
						activeClass ='class="active"';  
					}
					else{
						activeClass ='';  
					}
					images = images+'<tr id="exposeLayerImg-'+i+'" '+ activeClass +'><td><img src="'+ExposeImages[i]+'" alt="'+ExposeImagesAltAttribute+'" /></td></tr>';
				}
				var output= wrapperBegin+images+wrapperEnd;
				$('#exposeImgLayerContainer').replaceWith(output);   
			} 
		} 			
	}

	ImgGallery.init();
});
