var ua = navigator.userAgent.toLowerCase();
var isSafari = (/webkit|khtml/).test(ua),
	isIE = ua.indexOf('msie') > -1,
	isSafari3 = isSafari && !!(document.evaluate);

function addEvent(obj, evType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(evType,fn,useCapture);
		return true;
	} else if(obj.attachEvent){
		return obj.attachEvent("on"+evType,fn);
	} else {
		return false;
	}
}

function removeEvent(obj, evType, fn) {
	if (obj.removeEventListener) {
		obj.removeEventListener(evType, fn, false);
		return true;
	} else if (obj.detachEvent) {
		return obj.detachEvent("on"+evType, fn);
	} else {
		return false;
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = [];
	if (node == null) node = document.body;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var i = 0;
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			classElements[i++] = elems[j];
		}
	}
	return classElements;
}

function getFirstElementByClass(searchClass,node,tag) {
	if (node == null) node = document.body;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			return elems[j];
		}
	}
	return null;
}

function createXMLHttpRequest()
{
	var types = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
	for (i in types)
	{
		try
		{
			return new ActiveXObject(types[i]);
		} catch(e) {}
	}
	try
	{
		return new XMLHttpRequest();
	} catch(e) { }
	return false; // XMLHttpRequest not supported
}

function AJAXrequest(url, myfunction, method, post)
{

	var req = createXMLHttpRequest();
	if (method == null) method = 'post';
	if (post == null) post = '';

	url += (( url.indexOf('?') != -1 )?"&":"?")+('ajax=1');

	req.open(method, url, true);
	req.setRequestHeader('Ajax', 'true');
	if (method == 'post')
	{
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	}
	if (myfunction)
	{
		req.onreadystatechange = function()
		{
			myfunction(req);
		}
	}
	req.send(post);
}

function in_array(value, array)
{
    for (var i=0; i < array.length; i++)
    {
        if (array[i] === value) { return true; }
    }
    return false;
}

function $(elem)
{
	return document.getElementById(elem);
}

function emailCheck(str)
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return filter.test(str);
}

function getValue(input)
{
	if (input.type == "checkbox") return input.checked;
	if (in_array(input.tagName, ["INPUT", "TEXTAREA"])) return input.value;
	if (input.tagName == "SELECT" && typeof input.selectedIndex != "undefined" && input.selectedIndex != -1 && typeof input[input.selectedIndex] != "undefined" && typeof input[input.selectedIndex].value != "undefined") return input[input.selectedIndex].value;
	return null;
}

function validatePhone()
{
	var input = getElementsByClass("validate-phone", null, "input");
	for(var i = 0; i < input.length; i++)
	{
		addEvent(input[i], 'keyup', function(e)
		{
			var _this = (e.srcElement)?e.srcElement:this;
			var _event = e?e:window.event;
			if (_event.keyCode <= 40 && _event.keyCode >= 37 ) return;
			_this.value = _this.value.replace(/[^0-9+ ]/ig,'');
		});
	}
}

function validateNumber()
{
	var input = getElementsByClass("validate-number",null,"input");
	for(var i = 0; i < input.length; i++)
	{
		addEvent(input[i], 'keyup', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			var _event = e?e:window.event;
			if (_event.keyCode <= 40 && _event.keyCode >= 37 ) return;
			_this.value = _this.value.replace(/[^0-9.,]/ig,'');
		});
	}
}

function highlight(input, melyik)
{
	if (!melyik) melyik = 0;
	var span = input.parentNode.getElementsByTagName("span");
	if (span[melyik]) span[melyik].style.display = "block";
}

function unhighlight(input, melyik)
{
	if (!melyik) melyik = 0;
	var span = input.parentNode.getElementsByTagName("span");
	if (span[melyik]) span[melyik].style.display = "none";
}

function number_format( number, decimals, dec_point, thousands_sep ) {
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ' ' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec);
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}

function feliratkozas()
{

	var hirlevelform = $("hirlevelform");
	var hinputs = hirlevelform.getElementsByTagName("input");
	for (var i = 0; i < 2; i++) {
		hinputs[i].defaultValue = hinputs[i].value;
		hinputs[i].onfocus = function(){
			if (this.value == this.defaultValue) 
				this.value = "";
		};
		hinputs[i].onblur = function(){
			if (this.value == "") 
				this.value = this.defaultValue;
		};
	}
	var hSubmit = getFirstElementByClass("submit", hirlevelform);
	hSubmit.onclick = function(){
		var hinputs = this.form.getElementsByTagName("input");
		var l = true;
		if (!hinputs[0].value || hinputs[0].value == hinputs[0].defaultValue) {
			l = false;
			highlight(hinputs[0]);
		}
		else unhighlight(hinputs[0]);
		unhighlight(hinputs[1]);
		unhighlight(hinputs[1], 1);
		if (hinputs[1].value == hinputs[1].defaultValue || !hinputs[1].value) {
			l = false;
			highlight(hinputs[1]);
		}
		else if (!emailCheck(hinputs[1].value)) {
			l = false;
			highlight(hinputs[1], 1);
		}
		
		if (l) {
			var qstr = "?form[name]=" + hinputs[0].value + "&form[email]=" + hinputs[1].value;
			AJAXrequest(this.form.action + qstr, function(req){
				if (req.readyState == 4 && req.status == 200) 
					eval(req.responseText);
			});
		}
		return false;
	};
	
	try
	{
		if (typeof Shadowbox != "undefined")
		{
			Shadowbox.init();
		}
	} catch(e) {}
}

function InitMouseOver() {
	var images = new Array();
	var i = 0;
	if (lang == 'hu') {
		images[i] = new Image(); images[i].src = '../img/button_aktualis_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_eskuvo_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_foglalas_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_foglalas_on.gif'; i++;
		images[i] = new Image(); images[i].src = '../img/button_hirlevel_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_program_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_terkep_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_trening_on.png';
	} else if (lang == 'en') {
		images[i] = new Image(); images[i].src = '../img/button_aktualis_on-en.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_eskuvo_on-en.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_foglalas_on-en.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_foglalas-en_on.gif'; i++;
		images[i] = new Image(); images[i].src = '../img/button_hirlevel-en_on.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_program_on-en.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_terkep_on-en.png'; i++;
		images[i] = new Image(); images[i].src = '../img/button_trening_on-en.png';
	}
	i++;
	for (var j = 1; j <= 7; j++)
	{
		images[i] = new Image(); images[i].src = '/img/logos/logo_0'+j+'_on.gif';
		i++;
	}
}

addEvent(window, "load", feliratkozas);
addEvent(window, "load", InitMouseOver);
