/**
 *
 *
 * @version $Id: validators.js,v 1.11 2008/12/11 12:44:20 rk Exp $
 * @copyright 2005
 **/

function validate_recommend_form( frm )
{
if( !is_email(frm.elements['to_email'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['to_email'].focus();
		return false;
	}
if( !is_email(frm.elements['from_email'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['from_email'].focus();
		return false;
	}

	return true;
}

function val_enqmp_form(frm)
{
	for (i=0 ; i<frm.elements.length ; i++)
	{
		if( frm.elements[i].value == 0 )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[i].focus();
			return false;
		}
	}
	
	
	przes_a =(frm.elements['year_a'].value % 4 ==0)?true:false;
	przes_d =(frm.elements['year_d'].value % 4 ==0)?true:false;
	if(przes_a)
	{
		if(frm.elements['month_a'].value == 2 && frm.elements['day_a'].value > 29)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_a'].focus();
			return false;
		}
	}
	else
	{
		if(frm.elements['month_a'].value == 2 && frm.elements['day_a'].value > 28)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_a'].focus();
			return false;
		}
	}
	
	if(przes_d)
	{
		if(frm.elements['month_d'].value == 2 && frm.elements['day_d'].value > 29)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_d'].focus();
			return false;
		}
	}
	else
	{
		if(frm.elements['month_d'].value == 2 && frm.elements['day_d'].value > 28)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_d'].focus();
			return false;
		}
	}
	
	minimonth=new Array(4,6,9,11);
	for(j=0; j<minimonth.length; j++)
	{
		if(frm.elements['month_a'].value == minimonth[j] && frm.elements['day_a'].value==31)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['month_a'].focus();
			return false;
		}
		if(frm.elements['month_d'].value == minimonth[j] && frm.elements['day_d'].value>30)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['month_d'].focus();
			return false;
		}
	}

	dateA = new Date(frm.elements['year_a'].value,frm.elements['month_a'].value-1,frm.elements['day_a'].value);
	dateD = new Date(frm.elements['year_d'].value,frm.elements['month_d'].value-1,frm.elements['day_d'].value);
	dateN = new Date();
	
	if(dateN > dateA)
	{
		window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
		frm.elements['year_a'].focus();
		return false;
	}
	
	if( ((dateD - dateA)/(24*60*60*1000)) < 1 )
	{
		window.alert(JS_MSG_VALIDATE_FORM_BAD_RESERVATION_LENGTH);
		frm.elements['month_d'].focus();
		return false;
	}
	
	return true;
}
 
function validate_trac_form( frm )
{
	reqFields = new Array
				(
					'title',
					'descr'
				);	
				
	for (i=0 ; i<reqFields.length ; i++)
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}
	if(frm.elements['devs'].value==0)
	{
		window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
		frm.elements['devs'].focus();
		return false;
	}
	
	return true;
}

function validate_faqprop_form( frm )
{

	if(frm.elements['question'].value=='')
	{
		window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
		frm.elements['question'].focus();
		return false;
	}
	
	return true;
}

