var fullScreenString = '',categoryString,pageIdString; 
var languageString = '&L=0';
var initialized = false,searchLoaded = false;
var category;
var pageArray = { };
var currentPage;
var pages; 
 

var iterator = function(currentPage) { 
	
	var nextPage = parseInt($('.article-search-result').find('a.next-page').attr('data-page'));
	var prevPage = parseInt($('.article-search-result').find('a.prev-page').attr('data-page'));
	currentPage = parseInt(currentPage);
    
	if (!nextPage && pages > 1) { nextPage = 2; }
	if (!prevPage && pages > 1) { prevPage = pages; }
	
	if (currentPage >= 1 && currentPage < pages && pages > 1) {
		nextPage = currentPage + 1;
	} else if (currentPage >= 1 && currentPage == pages && pages > 1) {
		nextPage = 1;
	}
	
	if (currentPage > 1 && currentPage <= pages && pages > 1) {
		prevPage = currentPage - 1;
	} else if (currentPage == 1 && pages > 1) {
		prevPage = pages;
	}
	 
 	$('.article-search-result').find('a.next-page').attr('data-page', parseInt(nextPage));
	$('.article-search-result').find('a.prev-page').attr('data-page', parseInt(prevPage));
	$('.article-search-result').find('a.prev-page').attr('data-number-pages', parseInt(pages));
	$('.article-search-result').find('a.next-page').attr('data-number-pages', parseInt(pages));

}


function startSearch() { 
	  
	 if (pageId != '') var pageIdString = '&pid='+pageId; 
	 if (category != '') var categoryString = '&tx_ibmeister_pi1[category]='+category; 
	 if (language != '') languageString = '&L='+language;
	 if (fullscreen != '') fullScreenString = '&devdetect='+fullscreen;
	 if (currentUrl != '') var currentUrl = window.location.pathname; 
	 
	 if (!initialized) {
		initialized = true; 
		$('#search-form input[name="tx_ibmeister_pi1[page]"]').val(1);
		$('.product-search .loader').css({ 
			opacity : '1.0' 
		}); 
		$('.product-search .loader').fadeIn(200, function() {
			 $.ajax({
				type: 'GET', 
			    dataType : 'html',
			    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',				 
				cache 	 : false,
				changeHash: true, 
				url : currentUrl + '?'+pageIdString+categoryString+fullScreenString+languageString+'&tx_ibmeister_pi1[page]=1&eID=ib_meister&type=70&tx_ibmeister_pi1[command]=search_article',
				success : function(data,status,jqXHR) { 
					pageArray[1] = 'loaded';
						
						if (!searchLoaded) {  
							// setTimeout(function())
							//$('.product-search-container div.wrapper').empty().append(data);
							
							$('.product-search-container').find('div.wrapper').showHtml($(data), 300, 'swing' , function() {
									 
									//setTimeout(function() {
									$('#search-form select').selectmenu();							
									$('.article-search-result').find('.article-list-slider').anythingSlider({
										   width 			   :  940,
								   	       height 			   : 250,
								   	       startPanel          : 1,    
								   	       resizeContent	   : false,
								   	       buildNavigation     : false,
								   	       buildArrows         : false,
								   	       enableStartStop     : false,
								   	       autoPlay            : false,
								   	       infiniteSlides      : true,
								   	       enablePlay          : false,
								   	       buildStartStop      : false,
								   	       onInitialized : function() { 
								   	    	searchLoaded = true;
								   	        iterator(1); 
								   	        $('.product-search').find('.loader').fadeOut(200);
								   	       }
								    });
									//},100);
								}); 
						} else {
				   	        iterator(1); 
				   	        $('.product-search').find('.loader').fadeOut(200);
						}
				}
			 });
		}); 
	 }  
} 

