function zmien(id) {
	document.getElementById(id).style.display=(document.getElementById(id).style.display=='block')?'none':'block';
}
function zmien2(id) {
	document.getElementById(id).style.display=(document.getElementById(id).style.display=='none')?'block':'none';
}

function ukryj(id){
	document.getElementById(id).style.display='none';
}

function pokaz(id){
	document.getElementById(id).style.display='block';
}

function warstwy_menu(id) {
	var d = document.getElementById(id);
	
	if(!d){
		for (var i = 1; i<=20; i++) {
			if (document.getElementById('smenu'+i)) {
				document.getElementById('smenu'+i).style.display='none';
			}
		}
	}
	
	if (d) {
		d.style.display='block';
	}
}

function go2URL(address)
{
  var elFrame = document.getElementById('doiFrame');
  elFrame.src = address;
}
function newWindow(address)
{
	var maxW = screen.width;
	var maxH = screen.height;
	var w = 800;
	var h = 600;
	var _top = Math.floor((maxH - h) / 2);
	var _left = Math.floor((maxW - w) / 2);
	
	var win = window.open(address,'doiW',"toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width="+w+",height="+h);
	win.moveTo(_left,_top);
	win.focus();
}

function szerokosc_okna(co){
		if (self.innerWidth){
			frameWidth = self.innerWidth;
		}
		else if (document.documentElement && document.documentElement.clientWidth) {
			frameWidth = document.documentElement.clientWidth;
		}
		else if (document.body){
			frameWidth = document.body.clientWidth;
		}
		else return;
		
		var szer_final;

		if(co == 'okno'){
			if(frameWidth > 966){
				szer_final = '980';
			}
			else{
				szer_final = '100%';
			}			
		}
		else if(co == 'szpalta'){
			if(frameWidth > 880){
				szer_final = '50%';
			}
			else{
				szer_final = '100%';
			}		
		}
		
		//alert(frameWidth);
		//alert(co);
		//alert(szer_final);
		
		return szer_final;
}

function jaka_szerokosc(){
		if (self.innerWidth){
			frameWidth = self.innerWidth;
		}
		else if (document.documentElement && document.documentElement.clientWidth) {
			frameWidth = document.documentElement.clientWidth;
		}
		else if (document.body){
			frameWidth = document.body.clientWidth;
		}
		else{
			frameWidth = 1000;
		}

		return frameWidth;
}

function openNonscrolledWindow(theURL,winName,myWidth, myHeight, isCenter) { 
  if(window.screen)
	if(isCenter)
		if(isCenter=="true")
		{	var myLeft = (screen.width-myWidth)/2;
    			var myTop = (screen.height-myHeight)/2;
		window.open(theURL,winName,'location=0,directories=0,scrollbars=no,toolbar=0,menubar=0,resizable=0,status=0,width='+myWidth+',height='+myHeight+',left=' + myLeft+ ',top=' + myTop)
  }																		  
}

function openscrolledWindow(theURL,winName,myWidth, myHeight, isCenter) { 
  if(window.screen)
	if(isCenter)
		if(isCenter=="true")
		{	var myLeft = (screen.width-myWidth)/2;
    			var myTop = (screen.height-myHeight)/2;
		window.open(theURL,winName,'location=0,directories=0,scrollbars=yes,toolbar=0,menubar=0,resizable=1,status=0,width='+myWidth+',height='+myHeight+',left=' + myLeft+ ',top=' + myTop)
  }																		  
}

function wyniki_ankiety(theURL, winName, myWidth, myHeight) { 
	window.open(theURL,winName,'location=0,directories=0,scrollbars=yes,toolbar=0,menubar=0,resizable=1,status=0,width='+myWidth+',height='+myHeight+',left=200 ,top=100')
}

function bookmarkit(){
	if (document.all){	
		window.external.addFavorite('http://www.transazja.pl','transAzja.pl - wszystko o Azji');
	}

}

function checkCheckPP(f){
	if (f.prod.checked == false ) {
		alert('Musisz zgodzić się z Polityką Prywatności.');
		return false;
	}
	if (f.biuletyn.checked == false ) {
		return confirm('Czy świadomie nie została zaznaczona opcja zgłoszenia chęci otrzymywania transAzja Biuletynu?');
	}	
}


function ankieta_sprawdz_form(the_form, nazwa_pola, i){

	for(a=0; a<i; a++){
		if (document.forms[the_form].elements[nazwa_pola][a].checked == true ) {
			return true;
		}
	}

	alert('sonda transAzja.pl: Nie wybrano opcji');
	return false;
}