function validate_enquiry_form( frm )
{
	dateFields = new Array
				(
					'year_a',
					'month_a',
					'day_a',
					'year_d',
					'month_d',
					'day_d'
				);
	
	
	for (i=0 ; i<dateFields.length ; i++)
	{
		if( frm.elements[dateFields[i]].value == 0 )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[dateFields[i]].focus();
			return false;
		}
	}
	
	
	przes_a =(frm.elements['year_a'].value % 4 ==0)?true:false;
	przes_d =(frm.elements['year_d'].value % 4 ==0)?true:false;
	if(przes_a)
	{
		if(frm.elements['month_a'].value == 2 && frm.elements['day_a'].value > 29)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_a'].focus();
			return false;
		}
	}
	else
	{
		if(frm.elements['month_a'].value == 2 && frm.elements['day_a'].value > 28)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_a'].focus();
			return false;
		}
	}
	
	if(przes_d)
	{
		if(frm.elements['month_d'].value == 2 && frm.elements['day_d'].value > 29)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_d'].focus();
			return false;
		}
	}
	else
	{
		if(frm.elements['month_d'].value == 2 && frm.elements['day_d'].value > 28)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['year_d'].focus();
			return false;
		}
	}
	
	minimonth=new Array(4,6,9,11);
	for(j=0; j<minimonth.length; j++)
	{
		if(frm.elements['month_a'].value == minimonth[j] && frm.elements['day_a'].value==31)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['month_a'].focus();
			return false;
		}
		if(frm.elements['month_d'].value == minimonth[j] && frm.elements['day_d'].value>30)
		{
			window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
			frm.elements['month_d'].focus();
			return false;
		}
	}

	dateA = new Date(frm.elements['year_a'].value,frm.elements['month_a'].value-1,frm.elements['day_a'].value);
	dateD = new Date(frm.elements['year_d'].value,frm.elements['month_d'].value-1,frm.elements['day_d'].value);
	dateN = new Date();
	
	if(dateN > dateA)
	{
		window.alert(JS_MSG_VALIDATE_FORM_INVALID_DATE);
		frm.elements['year_a'].focus();
		return false;
	}
	
	if( ((dateD - dateA)/(24*60*60*1000)) < 1 )
	{
		window.alert(JS_MSG_VALIDATE_FORM_BAD_RESERVATION_LENGTH);
		frm.elements['month_d'].focus();
		return false;
	}
	
	reqRooms = new Array
				(
					'apartment',
					'room1',
					'room2',
					'room3',
					'room4'
				);
	var liczbapokoi = 0;
	for (i=0 ; i<reqRooms.length ; i++)
	{
		if( frm.elements[reqRooms[i]].value == '' )
			aaaa = 0;
		else
			aaaa = parseInt(frm.elements[reqRooms[i]].value);
			
		liczbapokoi+=aaaa;
	}
	
	if(!(liczbapokoi>0))
	{
		window.alert(JS_MSG_VALIDATE_FORM_SELECT_ROOM);
		frm.elements['apartment'].focus();
		return false;
	}
	
	gender = false;
	for (i=0 ; i<frm.elements['gender'].length ; i++)
	{
		if(frm.elements['gender'][i].checked == true )
		{
			gender = true;
		}
	}
	
	if(!gender)
	{
		window.alert(JS_MSG_VALIDATE_FORM_SELECT_ONE);
		frm.elements['gender'][0].focus();
		return false;
	}


	reqFields = new Array
				(
					'forename',
					'surname',
					'address',
					'postal_code',
					'city',
					'country',            
               		'phone',
               		'fax',
					'email',
					'specVerCode'					
				);

	for (i=0 ; i<reqFields.length ; i++)
	{
		if( frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}
	
	if( !is_email(frm.elements['email'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['email'].focus();
		return false;
	}
	
	payment = false;	
	for (i=0 ; i<frm.elements['payment'].length ; i++)
	{
		if(frm.elements['payment'][i].checked == true )
		{
			payment = true;
		}
	}
	
	if(!payment)
	{
		window.alert(JS_MSG_VALIDATE_FORM_SELECT_ONE);
		frm.elements['payment'][0].focus();
		return false;
	}
	
	return true;
}

function validate_newsletter_form(formid)
{
	if( !is_email( $("#" + formid + " > input:text").val() ))
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		$(formid + " > input:text").focus();
		return false;
	}
	
	return true;
}

function validate_both_form(formid)
{
	if( !is_email( $("#" + formid + " > input:text").val() ))
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		$(formid + " > input:text").focus();
		return false;
	}
	
	if( $('#' + formid + ' > div > input:checked').length < 1 )
	{
		window.alert(JS_MSG_VALIDATE_FORM_SUBSCR_REQ);
		$('#' + formid + ' > div > input:checked').focus();
		return false;
	}
	
	return true;
}
 
