$(document).ready(function(){  
    $(".forma").submit(function() {
	    validationResult = checkFillInputs($(this));
	   // alert(validationResult);
		alert(validationResult);
	    return validationResult;
    });	
});
var validationResult = true;
function checkFillInputs(forma){
    
        $('.msg_error').hide();
        var validation = forma.find(".validation").get();
        if(validation.length>0){
		
		var i, format = forma.find(".format").get();
		if(format.length>0){
		    
			for(i=0; i<format.length; i++){
				var el = $(format[i]);
				if($(format[i]).hasClass('is_empty')){
					if(jQuery.trim(el.val())==''){
						showError(el, 'is_empty');
						return false;
					}
				}
				if($(format[i]).hasClass('is_number')){
					if(checkNumber(el)){
						showError(el, 'is_number');
						return false;
					}
				}
				if($(format[i]).hasClass('is_text')){
					if(checkText(el)){
						showError(el,'is_text');
						return false;
					}
				}
				if($(format[i]).hasClass('is_greek')){
					if(checkGreekFormat(el)){
						showError(el, 'is_greek');
						return false;
					}
				}  
				if($(format[i]).hasClass('is_email')){
					if(checkEmailFormat(el)){
						showError(el, 'is_email');
						return false;
					}
				}
				if($(format[i]).hasClass('has_minlength')){
					if(checkMinlength(el)){
						showError(el, 'has_minlength');
						return false;
					}
				}
				if($(format[i]).hasClass('has_maxlength')){
					if(checkMaxlength(el)){
						showError(el, 'has_maxlength');
						return false;
					}
				}
				if($(format[i]).hasClass('is_checked')){
					if(checkCheckbox(el)){
						showError(el, 'is_checked');
						return false;
					}
				}
			}
		}
		var confirm = forma.find(".confirm").get();
		if(confirm.length>0){
			for(i=0; i<confirm.length; i++){
				var confirm1		= $(confirm[i]);
				var confirm_name 	= confirm1.attr('name');
				var confirm_name_val 	= confirm1.val();
				var confirm2		= $("input[name="+confirm_name+"2]");
				if(confirm2.val() != confirm_name_val){
					showError(confirm1, 'confirm');
					showError(confirm2, 'confirm');
					return false;							
				}
			}
		}
		var getAjax = forma.find(".getAjax").get();
		if(getAjax.length>0){
                        
			for(i=0; i<getAjax.length; i++){
				checkAjaxValue($(getAjax[i]));
                                
			}
		}
        }
	return true;	
}
function showError(el, type){
	
	validationResult = false;	
	$('.msg_error').hide();
	var msg 	= $('#msg_of_'+type).html();
    el.next().html(msg).show();
    return false;
}

function checkNumber(el){
	var str		= el.val();
	var anum	= /(^\d+$)|(^\d+\.\d+$)/;
	return getResult(anum.test(str));  
}

function checkText(el){
	var str		= el.val();
	var anum	= /[A-Za-zΑ-Ωα-ω]/;
	return getResult(anum.test(str));  
}

function checkGreekFormat(el){
	var str		= el.val();
	var anum	= /[Α-Ωα-ω]/;
	return getResult(anum.test(str));  
}

function checkEmailFormat(el){
	var str		= el.val();
	var anum	= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/; 
	return getResult(anum.test(str));  
}

function checkMinlength(el){
	var str		= el.val();
	var start	= el.attr('size');
	var result;
	$('#has_minlength_num').text(start);
	$('.curent_length_num').text(str.length);
	if(str.length >= start){
	    result = false; 
	}else{
	    result = true; 
	}
	return result;  
}

function checkMaxlength(el){
	var str		= el.val();
	var end		= el.attr('maxlength');
	var result;
	$('#has_maxlength_num').text(end);
	$('.curent_length_num').text(str.length);
	if(str.length <= end){
	    result = false; 
	}else{
	    result = true; 
	}
	return result;  
}

function checkCheckbox(el){
	var result;
	if(el.attr('checked')){
	     result = false; 
	}else{
	    result = true; 
	}
	return result;
}

function checkAjaxValue(el){
	var getAjaxValue 	= jQuery.trim(el.val());
	var getAction 		= el.attr('id');
	$.ajax({
		type: "POST",
		url: "http://www.pennyauctions.gr/validation.php",
		data: "a="+getAction+"&value="+getAjaxValue,			   
		dataType: "html",
		async: false,
		cache: false,
		success: function(ajaxResult){
			if(ajaxResult!='1'){
				validationResult = false;	
				//$('.msg_error').hide();
				//el.parent().next().find('.msg_error').html(msg).show();
                                
                                showError(el, 'checkCaptcha');
			}else{
				$('.msg_error').hide();
				validationResult = true;
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert('Error Ajax');
		}
	});
}

function getResult(bool){
    var result;var result;
    if(bool){
	    result=false;
    }else{
	    result=true;
    }
    return (result);  
}


/*
ajax
    #elegxos me ajax px ajax_checkCapcha 

confirm
    #elegxos epibebaiwshs mias class api8hkeumenh se array  (px confirm_password, confirm_email) 

restriction
    #periorismos sunolou mias class api8hkeumenh se array (px synergates ths etem  partners)

format class: 
        is_empty                           
        is_number               
        is_text                 
        is_date
        is_email  
px       
format is_empty is_email
        

geniko px class="format is_empty is_number confirm confirm_password restriction_12"

*/

