function validate(obj) {
    var fill = "A mező kitöltése kötelező";
    var valid = "A megadott adat formátuma nem megfelelő";
    $j(obj).find(':input').removeClass("error-input");
    $j("#validationmsg").hide();
    $j("#validationmsg").html("");
    var _errors = 0;
    var _error_msg = new Array();
    var _required = $j(obj).find(':input');
    _required.each(function (i, item) {
        if (item.type != "hidden") {
            if ($j(item).hasClass("required") && isEmpty(item)) {
                var _elem = item.id;
                $j("#" + item.id).addClass("error-input");
                _errors++;
                if (_error_msg.indexOf(fill) < 0) {
                    _error_msg.push(fill);
                }
            }
            else {
                var res = true;
                switch(item.type) {
                	case "text":
                	case "file":
                	case "textarea":
                	case "hidden":
                	case "password":
                		res = validateTextBox(item);
                		break;

                	case "checkbox":
                		//res = validateCheckbox(item);
                        //alert(res);
                		break;
                }
                
                if (!res) {
                    _errors++;
                    var _elem = item.id;
                    $j("#" + item.id).addClass("error-input");
                    if (_error_msg.indexOf(valid) < 0)
                        _error_msg.push(valid);
                }
            }
        }
    });
//    _required = obj.find('.required');
/*    _required.each(function (i, item) {
        if (item.hasClass("required"))
            alert("kotelezo");
        if (item.hasClass('required') and isEmpty(item)) {
            var _elem = item.id;
            $("#" + item.id).addClass("error-input");
            _errors++;
        }
        else {
/*            switch (item.type) {
            	case "checkbox":
            		validateCheckbox(item);
            		break;
            		
            	case "text":
            	case "file":
            	case "textarea":
            	case "hidden":
            	case "password":
            		var res = validateTextBox(item);
            		break;
            	
            	case "select-one":
            		validateSelect(item);
            }
            if (!res) {
                _errors++;
                var _elem = item.id;
                $("#" + item.id).addClass("error-input");
            }*/
/*        }
    });*/
//    alert('hm');
    if (_errors > 0) {
//        alert('hm');
//        $("validationmsg").append("<ul>");
        var hibatext = "<ul class=\"error_msg\">";
        for (a = 0; a < _error_msg.length; a++)
            hibatext = hibatext + "<li class=\"error_msg\">" + _error_msg[a] + "</li>";
        hibatext = hibatext + "</ul>";
//            $("validationmsg").append("<li>" + _error_msg[a] + "</li>");
        $j("#validationmsg").html(hibatext);
//        $("validationmsg").fadeIn("slow");
        $j("#validationmsg").fadeIn("slow");
        return false;
    }
    else
        return true;
}

function validateTextBox(item) {
    if ($j(item).hasClass("email") && !isEmail(item.value))
        return false;
    
    if ($j(item).hasClass("date") && !isValidDate(item.value,'yyyy mm dd'))
        return false;

    if ($j(item).hasClass("time") && !isTime(item.value))
    	return false;
    	
    if ($j(item).hasClass("float") && isFloat(item.value) == false)
    	return false;
    
    if ($j(item).hasClass("url") && isUrl(item.value) == false)
    	return false;
    
    if ($j(item).hasClass("number") && isNumber(item.value) == false)
    	return false;

    return true;
}
function validateRadio(item) {
    var ret = false;
    var radios = document.getElementsByName(item.name);
    for (i in radios) {
        if (radios[i].checked) {
            ret = true;
        }
    }
    return ret;
}
function validateCheckbox(item) {
	if(!item.checked)
        return false;
//		errors.push({id: item.id, msg: getMsg(item), type: "checkbox"});
}
        
function isEmail(str) {
    var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
    return regex.test(str);
}

function isNumber(str) {
    var regex = /^[0-9-\s]*$/;
    return regex.test(str);
}

function isEmpty(item) {
    if (item.value == "")
        return true;

/*    if (options.usedefault && item.value == jQuery(item).attr("title"))
        return true;*/

    return false;
}

