/**
* funkcja, do ładowania innych funkcji
* wywołana w body onload 
* author: Marek Ryk
*/
function loadJS(){
	//loadImageWM(); # konkurs witryna miesiąca
	try{	
	    rotator= new rotater('rframes');
	}catch(e){
		//alert('I cant load rotater '+e);
	}
	rotator.startLoop();
	//searchEmailInfo();
}

/**
* Zlicza znaki wpisane w textarea i blokuje wpisywanie kolejnych, 
* gdy długość tekstu jest większa od zadeklarowaniej w parametrze max.
* EXAMPLE: <textarea onkeyup="checkTextArea(this,'wynik1',10,false)"></textarea> 
* author: Marek Ryk
*/
function checkTextArea(area,wynik,max,showMessage){
	if ( typeof(showMessage) == 'undefined' ) {var showMessage = true};
	wynik = document.getElementById(wynik);
	var wpisano = area.value.length;
	var pozostalo = 0;
	/* zliczam ilosc "enterow" w tekscie */
	var flaga = 0;
	var ilosc = 0;
	while (flaga!=-1){ /* jesli nie ma już "enterów" indexOf zwróci "-1", jesli znajdzie zwraca index wyst±pienia */
		flaga = area.value.indexOf("\n",flaga); // sprawdzam wpisany tekst, szukam od flaga
		if (flaga !=-1){ // jesli znalazłem "enter" ...
			ilosc++; // ilosć "enterów"
			flaga++; // zwiększam index i szukam dalej od flaga
		}
	}
	var pozostalo = max - wpisano;
	if (navigator.appName == "Netscape"){
		pozostalo = pozostalo-ilosc; // Netscape liczy \n tylko jako jeden znak, więc koryguję jego obliczenia
		wpisano = wpisano+ilosc;
	}
	wynik.value = pozostalo; // wyswietlam informację o tym, ile jeszcze można wpisać znaków w pole textarea
	if (wpisano > max){
		wynik.value = 0;
		if (showMessage == true) alert("Wpisany tekst jest za długi. Możesz wpisać maksymalnie "+max+" znaków!");
		area.value = area.value.substring(0,max);
	}
}


/**
* Sprawdza czy formularz został cały wypełniony
* author: Marek Ryk
*/
function checkAllForm(formularz){
	var flaga = 0;
	for (i = 0; i < formularz.length; i++){
		var pole = formularz.elements[i];
		if ((pole.type == "text" || pole.type == "password" || pole.type == "textarea") && pole.value == ""){
			alert("Proszę wypełnić wszystkie pola!");
			return false;
		}
			   
		/* jeśli znajdzie chodź jedno zaznoczoe pole to kończy sprawdzanie - return true */
		if (pole.type == "checkbox"){
			var box = 1; // zaznacza, że w formularzu są pola typu checkbox
			if (pole.checked){
				flaga++;
				return true;
			}
		}
	}
	/* jeśli nie znajdzie zaznaczonego pola to flaga nadal wynosi 0 */
	if ( (box == 1) && (flaga == 0) ){
		alert("Proszę zaznaczyć przynajmniej jedno pole!");
		return false;
	}
	return true;
}

/**
* Sprawdza poprawność email'a
* author Marek Ryk
*/
function checkEmail(string){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(string.match(emailExp)){
		return true;
	} else return false;
}

/**
* Ukrywa opcje wyboru godziny realizacj zamówienia - Dzień Matki, Walentynki, etc
* author Marek Ryk
*/
function hiddeOptions(id_el){
	id_el = document.getElementById(id_el);
	var i;
	//for(i=id_el.options.length-1;i>=1;i--){
	for(i=7;i>=1;i--){
		id_el.options[i].style.display="none";
	}
}

/**
* Przywraca opcje wyboru godziny realizacj zamówienia - Dzień Matki, Walentynki, etc
* author Marek Ryk
*/
function showOptions(id_el){
	id_el = document.getElementById(id_el);
	var i;
	for(i=7;i>=1;i--){
		id_el.options[i].style.display="block";
	}
}

/**
* Słodki telegram. Wywołuje funkcje xajaxa i zapisuje tekst do grawerowania
* author Marek Ryk
*/
function saveTextToEngrave(id){
	xajax_saveTextToEngrave($F('text_engrave'+id),id);
	return true;
}


/**
* Ładuje plik js 
* Examples: $import('_js/skrypt.js');
* author: Marek Ryk
*/
/*function $import(src){
	var scriptElem = document.createElement('script');
	scriptElem.setAttribute('src',src);
	scriptElem.setAttribute('type','text/javascript');
	document.getElementsByTagName('head')[0].appendChild(scriptElem);
}*/

// ładuje logo po załadowaniu strony PK
function loadImageWM(){
	$('imageWM').src = 'http://czasopisma.magazynyinternetowe.pl/witryna_miesiaca/5,7,67f6c6f5e740b8e0.gif';
}

	
/**
* Obłsuguje formularze, odpowiedź serwera musi być przesłana w postaci JSON 
* using Prototype, Scriptaculous 
* author Marek Ryk
*/
function sendForm(form){
	if ( checkAllForm($(form)) ) { 
		if ( checkEmail($(form).email.value) ) {
			$(form).request({
				requestHeaders: {Accept: 'application/json'},
				onSuccess: function(resp) {
					var obj = resp.responseText.evalJSON(true);
					//alert('RESP: ' + Object.toJSON(obj) + "\n" +  obj.msgText);
					if ( typeof(obj.hideField) != "undefined" ) {
						Effect.Fade(obj.hideField);
					}
					$(obj.msgField).innerHTML = obj.msgText;
					Effect.Appear(obj.msgField);
					if ( obj.reload == 1 ) {
						setTimeout("window.location.reload(false)",2000);
					}
				}
			});
		} else alert("Email jest niepoprawny.");
	}
}

/**
* Obsługuje odpowiedź xajax'a
* using Prototype, Scriptaculous 
* author Marek Ryk
*/
function searchEmailInfo(status){
	if (status == 1) {
		Effect.Appear('emailInfoRow');
	} else if (status == 0){
		Effect.Fade('emailInfoRow');
	}
}