/**
 * Plik stworzony dnia 2008-04-05
 * 
 * Projekt: e-CMS
 * Plik: formularz.php
 * 
 * Prawa autorskie: E-Line Systemy Internetowe, Tadeusz Kozłowski
 *                  http://www.e-line.pl
 * @autor Ireneusz Wysocki
 */

var $jq=jQuery.noConflict();	// Niezbedne dla koegzystencji Lightboxa z jQuery (wlaczanymi w tej wlasnie kolejnosci!)
 
/**
 * Wysłanie formularza zmieniającego wielkość czcionek na stronie (bez przeladowania strony)
 * @author Ireneusz Wysocki
 */
function zmienWielkoscCzcionekJQ(_wlk){
	$jq('link#fontscss').each(function(i){
		if(this.getAttribute('rel') == 'stylesheet'){
			var _href=this.href;
			_href=_href.replace(/fonts\d?\.css/, 'fonts'+_wlk+'.css');
			this.href=_href;
		}
	});
	// atrybut 'action' w formularzu niekonieczny ("przeladuje" strone w tle)
	var _f=document.zmianaWielkosciCzcionek;
	if(_f){
		_f.zwc_w.value=_wlk;
		$jq('#zmianaWielkosciCzcionek').ajaxSubmit();
	}
	
	return false;
}

/**
 * Wysłanie formularza zmieniającego wielkość czcionek na stronie (z przeladowaniem strony)
 * @author Ireneusz Wysocki
 */
function zmienWielkoscCzcionek(_wlk){
	// atrybut 'action' w formularzu niekonieczny (przeladuje strone)
	var _f=document.zmianaWielkosciCzcionek;
	if(_f){
		_f.zwc_w.value=_wlk;
		_f.submit();
	}
	
	return false;
}

/**
 * Wysłanie formularza włączającego/wyłączającego filtr czarnobiały na stronie (bez przeladowania strony)
 * @author Ireneusz Wysocki
 */
function zmienFiltrBWJQ(){
	var _bw=0;
	$jq('link#filtercss').each(function(i){
		if(this.getAttribute('rel') == 'stylesheet'){
			var _href=this.href;
			if(_href.search(/filter0\.css/) >= 0) _bw=1;
			_href=_href.replace(/filter\d?\.css/, 'filter'+_bw+'.css');
			this.href=_href;
		}
	});
	// atrybut 'action' w formularzu niekonieczny ("przeladuje" strone w tle)
	var _f=document.zmianaWielkosciCzcionek;
	if(_f){
		_f.filtr_bw.value=_bw;
		$jq('#zmianaWielkosciCzcionek').ajaxSubmit();
	}
	
	return false;
}

/**
 * Resetowanie formularza (np. kontaktowego)
 * @author Ireneusz Wysocki
 */
function resetujFormularz(_nazwa){
	$jq('form#'+_nazwa).resetForm();
}

/**
 * Walidacja formularza (np. kontaktowego) po stronie klienta dla wygody użytkownika
 * @author Ireneusz Wysocki
 */
function walidujFormularz(_nazwa, _adresat){
	var _return=true;
	$jq('form#'+_nazwa+' :input').each(function(i){
		if(this.value == ''){
			if(_adresat) alert('Wszystkie pola formularza muszą być wypełnione, a adresat prawidłowo wybrany.');
			else alert('Wszystkie pola formularza muszą być wypełnione.');
			this.focus();
			_return=false;	// Zwrocenie wlasciwej wartosc
			return false;	// Zatrzymanie petli each()
		}
		else if((this.name == 'kontakt[pole_email]') || (this.name == 'polec[pole_email_do]') || (this.name == 'polec[pole_email_od]') || (this.name == 'biuletyn[pole_email]')){
			var reg=/^\w+([\-\.]\w+)*\@\w+((\-\w+)*\.\w+)+$/;
			if(!reg.test(this.value)){
	    		alert("Format adresu e-mail jest nieprawidłowy.");
	    		this.focus();
	    		_return=false;
				return false;
			}
		}
	});
	
	return _return;
}

/**
 * Wysyłka formularza (np. kontaktowego) z wcześniejszą walidacją
 * @author Ireneusz Wysocki
 */
function wyslijWalidowanyFormularz(_nazwa, _adresat){
	if(walidujFormularz(_nazwa, _adresat)) $jq('form#'+_nazwa).submit();
}


/**
 * Wysyłka emila przy pomocy domyślnego klienta poczty z wcześniejszym dekodowaniem adresu.
 * Ciała funkcji JS są dostępne dla spamerów, więc nie dają 100% gwarancji, ale im mniej czytelne, tym lepiej - niech się chociaż szkodnik pomęczy.
 * @author Ireneusz Wysocki
 */
