 var E7 = new Class({

loopGallery: false,
replaceSelects: true,
styleId: 1,
currentPage: 1,
pagerBlocker: false,
d: null,
openedSelects: false,

	initialize: function(){
			var styles = $$('link[title=changable]');
			for(var i = 0; i< styles.length; i++) {
				styles[i].disabled = true;
			}
			
			var style = Cookie.get('style');
			if(isNaN(style) || style > 3 || style < 1) {
				this.styleId = 1;
			} else {
				this.styleId = style;	
			}
			styles[this.styleId-1].disabled = false;

			hs.registerOverlay(
				{
					thumbnailId: null,
					overlayId: 'controlbar',
					position: 'top right',
					hideOnMouseOut: true
				}
			);
			
			hs.graphicsDir = 'images/highslide/graphics/';
			hs.outlineType = 'rounded-white';
			hs.captionEval = 'this.thumb.title';
			
	}, // initialize

	changeStyle: function(size) {
		switch(size) {
			case 'lower' : if(this.styleId > 1) this.styleId--; break;
			case 'bigger': if(this.styleId < 3) this.styleId++; break;
			case '1'	 : 
			case '2'	 : 
			case '3'	 : this.styleId = parseInt(size); break;
			default		 : this.styleId = 1; break;
		}
		var styles = $$('link[title=changable]');
		for(var i = 0; i< styles.length; i++) {
			styles[i].disabled = (i != this.styleId - 1);
		}
		Cookie.set("style", this.styleId, {duration: 365});
	}, //changeStyle
	
	domReady: function() {
   	this.activateSpecializations(); 	// oferta na glownej
		this.activateInputs(); 				// opisuje inputy (input i textarea)
		this.activateRealizationPager(); 	// zmiana obrazkow przy szczegolach realizacji
		this.activateQuickQuestion(); // podpiecie formularza szybkiego zapytania
		this.activateDetailedQuestion(); // podpiecie formularza zapytania szczegolowego
		this.activateNewsletter(); // podpiecie formularza dopisania do newslettera
		this.activateBoxRealizationPager() // lewy box z lista realizacji
	}, // domReady

	insertFlash: function(path,txt1,txt2,txt3) {
		var version = deconcept.SWFObjectUtil.getPlayerVersion();
		if (document.getElementById && version["major"] < 9) {
		} else {
			var so = new SWFObject("flash/topPlayer.swf", "top_flash", "989", "217", "9", "#FF6600");
			so.addParam("scale", "noscale");
			so.addParam("wmode", "transparent");
			so.addVariable("path", path);
			so.addVariable("tekst1", txt1);
			so.addVariable("tekst2", txt2);
			so.addVariable("tekst3", txt3);
			so.write("flash_header");
		}	
	}, // insertFlash
	

	setValueFromTitle: function(form) {
		var elems = form.getElementsBySelector('input[type=text], textarea')
		elems.each(function(obj) {
				if (obj.getTag() == 'input'){
					obj.value = obj.title;
				}
				else {
					//obj.innerHTML = obj.title;
					obj.value = obj.title;
				}
		})
	},

	compareValueWithTitle: function(form) {
		var elems = form.getElementsBySelector('input[type=text], textarea')
		elems.each(function(obj) {
			if (obj.value == obj.title) {
				obj.value = '';
			}
		})
	},
	
	compareValueWithNull: function(form) {
		var elems = form.getElementsBySelector('input[type=text], textarea')
		elems.each(function(obj) {
			if (obj.getTag() == 'input'){
				if (obj.value == '') {
					obj.value = obj.title;
				}
			}
			else {
				if (obj.value == '') {
					obj.value = obj.title;
				}
			}
		})
	},
		
	loadRealizationsBox: function() {
		var box_realizacji = $('left_content_inner'); 
		if ($('realizations')) {
			var myAjax = new Ajax('ajax/loadRealizations' , {
				method: 'get',
				update: box_realizacji,
				onComplete: function(req){
								box_realizacji.setHTML(req);
								//E7Site.activateBoxRealizationPager();
							}
				}).request();
		}
	},
	
	sendQuickQuestion: function(quickQuestion) {
		$('szybkie_zapytanie_loader').setStyle('display','block');
		$('form-zapytanie-submit').setStyle('display','none');
		E7Site.compareValueWithTitle(quickQuestion);
		quickQuestion.action='ajax/quickQuestion';
		quickQuestion.readonly='readonly';
		quickQuestion.send({
			update: $('szybkie_zapytanie_status'),
			onComplete: function(req){
					$('szybkie_zapytanie_loader').setStyle('display','none');		
					quickQuestion.readonly='';
					if ( $('szybkie_zapytanie_status').innerHTML.indexOf('wyslaned') != -1 ) {
						E7Site.setValueFromTitle(quickQuestion);
					}
					else {
						E7Site.compareValueWithNull(quickQuestion);
					}
					$('form-zapytanie-submit').setStyle('display','block');
			}
		});
	},
	
	sendDetailedQuestion: function(detailedQuestion) {
		$('szczegolowe_zapytanie_loader').setStyle('display','block');
		$('form-zapytanieSzczegolowe-submit').setStyle('display','none');
		E7Site.compareValueWithTitle(detailedQuestion);
		detailedQuestion.action='ajax/detailedQuestion';
		detailedQuestion.readonly='readonly';
		detailedQuestion.send({
			update: $('szczegolowe_zapytanie_status'),
			onComplete: function(req){
					$('szczegolowe_zapytanie_loader').setStyle('display','none');
					detailedQuestion.readonly='';
						if ( $('szczegolowe_zapytanie_status').innerHTML.indexOf('wyslaned') != -1 ) {
							E7Site.setValueFromTitle(detailedQuestion);
						}
						else {
							E7Site.compareValueWithNull(detailedQuestion);
						}
							$('form-zapytanieSzczegolowe-submit').setStyle('display','block');
			}
		});
	},
	
	addToNewsletter: function(form_biuletyn,action) {
		$('biuletyn_button_add').setStyle('display','none');
		$('biuletyn_button_rem').setStyle('display','none');
		$('biuletyn_loader').setStyle('display','block');
		form_biuletyn.action='ajax/newsletter';
		form_biuletyn.readonly='readonly';
		form_biuletyn.send({
			update: $('biuletyn_status'),
			onComplete: function(req){
					
					form_biuletyn.readonly='';
					if ( $('biuletyn_status').innerHTML.indexOf('wyslaned') != -1 ) {
						E7Site.setValueFromTitle(form_biuletyn);
					}
					else {
						E7Site.compareValueWithNull(form_biuletyn);
					}
					$('biuletyn_button_add').setStyle('display','block');
					$('biuletyn_button_rem').setStyle('display','block');
					$('biuletyn_loader').setStyle('display','none');
			}
		});
	},

	activateNewsletter: function() {
		var biuletyn_button_add = $('biuletyn_button_add');
		var biuletyn_button_rem = $('biuletyn_button_rem');
		var form_biuletyn = $('form-biuletyn');
		
		if (form_biuletyn)
			form_biuletyn.onsubmit = function() {
				E7Site.addToNewsletter(this);
			}
		
		if (biuletyn_button_add)
			biuletyn_button_add.onclick = function() {
				$('biuletyn_add').value=1;
				$('biuletyn_loader').className='add';
				E7Site.addToNewsletter(form_biuletyn,'add');
				return false;
			}
		if (biuletyn_button_rem)
			biuletyn_button_rem.onclick = function() {
				$('biuletyn_add').value=0;
				$('biuletyn_loader').className='rem';
				E7Site.addToNewsletter(form_biuletyn,'rem');
				return false;
			}
	},
	
	activateQuickQuestion: function() {
		var quickQuestion = $('form-zapytanie');
		if (quickQuestion)
			quickQuestion.onsubmit = function() {
				E7Site.sendQuickQuestion(this);
				return false;
		}
	},

	activateDetailedQuestion: function() {
		var detailedQuestion = $('form-zapytanie-szczegolowe');
		if (detailedQuestion)
			detailedQuestion.onsubmit = function() {
				E7Site.sendDetailedQuestion(this);
				return false;
		}
	},

	activateBoxRealizationPager: function() {
		var pager = $('realizationBox_pager');
		if(pager) {
			var switches = $$('div#realizationBox_pager a');
			//ustawienia poczatkowe
			pager.style.width = (switches.length * ((window.ie6)?31:30)) + "px";
	
			for(var i = 0; i < switches.length; i++) {
					// ustawianie 'identyfikatorow' w relach
					if(switches[i].className == 'selected' && !isNaN(switches[i].innerHTML)) {
						E7Site.currentPage = parseInt(switches[i].innerHTML);
						var newTop = -((E7Site.currentPage - 1) * 450) - ((E7Site.currentPage>1)?1:0);
						$('realizations').style.top = newTop + 'px';
					}
					switch(switches[i].innerHTML) {
						case '&laquo;'	:
						case '«'		: switches[i].rel = 'prev'; break;
						case '&raquo;'	:
						case '»'		: switches[i].rel = 'next'; break;
						default			: switches[i].rel = (!isNaN(switches[i].innerHTML)) ? switches[i].innerHTML : '';
					}
					// onclicki
					switches[i].onfocus = switches[i].blur;
					switches[i].onclick = function() { E7Site.scrollRealization(this);	}
			}
		}
	}, //activateBoxRealizationPager
	
	scrollRealization: function(handle) {
		if(!E7Site.pagerBlocker) {
			var switches = $$('div#realizationBox_pager a');
			var realizationLayer = $('realizations');
			var newPage;
			//jako handle moze przyjsc uchwyt, prev lub next
			try { type = (typeof handle === 'object') ? handle.rel : handle; } catch (e) {}	
			// wybieranie nowego aktywnego
			switch(type) {
				case 'prev'	: if(E7Site.currentPage > 1) newPage = E7Site.currentPage - 1; else newPage = E7Site.currentPage; break;
				case 'next'	: if(E7Site.currentPage < switches.length - 2) newPage = E7Site.currentPage + 1; else newPage = E7Site.currentPage; break;
				default		: newPage = (!isNaN(parseInt(handle.rel))) ? parseInt(handle.rel) : 1;
			}
			// ustawianie aktywnego przycisku
			for(var i = 0; i < switches.length; i++) {
				switches[i].className = (switches[i].rel == newPage) ? 'selected' : '';
			}

			if(E7Site.currentPage != newPage) {
				var newTop = -((newPage - 1) * 450) - ((newPage>1)?1:0);
				if(window.webkit) { newTop -= (newPage > 1)? newPage * 10 : 0; }
				var fx = new Fx.Styles(realizationLayer, {onStart: function() {E7Site.pagerBlocker = true}, onComplete: function() {E7Site.pagerBlocker = false}, duration: 1000, wait: false, transition: Fx.Transitions.Quad.easeOut});
				fx.start({
					'top': newTop
				});
				E7Site.currentPage = newPage;
			}
		} // blocker	
	}, // scrollRealzation
	
	activateRealizationPager: function() {
		var pager = $('realization_pager');
		if(pager) {
			var switches = $$('div#realization_pager a');
			var images = $$('div.images a');
			//ustawienia poczatkowe
			pager.style.width = (switches.length * ((window.ie6)?31:30)) + "px";
			for(var i = 0; i < images.length; i++) {
				images[i].style.display = (i == 0) ? 'block' : 'none';
				images[i].onclick = function() { return hs.expand(this); };
				images[i].onfocus = images[i].blur;
			}
			var i = 0;
			while(switches[i].innerHTML != "1") i++;
				switches[i].className = "selected";
			//programowanie przyciskow
			for(var i = 0; i < switches.length; i++) {
					// ustawianie 'identyfukatorow' w relach
					switch(switches[i].innerHTML) {
						case '&laquo;'	:
						case '«'		: switches[i].rel = 'prev'; break;
						case '&raquo;'	:
						case '»'		: switches[i].rel = 'next'; break;
						default			: switches[i].rel = (!isNaN(switches[i].innerHTML)) ? switches[i].innerHTML : '';
					}
					// onclicki
					switches[i].onfocus = switches[i].blur;
					switches[i].onclick = function() { E7Site.switchGalleryImage(this);	}
			}
		}
	}, //activateRealizationPager
	
	switchGalleryImage: function(handle) {
			var switches = $$('div#realization_pager a');
			var images = $$('div.images a');
			var current_image, new_image, type;
			// sprawdzanie, ktory obrazek jest aktywny
			for(var i = 0; i < images.length; i++) {
				if(images[i].style.display == 'block') {
					current_image = i + 1;
					break;
				}
			}
			//jako handle moze przyjsc uchwyt, prev lub next
			try { type = (typeof handle === 'object') ? handle.rel : handle; } catch (e) {}	
			// wybieranie nowego aktywnego
			switch(type) {
				case 'prev'	: if(current_image > 1) new_image = current_image - 1; else if(this.loopGallery) new_image = images.length; else new_image = current_image; break;
				case 'next'	: if(current_image < images.length) new_image = current_image + 1; else if(this.loopGallery) new_image = 1; else new_image = current_image; break;
				default		: new_image = (!isNaN(parseInt(handle.rel))) ? parseInt(handle.rel) : 1;
			}
			// ustawianie aktywnego przycisku
			for(var i = 0; i < switches.length; i++) {
				switches[i].className = (switches[i].rel == new_image) ? 'selected' : '';
			}
			
			// ustawianie aktywnego obrazka
			for(var i = 0; i < images.length; i++) {
				images[i].style.display = (i+1 == new_image) ? 'block' : 'none';	
			}
	}, //switchGalleryImage
	
	activateInputs: function() {
		var inputs = $$('input[type=text], textarea, select');
		for(var i = 0; i < inputs.length; i++) {
			if(inputs[i].getTag() == 'select' && this.replaceSelects ) {
				if(inputs[i].options.length > 1) {
					//podmieniamy selecta na inputa z readonly
					var new_select = new Element('input', {'type': 'text', 'name': inputs[i].name, 'id': inputs[i].name, 'title': inputs[i].options[0].text, 'value': inputs[i].options[0].text, 'readonly': 'readonly'});
					var span = new Element('span'); //tworzymy strzaleczke
					var new_select_options = new Array(); // tablica z opcjami do wyboru
					var div_list = new Element('div', {'class': 'div_select'}); // div na opcje
					for(var j = 1; j < inputs[i].options.length; j++) {
						var a = new Element('a', {'rel': inputs[i].name});
						a.onclick = function() { 
							this.getParent().style.display = 'none';
							$(this.rel).value = this.innerHTML; 
						}
						if(window.ie6) {
							a.onmouseover = function() { this.className = 'hover'; }
							a.onmouseout = function() { this.className = ''; }
						}
						a.injectInside(div_list);
						a.setHTML(inputs[i].options[j].text);
					}
					span.onclick = function() { E7Site.openSelect(this); }
					new_select.onclick = function() { E7Site.openSelect(this); }
					div_list.injectAfter(inputs[i]);
					inputs[i].getParent().className = 'input_text new_select';
					inputs[i].replaceWith(new_select);
					span.injectBefore(new_select);
				}
			} else {
				inputs[i].title = inputs[i].value;
				inputs[i].onfocus = function() { if(this.value == this.title) this.value = ''; if(window.ie6) this.className = 'focus'; }
				inputs[i].onblur = function() { if(this.value == '') this.value = this.title; if(window.ie6) this.className = ''; }
			}
		} //activateInputs
	},

	openSelect: function(handle) {
	  
		if(E7Site.openedSelects) {
			E7Site.clearSelects();
			E7Site.openedSelects = false;
		} else {
			E7Site.openedSelects = true;
			E7Site.d = document;
			E7Site.d.onclick = function() {}
	
			var div;
	
			switch(handle.getTag()) {
				case 'input': div = handle.getNext(); break;
				case 'span' : div = handle.getNext().getNext(); break;
			}
	
			div.style.display = 'block';
			div.getParent().addClass('rolled');
			div.getPrevious().addClass('focus');
			function clear() {
				E7Site.d = document;
				E7Site.d.onclick = function() { E7Site.clearSelects(); }
			}
		
			setTimeout(clear, 10);
	  
		}
	}, //openSelect
	 
	clearSelects: function() {
		var divs = $$('div.div_select');
	
		for(var i = 0; i < divs.length; i++) {
			divs[i].style.display = 'none';
			divs[i].getParent().removeClass('rolled');
			divs[i].getPrevious().removeClass('focus');
			divs[i].getPrevious().blur();
		}
	
		E7Site.openedSelects = false;
		E7Site.d.onclick = function() {}
	}, //clearSelects



	activateSpecializations: function() {
		if($('specializations')) {
			var lis = $('specializations').getChildren();
			for(var i = 0; i < lis.length; i++) {
				lis[i].onclick = function() {
								var lis = $('specializations').getChildren();
								for(var i = 0; i < lis.length; i++) {
									if(lis[i] === this) lis[i].className = 'visible';
										else lis[i].className = '';
								}				
				}	
			}
		}
	}, // activateSpecializations
	
	showMail: function(user, domain, contry, attr) {
		var start = "<a href=\"mailto:" + user + "@" + domain + "." + contry + "\"" + attr + "title=\"" + user + "@" + domain + "." + contry + "\">";
		var end = "</a>";
		document.write(start + user + "@" + domain + "." + contry + end);
		return false;
	}, // showMail
	
	showMailButton: function(user, domain, contry, attr) {
		var start = "<a href=\"mailto:" + user + "@" + domain + "." + contry + "\"" + attr + ">";
		var end = "</a>";
		document.write(start + end);
		return false;
	}, // showMail
	
	openMap: function() {
		hs.htmlExpand($('map_link'), { objectType: 'iframe', src: 'public/mapa/mapa.phtml' } )
	}
});

var E7Site = new E7();
window.addEvent('domready', function(){ E7Site.domReady(); });