var ERRTEXT_EMPTY='Az alábbi mező kitöltése kötelező!';
var ERRTEXT_BADVALUE='Az alábbi mezőben megadott adat nem megfelelő formátumú!';
var ERRTEXT_USERNAMEUSED='Ez a felhasználónév már foglalt!';
var SUCCTEXT_USERNAMEOK='Ez a felhasználónév szabad!';

function isPositiveNumber(fieldname,min,max,rowfieldname) {
    hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;
    if ($(fieldname)!=null) {
        var val=$F(fieldname);
        if (val=='') hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
        else if (isNaN(val)) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
            else {
                val=val.replace(new RegExp("^[0]+", "g"), "");
                val=parseInt(val);
                if (val<=0) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
                else if (min!=null && val<min) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
                    else if (max!=null && val>max) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
            }
    }
    return hiba;
}

function checkregion(fieldname,rowfieldname) {
    hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;
    if ($(fieldname)!=null) {
        var val=$F(fieldname);
        if (val=='') hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
        else if (isNaN(val)) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
        else {
                val=val.replace(new RegExp("^[0]+", "g"), "");
                val=parseInt(val);
                if (val<=0) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
                else if (val<22) {
                	hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
                }
        }
    }
	return hiba;
}

function checkemail(fieldname,rowfieldname) {
	hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;	
	if ($(fieldname)!=null) {
	    	var val=$F(fieldname);
	    	if (val=='') hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
	    	else {
				var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
				if(reg.test(val) == false) {
					hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
				}
	    	}
	}
	return hiba;
}

function checkadoszam(fieldname,rowfieldname) {
	hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;	
	if ($(fieldname)!=null) {
	    	var val=$F(fieldname);
	    	if (val=='') hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
	    	else {	
				var x=val;
				if ((x.charAt(8) != '-') || (x.charAt(10) != '-')) {
					hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
				}
			}
	}
	return hiba;	
}

//felhasznalonev
function checkname(fieldname,minlength,maxlength,rowfieldname) {
	validChar='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.';
	hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;	
	if ($(fieldname)!=null) {
	    	var val=$F(fieldname);
	    	if (val=='') hiba=display_error(ERRTEXT_EMPTY,rowfieldname);
	    	else {
	    		strlen=val.length;
	    		if (strlen<4 || strlen>16) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
	    		else {
	    			for (i=0;i<=strlen;i++) {
	    				if(validChar.indexOf(val.charAt(i))<0) {
	    					hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
	    				}
	    			}
	    			if (!hiba) {
	    				/*Ajaxxal megnezzuk van-e ilyen nevu user*/
	    				var num=0;
				        new Ajax.Request('/adminusers/isuser', {method: 'post',
            				parameters: {
                				username: val
            				},
            				onComplete: 
            					function(response) {
									var isJSON=response.responseText.isJSON();
									var h=$H(isJSON?response.responseText.evalJSON(true):{error:-100});
    								var num=h.get('num');   
    								if (num==1) hiba=display_error(ERRTEXT_USERNAMEUSED,rowfieldname); 	
    								else display_success(SUCCTEXT_USERNAMEOK,rowfieldname);						
								}}
            			);   			
	    			}
	    		}
	    	}
	}
	return hiba;
}

function checkpasswd(fieldname,rowfieldname) {
	hiba=false;
    if (rowfieldname==null) rowfieldname=fieldname;		
	if ($(fieldname)!=null) {
		var val=$F(fieldname);
		if (val!='') {
			strlen=val.length;
			if (strlen<5 || strlen>30) hiba=display_error(ERRTEXT_BADVALUE,rowfieldname);
		}
	}
	return hiba;
}


/*****Ellenőrzés, és megjelenítés****/

function display_error(text,fieldname) {
    if ($(fieldname+'_error')!=null) return;
    field=$(fieldname+'_row');
    if (field==undefined) return true;
    field.insert({before: '<tr class="errorline" id="'+fieldname+'_error"><td colspan="3" align="center">'+text+'</td></tr>'});
    alert('Valamelyik beviteli mezőt (mezőket) rosszul, vagy nem adtad meg. Kérlek javítsd!');
    return true;
}

