function checkForm(form_id) {
	formOK = true;

	//$('order_error').hide();
	
	if (isEmpty(form_id.frm_order_forename.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>wypełnij pole";
		
		$('frm_order_forename').addClassName('red-border');
		$('frm_order_forename_label').addClassName('red');
		$('frm_order_forename_err').update(errMsg);
		$('frm_order_forename_err').show();
	}
	else
	{
		$('frm_order_forename_err').hide();
		$('frm_order_forename').removeClassName('red-border');		
		$('frm_order_forename_label').removeClassName('red');
	};

	if (isEmpty(form_id.frm_order_surname.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>wypełnij pole";
		
		$('frm_order_surname').addClassName('red-border');
		$('frm_order_surname_label').addClassName('red');
		$('frm_order_surname_err').update(errMsg);
		$('frm_order_surname_err').show();
	}
	else
	{
		$('frm_order_surname').removeClassName('red-border');		
		$('frm_order_surname_label').removeClassName('red');
		$('frm_order_surname_err').update("");
		$('frm_order_surname_err').hide();		
	};
	
	if (isEmpty(form_id.frm_order_email.value) || !isEmail(form_id.frm_order_email.value)) 
	{
			formOK = false;
       		errMsg = "<img src='image/error-icon.gif'>Niepoprawny adres email, sprawdź i popraw";
       		
       		$('frm_order_email').addClassName('red-border');
       		$('frm_order_email_label').addClassName('red');
       		$('frm_order_email_err').update(errMsg);
			$('frm_order_email_err').show();
	}
	else if (form_id.frm_order_email.value!=form_id.frm_order_email2.value) 
	{
			formOK = false;
       		errMsg = "<img src='image/error-icon.gif'>Podane adresy nie pasują do siebie, sprawdź i popraw";
       		
       		$('frm_order_email').addClassName('red-border');
       		$('frm_order_email2').addClassName('red-border');
       		$('frm_order_email_label').addClassName('red');
       		$('frm_order_email2_label').addClassName('red');
       		$('frm_order_email2_err').update(errMsg); 
       		$('frm_order_email_err').hide();      		
			$('frm_order_email2_err').show();
	}
	else
	{
       		$('frm_order_email').removeClassName('red-border');
       		$('frm_order_email2').removeClassName('red-border');
       		$('frm_order_email_label').removeClassName('red');
       		$('frm_order_email2_label').removeClassName('red');
       		$('frm_order_email_err').update("");  		
       		$('frm_order_email2_err').update("");  		
			$('frm_order_email_err').hide();
			$('frm_order_email2_err').hide();       		
	};
	

	if (isEmpty(form_id.frm_order_departure.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę wybrać początek wynajmu";
		
		$('frm_order_departure').addClassName('red-border');
		$('frm_order_departure_label').addClassName('red');
		$('frm_order_departure_err').update(errMsg);	
		$('frm_order_departure_err').show();
	}
	else
	{
		$('frm_order_departure').removeClassName('red-border');
		$('frm_order_departure_label').removeClassName('red');
		$('frm_order_departure_err').update("");		
		$('frm_order_departure_err').hide();
	}
		
	if (isEmpty(form_id.frm_order_arrival.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę wybrać koniec wynajmu";
		
		$('frm_order_arrival').addClassName('red-border');
		$('frm_order_arrival_label').addClassName('red');
		$('frm_order_arrival_err').update(errMsg);		
		$('frm_order_arrival_err').show();
	}
	else
	{
		$('frm_order_arrival').removeClassName('red-border');		
		$('frm_order_arrival_label').removeClassName('red');		
		$('frm_order_arrival_err').update("");
		$('frm_order_arrival_err').hide();
	}	

	if(!isEmpty(form_id.frm_order_arrival.value) && !isEmpty(form_id.frm_order_departure.value) )
	{
		
		if ( form_id.frm_order_arrival.value<form_id.frm_order_departure.value) 
		{
			formOK = false;
			errMsg = "<img src='image/error-icon.gif'>Termin powrotu nie może być wcześniejszy niż termin wyjazdu";
			
			$('frm_order_departure').addClassName('red-border');
			$('frm_order_arrival').addClassName('red-border');		
			$('frm_order_arrival_err').update(errMsg);	
			$('frm_order_arrival_err').show();			
		}
		else 
		{
			//index.php?m=Order&a=Check&oid=21&departure=2008-06-02&arrival=2008-06-01
			
			new Ajax.Request('index.php',
			  {
			    method:'get',
			    asynchronous:  	false,
			    parameters: { m: 'Order', a: 'Check', oid: form_id.frm_order_offer_id.value, arrival: form_id.frm_order_arrival.value, departure: form_id.frm_order_departure.value },
			    onComplete: function(transport)
			    {
			      var response = transport.responseText || "bład";
			      if (response!=1)
			      {
					$('frm_order_departure').addClassName('red-border');
					$('frm_order_departure_label').addClassName('red');		      	
					$('frm_order_arrival').addClassName('red-border');		
					$('frm_order_arrival_label').addClassName('red');		
					$('frm_order_arrival_err').update(response);
					$('frm_order_arrival_err').show();
			      }
			      else
				  {
					$('frm_order_departure').removeClassName('red-border');
					$('frm_order_departure_label').removeClassName('red');					  	
				  	$('frm_order_arrival').removeClassName('red-border');		
					$('frm_order_arrival_label').removeClassName('red');		
					$('frm_order_arrival_err').update("");
					$('frm_order_arrival_err').hide();
			      }
			      	      
			    }
			  });
		}	
	}
		
	
	if (isEmpty(form_id.frm_order_phone01.value) || !isPhone(form_id.frm_order_phone01.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Nr telefonu powinien zawierać min 9 znaków";
		
		$('frm_order_phone01').addClassName('red-border');		
		$('frm_order_phone01_label').addClassName('red');		
		$('frm_order_phone01_err').update(errMsg);		
		$('frm_order_phone01_err').show();
	}
	else
	{
		$('frm_order_phone01').removeClassName('red-border');
		$('frm_order_phone01_label').removeClassName('red');
		$('frm_order_phone01_err').update("");
		$('frm_order_phone01_err').hide();
	}
	
	
	if (isEmpty(form_id.frm_order_address.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>wypełnij pole";
		
		$('frm_order_address').addClassName('red-border');		
		$('frm_order_address_label').addClassName('red');		
		$('frm_order_address_err').update(errMsg);	
		$('frm_order_address_err').show();	
	}
	else
	{
		$('frm_order_address').removeClassName('red-border');
		$('frm_order_address_label').removeClassName('red');
		$('frm_order_address_err').update("");		
		$('frm_order_address_err').hide();		
	}
	

	if (isEmpty(form_id.frm_order_postcode.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>wypełnij pole";
		
		$('frm_order_postcode').addClassName('red-border');		
		$('frm_order_postcode_label').addClassName('red');		
		$('frm_order_postcode_err').update(errMsg);	
		$('frm_order_postcode_err').show();	
	}
	else if (!isPostCode(form_id.frm_order_postcode.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Wprowadź poprawny kod pocztowy (XX-XXX)";
		
		$('frm_order_postcode').addClassName('red-border');		
		$('frm_order_postcode_label').addClassName('red');		
		$('frm_order_postcode_err').update(errMsg);			
		$('frm_order_postcode_err').show();			
	}
	else
	{
		$('frm_order_postcode').removeClassName('red-border');
		$('frm_order_postcode_label').removeClassName('red');
		$('frm_order_postcode_err').update("");				
		$('frm_order_postcode_err').hide();				
	}
	
	if (isEmpty(form_id.frm_order_city.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>wypełnij pole";
		$('frm_order_city').addClassName('red-border');		
		$('frm_order_city_label').addClassName('red');		
		$('frm_order_city_err').update(errMsg);					
		$('frm_order_city_err').show();					
	}
	else
	{
		$('frm_order_city').removeClassName('red-border');
		$('frm_order_city_label').removeClassName('red');
		$('frm_order_city_err').update("");				
		$('frm_order_city_err').hide();				
	}	
	
	if (!isInt(form_id.frm_order_personCount.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę podać poprawną liczbę osób";
		$('frm_order_personCount').addClassName('red-border');		
		$('frm_order_personCount_label').addClassName('red');		
		$('frm_order_personCount_err').update(errMsg);			
		$('frm_order_personCount_err').show();
	}
	else
	{
		$('frm_order_personCount').removeClassName('red-border');
		$('frm_order_personCount_label').removeClassName('red');
		$('frm_order_personCount_err').update("");				
		$('frm_order_personCount_err').hide();				
	}	

	if (!isInt(form_id.frm_order_childCount.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę podać poprawną liczbę dzieci";
		$('frm_order_childCount').addClassName('red-border');		
		$('frm_order_childCount_label').addClassName('red');		
		$('frm_order_childCount_err').update(errMsg);				
		$('frm_order_childCount_err').show();				
	}
	else
	{
		$('frm_order_childCount').removeClassName('red-border');
		$('frm_order_childCount_label').removeClassName('red');
		$('frm_order_childCount_err').update("");				
		$('frm_order_childCount_err').hide();				
	}	
	
	if (!isInt(form_id.frm_order_infantCount.value)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę podać poprawną liczbę niemowląt";
		$('frm_order_infantCount').addClassName('red-border');		
		$('frm_order_infantCount_label').addClassName('red');		
		$('frm_order_infantCount_err').update(errMsg);				
		$('frm_order_infantCount_err').show();				
	}
	else
	{
		$('frm_order_infantCount').removeClassName('red-border');
		$('frm_order_infantCount_label').removeClassName('red');
		$('frm_order_infantCount_err').update("");				
		$('frm_order_infantCount_err').hide();				
	}		
	
	if (check(form_id.frm_order_agreement)) 
	{
		formOK = false;
		errMsg = "<img src='image/error-icon.gif'>Proszę potwierdzić akceptacje regulaminu";
		$('frm_order_agreement').addClassName('red-border');		
		$('frm_order_agreement_err').update(errMsg);		
		$('frm_order_agreement_err').show();		
	}
	else
	{
		$('frm_order_agreement').removeClassName('red-border');
		$('frm_order_agreement_err').update("");				
		$('frm_order_agreement_err').hide();				
	}	
/**/
//------------------------------------

	if (formOK) 
	{
		$('error_id').hide();
		form_id.submit();
		return true;
	}
	else
	{
		$('error_id').show();
		$('error_id').scrollTo();
		return false;
	}
	
		
}

// checkBox
function check(theValue)
     {
if(theValue.checked == true)
{ return false; }
else
{ return true; }
}               
               
                
function checkNewsLetterForm(form_id) 
{
	formOK = true;

	if (!isEmail(form_id.newsLetterEmail.value)) {
			formOK = false;
       		errMsg = "<img src='image/error-icon.gif'>Proszę podać poprawny adres email";
	}

	if (formOK) {
		form_id.submit();
		return true;
	} else {
		alert(errMsg);
		return false;
	}
}

function isEmpty(theValue) 
{
	if (theValue.toString().length==0) {
		return true;
	} else {
		return false;
	}
}

function hasRadioSelected(theRadioGroup) {
	var selectedIndex;
	selectedIndex = 0;
	for (var i=0;i<theRadioGroup.length;i++) {
		if (theRadioGroup(i).checked) {
			selectedIndex = (i+1);
		}
	}
	return selectedIndex;
}

function isEmail(email) {
	if(-1 == email.indexOf("@")
		||(-1 != email.indexOf(","))
		||(-1 != email.indexOf("#"))
		||(-1 != email.indexOf("!"))
		||(-1 != email.indexOf(" "))
		||(-1 != email.indexOf(":"))
		||(-1 != email.indexOf("("))
		||(-1 != email.indexOf(")"))
		||(-1 != email.indexOf("\""))
		||(-1 != email.indexOf("\\"))
		||(-1 != email.indexOf("/"))
		||(email.length == (email.indexOf("@")+1) )
		||(email.length == 0) )
		return false;

    return true;
}


function isPostCode(pcode) {

	var postCodeExpr = "^([0-9]{2,2}[-\ ]*[0-9]{3,3})$";

	var regex = new RegExp(postCodeExpr);

	if (regex.test(pcode) != true)
		return false;

	return true;
}
function isPhone(phone) {

	var telnoRegxp = "^([0-9wWeEnN., ()/+/-]\{9,25\})$";
//	var telnoRegxp = "^([.]\{9,15\})$";

	var regex = new RegExp(telnoRegxp);

	if (regex.test(phone) != true)
		return false;

	return true;
}

function isValidName(fname) {

	if(	(-1 != fname.indexOf("@"))
		||(-1 != fname.indexOf("#"))
		||(-1 != fname.indexOf("!"))
		||(-1 != fname.indexOf(":"))
		||(-1 != fname.indexOf("\""))
		||(-1 != fname.indexOf("\\"))
		||(-1 != fname.indexOf("/"))
		||(-1 != fname.indexOf("'"))
		||(-1 != fname.indexOf("("))
		||(-1 != fname.indexOf(")"))
		  )
		return false;

    return true;
}

function isInt(variable) {

	var telnoRegxp = "^([0-9]+)$";

	var regex = new RegExp(telnoRegxp);

	if (regex.test(variable) != true)
		return false;

	return true;
}