function sprawdz_dodaj_usera_form(f){
	if(f.login.value == "" && f.email.value == "")	{
		alert("Przynajmniej jedno pole musi zostać wypełnione.");
		return false;
	}	
	
	re2 = new RegExp(/^[a-zA-Z0-9 _*-]{3,}$/); 
	if (f.login.value != "" && re2.test(f.login.value,re2) == false ) {
		alert('Szakana nazwa musi zawierać przynajmniej 3 znaki');
		return false;	
	}	
}

function checkMapAreaForm(f){
	if(f.mapPlace.value == "")	{
		alert("Proszę wpisać nazwę szukanego obiektu");
		return false;
	}	
	ukryj('searchOnMap')
}


function biuletyn_check(){
	if (document.formularz.biuletyn.checked == true ) {
		if(confirm('Czy jesteś zdecydowany zrezygnować z otrzymywania transAzja Biuletyn?')){
			document.formularz.biuletyn.checked = false;
		} 
		else{
			document.formularz.biuletyn.checked = true;
		}
	}	
}


function zaznAll(the_form, nazwa_pola, akcja) {
	for (var i=0; i<document.forms[the_form].elements[nazwa_pola].length; i++)  {
		document.forms[the_form].elements[nazwa_pola][i].checked = akcja;			
	}
}

function openpopup(){
	winpops=window.open(popurl,"popup","width=450,height=180,screenX=150,screenY=150,top=150,left=150")
}

function get_cookie(Name) {
//this function is used only if variable "poponce" above is set to "true"
 var search = Name + "="
 var returnvalue = "";
 if (document.cookie.length > 0) {
   offset = document.cookie.indexOf(search)
   if (offset != -1) { // if cookie exists
     offset += search.length
     // set index of beginning of value
     end = document.cookie.indexOf(";", offset);
     // set index of end of cookie value
     if (end == -1)
        end = document.cookie.length;
     returnvalue=unescape(document.cookie.substring(offset, end))
     }
  }
 return returnvalue;
}

function loadpopup(){
 if (status=="true") { // if popups turned on
  if (get_cookie('alreadypopped')==''){ // and cookie not set
   openpopup() // then show popup
   if (poponce=="true") { // if popup once only required
     document.cookie="alreadypopped=yes" // then set a cookie
     }
   }
  // cookie is already set; so do nothing
 }
}

function load_toplayer(){
 if (status=="true") { // if popups turned on
  if (get_cookie('alreadypopped')==''){ // and cookie not set
  
   open_toplayer()
  
   if (poponce=="true") { // if popup once only required
     document.cookie="alreadypopped=yes" // then set a cookie
     }
   }
  // cookie is already set; so do nothing
 }
}

function open_toplayer(){
	var myWidth = 220;
	var myHeight = 315;
	var myLeft = ((screen.width-myWidth)/2)-70;
    //var myTop = ((screen.height-myHeight)/2)-170;
	var myTop = 240;

	
	document.write('<div id="toplayer" style="display:none; position:absolute; left:'+myLeft+'px; top:'+myTop+'px; width:'+myWidth+'px; height:'+myHeight+'px; z-index:20;"><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="400" HEIGHT="250" id="toplayer_nominacja" ALIGN=""> <PARAM NAME=movie VALUE="images/reklamy/toplayer_nominacja.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=wmode VALUE=transparent> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="images/reklamy/toplayer_nominacja.swf" quality=high wmode=transparent bgcolor=#FFFFFF  WIDTH="400" HEIGHT="250" NAME="toplayer_nominacja" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT></div>');
	setTimeout("pokaz_toplayer()",6000);	 	
}

function pokaz_toplayer(){
	document.getElementById("toplayer").style.display='block';
}

function zamknij_reklame(id){
	document.getElementById(id).style.display='none';
}


/* Funkcje związane z weryfikacją poprawności formualrza */

function formValidator(){
	
	// tablica do przechowywania wiadomości o błędach
	this.errorList = new Array;
 	this.errorFieldList =  new Array;
	this.NormalFieldList = new Array
	
	// metody obiektu
	this.isEmpty = isEmpty;	
	this.isMinLength = isMinLength;
	this.isNumber = isNumber;	
	this.isAlphabetic = isAlphabetic;	
	this.isAlphaNumeric = isAlphaNumeric;	
	this.isWithinRange = isWithinRange;	
	this.isEmailAddress = isEmailAddress;	
	this.isChecked = isChecked;	
	this.isDate = isDate;	
	this.isDatetime = isDatetime;
		 
	this.raiseError = raiseError;	
	this.raiseInput = raiseInput;
	this.raiseNormalInput = raiseNormalInput
	this.numErrors = numErrors;	
	this.displayErrors = displayErrors;	
	this.markInputs = markInputs;	
	this.remarkInputs = remarkInputs;	

}
 
// sprawdza, czy podana wartość jest pusta, lub zawiera tylko białe znaki
function isEmpty(val){
	if (val.match(/^s+$/) || val == "")	{
		return true;
	}
	else {
		return false;
	}	
}
 