function isUrl(str) {
    var regex = /^((http|ftp|https):\/\/w{3}[\d]*.|(http|ftp|https):\/\/|w{3}[\d]*.)([\w\d\._\-#\(\)\[\]\\,;:]+@[\w\d\._\-#\(\)\[\]\\,;:])?([a-z0-9]+.)*[a-z\-0-9]+.([a-z]{2,3})?[a-z]{2,6}(:[0-9]+)?(\/[\/a-z0-9\._\-,]+)*[a-z0-9\-_\.\s\%]+(\?[a-z0-9=%&amp;\.\-,#]+)?$/;
    return regex.test(str);
}

function isDate(str) {
    var regex = /^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))$/;
    return regex.test(str);
}

function isTime(str) {
    var regex = /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$/;
    return regex.test(str);
}

function isFloat(str) {
    var regex = /^([+-]?(((\d+(\.)?)|(\d*\.\d+))([eE][+-]?\d+)?))$/;
    return regex.test(str);
}

function isValidDate(date_string, format) {
    var days = [0,31,28,31,30,31,30,31,31,30,31,30,31];
    var year, month, day, date_parts = null;
    var rtrn = false;
    var decisionTree = {
        'm/d/y':{
            're':/^(\d{1,2})[./-](\d{1,2})[./-](\d{2}|\d{4})$/,
            'month': 1,'day': 2, year: 3
        },
        'mm/dd/yy':{
            're':/^(\d{1,2})[./-](\d{1,2})[./-](\d{2})$/,
            'month': 1,'day': 2, year: 3
        },
        'mm/dd/yyyy':{
            're':/^(\d{1,2})[./-](\d{1,2})[./-](\d{4})$/,
            'month': 1,'day': 2, year: 3
        },
        'y/m/d':{
            're':/^(\d{2}|\d{4})[./-](\d{1,2})[./-](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        },
        'yy/mm/dd':{
            're':/^(\d{1,2})[./-](\d{1,2})[./-](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        },
        'yyyy/mm/dd':{
            're':/^(\d{4})[./-](\d{1,2})[./-](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        },
        'yyyy-mm-dd':{
            're':/^(\d{4})[.\--](\d{1,2})[.\--](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        },
        'yyyy mm dd':{
            're':/^(\d{4})[.\ -](\d{1,2})[.\ -](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        },
        'yyyy. mm. dd.':{
            're':/^(\d{4})[.\.\ -](\d{1,2})[.\.\ -](\d{1,2})[.\.]$/,
            'month': 2,'day': 3, year: 1
        },
        'yyyy. mm. dd':{
            're':/^(\d{4})[.\.\ -](\d{1,2})[.\.\ -](\d{1,2})$/,
            'month': 2,'day': 3, year: 1
        }
    };
    var test = decisionTree[format];
    if (test) {
        date_parts = date_string.match(test.re);
        if (date_parts) {
            year = date_parts[test.year];
            month = date_parts[test.month];
            day = date_parts[test.day];

            test = (month == 2 && 
                    isLeapYear() && 
                    29 || 
                    days[month] || 0);

            rtrn = 1 <= day && day <= test;
        }
    }

    function isLeapYear() {
        return (year % 4 != 0 ? false : 
            ( year % 100 != 0? true: 
            ( year % 1000 != 0? false : true)));
    }
    return rtrn;
}//eof isValidDate

function newrecommend(obj) {
    var params = $(obj).serialize(true);
    new Ajax.Request(
        "/recommended.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
                if (data.responseText == "CAPTCHA_ERROR") {
                    var captcha = "A megadott ellenörző kód hibás";
                    var hibatext = "<ul class=\"error_msg\">";
                    hibatext = hibatext + "<li class=\"error_msg\">" + captcha + "</li>";
                    hibatext = hibatext + "</ul>";
                    $j("#validationmsg").html(hibatext);
                    $j("#validationmsg").fadeIn("slow");
                }
                if (data.responseText == "SUCCESS") {
                    alert('Üzenetet továbbítottuk.');
                }
            }
        }
    );
}

function newforum(obj) {
    var params = $(obj).serialize(true);
    new Ajax.Request(
        "/inc/form_process.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
                if (data.responseText == "CAPTCHA_ERROR") {
                    var captcha = "A megadott ellenörző kód hibás";
                    var hibatext = "<ul class=\"error_msg\">";
                    hibatext = hibatext + "<li class=\"error_msg\">" + captcha + "</li>";
                    hibatext = hibatext + "</ul>";
                    $j("#validationmsg").html(hibatext);
                    $j("#validationmsg").fadeIn("slow");
                }
                if (data.responseText == "SUCCESS") {
                    new Ajax.Updater($('forumlist'), "/forumlist.php");
                }
            }
        }
    );
}

function newpost(obj) {
    var params = $(obj).serialize(true);
    new Ajax.Request(
        "/inc/form_process.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
                if (data.responseText == "CAPTCHA_ERROR") {
                    var captcha = "A megadott ellenörző kód hibás";
                    var hibatext = "<ul class=\"error_msg\">";
                    hibatext = hibatext + "<li class=\"error_msg\">" + captcha + "</li>";
                    hibatext = hibatext + "</ul>";
                    $j("#validationmsg").html(hibatext);
                    $j("#validationmsg").fadeIn("slow");
                }
                if (data.responseText == "SUCCESS") {
                    new Ajax.Updater($('forumhlist'), "/forumhlist.php");
                }
            }
        }
    );
}

