
/**
* @version  0.0.8
* @require  fix()
* @date     2005-01-06 16:35:15
*/

var cfBorderColor     = '#a7a6aa';
var cfBackgroundColor = '#FFFFFF';

var sAllWarnings = '';
var oFirstWrong;
var bIsWarnings = false;
var bAllGood 		= true;
//default massage for js popup
var bad_form_message = "De volgende gegevens moeten nog ingevuld worden";
var bad_tel_message = "telefoonnummer";

function checkText( obj, komunikat ) {

	re = /\s/gi;
	checkT = obj.value.replace(re, "");

	if( checkT == '' ) {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
	
return true;
} // end function checkText


function checkTel( obj, komunikat ) {

	poprawnyTelefon = /^[0-9]{6,}$/i;

	if( obj.value.search( poprawnyTelefon ) == -1 ) {
		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkTel

function checkUser( obj, komunikat ) {

	poprawnyUser = /^[a-zA-Z0-9_.-]{3,}$/i;

	if( obj.value.search( poprawnyUser ) == -1 ) {
		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkUser

function checkPass( obj, komunikat ) {

	poprawnyPassword = /^[a-zA-Z0-9]{5,}$/i;

	if( obj.value.search( poprawnyPassword ) == -1 ) {
		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkPass


function checkEmail( obj ) {
	re = /\s/gi;
	check = obj.value.replace( re, "" );

	poprawnyEmail = /^[a-z0-9_.-]+([_\\.-][a-z0-9]+)*@([a-z0-9_\.-]+([\.][a-z]{2,4}))+$/i;
	if ( check.search( poprawnyEmail ) == -1 ) {
		sAllWarnings += '- E-mail' +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkEmail

function checkAmount( obj, komunikat ) {

	poprawnyAmount = /^[1-9]{1}[0-9]{0,}$/i;

	if( obj.value.search( poprawnyAmount ) == -1 ) {
		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkAmount

function checkWww( obj ) {

	re = /\s/gi;
	check = obj.value.replace( re, "" );
	poprawnyUrl = /^[a-z\d.\\\/\:]{1,}.[a-z]{2,}$/i;

	if( check.search( poprawnyUrl ) == -1 || check == 'http://' ) {
		sAllWarnings += cfLangUrl +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkWww


function checkKod( obj ) {

	poprawnyKod = /^[0-9]{4}\s?[a-zA-Z]{2}$/i;

	if ( obj.value.search( poprawnyKod ) == -1 ) {
		sAllWarnings += '- postcode' +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
  		obj.style.backgroundColor = '#d8d8d8';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
  	obj.style.backgroundColor = cfBackgroundColor;
return true;
} // end function checkKod

//check for address in combination with city (some combinations are not allowed)
function checkAddressAndCity (objAddress, objCity, error_message) {
	if ( !(objAddress) ) return true;
	if ( !(objCity) ) return true;
	
	var adr_to_check = objAddress.value;
	
	//do left and right trim on address, and then check if that string is empty
	var re_begin = /^\s*/gi;
	var adr_to_check_trimmed = objAddress.value.replace(re_begin, "");
	var re_end = /\s*$/gi;
	adr_to_check_trimmed = adr_to_check_trimmed.replace(re_end, "");	
	if ( adr_to_check_trimmed == "") return true;
	
	var city_to_check = objCity.value;
	var PO_box_list = /postbus|box/i;
	var haag_address_list = /telecom|maan|regulus/i;
	var utrecht_address_list = /europa/i;
	var dam_address_list = /guardia/i;
	var is_bad_combination = false;
	
	var city_is_haag = (city_to_check.search(/haag|hage/i) != -1);
	var city_is_utrecht = (city_to_check.search(/utrecht/i) != -1);
	var city_is_dam = (city_to_check.search(/dam/i) != -1);
	
	is_bad_combination = is_bad_combination || (adr_to_check.search(PO_box_list) > -1);
	is_bad_combination = is_bad_combination || ( (adr_to_check.search(haag_address_list) > -1) && (city_is_haag) );
	is_bad_combination = is_bad_combination || ( (adr_to_check.search(utrecht_address_list) > -1) && (city_is_utrecht) );
	is_bad_combination = is_bad_combination || ( (adr_to_check.search(dam_address_list) > -1) && (city_is_dam) );

	if ( is_bad_combination ) {
		if( error_message ) { 
			sAllWarnings += error_message +'\n';
		} else {
			sAllWarnings += "- adres en plaats" +'\n';
		}
		if( objAddress.type != 'hidden' ){
  			objAddress.style.borderColor = '#000000';
  			objAddress.style.backgroundColor = '#000000';
      		if( bIsWarnings == false ) oFirstWrong = objAddress;
		}
		if( objCity.type != 'hidden' ){
      		objCity.style.borderColor = '#000000';
  			objCity.style.backgroundColor = '#000000';
		}
		bIsWarnings = true;
		return false;
	}
	else {
		if( (objAddress.type != 'hidden') ) {
  			objAddress.style.borderColor = cfBorderColor;
  			objAddress.style.backgroundColor = cfBackgroundColor;
		}
		if( (objCity.type != 'hidden') ) {
  			objCity.style.borderColor = cfBorderColor;
  			objCity.style.backgroundColor = cfBackgroundColor;
		}
	}
	return true;
}
// end function checkAddressAndCity

//check if sum of older-tickets and kinder-tickets selected is equal to selected total number of tickets
function checkTicketsSum(objSumTicket, objOlderTicket, objKinderTicket, error_message) {
	if ( !(objSumTicket) ) return true;
	if ( !(objOlderTicket) ) return true;
	if ( !(objKinderTicket) ) return true;

	var is_bad_sum, sum_selected, actual_sum;
	
	//compare selected sum with actual calculated sum of tickets
	sum_selected = parseInt(objSumTicket.options[objSumTicket.selectedIndex].value);
	actual_sum = parseInt(objOlderTicket.options[objOlderTicket.selectedIndex].value) + parseInt(objKinderTicket.options[objKinderTicket.selectedIndex].value);
	is_bad_sum = ( !(sum_selected == actual_sum) );
	
	//set colors
	if ( is_bad_sum ) {
		if( error_message ) { 
			sAllWarnings += error_message +'\n';
		} else {
			sAllWarnings += "- kaarten" +'\n';
		}
		if( objSumTicket.type != 'hidden' ){
  			objSumTicket.style.borderColor = '#000000';
  			objSumTicket.style.backgroundColor = '#000000';
      		if( bIsWarnings == false ) oFirstWrong = objSumTicket;
		}
		if( objOlderTicket.type != 'hidden' ){
      		objOlderTicket.style.borderColor = '#000000';
  			objOlderTicket.style.backgroundColor = '#000000';
		}
		if( objKinderTicket.type != 'hidden' ){
      		objKinderTicket.style.borderColor = '#000000';
  			objKinderTicket.style.backgroundColor = '#000000';
		}
		bIsWarnings = true;
		return false;
	}
	else {
		if( (objSumTicket.type != 'hidden') ) {
  			objSumTicket.style.borderColor = cfBorderColor;
  			objSumTicket.style.backgroundColor = cfBackgroundColor;
		}
		if( (objOlderTicket.type != 'hidden') ) {
  			objOlderTicket.style.borderColor = cfBorderColor;
  			objOlderTicket.style.backgroundColor = cfBackgroundColor;
		}
		if( (objKinderTicket.type != 'hidden') ) {
  			objKinderTicket.style.borderColor = cfBorderColor;
  			objKinderTicket.style.backgroundColor = cfBackgroundColor;
		}
	}
	return true;
}
// end function checkTicketsSum

function checkNip( obj ) {

	poprawnyNip1 = /^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/i;
	poprawnyNip2 = /^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/i;
	poprawnyNip3 = /^[a-zA-Z]{2}[ ]{1}/i;

	if( obj.value.search( poprawnyNip1 ) == -1 && obj.value.search( poprawnyNip2 ) == -1 && obj.value.search( poprawnyNip3 ) ) {
		sAllWarnings += cfLangNip +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkNip


function checkPesel( obj ) {

	poprawnyPesel = /^[0-9]{11}$/i;

	if( obj.value.search( poprawnyPesel ) == -1 ) {
		sAllWarnings += cfLangPesel +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkPesel


function checkFloat( obj, komunikat ) {

	poprawnyFloat = /^-?[0-9]{1,}[.]{1}[0-9]{1,}$/i;
	poprawnyInt = /^-?[0-9]{1,}$/i;

	if( obj.value.search( poprawnyFloat ) == -1 && obj.value.search( poprawnyInt ) == -1 ) {
    if( komunikat)
      sAllWarnings += komunikat +'\n';
    else
  		sAllWarnings += cfWrongValue +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkFloat


function checkInt( obj, komunikat ) {

	poprawnyInt = /^-?[0-9]{1,}$/i;

	if( obj.value.search( poprawnyInt ) == -1 ) {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfWrongValue +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkInt


function checkFloatValue( obj, minFloat, komunikat ) {

	if( +obj.value <= +minFloat ) {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfToSmallValue +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkFloatValue

function checkIntValue( obj, minInt, znak, komunikat ) {
  if( !minInt )
    minInt = 0;
  if( !znak )
    znak = '==';

	eval ( 'good = ( '+ +obj.value +' '+ znak +' '+ +minInt +' );' );

  if( good == true ){
    if( obj.type != 'hidden' )
    	obj.style.borderColor = cfBorderColor;
  }
  else {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfWrongValue +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
return true;
} // end function checkIntValue

function checkDate( obj, format, separator, komunikat ) {
	if( !format )
		format = "ymd";
	if( !separator )
		separator = "-";

	var d = 2;
	var m = 2;
	var y = 4;

	eval( 'var I = '+ format.charAt( 0 ) +';' );
	eval( 'var II = '+ format.charAt( 1 ) +';' );
	eval( 'var III = '+ format.charAt( 2 ) +';' );

  eval( 'var er = /^[0-9]{'+ I +'}['+ separator +']{1}[0-9]{'+ II +'}['+ separator +']{1}[0-9]{'+ III +'}$/i;' );

	if( obj.value.search( er ) == -1 ) {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
    else
        sAllWarnings += cfWrongDate +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
  else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkDate


function checkTxt( obj, min, komunikat ) {
	if( !min )
		min = 6;

	var re = /\s/gi;
	var check = obj.value.replace( re, "" );

	if( check.length < min ) {
		if( komunikat )
      sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfTxtToShort +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
  else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkTxt


function checkCheck( obj, check, znak, komunikat, option ) {
  if( znak == '=' )
    znak = '==';

  if( option == 'string' )
    // dla danych typu string
  	eval ( 'good = ( "'+ obj.value +'" '+ znak +' "'+ check.value +'" );' );
  else
    // dla danych liczbowych
  	eval ( 'good = ( '+ +obj.value +' '+ znak +' '+ +check.value +' );' );



	if( good == true ) {
    if( obj.type != 'hidden' )
     obj.style.borderColor = cfBorderColor;
  }
  else{
		if( komunikat )
      sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfWrongValue +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
return true;
} // end function checkTxt

function compareDates( obj, check, znak, komunikat ) {

  return checkCheck( obj, check, znak, komunikat, 'string' );

} // end function compareDates

function isCheckedCheckbox( obj, message) {
  if ( !(obj) ) return true;
  if ( obj.type != 'checkbox' ) return true;
  
  if( !(obj.checked) ) {
		if( message ) sAllWarnings += message +'\n';
		if( obj.type != 'hidden' ) {
  		  obj.style.borderColor = '#a7a6aa';
  		  obj.style.backgroundColor = '#d8d8d8';
          if( bIsWarnings == false ) oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
  else if( obj.type != 'hidden' ) {
  	     obj.style.borderColor = cfBorderColor;
  	     obj.style.backgroundColor = cfBackgroundColor;
  }  
  
  return true;
} // end function isCheckedCheckbox


function checkRadiobutton( sourceobj, message) {
  var obj;
  if ( !(sourceobj) ) return true;

  if ( sourceobj.type == 'radio' ) {
    obj = new Array();
    obj[0] = sourceobj;
  } else {
    obj = sourceobj;
  }
  try {
    if ( obj[0].type != 'radio' ) return true;
  }
  catch (e){
    return true;
  }

  somethingIsChecked = false;
  num = obj.length;
  for (i=0; i<num;i++) {
  	if (obj[i].checked) {
  	  somethingIsChecked = true;
  	}
  }
  if( !(somethingIsChecked) ) {
	if( message ) sAllWarnings += message +'\n';
	for (i=0; i<num;i++) {
  	  obj[i].style.borderColor = '#000000';
  	  obj[i].style.backgroundColor = '#000000';
    }
    if( bIsWarnings == false ) oFirstWrong = obj;
	bIsWarnings = true;
	return false;
  }
  else {
  	for (i=0; i<num;i++) {
  	  obj[i].style.borderColor = cfBorderColor;
  	  obj[i].style.backgroundColor = "";
    }
  }
  
  return true;
} // end function checkRadiobutton

function checkCustomRadio_1(main_obj, main_msg, child1, child1_msg, child2, child2_msg) {
	mainChecked = checkRadiobutton(main_obj, main_msg);
	if (!(mainChecked)) {
	    return false;
	} else {
		if (main_obj[0].checked) {
		  //check 2+4 radio buttons
		  firstChecked = checkRadiobutton(child1, child1_msg);
		  secondChecked = checkRadiobutton(child2, child2_msg);
		  result = (firstChecked && secondChecked);
		  return result;
		} else {
			//check last 4 radio buttons
			return checkRadiobutton(child2, child2_msg);
		}
	}
} // end function checkCustomRadio_1

function checkCheckbox( inputName, formName, min, komunikat ) {
	// sprawdza czy zostala zaznaczona wymagana ilosc pol
  var formularz	= document.getElementById( formName );
  var inputy		= formularz.getElementsByTagName( 'input' );
  var n			= 0;

  for( var lp in inputy ) {
    if( inputy[lp].type == 'checkbox' && inputy[lp].name.search( inputName ) != -1 ) {
      if( inputy[lp].checked )
        n++;
    }
  }

  if ( n < +min ) {
		if( komunikat )
      sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfMin + " " + min + " " + cfFieldsChecked +'\n';

    for( var lp in inputy ) {
      if( inputy[lp].type == 'checkbox' && inputy[lp].name.search( inputName ) != -1 )
        inputy[lp].style.borderColor = '#000000';
    }

    bIsWarnings = true;
		return false;
	}
  else{
    for( var lp in inputy ) {
      if( inputy[lp].type == 'checkbox' && inputy[lp].name.search( inputName ) != -1 )
        inputy[lp].style.borderColor = cfBorderColor;
    }
  }

return true;
} // end function checkCheckbox

function checkRegexp( obj, sRegexp, sFlags, komunikat ) {

  oRegexp = new RegExp( sRegexp );

	if ( obj.value.search( oRegexp ) == -1 ) {
		if( komunikat )
  		sAllWarnings += komunikat +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
	else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;

return true;
} // end function checkRegexp


function checkExt( obj, sExtensions, komunikat ){

  var aFileExt    = obj.value.split( "." );
  var sFileExt    = aFileExt[aFileExt.length - 1];

  var aGoodExt    = sExtensions.split( "|" );
  var iGoodCount  = aGoodExt.length;

  var bCheckExt = false;
  for( var i = 0; i < iGoodCount; i++ ){
   if( sFileExt == aGoodExt[i] ){
     bCheckExt = true;
     break;
   }
  } // end for

	if( bCheckExt != true ) {
		if( komunikat )
      sAllWarnings += komunikat +'\n';
    else
      sAllWarnings += cfWrongExt +'\n';
		if( obj.type != 'hidden' ){
  		obj.style.borderColor = '#a7a6aa';
      if( bIsWarnings == false )
        oFirstWrong = obj;
		}
		bIsWarnings = true;
		return false;
	}
  else if( obj.type != 'hidden' )
  	obj.style.borderColor = cfBorderColor;
return true;
} // end function checkExt

function kropka( pole ){

	re = /\,/gi;
	zKropka = pole.value.replace(re, "\.");

return zKropka;
}  // end function kropka

function checkForm( form, tablica ) {

  sAllWarnings 	= '';
  bIsWarnings 	= false;
  bAllGood			= true;
	oFirstWrong 	= '';
  
  for( i in tablica ) {

		if( !tablica[i][1] || tablica[i][1] == 'simple' ) {
			bAllGood = checkText( form[tablica[i][0]], tablica[i][2] );
		}
		else if(  tablica[i][1] == 'address_and_city' ) {
		    bAllGood = checkAddressAndCity( form[tablica[i][0]], form[tablica[i][2]], tablica[i][3]);
		}
		else if(  tablica[i][1] == 'check_tickets' ) {
		    bAllGood = checkTicketsSum( form[tablica[i][0]], form[tablica[i][2]], form[tablica[i][3]], tablica[i][4]);
		}
		else if(  tablica[i][1] == 'is_checked' ) {
		    bAllGood = isCheckedCheckbox( form[tablica[i][0]], tablica[i][2]);
		}
		else if( tablica[i][1] == 'radio' ) {
            bAllGood = checkRadiobutton( form[tablica[i][0]], tablica[i][2]);
		}
		else if( tablica[i][1] == 'customRadio1' ) {
            bAllGood = checkCustomRadio_1( form[tablica[i][0]], tablica[i][4], form[tablica[i][2]], tablica[i][5], form[tablica[i][3]], tablica[i][6]);
		}
		else if( ( tablica[i][1] == 'user' ) && ( ( tablica[i][3] == 'false' && form[tablica[i][0]].value ) || !tablica[i][3] ) ) {
			bAllGood = checkUser( form[tablica[i][0]], tablica[i][2] );
		}
		else if( ( tablica[i][1] == 'pass' ) && ( ( tablica[i][3] == 'false' && form[tablica[i][0]].value ) || !tablica[i][3] ) ) {
			bAllGood = checkPass( form[tablica[i][0]], tablica[i][2] );
		}
		else if( ( tablica[i][1] == 'tel' ) && ( ( tablica[i][3] == 'false' && form[tablica[i][0]].value ) || !tablica[i][3] ) ) {
			bAllGood = checkTel( form[tablica[i][0]], tablica[i][2] );
		}
		else if( ( tablica[i][1] == 'amount' ) && ( ( tablica[i][3] == 'false' && form[tablica[i][0]].value ) || !tablica[i][3] ) ) {
			bAllGood = checkAmount( form[tablica[i][0]], tablica[i][2] );
		}
		else if( ( tablica[i][1] == 'email' ) && ( ( tablica[i][2] == 'false' && form[tablica[i][0]].value ) || !tablica[i][2] ) ) {
			bAllGood = checkEmail( form[tablica[i][0]] );
		}
		else if( ( tablica[i][1] == 'www' ) && ( ( tablica[i][2] == 'false' && form[tablica[i][0]].value ) || !tablica[i][2] ) ) {
			bAllGood = checkWww( form[tablica[i][0]] );
		}
		else if( ( tablica[i][1] == 'kod' ) && ( ( tablica[i][2] == 'false' && form[tablica[i][0]].value ) || !tablica[i][2] ) ) {
			bAllGood = checkKod( form[tablica[i][0]] );
		}
		else if( ( tablica[i][1] == 'nip' ) && ( ( tablica[i][2] == 'false' && form[tablica[i][0]].value ) || !tablica[i][2] ) ) {
			bAllGood = checkNip( form[tablica[i][0]] );
		}
		else if( ( tablica[i][1] == 'pesel' ) && ( ( tablica[i][2] == 'false' && form[tablica[i][0]].value ) || !tablica[i][2] ) ) {
			bAllGood = checkPesel( form[tablica[i][0]] );
		}
		else if( ( tablica[i][1] == 'float' ) && ( ( tablica[i][3] == 'false' && form[tablica[i][0]].value ) || !tablica[i][3] ) ) {
			form[tablica[i][0]].value = kropka( form[tablica[i][0]] );
			bAllGood = checkFloat( form[tablica[i][0]] );
			if( bAllGood ){
				form[tablica[i][0]].value = fix( form[tablica[i][0]].value );
				if(	tablica[i][2] != '' )
					bAllGood = checkFloatValue( form[tablica[i][0]], tablica[i][2] );
			}
		}
		else if( tablica[i][1] == 'checkbox' ) {
            bAllGood = checkCheckbox( tablica[i][0], tablica[i][3], tablica[i][2], tablica[i][4] );
		}
		else if( tablica[i][1] == 'date' ) { 		// data
			bAllGood = checkDate( form[tablica[i][0]], tablica[i][3], tablica[i][4], tablica[i][2] );
		}
		else if( ( tablica[i][1] == 'txt' ) && ( ( tablica[i][4] == 'false' && form[tablica[i][0]].value ) || !tablica[i][4] ) ) { 		// opis
			bAllGood = checkTxt( form[tablica[i][0]], tablica[i][2], tablica[i][3] );
		}
		else if( ( tablica[i][1] == 'check' ) && ( ( tablica[i][4] == 'false' && ( form[tablica[i][0][0]].value && form[tablica[i][0][1]].value ) ) || !tablica[i][4] ) ) { 		// sprawdzanie rownosci itp
			bAllGood = checkCheck( form[tablica[i][0][0]], form[tablica[i][0][1]], tablica[i][2], tablica[i][3] );
		}
		else if( ( tablica[i][1] == 'compareDates' ) && ( ( tablica[i][4] == 'false' && ( form[tablica[i][0][0]].value && form[tablica[i][0][1]].value ) ) || !tablica[i][4] ) ) {
			bAllGood = compareDates( form[tablica[i][0][0]], form[tablica[i][0][1]], tablica[i][2], tablica[i][3] );
		}
		else if( ( tablica[i][1] == 'int' ) && ( ( tablica[i][5] == 'false' && form[tablica[i][0]].value ) || !tablica[i][5] ) ) { 		// int - np. ilosc
			bAllGood = checkInt( form[tablica[i][0]], tablica[i][3] );
			if( tablica[i][2] && bAllGood ) {
				if( tablica[i][4] ) {
					bAllGood = checkIntValue( form[tablica[i][0]], tablica[i][2], tablica[i][4], tablica[i][3] );
				}
				else
					bAllGood = checkFloatValue( form[tablica[i][0]], tablica[i][2], tablica[i][3] );
			}
		}
		else if( ( tablica[i][1] == 'regexp' ) && ( ( tablica[i][5] == 'false' && ( form[tablica[i][0]].value ) ) || !tablica[i][5] ) ) {
			bAllGood = checkRegexp( form[tablica[i][0]], tablica[i][2], tablica[i][3], tablica[i][4] );
		}
		else if( ( tablica[i][1] == 'extension' ) && ( ( tablica[i][4] == 'false' && ( form[tablica[i][0]].value ) ) || !tablica[i][4] ) ) {
			bAllGood = checkExt( form[tablica[i][0]], tablica[i][2], tablica[i][3] );
		}

	} // end for

  if( bIsWarnings == true ) {
	sAllWarnings = bad_form_message + '\n' + sAllWarnings;
    alert ( sAllWarnings );
    if( oFirstWrong )
      oFirstWrong.focus();
    return false;
	}
return true;
} // end function checkForm


function ShowInfo(ctrl){
  var ind = ctrl.selectedIndex;
  var divnamea = "Infoa" + ind;
  var divnameb = "Infob" + ind;
  var divctrla = document.getElementById(divnamea);
  var divctrlb = document.getElementById(divnameb);
  for(i=0;i<4;i++){
    document.getElementById("Infoa"+i).className = "HideMe";
	document.getElementById("Infob"+i).className = "HideMe";
  }
  divctrla.className = "ShowMe";
  divctrlb.className = "ShowMe";
}
