var validation_types = new Array();
var validation_values = new Array();
var validation_field_names = new Array();
var validation_min_len = new Array();

function date_confirm(take_year, take_month, take_day, give_year, give_month, give_day){
	var current_date = new Date();
	var take_date = Date.parse(take_year+'/'+take_month+'/'+take_day);
	var give_date = Date.parse(give_year+'/'+give_month+'/'+give_day);

	current_date = Date.parse(current_date.getFullYear()+'/'+(current_date.getMonth()+1)+'/'+current_date.getDate());

	if(take_date<current_date)	{
		alert("Choose correct date");
		return false;
	}

	if(take_date>=give_date)	{
		alert("Choose correct date");
		return false;
	}
	
	
	return true;
}

function pass_confirm(mem_change_pass_form){
	var_new_pass = mem_change_pass_form.new_pass.value;
	var_new_pass_confirm = mem_change_pass_form.new_pass_confirm.value;
	if(var_new_pass!=var_new_pass_confirm){
		alert("'New password' and 'Confirm new password' fields must be equal !");
		return false;							
	}
	if(var_new_pass.length<6){
		alert("'New password' must contain more than 5 symbols !");
		return false;														
	}
	return true;
}


function email_confirmation(contact_form){
	var_email = contact_form['email'].value;
	var_email_confirm = contact_form['email_confirm'].value;
	if(var_email!=var_email_confirm){
		alert("'Email' and 'Confirm Email' fields must be equal !");
		return false;							
	}
	return true;
}

function validator(type, value, field_name, minlen, obj_field){
	if(!minlen)
		minlen = 1;
		
	if((type!='radio') && (value.length < minlen)){
		alert('"'+field_name+'"-value must contain more than '+(minlen-1)+' symbols');
		return false;	
	}		
	
	switch(type){
		case 'num':
			reg = /^\d+$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value must contain only numbers');	
				return false;
			}				
			break;
		case 'float':
			reg = /^[\d\.\,]+$/
			result = reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value must contain only float');	
				return false;
			}				
			break;
		case 'float_sign':
			reg = /^[\d\.\,\-]+$/
			result = reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value must contain only float');	
				return false;
			}				
			break;
		case 'alpha':
			reg = /^[\wÀ-ßà-ÿ ]+$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect');	
				return false;
			}				
			break;	
		case 'alpha_num':
			reg = /^[\d\wà-ÿÀ-ß ]+$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect');	
				return false;
			}				
			break;
		case 'phone':
			reg = /^[0-9)\)\(+-]+$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect');	
				return false;
			}				
			break;		
		case 'email':	
			reg = /^[-+\.0-9=a-zA-Z_]+@([-0-9a-zA-Z]+\.)+([0-9a-zA-Z]){2,4}$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect');	
				return false;
			}				
			break;		
		case 'password':
			reg = /[0-9a-zA-Z_]+/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect.');	
				return false;
			}				
			break;
		case 'time':
			reg = /^\d{1,2}\:\d{1,2}$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect.');	
				return false;
			}				
			break;
		case 'purse':
			reg = /^[EUZ]\d{12}$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect.');	
				return false;
			}				
			break;
		case 'wmid':
			reg = /^\d{12}$/
			result=reg.test(value);
			if(!result){
				alert('"'+field_name+'"-value is incorrect.');	
				return false;
			}				
			break;			
		case 'radio':
			result = false;
			for (var j=0;j<obj_field.length;j++) {
				if (obj_field[j].checked) {
					result = true;
				}
			}
			if(!result){
				alert('"'+field_name+'"-must be checked.');	
				return false;
			}
			break;
		case 'checkbox':
			result=obj_field.checked;
			if(!result){
				alert('"'+field_name+'"-must be checked.');	
				return false;
			}				
			break;
	}
	return true;
}

function submition(form_name){
	var is_valid;
	for(i = 0; i < validation_values.length; i++){
		is_valid = validator(validation_types[i], form_name[validation_values[i]].value, validation_field_names[i], validation_min_len[i], form_name[validation_values[i]]);
		if(!is_valid)
			return false;
	}
	return true;
}