function new_velemeny(obj) {
    var params = $(obj).serialize(true);
    new Ajax.Request(
        "/inc/form_process.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
                if (data.responseText == "CAPTCHA_ERROR") {
                    var captcha = "A megadott ellenörző kód hibás";
                    var hibatext = "<ul class=\"error_msg\">";
                    hibatext = hibatext + "<li class=\"error_msg\">" + captcha + "</li>";
                    hibatext = hibatext + "</ul>";
                    $j("#validationmsg").html(hibatext);
                    $j("#validationmsg").fadeIn("slow");
                }
                if (data.responseText == "SUCCESS") {
                    new Ajax.Updater($('velemenylist'), "/velemenylist.php");
                }
            }
        }
    );
}

function resetForm(_element) {
    _element.each(function (i, items) {
        var _required = $j(items).find(':input');
        _required.each(function (i, item) {
            switch(item.type) {
            	case "text":
            	case "file":
            	case "textarea":
            	case "hidden":
            	case "password":
            		$j(item).val('');
            		break;
            }
            $j(item).val('');
        });
    });
}

function gkereses_show_result() {
    $j('#search_button').attr("disabled","disabled");
    var akcio = $('kereses_akcio').value;
    var bomba = $('bombaar').value;
    var params = $('gkeresesf').serialize()+'&kereses_type=count' + "&akcio=" + akcio + "&bombaar=" + bomba;
//    alert(params);
    new Ajax.Request(
        "/inc/form_process.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
  //              alert(data.responseText);
  				if( data.responseText >= 1 ){
  					$('gresult_count').innerHTML = data.responseText;
  				}else{
  					$('gresult_count').innerHTML = 0;
  				}
                
                if ($('tipus_s').checked || $('tipus_4').checked || $('tipus_t').checked) {
                    $j("#search_button").removeAttr("disabled");
                    $j("#search_type_error").fadeOut("slow");
                }
                else {
                    $j('#search_button').attr("disabled","disabled");
                    $j("#search_type_error").fadeIn("slow");
                }
            }
        }
    );
}

function gmeret_change() {
    var akcio = $('kereses_akcio').value;
    var bomba = $('bombaar').value;
    var meret = $('gmeret').value;
    var per = $('gper').value;
    var rad = $('grad').value;
    var params = "?meret=" + meret + "&per=" + per + "&rad=" + rad + "&akcio=" + akcio + "&bombaar=" + bomba;
    new Ajax.Request(
        "/gmeret.php",
        {
            method: "get",
            parameters: params,
            onComplete: function(data) {
                $('smeret').innerHTML=data.responseText;
            }
        }
    );
}

function search_gumi() {
//    var params = $('gkeresesf').serialize()+'&kereses_type=result';
//    $j(window).load("/inc/form_process.php?"+params);
/*    new Ajax.Request(
         "/inc/form_process.php",
        {
            method: "post",
            parameters: params,
            onComplete: function(data) {
                $('gresult_count').innerHTML=data.responseText;
            }
        }
   );*/
}