// sprawdza, czy podana wartosc zawiera minimum określoną liczbę znaków
function isMinLength(val, min){
	if (val.length < min){
		return true;
	}
	else{
		return false;
	}	
} 
 
// sprawdza, czy podana wartosc jest liczbą
function isNumber(val){
	if (val.match(/^s+$/) || val == "")	{
		return true;
	}
	else if ( isNaN(val) ){
		return true;
	}
	else{
		return false;
	}	
}
 
// sprawdza, czy wszystkie znaki są literami
function isAlphabetic(val){
	if (val.match(/^[a-zA-Z.-_]+$/)){
		return true;
	}
	else{
		return false;
	}	
}
 
// sprawdza, czy przesłane dane zawierają tylko litery i cyfry
function isAlphaNumeric(val){
	if (val.match(/^[a-zA-Z0-9]+$/)){
		return true;
	}
	else{
		return false;
	}	
}

// sprawdza, czy przesłane dane zawierają format daty
function isDate(val){
	
	var validformat=/^\d{4}-\d{2}-\d{2}$/
	if (validformat.test(val)){
		return false;
	}
	else{
		return true;
	}
	
}
 
// sprawdza, czy przesłane dane zawierają format daty i czasu
function isDatetime(val){

	var validformat=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/
	if (validformat.test(val)){
		return false;
	}
	else{
		return true;
	}
	
} 
 
// sprawdza, czy podana wartość mieści się w zakresie określonym przez zmienne min i max
function isWithinRange(val, min, max){
	if (val >= min && val <= max){
		return true;
	}
	else{
		return false;
	}	
}
 
// sprawdza, czy użytkownik wprowadził poprawny adres email
function isEmailAddress(val){
	if (val.match(/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/)){
		return true;
	}
	else{
		return false;
	}	
}
 
// sprawdza, czy pole jest zaznaczone
function isChecked(obj){
	if (obj.checked){
		return true;
	}
	else{
		return false;
	}	
}
 
// wyświetla wszystkie błędy
// pętla przez wszystkie elementy tablicy wywołująca poszczególne okna dialogowe
function displayErrors(){
	var msg = '';
	for (x=0; x<this.errorList.length; x++)	{
		//alert("Error: " + this.errorList[x]);
		msg += "Błąd: " + this.errorList[x]+"\n";
	}
	if( msg != "" ){
		var txt = "";
		txt += "-----------------------\n";
		txt += msg;	
		txt += "-----------------------\n";
		alert(txt);
		
	
	}
}

// zazancza wszystkie pola które zostały źle wypełnione  
function markInputs(){
	for (x=0; x<this.errorFieldList.length; x++)	{
		var obj = document.getElementById(this.errorFieldList[x][0]);
		obj.className = this.errorFieldList[x][1];
	}
}

// odznacza wszystkie pola które zostały źle wypełnione przy poprzednim sprawdzaniu
function remarkInputs(){
	for (x=0; x<this.NormalFieldList.length; x++)	{
		var obj = document.getElementById(this.NormalFieldList[x][0]);
		obj.className = this.NormalFieldList[x][1];
	}	
} 
 
// dodaje błąd do listy
function raiseError(msg){
	this.errorList[this.errorList.length] = msg;
}
 
 // dodaje pole do listy
function raiseInput(id, class_error){
	this.errorFieldList[this.errorFieldList.length] = new Array(id, class_error);
}

// dodaje pole do listy wszystkich inputow 
function raiseNormalInput(id, class_normal){
	this.NormalFieldList[this.NormalFieldList.length] = new Array(id, class_normal);
}
 
// zwraca ilość błędów w tablicy
function numErrors(){
	return this.errorList.length;
}

/* Funkcja sprawdza poprawnoć wypełnionego formularza rejestracji */

