/*
 * Zwraca element o danym id.
 */
function e(idElement) {
	return document.getElementById(idElement);
}

/**
 * Usuwa z początku i końca łańcucha znaków niepotrzebne spacje.
 *
 * @param str Łańcuch znaków, z którego mają być usunięte zbędne białe znaki.
 * @return
 */
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

/**
 * Funkcja zwraca wartosc textowa pierwszego napotkanego wezla o podanej nazwie.
 * Jesli wezel o takiej nazwie nie istnieje lub nie ma wartosci textowej to jest zwracany null.
 *
 * @param xml			Obiekt XML.
 * @param tagName		Nazwa wezla (taga).
 * @return				Wartosc textowa wezla lub null.
 */
function getXMLValue(xml,tagName) {
	var retVal=null;
	var elems=xml.getElementsByTagName(tagName);
	if (elems.length > 0) {
		var eCh=elems[0].childNodes;
		for (var i=0; i<eCh.length; i++) {
			if((eCh[i].nodeType==3) || (eCh[i].nodeType==4)) {
				retVal=eCh[i].nodeValue;
			}
		}
	}
	return retVal;
}

function f_showLoadingThickboxModal() {
	e('thickboxMsgPaneContent').innerHTML = "<img src=\"/i/v1/wait.gif\"/><br/>Proszę czekać, trwa wykonywanie polecenia...";
	e('thickboxMsgPaneContent').style.height = "50px";
	e('thickboxMsgPaneContent').align = "center";
	e('thickboxMsgPaneButton').style.display="none";
	tb_show(null, "#TB_inline?height="+(50 + 45)+"&width=300&inlineId=thickboxMsgPane&modal=true", false);
}

function f_showThickboxModal(width, height, msg) {
	e('thickboxMsgPaneContent').innerHTML = msg;
	e('thickboxMsgPaneContent').style.height = height + "px";
	e('thickboxMsgPaneContent').align = "left";
	e('thickboxMsgPaneButton').style.display="";
	tb_show(null, "#TB_inline?height="+(height + 41 + 46)+"&width="+width+"&inlineId=thickboxMsgPane&modal=true", false);
}

/**
 * Funkcja walidująca formularz zapytania do projektu wyświetlany w widoku szczegółów.
 * Błędy walidacji wyświetlane są w modalnym oknie w warstwie (thickbox).
 *
 * @return
 */
function f_prjQuestionFormSubmit() {
 var error="";
 if (e('prjQuestionForm').imieNazwisko.value=="") {
  error+="Proszę podać imię i nazwisko."; 
 }
 // jeżeli jest prośba o kontakt telefoniczny to musi być wypełnione pole telefon
 if (e('id_kontaktTel').checked) {
  if (e('prjQuestionForm').telefon.value=="") {
   if (error!="") { error+="<br/>"; }
   error+="Proszę podać numer telefonu.";
  }
 } else {
  if (e('prjQuestionForm').email.value=="" && (e('prjQuestionForm').telefon.value=="")) {
   if (error!="") { error+="<br/>"; }
   error+="Proszę podać adres email lub numer telefonu."; 
  }
 }
 if (e('prjQuestionForm').tresc.value=="") {
  if (error!="") { error+="<br/>"; }
  error+="Proszę podać treść wiadomości."; 
 }
 if (error=="") {
	 f_showLoadingThickboxModal();
	 $.post(e('prjQuestionForm').action, $("#prjQuestionForm").serialize(),
			 function(retXml) {
		 //if (getXMLValue(retXml, "success") == "true") {
			 // wyświetlamy komunikat o błędzie
		 //}
			 f_showThickboxModal(300, 50, "Twoja wiadomość została wysłana.<br/>Dziękujemy za zainteresowanie naszą ofertą.");
			 e('prjQuestionForm').reset();
		 });
 } else {
	 f_showThickboxModal(300, 50, error);
 }
 return false;
}


/* ==========================================
 * Formularz zamowienia.
 * ========================================== */

function f_poSwitchRodzajZam(rodzaj) {
	if (rodzaj=="f") {
		$("#id_poNIPReq").removeClass("hidden");
	} else {
		$("#id_poNIPReq").addClass("hidden");
	}
}

function f_poSwitchWysylka(rodzaj) {
	if (rodzaj=="n") {
		// dane do wysyłki takie same jak dane nabywcy
		$("#id_daneWysylkaPane").addClass("hidden");
	} else {
		$("#id_daneWysylkaPane").removeClass("hidden");
	}
}

function prjOrderStep1Validation(form) {
	var errors="";
	if (trim(form.nazwa.value)=="") {
		errors="Proszę podać imię i nazwisko lub nazwę firmy.";
	}
	// jeżeli została wybrana firma, to musi być podany NIP
	var isFirma=e('id_rodzajFirma').checked;
	if (isFirma && trim(form.nip.value)=="") {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać NIP.";
	}
	if (trim(form.ulica.value)=="") {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać ulicę.";
	}
	var kodPocztowy1=trim(form.kodPocztowy1.value);
	var kodPocztowy2=trim(form.kodPocztowy2.value);
	if (kodPocztowy1.length<2||kodPocztowy2.length<3) {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać kod pocztowy w formacie XX-XXX.";
	}
	if (trim(form.miejscowosc.value)=="") {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać miejscowość.";
	}
	if (trim(form.telefon.value)=="") {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać numer telefon kontaktowego.";
	}
	if (trim(form.email.value)=="") {
		if (errors!="") errors+="<br>";
		errors+="Proszę podać adres email.";
	}
	 
	if (errors!="") { 
		f_showThickboxModal(300, 100, errors);
		return false;
	} else { 
		return true;
	}
}

function prjOrderStep2Validation( form) {
	var errors="";
	if (!e('id_platnoscOdbior').checked && !e('id_platnoscPrzelew').checked) {
		errors="Proszę wybrać formę płatności.";
	}
	if (errors!="") {
		f_showThickboxModal(300, 25, errors);
		return false;
	} else { 
		return true;
	}
}

function showPrjZamHtmlDrukuj(url) {
	var windowName="prjZamHTML";
	w=window.open(url, windowName, "height=578,width=770,status=no,scrollbars=yes,menubar=no,location=no");
	return w;
}