//===================================================
// Form Validation
//===================================================
function validateForm() {

	var valid = 1;
	var bgBad = "#FBEEF1";
	var tekst = "";
	var tekst1 = "";
	var tekst2 = "Proszę wypełnić jeszcze następujące pola:\n\n";

	errorEmail = "";
	errorDate = "";
	errorPLZ = "";
	errorPhone = "";
	errorFax = "";
	
	f = document.forms.kontaktForm;
	
	for (i=0;i<f.elements.length;i++) {
		if (f.elements[i].type == "text") setCSSnormal(f.elements[arguments[i]]);
	}

	for (var i = 0; i < arguments.length; i++) {

		if (f.elements[arguments[i]].type == "text") {
			if (f.elements[arguments[i]].value == "") {
				valid  = 0;
				tekst1 += " - "+arguments[i].substr(0,1).toUpperCase()+arguments[i].substr(1)+"\n";
				setCSS (f.elements[arguments[i]]);
			}
		}

		if (f.elements[arguments[i]].type == "textarea") {
			if (f.elements[arguments[i]].value == "") {
				valid  = 0;
				tekst1 += " - "+arguments[i].substr(0,1).toUpperCase()+arguments[i].substr(1)+"\n";
				setCSS (f.elements[arguments[i]]);
			}
		}

		if ((f.elements[arguments[i]].name == "email") && (f.elements[arguments[i]].value != "")) {
			errorEmail = "";
			email = isEmail(f.elements[arguments[i]].value);
			if (!email) {
				setCSS (f.elements[arguments[i]]);
				errorEmail = "E-mail: Podany adres e-mail jest nieprawidłowy.\n";
				valid = 0;
			} else {
				errorEmail = "";
				setCSSnormal(f.elements[arguments[i]]);
			}
		}

		if ((f.elements[arguments[i]].name == "telefon") && (f.elements[arguments[i]].value != "")) {
			errorPhone = "";
			if (!checkPhone(f.elements[arguments[i]].value)) {
				setCSS (f.elements[arguments[i]]);
				valid = 0;
			} else {
				setCSSnormal(f.elements[arguments[i]]);
			}
		}

	} //End for


	if (valid) {
		f.submit();
		f.buttonSenden.value = 'wyślij';
		return true;
	} else {
		if ( tekst1 != "") {
			tekst = tekst2 + tekst1;
		}
		tekst += "\n\n";
		tekst += errorPhone;
		tekst += errorEmail;
		tekst = tekst.replace('Email','E-mail');
		tekst = tekst.replace('Info','Zapytanie');
		alert (tekst + "\n \n");
		return false;
	}
}

//===================================================
// Date Validation
//===================================================
function checkDate(fld) {
	currDate = new Date();
	year = fld.substr(6,4);
	month = fld.substr(3,2) - 1;
	day = fld.substr(0,2);
	formDate = new Date(year, month, day);
	diffDate = currDate - formDate;
	diffDays = Math.round(diffDate/(1000*60*60*24));
	
	currYear = currDate.getYear() + 1900;
	diffYears = currYear - year;
	
	if ((diffYears < 14) || (diffYears > 99)) {
//		errorDate = "Geburtsdatum: Sie müssen zwichen 14 und 99 Jahre alt sein.\n";
		errorDate = "Data urodzenia: \n";
		return false;
	}	else {
		return true;
	}
}

//===================================================
// E-mail Validation
//===================================================
function isEmail(str) {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


//===================================================
// PLZ Validation
//===================================================
function checkPLZ(fld) {
	var regDigits = /[0-9]{5}/;
	
	if ((!regDigits.test(fld)) || (fld.length > 5)) {
//		errorPLZ = "PLZ: " + fld + " ist keine gültige PLZ.\n";
		errorPLZ = "Kod pocztowy: " + fld + " nie jest poprawnym kodem pocztowym.\n";
		return false;
	}	else {
		return true;
	}
}

//===================================================
// Phone Number Validation
//===================================================
function checkPhone(fld) {
	var telnr = /^\+?[0-9 ()-]+[0-9]$/  ;
	
	if (!telnr.test(fld)) {
//		errorPhone = "Telefonnummer: Es sind nur Zahlen 0-9 sowie die Zeichen  +/- und Leerzeichen zugelassen.\n";
		errorPhone = "Telefon: Pole może zawierać jedynie cyfry 0-9, znaki +/- oraz odstępy.\n";
		return false;
	}	else {
		return true;
	}
}

//===================================================
// Fax Number Validation
//===================================================
function checkFax(fld) {
	var telnr = /^\+?[0-9 ()-]+[0-9]$/  ;
	
	if (!telnr.test(fld)) {
//		errorFax = "Telefaxnummer: Es sind nur Zahlen 0-9 sowie die Zeichen  +/- und Leerzeichen zugelassen.\n";
		errorFax = "Fax: Pole może zawierać jedynie cyfry 0-9, znaki +/- oraz odstępy.\n";
		return false;
	}	else {
		return true;
	}
}


//===================================================
// Set Background Color For Form Element
//===================================================
function setColor(el, bg) {
  if (el.style) el.style.backgroundColor = bg;
}

//===================================================
// Set CSS For Form Element
//===================================================
function setCSS(el) {
	if (el) el.className = 'inputTextWarn';
}

//===================================================
// Reset CSS For Form Element
//===================================================
function setCSSnormal(el) {
	if (el) el.className = 'inputText';
}


//===================================================
// Cookie Delete
//===================================================
function delete_cookie ( cookie_name )
{
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1*24*60*60*1000 );
  document.cookie = cookie_name + "=; expires=" + cookie_date.toGMTString();
}