////////////////////////// do sprawdzenia:

function validate_profile_form(frm, isRegistering)
{
	if( !is_email(frm.elements['email'].value) )
	{
		window.alert(JS_MSG_VALIDATE_FORM_EMAIL_REQ);
		frm.elements['email'].focus();
		return false;
	}

	re1 = /^[a-z0-9]+$/i;
	if(frm.elements['login'])
		found1 = frm.elements['login'].value.match( re1 );
	else
		found1 = false;

	if(frm.elements['login'] && !found1 )
	{
		window.alert(JS_MSG_VALIDATE_FORM_LOGIN_REQ);
		frm.elements['login'].focus();
		return false;
	}

	reqFields = new Array
				(
					'forename',
					'surname',
					'address',
					'postal_code',
					'city',
					'phone',
					'verCode'
				);

	for (i=0 ; i<reqFields.length ; i++)
	{
		if(frm.elements[reqFields[i]] && frm.elements[reqFields[i]].value == '' )
		{
			window.alert(JS_MSG_VALIDATE_FORM_FIELD_REQ);
			frm.elements[reqFields[i]].focus();
			return false;
		}
	}

	if(		 isRegistering
			&& frm.elements['pass'].value.length <= 3
			|| frm.elements['pass'].value != frm.elements['confirm'].value
		)
	{
		window.alert(JS_MSG_VALIDATE_FORM_PASS_REQ);
		frm.elements['pass'].focus();
		return false;
	}
	/*
	if(isRegistering && frm.elements['accept_rules'].checked != true)
	{
		window.alert(JS_MSG_VALIDATE_FORM_ACCEPT_RULES);
		frm.elements['accept_rules'].focus();
		return false;
	}

	if(frm.elements['mailing'].checked)
	{
		var anySelected = false;
		for(i = 0; i < frm.elements['mailing_cats'].options.length; i++)
			if(frm.elements['mailing_cats'].options[i].selected)
			{
				anySelected = true;
				break;
			}

		if( !anySelected)
		{
			window.alert(JS_MSG_VALIDATE_FORM_FILL_SURVEY);
			frm.elements['mailing_cats'].focus();
			return false;
		}
	}
	*/
	return true;
}

// GENERAL USE FUNCTIONS //

function is_email( str )
{
	re = /^(\w[\w._-]*\w|\w)@(\w+(-\w+)?\.)+\w{2,4}$/i;
	//([^ \.\P{alnum}-][\w._-]*[^ \.\P{alnum}-]|[^ \.\P{alnum}-])@(\w+\.)\w{2,4}
	found = str.match( re );
	//alert(found);

	if( !found )
		return false;

	return true;
}

function is_nip( str )
{
	re = /^\d{10}$/;
	found = str.match( re );
	found = found ? 1 : 0;
	//alert("found: " + found);
	if( !found)
		return false;

	checkSumParts = '657234567';
	checkSum = 0;
	for(nr = 0; nr < 9; nr++)
		checkSum += checkSumParts.charAt(nr) * str.charAt(nr);

	//alert(checkSum);
	return str.charAt(9) == (checkSum % 11 % 10);

	return true;
}


function validate_poll( frm, isCheckbox)
{
	var ok = false;	

	if (isCheckbox)
	{
		for (i=0; i < frm.elements['id_poll_answer[]'].length ; i++)
		{
			if (frm.elements['id_poll_answer[]'][i].checked == true)	
			ok = true;
		}
	}
	else
	{
		for (i=0; i < frm.elements['id_poll_answer'].length ; i++)
		{
			if (frm.elements['id_poll_answer'][i].checked == true)	
			ok = true;
		}
	}
	
	if (!ok)
		window.alert(JS_MSG_VALIDATE_POLL);

	return ok;
}