function display_success(text,fieldname) {
    if ($(fieldname+'_error')!=null) return;
    field=$(fieldname+'_row');
    if (field==undefined) return true;
    field.insert({before: '<tr class="successline" id="'+fieldname+'_error"><td colspan="3" align="center">'+text+'</td></tr>'});
    return true;
}

function ellenorzes_szallform() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;
 
    if ($F('type')=='1' && ($F('szallname')!='' || $F('szalladdress')!='' || $F('szalltel')!='' || $F('nincs_mentett')=='1')) {
    	if ($F('szallname')=='') hiba=display_error(ERRTEXT_EMPTY,'szallname');
		hiba=checkregion('szallregionid') || hiba ;
		if ($F('szalladdress')=='') hiba=display_error(ERRTEXT_EMPTY,'szalladdress');
		//if ($F('szalltel')=='') hiba=display_error(ERRTEXT_EMPTY,'szalltel');		
    }
    return !hiba;  	
}

function ellenorzes_ugyfel_new() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    hiba=checkname('username') || hiba ;
    hiba=checkpasswd('passwd') || hiba ;
    hiba=checkemail('email') || hiba ;
    if ($F('fullname')=='') hiba=display_error(ERRTEXT_EMPTY,'fullname');
    if ($F('placeid')==0) hiba=display_error(ERRTEXT_EMPTY,'placeid');    

    return !hiba;
}

function ellenorzes_ugyfel_mod() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    /*hiba=checkname('username') || hiba ;*/
    hiba=checkemail('email') || hiba ;
    if ($F('fullname')=='') hiba=display_error(ERRTEXT_EMPTY,'fullname');
    if ($F('placeid')==0) hiba=display_error(ERRTEXT_EMPTY,'placeid');    

    return !hiba;
}

function elo_ellenorzes() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    hiba=checkname('username') || hiba ;

    return !hiba;
}

function ellenorzes_kepviselo_new() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    hiba=checkname('username') || hiba ;
    hiba=checkpasswd('passwd') || hiba ;
    hiba=checkemail('email') || hiba ;
    if ($F('fullname')=='') hiba=display_error(ERRTEXT_EMPTY,'fullname');

    return !hiba;
}

function ellenorzes_kepviselo_mod() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    /*hiba=checkname('username') || hiba ;*/
    hiba=checkemail('email') || hiba ;
    if ($F('fullname')=='') hiba=display_error(ERRTEXT_EMPTY,'fullname');

    return !hiba;
}

function ellenorzes_place() {
	$$('tr.errorline').each(function(e) {e.remove();});
    var hiba=false;

    /*hiba=checkname('username') || hiba ;*/
	/*hiba=isPositiveNumber('placezipcode',0,1) || hiba ;*/    
    if ($F('name')=='') hiba=display_error(ERRTEXT_EMPTY,'name');
	hiba=checkregion('placeregionid') || hiba ;
	if ($F('address')=='') hiba=display_error(ERRTEXT_EMPTY,'address');
	
	if ($F('ownername')=='') hiba=display_error(ERRTEXT_EMPTY,'ownername');
	hiba=checkregion('ownerregionid') || hiba ;
	if ($F('owneraddress')=='') hiba=display_error(ERRTEXT_EMPTY,'owneraddress');
	hiba=checkadoszam('ownertaxnum') || hiba ;

	if ($F('placetype')==0) hiba=display_error(ERRTEXT_EMPTY,'placetype');	
	if ($F('yearlypayment')!='') hiba=isPositiveNumber('yearlypayment',1,999999999) || hiba ;
	
	if ($('billdata').style.display=='') {
		if ($F('billname')=='') hiba=display_error(ERRTEXT_EMPTY,'billname');
		hiba=checkregion('billregionid') || hiba ;
		if ($F('billaddress')=='') hiba=display_error(ERRTEXT_EMPTY,'billaddress');
		hiba=checkadoszam('billtaxnum') || hiba ;		
	}
	
	if ($('agreement').value==1) {
		hiba=isPositiveNumber('agreement_money',1000,999999999) || hiba ;
		hiba=isPositiveNumber('agreement_percent',1,99) || hiba ;
	}
	
    return !hiba;
}