function dekodujAdres(_obj, _sep, _pre, _post){
	if(_obj){
		var _emil=_obj.href.substr(7);
		var _emil2='';
		_sep=_sep.split('').reverse().join('');
		_pre=_pre.substr(_sep.length);
		eval('_pre=String.fromCharCode('+_pre.split(_sep).join()+');');
		_post=_post.substr(_sep.length);
		eval('_post=String.fromCharCode('+_post.split(_sep).join()+');');
		_emil=_emil.substr(_sep.length);
		eval('_emil=String.fromCharCode('+_emil.split(_sep).join()+');');
		_emil2=_emil.substr(_emil.lastIndexOf('.'));
		_emil=_emil.substr(0, _emil.lastIndexOf('.'));
		_emil=_pre.replace('[0-9]', '7')+_emil+_post.replace('[a-z]', 'x');
		_emil=_emil.replace(eval('/'+_pre+'(.)'+_post+'/g'), '$1');
		location.href='mailto:'+_emil+_emil2;
		return false;
	}
	return true;
}


/**
 * Pokazanie / ukrycie wyszukiwarki zaawansowanej
 *
 */
function ukryjOpcjeWyszukiwania() {
	$jq('#searchBoxFull .searchParameters').slideToggle(300);
}


/**
 * Otwiera adres w wyśrodkowanym okienku o zadanym rozmiarze i bez zbędnych elementów okienka 
 * @author Ireneusz Wysocki
 */
function showInPopUp(_url, _win, _w, _h, _debug){
	var winname = 'eCMS_'+_win;
	_url=_url.replace('#', '%23');	// bugfix for '#' in url
	var showIPU=window.open(_url, winname, "width="+_w+", height="+_h+", top="+(screen.height-_h)/2+", left="+(screen.width-_w)/2+", status="+_debug+", toolbar=0, menu=0, location="+_debug+", resizable=1, scrollbars=1, dependent=1, alwaysRaised=1");
// 	var showIPU=window.open(_url, winname, "width="+screen.width+", height="+screen.height+", top=0, left=0, status="+_debug+", toolbar=0, menu=0, location="+_debug+", resizable=1, scrollbars=1, fullscreen=1");
// 	showIPU.moveTo(-4, -30);	// modification
	showIPU.focus();
	return false;
}

/**
 * Zamyka wcześniej otwarte okienko po zadanej liczbie sekund 
 * @author Ireneusz Wysocki
 */
function closePopUp(_s){
	_s=parseInt(_s, 10)*1000;
	setTimeout('window.close()', _s);
}

/**
 * Dodaje aktualną stronę do ulubionych (z opcjonalnym tytułem)
 * @author Ireneusz Wysocki
 */
function dodajDoUlubionych(_txt){
	if(document.all){
		if(_txt.length) window.external.addFavorite(location.href, _txt);
		else window.external.addFavorite(location.href, document.title);
	}
	else if(window.sidebar){
		if(_txt.length) window.sidebar.addPanel(_txt, location.href, '');
		else window.sidebar.addPanel(document.title, location.href, '');
	}
	else alert('Dodaj nas do ulubionych!'+"\n"+'Ctrl+D');
}

/**
 * Podmienia miniatury obrazków w galerii na zasadzie identyfikatora w zgodzie z Lightboxem
 * @author Ireneusz Wysocki
 */
function showGalleryPreview(_idg, _nrgp){
    var _href='';
    var _title='';
	var _gp='g'+_idg+'gp';
	$jq('a#'+_gp+_nrgp).each(function(i){
		_href=this.href;
		_title=this.title;
	});

	$jq('a#'+_gp).each(function(i){
		this.href=_href;
		this.title=_title;
		$jq(this).find('img').each(function(i){
			_href=_href+'&wer=maly';	// Tu nie moze byc '&amp;' zamiast '&' jak nakazuje standard XHTML, bo parametr jest ignorowany!
			this.src=_href;
			this.alt=_title;
		});
	});
	
	gallery[_idg]=_nrgp;
}

/**
 * Podmienia miniatury obrazków w galerii na zasadzie przewijania o 1 sztuke
 * @author Ireneusz Wysocki
 */
function rollGalleryPreview(_idg, _dir, _max){
	var _last=gallery[_idg];
	_last+=_dir;
	if(_last>_max) _last=_max;
	else if(_last<0) _last=0;
	showGalleryPreview(_idg, _last);
}

/**
 * Wysłanie formularza zgłoszeniowego (zapisanie/wypisanie) do biuletynu
 * @author Ireneusz Wysocki
 */
function zgloszenieDoBiuletynu(_txt){
	var _f=document.newsletterForm;
	if(_f){
		_f.wykonaj.value=_txt;
//		_f.submit();
	}
	
//	return false;
}

