//<script language="JavaScript">
//--- Sygnatura pliku ---------------------------------------------------------------
// Copyright  : Internet Designers S.A.
// Projekt    : Content Managment - webUnit
// Program    : form_utils
// Autor      : pzu, 
// Utworzenie : 2003.12.02
// Modyfikacje: 2004.03.26; pch, pablos
// Opis       : funkcje pomocnicze podczas wypełniania formularzy
//--- Sygnatura pliku ---------------------------------------------------------------



	//Dobry, choc moze nie wpuscic dobrego adresu 
	// - RFC2822 dopuszcza w adresach jeszcze znaki !#$%&'*+-/=?^_`~{}| 
	// i kilka nietypowych kombinacji
var	validMail=/^[\w-]+(\.[\w-]+)*\@([\w-]+\.)+[\w]{2,6}$/;
	//Liczba calkowita, pierwsza cyfra != 0
var validInt=/^[1-9]+[\d]*$/;
	//Kod pocztowy w formacie dd-ddd
var validPostCode=/^\d{2}\-\d{3}$/;
	//Kod pocztowy - czesc pierwsza


//function writeIntegerOnly(id) - funkcja uzywana jako zdarzenie pozwalająca wprowadzac tylko znaki numeryczne
function writeIntegerOnly(id, leng)
{
	if ( ((event.keyCode < 47) || ((event.keyCode > 58) && (event.keyCode < 96)) || (event.keyCode > 106)) || (id.value.length > leng))
	{
		var tmp = "";
		for(i = 0;i < id.value.length-1; i++)
			if((id.value.charCodeAt(i) > 47) && (id.value.charCodeAt(i) < 58))
				tmp += id.value.substr(i,1);
		id.value = tmp;
	}
}

function writePostCodeOnly(id)
{
	if( ((event.keyCode < 47) || ((event.keyCode > 58) && (event.keyCode < 96)) || (event.keyCode > 106)) || (id.value.length > 6))
	{
		var tmp = "";
		for(i = 0;i < id.value.length-1; i++)
		if(((id.value.charCodeAt(i) > 47) && (id.value.charCodeAt(i) < 58)) )
		{
			tmp += id.value.substr(i,1);
			if((i==1) && (tmp.charCodeAt(2) != 189)) tmp +="-";
		}

		 id.value = tmp;
	}
	if (id.value.length ==2) id.value += "-";
}
	//obcina ewentualne spacje z pocz±tku i końca zadanego łańcucha
	function Trim(lancuch)
	{
		if (lancuch=='')
			return lancuch;
		while (lancuch.charAt(0) == " ") 
			lancuch = lancuch.substring(1,lancuch.length);
		while (lancuch.charAt(lancuch.length-1) == " ") 
			lancuch = lancuch.substring(0,lancuch.length-2);
		return lancuch;	
	}
	//sprawdza, czy element jest wypelniony
	function CheckField(element,msg)
	{
		var str = element.value;
		if (str  == '')
		{
      alert(msg);
      element.focus();
      return false;
    }
    else
		return true;
		
	}
	function CheckEMail(element,msg)
	{
		var email = element.value;
		if ((Trim(email) == '')
			|| (email.indexOf('@') > email.lastIndexOf('.'))
			|| (email.indexOf('@') == -1)
			|| (email.length < 4)
			|| (email.indexOf('@') != email.lastIndexOf('@'))
			|| (email.indexOf(' ') != -1)
			|| (email.lastIndexOf('.') == (email.length -1))
			)
			{
		      	 alert(msg);
		      	 element.focus();
		      	 return false;
	    		}
	    else
		return true;
	}
	function Check(element,msg)
	{
		var email = element.value;
		if (!element.checked)
		{
      alert(msg);
//      element.focus();
      return false;
    }
    else
	return true;
}
	function CheckInput(element,msg)
	{
		if ((element.value == ''))
		{
      alert(msg);
	if (element.type != "hidden")  element.focus();
      return false;
    }
    else
	return true;
}
	function CheckCode(element,msg)
	{
		var tmp = element.value;
		if ((element.value == '') || (tmp.charCodeAt(2) != 45) || (tmp.length != 6)) 
		{
  		    alert(msg);
		if (element.type != "hidden")  element.focus();
	      return false;
	    }
	    else
	return true;
	}

function CheckGroup(oForm,prefix,msg)
 { 
	var elements = oForm.obj.elements;
      var i,status=false;
      for (i=0; i<elements.length; i++)
      {
		if ((elements[i].name.indexOf(prefix) > -1) && (elements[i].checked))
        {
		status = true;
          break;
        }
      }
      if (!status)
      {
	alert(msg);
	return false;
      }
 }

/*
	Ujednolicenie odwolan do obiektow (cross-browser).
	Uzycie: var zmienna = new getObj('identyfikator');
*/

function getObj(name)
	{
	  if (document.getElementById)
	  {
	  	this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	  }
	  else if (document.all)
	  {
		this.obj = document.all[name];
		this.style = document.all[name].style;
	  }
	  else if (document.layers)
	  {
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	  }
	}

function displayAlert(oElem, errAlert)
{
	alert(errAlert);
	if (window.focus) oElem.focus();
	//alert(oElem.name);
	return false;
}

function onRegistrationSubmit()
	{
		oForm=new getObj('formularz');
		return checkRequredFields(oForm);
	}	
	
function checkRequredFields(oForm)
	{
		//Pobranie obiektu formularza
		// var oForm = new getObj('formularz');
		//Liczymy pola formularza
		var elementsCount =  oForm.elements.length;
		//Domyslny komunikat bledu
		var errAlert='Please fill all required fields.';
		var filled = true;
		//Sprawdzamy wszystkie elementy formularza
		for (i=0;i<elementsCount;i++)
		{
			oElem=oForm.elements[i];
			//Jesli nazwa pola zaczyna sie od 'w_'
			if (oElem.className=='required_field')
			{
				if (oElem.nodeName == 'SELECT')
				{
					if (oElem.selectedIndex < 1)
					{	
						oElem.parentNode.parentNode.className="notfilled";
						filled=false;
					}
					else oElem.parentNode.parentNode.className="";
				}
				else if (oElem.value == "")
				{
					oElem.parentNode.parentNode.className="notfilled";
					filled=false;
				}
				else oElem.parentNode.parentNode.className="";
				

			}			
		}
		if (!filled)
			{
				alert(errAlert);
				return false;
			}
		return true;
    }

//</script>
