﻿var Standorte = new Class({
	//implements
	Implements:  [Options], 	
	matrix : 0,

	options: {
		matrix : null,
		myItems : 125,
		nums : 1
	},

	initialize: function(options) {
		//set options
		this.setOptions(options);
		var self = this;
		var sachsen = $('sachsen');
		var berlin = $('berlin');
		var brandenburg = $('brandenburg');
		var brandenburg1 = $('brandenburg2');
		var sachsenAnhalt = $('sachsenAnhalt');
		var thueringen = $('thueringen');
		var bayern = $('bayern');
		var badenWuerttemberg = $('badenWuerttemberg');
		var hessen = $('hessen');
		var reihnlandPfalz = $('reihnlandPfalz');
		var nordrheinWestfalen = $('nordrheinWestfalen');
		var buland = '';
		var plzFld = '';
		
		var plzSearch = $('searchBut');
		plzSearch.addEvent('click', function(e){
			e.stop();
			self.getData('', 'plz', $('plzFld').value, $('kmFld').value);
			self.clearField();
		});

		sachsen.addEvent('click', function(e){
			e.stop();
			self.getData('sachsen', 'search');
			self.clearField();
		});
	
		berlin.addEvent('click', function(e){
			self.getData('berlin', 'search');
			self.clearField();
		});
		
		brandenburg.addEvent('click', function(e){
			self.getData('brandenburg', 'search');
			self.clearField();
		});
		
		brandenburg1.addEvent('click', function(e){
			self.getData('brandenburg', 'search');
			self.clearField();
		});
		
		sachsenAnhalt.addEvent('click', function(e){
			self.getData('sachsenAnhalt', 'search');
			self.clearField();
		});
		
		thueringen.addEvent('click', function(e){
			self.getData('thueringen', 'search');
			self.clearField();
		});
		
		bayern.addEvent('click', function(e){
			self.getData('bayern', 'search');
			self.clearField();
		});
		
		badenWuerttemberg.addEvent('click', function(e){
			self.getData('badenWuerttemberg', 'search');
			self.clearField();
		});
		
		hessen.addEvent('click', function(e){
			self.getData('hessen', 'search');
			self.clearField();
		});
		
		reihnlandPfalz.addEvent('click', function(e){
			self.getData('reihnlandPfalz', 'search');
			self.clearField();
		});
		
		nordrheinWestfalen.addEvent('click', function(e){
			self.getData('nordrheinWestfalen', 'search');
			self.clearField();
		});
    },
	
	pick: function(buland, mode, plzFld,kmFld){
		this.buland = buland;
		$("searchbox").empty();
		$("searchbox").set('text', 'Daten für '+buland+' werden geladen...');
		this.getData(buland,mode,plzFld,kmFld);
	},
	
	clearField : function(){
		$('standorthead').empty();
		$('info2').empty();
		$('standorthead').set('text','Unsere Standorte im Überblick');
		$('info2').set('text','Hier erfahren Sie alles über die Standorte in Ihrer Nähe - wichtige Daten, Fakten und aktuelle Aktionen. In unseren Niederlassungen finden Sie immer ein breites Sortiment an Artikeln der UNI ELEKTRO.')
	},
	
	getData : function(sektor, mode, plzFld, kmFld){
	    var pagerCurPage = 1; 
	    var pagerPagesCount = 1;
		var req =  new Request.HTML({
			url:"fileadmin/templates/php/filterStandorte.php?mode="+mode+"&plzFld="+plzFld+"&kmFld="+kmFld,
			method: "post",
			data: {"sektor" : sektor},
			evalScripts: "true",
			encoding: 'utf-8',
			onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
				  $("searchbox").empty();
				  $("pager").empty();
				  //$("searchbox").adopt(html);
				  $("searchbox").set('html',responseHTML);
				  var teststandorte = "Unsere Standorte im Überblick";
				  $("standorthead").set("text",teststandorte);
				  var pagerPageHeight = $("warper").getSize().y;
				  var contentArea = $("searchbox");
				  var pagerPages = $("pager");
				  
				  var pagerInit = function(){
				  
					  var contentHeight = contentArea.getSize().y ;
					  pagerPagesCount = (contentHeight / pagerPageHeight).toInt();
					  if (contentHeight % pagerPageHeight != 0 ) pagerPagesCount++;
					  if (pagerPagesCount === 1) return;
					  
					  var prev = new Element("a", {
							  "class": "cust-pager-prev",
							  "html": "&nbsp;&nbsp;&nbsp;&nbsp;",
							  "id": "cust-pager-prev",
							  "events": {
								  "click": function(){
									  pagerChangePage(pagerCurPage - 1);
								  }
							  }
						  });
				  
					  var next = new Element("a", {
							  "class": "cust-pager-next",
							  "html": "&nbsp;&nbsp;&nbsp;&nbsp;",
							  "id": "cust-pager-next",
							  "events": {
								  "click": function(){
									  pagerChangePage(pagerCurPage + 1);
								  }
							  }
					  });	
					  
					  prev.inject(pagerPages,"top");
					  $("cust-pager-prev").setStyle("display","none");
						  
					  for (var i=1; i<=pagerPagesCount; i++){
						  var anchor = new Element("a", {
							  "class": "cust-pager-item",
							  "id": "cust-pager-item-"+ i,
							  "html": i,
							  "events": {
								  "click": pagerChangePage.pass(i)
							  }
						  });
						  anchor.inject(pagerPages);
					  }
					  
					  next.inject(pagerPages,"bottom");
				  };
					  
				  var pagerChangePage = function(page){
					  $("cust-pager-item-" + pagerCurPage).set("class", "cust-pager-item");
					  $("cust-pager-item-" + page).set("class", "cust-pager-item-sel");
					  
					  pagerCurPage = page;
				  
					  if (pagerCurPage === 1) {
						  $("cust-pager-prev").setStyle("display", "none");
					  }else{
						  $("cust-pager-prev").setStyle("display", "inline");
					  }
					  
					  if (pagerCurPage === pagerPagesCount) {
						  $("cust-pager-next").setStyle("display", "none");
					  }else{
						  $("cust-pager-next").setStyle("display", "inline");
					  }
						  
					  contentArea.setStyle("top", (-1) * pagerPageHeight * (page - 1));
				  };
				  
				  pagerInit();												
			},
			onFailure: function() {
			   $("searchbox").set("text", "Verbindung fehlgeschlagen!");
			}
	  });
	  req.send();
   }
});