//===================================================
// Cookie Set
//===================================================
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

//===================================================
// Cookie Read
//===================================================
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



//===================================================
// Select - Disable Options
//===================================================
function emulateDisabled(selectBox) {
	for (var i=0, option; option = selectBox.options[i]; i++) {
		if (option.disabled) {
			option.style.color = "#c8c8c8";
		}else{
			option.style.color = "menutext";
		}
	}
}

function restoreEmulateDisabled(selectBox) {
	selDis = false;
	for (var i=0, option; option = selectBox.options[i]; i++) {
		if(option.selected && option.disabled){
//			option.selected=false;
			selectBox.selectedIndex = window.select_current[selectBox.id];
			selDis = true;
		}
	}
	if (!selDis) {
		chooseProduct(selectBox);
	}
}

function addEmulation(selectBox){
	window.select_current = new Array();
	selectBox.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; }
	selectBox.onchange = function(){ restoreEmulateDisabled(this); }
}



/*
window.onload = function() {

	if (document.getElementsByTagName) {
	
		var s = document.getElementsByTagName("select");

		if (s.length > 0) {
			window.select_current = new Array();
			
			for (var i=0, select; select = s[i]; i++) {
				if (select.name == 'produkt') {
					select.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; }
					select.onchange = function(){ restoreEmulateDisabled(this); }
					emulateDisabled(select);
				}
			}
		}
	}
}
*/

//===================================================
// Form Reset (incl. FCKeditor
//===================================================
function resetForm() {
  resetEditors();
  document.forms[0].reset();
  return false;
}

function validateNewsltr(par) {
	if (checkEmailNewsltr(document.frmNewsltr.email, 'Podany adres e-mail jest nieprawidłowy.\nProszę podać poprawny adres e-mail.')) {
		if (par == 'zapis') {
			document.frmNewsltr.btn.value = 'zapis';
			document.frmNewsltr.submit();
		}
		if (par == 'wypis') {
			document.frmNewsltr.btn.value = 'wypis';
			document.frmNewsltr.submit();
		}
	} else {
		return false;
	}
}

function checkEmailNewsltr(fldEmail, txtAlert){
	strEmail=/^[0-9a-z.-]+(@|\(at\))+[0-9a-z._-]+\.[a-z]{2,3}$/i;
	if(strEmail.test(fldEmail.value)==false){
		alert(txtAlert);
		fldEmail.focus();		
		fldEmail.select();
		return false;
	}
	return true;	
}

