function menu(id) {
  if (document.getElementById(id).style.display=="none") {
    document.getElementById(id).style.display="inline";
  } else {
    document.getElementById(id).style.display="none";
  }
}

function okno(url, width, height) {
        var win = window.open(url,"okienko",'width=' + width + ',height=' + height + ',resizable=yes,scrollbars=yes,menubar=no' );
}


function FontSize(size, wyb) {
	document.getElementById("tresc_wew").style.fontSize = size;	
	document.getElementById("size1").style.color = "black";
	document.getElementById("size2").style.color = "black";
	document.getElementById("size3").style.color = "black";
	document.getElementById(wyb).style.color = "#FF6805";	
}

function okno(url) {  
        win = window.open(url);
  }
function wyszukiwarkaClick(ob)
{
	var tekst = $F(ob);
	$(ob).onfocus = function(){
		if(this.value == tekst) this.value = '';
	};

	$(ob).onblur = function(){
		if(this.value == '') this.value = tekst;
	};
}

var hsAutoExpander = function(link){
	if(link.href.match(/\.(jpe?g|png|gif)/i))
	{
		Element.addClassName(link,'highslide');
		Element.observe(link,'click',function(event){ hs.expand(link); event.stop()});
	}
}

document.observe('dom:loaded',function(){

	$$('a').each(hsAutoExpander);

});

function hsAlert(tekst)
{
	var d = new Element('div',{'class':'highslide-html-content'});
	document.body.appendChild(d);
	d.update('' + tekst + '<br /><br /><input type="button" name="zamknij" value="OK" onclick="hs.close(this)" style="padding:5px 20px;border:1px outset black" />');
	var a = new Element('a',{'href':'#','class':'highslide-html-content','style':'display:none;'});
	document.body.appendChild(a);
	hs.htmlExpand(a,{contentId: d.identify(), dimmingOpacity: 0.75});
}


function formZapytaj(f)
{
	f = $(f);
	f.pola = f.getElements();
	var focus = function(event,ob){
		if(clearif(ob)) ob.style.color = 'black';
	}
	
	var clearif = function(ob){
		if(ob.value == ob.defValue) 
		{
			ob.clear();
			return true;
		}
		return false;
	}
	
	var blur = function(event,ob){
		if(blurif(ob)) ob.style.color = ob.defColor;
	}
	
	var blurif = function(ob){
		if(ob.value.empty())
		{
			ob.value = ob.defValue;
			return true;
		}
	}
	
	var setDef = function(ob){
		ob.style.color = ob.defColor;
		ob.value = ob.defValue;
	}

	var pole = function(ob){
		if(ob.type != 'text' && ob.type != 'textarea') return;
		ob.defValue = ob.value;
		ob.defColor = ob.style.color;
		Element.observe(ob,'focus',focus.bindAsEventListener(this,ob));
		Element.observe(ob,'blur',blur.bindAsEventListener(this,ob));
	}
	
	var valid = function(){
		if(!f.nazwisko.present())
		{
			$('nazwisko_v').update('Wypełnij pole');
			return false;
		}
		
		if(!f.tel.present() && ! f.email.present())
		{
			$('tel_v').update('Podaj telefon lub e-mail');
			return false;
		}
				
		if(!f.zapytanie.present())
		{
			$('zapytanie_v').update('Wpisz treść zapytania');
			return false;
		}
		else
		{
			if(f.zapytanie.value.length < 10)
			{
				$('zapytanie_v').update('Za mało znaków');
				return false;
			}
			
			if(f.tel.value.length > 400)
			{
				$('zapytanie_v').update('Za dużo znaków');
				return false;
			}
		}
		
		
		if(f.tel.present())
		{
			var Exp = /^[0-9-\(\)) ]+$/;
			if(f.tel.value.length < 7)
			{
				$('tel_v').update('Za mało znaków');
				return false;
			}
			
			if(f.tel.value.length > 20)
			{
				$('tel_v').update('Za dużo znaków');
				return false;
			}
			
			if(!f.tel.value.match(Exp))
			{
				$('tel_v').update('Niepoprawny nr telefonu');
				return false;
			}
		}	

		
		if(f.email.present())
		{
			var Exp = /^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/;
			if(f.email.value.length < 4)
			{
				$('email_v').update('Za mało znakóhw');
				return false;
			}
			
			if(f.email.value.length > 50)
			{
				$('email_v').update('Za dużo znaków');
				return false;
			}
			
			if(!f.email.value.match(Exp))
			{
				$('email_v').update('Niepoprawny e-mail');
				return false;
			}
		}
		
		return true;
	}
	
	f.pola.each(pole);
	
	
	Element.observe(f,'submit',function(event){
		event.stop();
		
		f.pola.each(clearif); //wyczyść domyślne przed walidacją
		$('nazwisko_v').update('');
		$('tel_v').update('');
		$('email_v').update('');
		$('zapytanie_v').update('');
		if(valid())
		{
			preloaderAjax(f);
			new Ajax.Request(f.action,{
				postBody:f.serialize(),
				onSuccess: function(transport){
					hidePreloader();
					if(transport.responseText == 1) 
					{
						f.pola.each(setDef); //wyczyść pola
						hsAlert('<b>Twoje zapytanie zostało wysłane!</b><br />Wkrótce skontaktuje się z Tobą nasz konsultant.');
					}
					else hsAlert('<b>Nie udało się wysłać zapytania!</b><br />Przepraszamy i prosimy spróbować ponownie.');
				}
			});
		}
		else
		{
			f.pola.each(blurif); //ustaw z powrotem domyślne, jeżeli puste
		}
	
	});
	
}
function empty(elem, helperMsg){
	if(document.getElementById(elem).value.length == 0){		
		document.getElementById(elem).focus(); // set the focus to this input
		document.getElementById(elem + "v").innerHTML = helperMsg;
		return true;
	}
	document.getElementById(elem + "v").innerHTML = '';
	return false;
}