function Calculator() {

    a1 = $('szelesseg').value;
    a2 = $('uj_szelesseg').value;
     
    b1 = $('atmero').value;
    b2 = $('uj_atmero').value;
    
    c1 = $('profil').value;
    c2 = $('uj_profil').value;
    
    if (a1 != "" && a2 != "" && b1 != "" && b2 != "" && c1 != "" && c2 != "") {
//        alert(a1 + ' - ' + a2 + ' - ' + b1 + ' - ' + b2 + ' - ' + c1 + ' - ' + c2);

    var Rezultat1, Rezultat2, ostatyk, Razlika, Razlika2, znak, Procent, S1, Cl1, Vs1, S2, Cl2, Vs2;
        S1=a1; 
        S2=a2;  
        Cl1=b1;  
        Cl2=b2;  
        Vs1=c1;  
        Vs2=c2;

    Rezultat1=Cl1*25.4+2*(Vs1*(S1/100));
    Rezultat2=Cl2*25.4+2*(Vs2*(S2/100));
    
    var dopusk = (Rezultat1*3)/100;

	ostatyk = (Rezultat2-Rezultat1);

	if (Math.abs(ostatyk) > dopusk) {
        $j('#atmero_diff').addClass('error-input');
	} else {
        $j('#atmero_diff').removeClass('error-input');
	}
	
	if(Rezultat1==null&&Rezultat2==null) {
        Razlika=0+"mm";
        Razlika2=0+"km";
	}
	else {
		if (ostatyk>0) {
			znak="+";
			}
		else {
			znak="";
		}
		Razlika=ostatyk;	
		Procent = (ostatyk*100)/Rezultat1;
		Razlika2=(100-Procent);
	}

    $j('#atmero_diff').val(znak + String(Math.round(Razlika)));
    $j('#sebesseg').val(Math.round(Razlika2));
    $j('#meret').val(Math.round(Rezultat1));
    $j('#uj_meret').val(Math.round(Rezultat2));
/*
document.MeretCalc.textfield1.value=znak + String(Math.round(Razlika));
document.MeretCalc.textfield2.value=Math.round(Razlika2);
document.MeretCalc.textfield3.value=Math.round(Rezultat1);
document.MeretCalc.textfield4.value=Math.round(Rezultat2);
*/
    }
}

function pager(url,page,order) {
//    alert(order);
/*    alert(url);
    alert(page);*/
    var akcio = $('kereses_akcio').value;
    var bomba = $('bombaar').value;
//    alert(akcio);
    var params = $('gkeresesf').serialize()+'&kereses_type=count' + "&akcio=" + akcio + "&limit=" + page+ "&order=" + order + "&bombaar=" + bomba + '&items=' + $j('#gresult_count').html();
    new Ajax.Request(
        '/' + url,
        {
            method: "get",
            parameters: params,
            onComplete: function(data) {
                $('talalatlista').innerHTML=data.responseText;
            }
        }
    );
}

function updatekosar(gumi_id,db, box_id) {
/*    alert(gumi_id);
    alert(db);
    alert(box_id);*/
    db = parseInt(db);
    if (typeof(db) == "number") {
        if (isNaN(db)) {
            alert("Kérem válassza ki a mennyiséget!");
            return false;
        }
    }
    else {
        alert("Kérem válassza ki a mennyiséget!");
        return false;
    }
    var params = 'gid=' + gumi_id + '&darab=' + db; 
    new Ajax.Request(
        '/inc/kosarupdate.inc.php',
        {
            method: 'get',
            parameters: params,
            onComplete: function(data) {
                $('kosarupdate').innerHTML = data.responseText;
                new Ajax.Updater('kosar_index','/kosar_index.php');
                Effect.Pulsate(box_id, {pulses: 5, duration: 1.5});
				if( !$j.cookie('kosarr') ){
					$j('#kosar_updated'+gumi_id).fadeIn(1500, function(){window.location = '/kosar/';});
				}else{
					$j('#kosar_updated'+gumi_id).fadeIn(1500);
				}
            }
        }
    );
//    $j("#kosar_index").load('/kosar_index.php');
}