$(document).ready(function() { 
	
	var loadingData = false;
	var loadingVars = false;
	var loading, loaded = 0;
	 
	if (pageId != '') var pageIdString = '&pid='+pageId;
	if (language != '') languageString = '&L='+language;
	if (currentUrl != '') var currentUrl = window.location.pathname;
	if (fullscreen != '') fullScreenString = '&devdetect='+fullscreen;
 	
	$('.article-search-result').find('a.next-page').live('click',function(e) {
		e.preventDefault();		 
		//alert(parseInt($('.article-search-result').find('a.next-page').attr('data-number-pages')));
		if (pages > 1) {
			handleChangePage($('.article-search-result').find('a.next-page').attr('data-page'),'forward');
		}
	});
	
	$('.article-search-result').find('a.prev-page').live('click',function(e) {		
		e.preventDefault();	 
		if (pages > 1) {
 			handleChangePage($('.article-search-result').find('a.prev-page').attr('data-page'),'previous');
		}
	});
	
	$('.article-search-result').find('#article-list li > div.item a').live('click', function(e) {
		closeMenu();		 
	});
	
	var handleChangePage  = function(page, direction) { 
		
		if ($('#search-form input[name="tx_ibmeister_pi1[page]"]').val() == '') {
	    	$('#search-form input[name="tx_ibmeister_pi1[page]"]').val(1);	
		}
	    if ($('#search-form input[name="L"]').val() == '') {
	    	$('#search-form input[name="L"]').val(language);
	    }
	    if ($('#search-form input[name="pid"]').val() == '') {
	    	$('#search-form input[name="pid"]').val(pageId);
	    } 
	    if ($('#search-form input[name="devdetect"]').val() == '') {
	    	$('#search-form input[name="devdetect"]').val(fullscreen);
	    } 
	    if ($('#search-form input[name="tx_ibmeister_pi1[command]"]').val() == '') {
	    	$('#search-form input[name="tx_ibmeister_pi1[command]"]').val('search_article_ajax');
	    }
	    if ($('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val() != '') {
	    	var categoryString = '&tx_ibmeister_pi1[selectedCategory]='+$('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val();
	    }   
			
		$('form#search-form input[name="tx_ibmeister_pi1[page]"]').val(page);
		
		var pageString = '&tx_ibmeister_pi1[page]='+page;
	 
		if (pageArray[page] != 'loaded') {
		    var fade;
			if (direction == 'forward') { fade = 0.4; } else { fade = 1.0;}
		  $('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('disable'); 
		  $('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('disable');     
		  
		  $('.product-search .loader').fadeTo(200, fade, function() {
			 
		  $.ajax({
		 		type : 'post',
		 		data : $('form#search-form').serialize(),
				url : currentUrl + '?'+pageIdString+languageString+fullScreenString+categoryString+pageString+'&eID=ib_meister&type=70&tx_ibmeister_pi1[command]=search_article_ajax',
		 		success : function(data,status,jqXHR) {
					pageArray[page] = 'loaded';
					loadingData = false;
					  if (direction == 'forward') {
						  $('#main-navigation .product-search-container .article-search-result .article-list-slider > li:not(.cloned):last').after(jqXHR.responseText);						  
					  } else {
						  $('#main-navigation .product-search-container .article-search-result .article-list-slider > li:not(.cloned):first').before(jqXHR.responseText);
					  } 
					  $('#main-navigation .product-search-container .article-search-result .article-list-slider').anythingSlider();
					  $('.product-search .loader').fadeTo(200,0.0, function() {					    
						  $(this).hide();
	 					  $('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('enable');
	 				
	 					  $('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('enable'); 
	 					  // hide Loader
	 					
	 						
	 					  if (direction == 'forward') { 	 							
	 						$('#main-navigation .product-search-container .article-search-result .article-list-slider').data('AnythingSlider').goForward(); 	
	 					  } else {
	 						  //	$('#main-navigation .product-search-container .article-search-result .article-list-slider').data('AnythingSlider').goBack();
	 					  }
	 					  iterator(page);	
	 		 	       });
				}
            });
		  });
		} else { 				 
			
				if (direction == 'forward') {
					$('#main-navigation .product-search-container .article-search-result .article-list-slider').data('AnythingSlider').goForward(); 	
				} else {
					$('#main-navigation .product-search-container .article-search-result .article-list-slider').data('AnythingSlider').goBack();
				}
				iterator(page);
		}
	}
	

	$('#search-form select[name*="tx_ibmeister_pi1[selectedCategory]"]').live('change', function() {
		$(this).selectmenu('disable'); 
		$('#search-form select[name*="tx_ibmeister_pi1[attribute]"]').val(''); 
		$('#search-form select[name*="tx_ibmeister_pi1[selectedAttribute]"]').val(''); 
		loadingData = true;
		loadingVars = true; 
		loaded = 0;		 
		$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('disable'); 
		$('.product-search .loader').fadeTo(200, 1.0, function() {
			$('.product-search-container .article-list').empty();
			handleChangeCategory(); 
		});
	});
	
	var handleChangeCategory = function() { 
	    
		pageArray = { };
		
		/*if ($('#search-form input[name="tx_ibmeister_pi1[page]"]').val() == '') {
	    	$('#search-form input[name="tx_ibmeister_pi1[page]"]').val(0);	
		}*/
		$('#search-form input[name="tx_ibmeister_pi1[page]"]').val(1);
		
	    if ($('#search-form input[name="L"]').val() == '') {
	    	$('#search-form input[name="L"]').val(language);
	    }
	    if ($('#search-form input[name="pid"]').val() == '') {
	    	$('#search-form input[name="pid"]').val(pageId);
	    }  
	    if ($('#search-form input[name="devdetect"]').val() == '') {
	    	$('#search-form input[name="devdetect"]').val(fullscreen);
	    } 
	    if ($('#search-form input[name="tx_ibmeister_pi1[command]"]').val() == '') {
	    	$('#search-form input[name="tx_ibmeister_pi1[command]"]').val('search_article_ajax');
	    }
	    if ($('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val() != '') {
	    	var categoryString = '&tx_ibmeister_pi1[selectedCategory]='+$('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val();
	    }   
	 
            $('.attribute-list').load(currentUrl+'?type=70'+categoryString+fullScreenString+languageString+pageIdString+'&eID=ib_meister&tx_ibmeister_pi1[command]=search_attributes_complete', function() {  
            	
        	 $('.attribute-list select').selectmenu();
             $('.attribute-list select').selectmenu('disable');
             
             $.ajax({
 		 		type : 'post',
 		 		data : $('form#search-form').serialize(),
 				url : currentUrl + '?'+pageIdString+fullScreenString+languageString+categoryString+'&eID=ib_meister&type=70&tx_ibmeister_pi1[command]=search_article_ajax',
 				success : function(data,status,jqXHR) {
 					pageArray[1] = 'loaded';
 					loadingData = false;
 					
 					$('.product-search .loader').fadeOut(400, function() {
	 						$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('enable');
	 						$('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('enable'); 
	 						$('#main-navigation .product-search-container .article-search-result .article-list-slider').empty();
	 						$('#main-navigation .product-search-container .article-search-result .article-list-slider').append(jqXHR.responseText);
	 						iterator(1);
	 						$('#main-navigation .product-search-container .article-search-result .article-list-slider').anythingSlider();	 						
 					});
 				}
              });
    
          });
	 
	} 
	
	$('select[name*="tx_ibmeister_pi1[attribute]"]').live('change', function() {
		var element = this;
		loadingData = true;
		loadingVars = true;
		loading = $('select[name*="tx_ibmeister_pi1[attribute]"]').length-1;
		loaded = 0;
		$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('disable'); 
		$('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('disable');  
		$('.product-search .loader').fadeTo(200, 0.3 ,function() { 
			handleChange($(element).attr('id'));
		});
	});
	 
	
	var handleChange = function(id) {
		
	    var urlString = '';	
		pageArray = { };
	   
	    $('#search-form input[name="tx_ibmeister_pi1[page]"]').val(1);	
		
	    if ($('#search-form input[name="L"]').val() == '') {
	    	$('#search-form input[name="L"]').val(language);
	    }
	    if ($('#search-form input[name="pid"]').val() == '') {
	    	$('#search-form input[name="pid"]').val(pageId);
	    } 
	    if ($('#search-form input[name="devdetect"]').val() == '') {
	    	$('#search-form input[name="devdetect"]').val(fullscreen);
	    } 
	    if ($('#search-form input[name="tx_ibmeister_pi1[command]"]').val() == '') {
	    	$('#search-form input[name="tx_ibmeister_pi1[command]"]').val('search_article_ajax');
	    }
	    if ($('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val() != '') {
	    	var categoryString = '&tx_ibmeister_pi1[selectedCategory]='+$('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val()+'&tx_ibmeister_pi1[category]='+$('#search-form select[name="tx_ibmeister_pi1[selectedCategory]"]').val();
	    }  
	   
	    $.ajax({
		 		type : 'post',
		 		data : $('form#search-form').serialize(),
				url  : currentUrl + '?'+pageIdString+fullScreenString+languageString+categoryString+'&eID=ib_meister&type=70&tx_ibmeister_pi1[command]=search_article_ajax',
		 		success : function(data,status,jqXHR) {
					pageArray[1] = 'loaded';
					loadingData = false;
					$('#main-navigation .product-search-container .article-search-result .article-list-slider li').fadeOut(400,function() {
						$('#main-navigation .product-search-container .article-search-result .article-list-slider').empty();
						$('#main-navigation .product-search-container .article-search-result .article-list-slider').showHtml(jqXHR.responseText, 400, 'swing', function() {								
							$('#main-navigation .product-search-container .article-search-result .article-list-slider').anythingSlider();		
						});
					});
					if (!loadingVars || ($('select[name*="tx_ibmeister_pi1[attribute]"]').length-1) == 0) { 
						 $('.product-search .loader').fadeOut(200,function() {
							$('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('enable');
							$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('enable');
						 }); 
					}					 
					 			 
				}
		});
	    
		$('select[name*="tx_ibmeister_pi1[attribute]"]').each(function() {
		  var selected = $(this).children('option:selected').val();
	      if (selected == undefined) { selected = ''; }       
		  	urlString = urlString + '&' + $(this).attr('id') + '='+selected;
	    }); 
		
	    $('select[name*="tx_ibmeister_pi1[attribute]"]').each(function() {
	        var element = this; 
	        if (id != $(this).attr('id')) {
	              var elementId = $(this).attr('id'); 
			      var reg = new RegExp(/\d+/g);	   
				  var match = elementId.match(reg);
				  var additional = '&tx_ibmeister_pi1[selectedAttribute]='+match[1]+urlString;
	              loadingVars = true;
				  $.ajax({ 
					  url   : currentUrl+'?type=70'+categoryString+fullScreenString+languageString+pageIdString+'&eID=ib_meister&tx_ibmeister_pi1[command]=search_attributes_ajax'+additional,
					  type  : 'get',
					  dataType : 'html',
					  success : function(data, status, jqXHR) {
		            	    loaded++;
		            	    $(element).html(data);		            	    
		             	    if (loading == loaded) { 
	                 	    	loadingVars = false;
	                 	    	if (!loadingData) { 
	                 	    		$('.product-search .loader').fadeOut(200, function() { 
	                 	    			$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu();
	                 	    			$('select[name*="tx_ibmeister_pi1[attribute]"]').selectmenu('enable'); 
	                 	    			// hide loader   
	                 	    			$('select[name*="tx_ibmeister_pi1[selectedCategory]"]').selectmenu('enable');  
	                 	    		});
	                 	    	} 
	                 	    }
					  } 
				  }); 
	        } 
	    });    
	} 
	 
	
	$('#main-navigation li.product-search a.link-level-1').hoverIntent(function() {    	
		       // e.preventDefault();
	   var element = this;
	    
	   openMenu(element, 450, function() {
		   startSearch(); 
	   });
	   
	   $(element).addClass('active');
	   $('#main-navigation ul.level-1 li ul.level-2').fadeOut(200,
			   function() { 
		   			$('#main-#main-navigation ul.level-1 li:not(.product-search) a').removeClass('active');
		   			$(element).siblings('div.product-search-container').fadeIn(200);
	   		   }
	   );  
			   
	    }, function () {
	        
		    
	   }  
	);  
});