function emptyTwo(elem1, elem2, helperMsg){
	if(document.getElementById(elem1).value.length == 0 && document.getElementById(elem2).value.length == 0){
		document.getElementById(elem1 + "v").innerHTML = helperMsg;
		document.getElementById(elem1).focus(); // set the focus to this input
		return true;
	}
	document.getElementById(elem1 + "v").innerHTML = '';
	return false;
}

function lengthMinMax(elem, min, max){
	var uInput = document.getElementById(elem).value;
	if(uInput.length >= min && uInput.length <= max){
		document.getElementById(elem + "v").innerHTML = '';
		return true;
	}else{
		document.getElementById(elem + "v").innerHTML = "Pole powinno zawierać od " +min+ " do " +max+ " znaków.";
		document.getElementById(elem).focus();
		return false;
	}
}

function lengthMax(elem, max){
	var uInput = document.getElementById(elem).value;
	if(uInput.length <= max){
		document.getElementById(elem + "v").innerHTML = '';
		return true;
	}else{
		document.getElementById(elem + "v").innerHTML = "Pole powinno zawierać maksymalnie do " +max+ " znaków.";
		document.getElementById(elem).focus();
		return false;
	}
}

function emailValidator(elem, helperMsg){
	var Input = document.getElementById(elem).value;
	if(Input.length > 0) //jesliwypelnione pole mail to wtedy sprawdzamy
	{
		var Exp = /^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/;
		if(document.getElementById(elem).value.match(Exp)){
			document.getElementById(elem + "v").innerHTML = '';
			return true;
		}else{
			document.getElementById(elem + "v").innerHTML = helperMsg;
			document.getElementById(elem).focus();
			return false;
		}
	}return true;
}

function telValidator(elem, helperMsg){
	var Input = document.getElementById(elem).value;
	if(Input.length > 0) //jesliwypelnione pole mail to wtedy sprawdzamy
	{
		var Exp = /^\+?[0-9- ]+$/;
		if(document.getElementById(elem).value.match(Exp)){
			document.getElementById(elem + "v").innerHTML = '';
			return true;
		}else{
			document.getElementById(elem + "v").innerHTML = helperMsg;
			document.getElementById(elem).focus();
			return false;
		}
	}return true;
}



function isNumeric(elem, helperMsg, idMsg){
	var numericExpression = /^[0-9]+$/;
	if(document.getElementById(elem).value.match(numericExpression)){
		return true;
	}else{
		document.getElementById(idMsg).innerHTML = helperMsg;
		document.getElementById(elem).focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg, idMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(document.getElementById(elem).value.match(alphaExp)){
		return true;
	}else{
		document.getElementById(idMsg).innerHTML = helperMsg;
		document.getElementById(elem).focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg, idMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(document.getElementById(elem).value.match(alphaExp)){
		return true;
	}else{
		document.getElementById(idMsg).innerHTML = helperMsg;
		document.getElementById(elem).focus();
		return false;
	}
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = false; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

function selecty(ob)
{
	
	ob = $(ob);
	
	var cont = new Element('span');
	var inputh = new Element('input',{'type':'hidden','name':ob.name});
	var input = new Element('input',{'type':'text','readonly':'readonly'});
	var lista = new Element('ul');
	
	inputh.onchange = Object.isFunction(ob.onchange) ? ob.onchange : function(){};
	
	
	var focusInput = function(event){
		lista.show();
	}	
	
	var blurInput = function(event){
		lista.hide();
	}	
	
	var clickInput = function(event){
		lista.toggle();
	}
	
	var clickLi = function(event,ob){
		input.value = ob.innerHTML;
	
		inputh.value = ob.wart;
		
		inputh.onchange();
		
		lista.hide();
	}	
	
	
	var option2li = function(ob)
	{
	
		var li = new Element('li');
		li.wart = ob.value;
		li.update(ob.text);
		lista.appendChild(li);
		Element.observe(li,'click',clickLi.bindAsEventListener(this,li));
		
	}
	
	$A(ob.options).each(option2li);
	
	cont.addClassName('selecty');
	input.clonePosition(ob,{setLeft:false,setTop:false,setHeight:false});
	input.value = ob.options[ob.selectedIndex].text;
	inputh.value = ob.value;
	cont.appendChild(input);
	cont.appendChild(inputh);
	cont.appendChild(lista);
	cont.style.height = input.getHeight() + 'px';
	lista.hide();
	ob.replace(cont);
	
	
	Element.observe(input,'click',clickInput.bindAsEventListener(this));
	Element.observe(lista,'mouseover',focusInput.bindAsEventListener(this));
	Element.observe(lista,'mouseout',blurInput.bindAsEventListener(this));
}

if((getInternetExplorerVersion() || 8) > 7) document.observe('dom:loaded',function(){$A($$('select')).each(selecty);});