function updatekosar2(gumi_id,db, box_id) {
/*    alert(gumi_id);
    alert(db);
    alert(box_id);*/
    var params = 'gid=' + gumi_id + '&darab=' + db; 
    new Ajax.Request(
        '/inc/kosarupdate2.inc.php',
        {
            method: 'get',
            parameters: params,
            onComplete: function(data) {
                $('kosarupdate').innerHTML = data.responseText;
                new Ajax.Updater('kosar_index','/kosar_index.php');
                Effect.Pulsate(box_id, {pulses: 5, duration: 1.5});
				if( !$j.cookie('kosarr') ){
					$j('#kosar_updated'+gumi_id).fadeIn(1500, function(){window.location = '/kosar/';});
				}else{
					$j('#kosar_updated'+gumi_id).fadeIn(1500);
				}
            }
        }
    );
//    $j("#kosar_index").load('/kosar_index.php');
}

function kosar_update(gumi_id,db) {
    var params = 'gid=' + gumi_id + '&darab=' + db; 
    new Ajax.Request(
        '/inc/kosarupdate.inc.php',
        {
            method: 'get',
            parameters: params,
            onComplete: function(data) {
                $('kosarupdate').innerHTML = data.responseText;
                new Ajax.Updater('kosarlist','/kosarlist.php');
                new Ajax.Updater('kosar_index','/kosar_index.php');
				window.location = '/kosar/';
            }
        }
    );
}

function kosar_update2(gumi_id,db) {
    var params = 'gid=' + gumi_id + '&darab=' + db; 
    new Ajax.Request(
        '/inc/kosarupdate2.inc.php',
        {
            method: 'get',
            parameters: params,
            onComplete: function(data) {
                $('kosarupdate').innerHTML = data.responseText;
                new Ajax.Updater('kosarlist','/kosarlist.php');
                new Ajax.Updater('kosar_index','/kosar_index.php');
				window.location = '/kosar/';
            }
        }
    );
}

function kosardelete(kid,box_id) {
    params = 'command=delete&kid=' + kid;
    new Ajax.Request(
        '/kosarlist.php',
        {
            method: 'get',
            parameters: params,
            onComplete: function(data) {
                $('kosarlist').innerHTML = data.responseText;
                new Ajax.Updater('kosar_index','/kosar_index.php'); 
//                $j('#kosar_updated'+gumi_id).fadeIn("slow");
            }
        }
    );
}

function order() {
    if (!$('szabalyzat').checked)
        $j('#validationmsg').slideDown("slow");
    else {
        new Ajax.Updater('left_box','/megrendeles.php');
        $j("#kosar").load('/kosar_index.php');
    }
}

function vasarlastovabb( url )
{
	alert('A továbbiakban ha ellenőrizni szeretné a kosarát,\nakkor azt a felső menüben található "Kosár tartalma"\nfeliratra kattintva megteheti.');
	window.location = url;
}

function send_order() {
    if (!($j('#delivery1').attr('checked')) && !($j('#delivery2').attr('checked')) && !($j('#delivery3').attr('checked'))) {
        alert('Kérjük válassza ki az átvétel módját!');
        return false;
    }
    if (validate('#megrendelesf')) {
        var params = $('megrendelesf').serialize();
        new Ajax.Request(
            '/inc/form_process.php',
            {
                method: 'post',
                parameters: params,
                onComplete: function(data) {
                    if (data.responseText == "SUCCESS") {
                        $j('#megrendelesbox').load('/okes.php');
                        new Ajax.Updater('kosar_index','/kosar_index.php'); 
                    }
                    else {
                        alert(data.responseText);
                    }
                }
            }
        );
    }
//        new Ajax.Updater('megrendelesbox','/okes.php');
}

function ordering(url,order) {
/*    alert(url);
    alert(order);*/
    var akcio = $('kereses_akcio').value;
    var bomba = $('bombaar').value;
//    alert(akcio);
    var params = $('gkeresesf').serialize() + "&akcio=" + akcio + "&order=" + order + "&bombaar=" + bomba;
    new Ajax.Request(
        '/' + url,
        {
            method: "get",
            parameters: params,
            onComplete: function(data) {
                $('talalatlista').innerHTML=data.responseText;
            }
        }
    );
}

function hazhozshow() {
    $j('#szall').show(700);
}
function hazhozhide() {
    $j('#szall').hide(700);
}
function megegyezik() {
    $j('#order2').val($j('#order').val());
    $j('#irsz2').val($j('#irsz').val());
    $j('#varos2').val($j('#varos').val());
    $j('#utca2').val($j('#utca').val());
}