function sprawdzOfertaForm(f){
	
	fv = new formValidator();
	
	fv.raiseNormalInput("input_12", 'inputText');
	fv.raiseNormalInput("input_122", 'inputText');
	fv.raiseNormalInput("input_13", 'inputText');
	fv.raiseNormalInput("input_14", 'inputText');
	fv.raiseNormalInput("input_15", 'inputText');
	fv.raiseNormalInput("input_16", 'inputText');
							
	if( !fv.isEmailAddress(f.input_12.value) ){
		fv.raiseError("nie podano adresu e-mail lub podano go błędnie");
		fv.raiseInput("input_12", 'inputText_error');
	}
	
	if( f.input_12.value != f.input_122.value ){
		fv.raiseError("podane adresy e-mail różnią się od siebie");
		fv.raiseInput("input_122", 'inputText_error');
		fv.raiseInput("input_12", 'inputText_error');
	}		
		
	if( fv.isEmpty(f.input_13.value) ){
		fv.raiseError("nie wpisano nazwy docelowego miasta");
		fv.raiseInput("input_13", 'inputText_error');
	}
		
	if( fv.isEmpty(f.input_14.value) ){
		fv.raiseError("nie wpisano orientacyjnej daty wylotu");
		fv.raiseInput("input_14", 'inputText_error');
	}
		
	if( fv.isEmpty(f.input_15.value) ){
		fv.raiseError("nie wpisano orientacyjnej daty powrotu");
		fv.raiseInput("input_15", 'inputText_error');
	}
		
	if( fv.isEmpty(f.input_16.value) ){
		fv.raiseError("nie podano liczby pasażerów");
		fv.raiseInput("input_16", 'inputText_error');
	}
		
		
	if (fv.numErrors() > 0)	{
		fv.displayErrors();
		fv.remarkInputs();
		fv.markInputs();
		return false;
	}
	else {
		
		if( fv.isChecked(f.wiza) ){
			alert('po wysłaniu zapytania zostaniesz przekierowany na stronę z informacjami wizowymi');
		}
	
		f.submit();
		return true;
	}
	
}

/* Funkcja sprawdza poprawnoć wypełnionego formularza posrednictwa wizowego */

function sprawdzWizaForm(f){
	
	fv = new formValidator();
	
	fv.raiseNormalInput("termin_wyjazdu", 'inputText');
	fv.raiseNormalInput("liczba_osob", 'inputText');
	fv.raiseNormalInput("nazwisko", 'inputText');
	fv.raiseNormalInput("email", 'inputText');
	fv.raiseNormalInput("email2", 'inputText');
	fv.raiseNormalInput("destynacja", 'inputText');

	if( fv.isEmpty(f.destynacja.value) ){
		fv.raiseError("nie wpisano kraju docelowego");
		fv.raiseInput("destynacja", 'inputText_error');
	}				
	
	if( fv.isEmpty(f.liczba_osob.value) ){
		fv.raiseError("nie wpisano liczby osób");
		fv.raiseInput("liczba_osob", 'inputText_error');
	}			
	
	if( fv.isEmpty(f.termin_wyjazdu.value) ){
		fv.raiseError("nie wpisano terminu wyjazdu");
		fv.raiseInput("termin_wyjazdu", 'inputText_error');
	}				
					
	if( fv.isEmpty(f.nazwisko.value) ){
		fv.raiseError("nie wpisano imienia i nazwiska");
		fv.raiseInput("nazwisko", 'inputText_error');
	}									
							
	if( !fv.isEmailAddress(f.email.value) ){
		fv.raiseError("nie podano adresu e-mail lub podano go błędnie");
		fv.raiseInput("email", 'inputText_error');
	}
	
	if( f.email.value != f.email2.value ){
		fv.raiseError("podane adresy e-mail różnią się od siebie");
		fv.raiseInput("email", 'inputText_error');
		fv.raiseInput("email2", 'inputText_error');
	}		
		
	if (fv.numErrors() > 0)	{
		fv.displayErrors();
		fv.remarkInputs();
		fv.markInputs();
		return false;
	}
	else {
		f.submit();
		return true;
	}
	
}

/* Funkcja sprawdza poprawnoć wypełnionego formularza kontaktowego */

function sprawdzKontaktForm(f){
	
	fv = new formValidator();
	
	fv.raiseNormalInput("nazwisko", 'inputText');
	fv.raiseNormalInput("email", 'inputText');
	fv.raiseNormalInput("email2", 'inputText');
					
	if( fv.isEmpty(f.nazwisko.value) ){
		fv.raiseError("nie wpisano imienia i nazwiska");
		fv.raiseInput("nazwisko", 'inputText_error');
	}									
							
	if( !fv.isEmailAddress(f.email.value) ){
		fv.raiseError("nie podano adresu e-mail lub podano go błędnie");
		fv.raiseInput("email", 'inputText_error');
	}
	
	if( f.email.value != f.email2.value ){
		fv.raiseError("podane adresy e-mail różnią się od siebie");
		fv.raiseInput("email", 'inputText_error');
		fv.raiseInput("email2", 'inputText_error');
	}		
		
	if (fv.numErrors() > 0)	{
		fv.displayErrors();
		fv.remarkInputs();
		fv.markInputs();
		return false;
	}
	else {
		f.submit();
		return true;
	}
	
}

function bilety_lotnicze(destynacja, art_ID){
	if( destynacja != "" ){
		document.getElementById('input_13').value = destynacja;
	}
	if( art_ID != "none" ){
		document.getElementById('wiza').value = art_ID;
		pokaz('wizaBlock');
	}
	else{
		document.getElementById('wiza').value = "none";
		ukryj('wizaBlock');
	}
}