function checkCennikProd() {
	if (document.cennikiProd.firma.value == 'nic') {
		alert('Proszę wybrać producenta.');
	} else {
		if (document.cennikiProd.firma.value == 'actaris') {window.open('/fileadmin/user_upload/cenniki/Actaris.pdf')};
		if (document.cennikiProd.firma.value == 'apator') {window.open('/fileadmin/user_upload/cenniki/Apator.pdf')};
//		if (document.cennikiProd.firma.value == 'avk') {window.open('/fileadmin/user_upload/cenniki/AVK.pdf')};
		if (document.cennikiProd.firma.value == 'bmeters') {window.open('/fileadmin/user_upload/cenniki/BMeters.pdf')};
		if (document.cennikiProd.firma.value == 'bmeters_mfi') {window.open('/fileadmin/user_upload/cenniki/BMeters_MFI.pdf')};
		if (document.cennikiProd.firma.value == 'bohamet') {window.open('/fileadmin/user_upload/cenniki/Bohamet.pdf')};
		if (document.cennikiProd.firma.value == 'domex') {window.open('/fileadmin/user_upload/cenniki/Domex.pdf')};
//		if (document.cennikiProd.firma.value == 'efekt') {window.open('/fileadmin/user_upload/cenniki/Efekt.pdf')};
		if (document.cennikiProd.firma.value == 'elster') {window.open('/fileadmin/user_upload/cenniki/Elster.pdf')};
//		if (document.cennikiProd.firma.value == 'ewe') {window.open('/fileadmin/user_upload/cenniki/Ewe.pdf')};
		if (document.cennikiProd.firma.value == 'fila') {window.open('/fileadmin/user_upload/cenniki/Fila.pdf')};
//		if (document.cennikiProd.firma.value == 'gamrat') {window.open('/fileadmin/user_upload/cenniki/Gamrat.pdf')};
		if (document.cennikiProd.firma.value == 'gebo') {window.open('/fileadmin/user_upload/cenniki/Gebo.pdf')};
		if (document.cennikiProd.firma.value == 'growo-reg-w') {window.open('/fileadmin/user_upload/cenniki/G_Reg_Wodomierzy.pdf')};
		if (document.cennikiProd.firma.value == 'growo-reg-c') {window.open('/fileadmin/user_upload/cenniki/G_Reg_Cieplomierzy.pdf')};
		if (document.cennikiProd.firma.value == 'growo-po-r') {window.open('/fileadmin/user_upload/cenniki/G_Regenerowane.pdf')};
//		if (document.cennikiProd.firma.value == 'hawle') {window.open('/fileadmin/user_upload/cenniki/Hawle.pdf')};
		if (document.cennikiProd.firma.value == 'honeywell') {window.open('/fileadmin/user_upload/cenniki/Honeywell.pdf')};
//		if (document.cennikiProd.firma.value == 'hydrobud') {window.open('/fileadmin/user_upload/cenniki/Hydrobud.pdf')};
		if (document.cennikiProd.firma.value == 'instal-art') {window.open('/fileadmin/user_upload/cenniki/InstalArt.pdf')};
		if (document.cennikiProd.firma.value == 'itron') {window.open('/fileadmin/user_upload/cenniki/Itron.pdf')};
//		if (document.cennikiProd.firma.value == 'kadimex') {window.open('/fileadmin/user_upload/cenniki/Kadimex.pdf')};
		if (document.cennikiProd.firma.value == 'metering_wpm') {window.open('/fileadmin/user_upload/cenniki/Metering_WPM.pdf')};
		if (document.cennikiProd.firma.value == 'mirometr') {window.open('/fileadmin/user_upload/cenniki/Mirometr.pdf')};
		if (document.cennikiProd.firma.value == 'powogaz') {window.open('/fileadmin/user_upload/cenniki/PoWoGaz.pdf')};
		if (document.cennikiProd.firma.value == 'rototech') {window.open('/fileadmin/user_upload/cenniki/Roto.pdf')};
		if (document.cennikiProd.firma.value == 'santech') {window.open('/fileadmin/user_upload/cenniki/Santech.pdf')};
		if (document.cennikiProd.firma.value == 'sensus') {window.open('/fileadmin/user_upload/cenniki/Sensus.pdf')};
		if (document.cennikiProd.firma.value == 'stilbos') {window.open('/fileadmin/user_upload/cenniki/Stilbos.pdf')};
		if (document.cennikiProd.firma.value == 'techem') {window.open('/fileadmin/user_upload/cenniki/Techem.pdf')};
//		if (document.cennikiProd.firma.value == 'wodrol') {window.open('/fileadmin/user_upload/cenniki/Wodrol.pdf')};
		if (document.cennikiProd.firma.value == 'zetkama') {window.open('/fileadmin/user_upload/cenniki/Zetkama.pdf')};
	}
	return false;
}

function checkCennikKat() {
	if (document.cennikiKat.grupa.value == 'nic') {
		alert('Proszę wybrać grupę produktów.');
	} else {
		if (document.cennikiKat.grupa.value == 'wodomierze') {window.open('/fileadmin/user_upload/cenniki/wodomierze.pdf')};
		if (document.cennikiKat.grupa.value == 'akcesoria') {window.open('/fileadmin/user_upload/cenniki/akcesoria.pdf')};
		if (document.cennikiKat.grupa.value == 'cieplomierze') {window.open('/fileadmin/user_upload/cenniki/cieplomierze.pdf')};
		if (document.cennikiKat.grupa.value == 'armatura') {window.open('/fileadmin/user_upload/cenniki/armatura.pdf')};
//		if (document.cennikiKat.grupa.value == 'przeplywomierze') {window.open('/fileadmin/user_upload/cenniki/przeplywomierze.pdf')};
	}
	return false;
}
