function get(id) {
	return document.getElementById(id);
}

function getNames(id,tag)
{
	if(gettype(id)=="string")	
	{
		return get(id).getElementsByTagName(tag);
	}
	else
	{
		return id.getElementsByTagName(tag);
	}
}

function getAjax()
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				//A böngésző nem támogatja az ajaxot
				return false;
			}
		}
	}
	return xmlHttp;
}

function sendAjax(url,querystr,complete) {
	var xmlHttp = new getAjax();
	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState==4)
		{
			complete(xmlHttp.responseText);
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=iso-8859-2");
	xmlHttp.setRequestHeader("Request-type","XMLHttpRequest");		
	if (xmlHttp.overrideMimeType)	xmlHttp.setRequestHeader("Connection","close");
	xmlHttp.send(querystr);
}

function recode(obj)
{
	get("gifcodeimg").src = "/civilek/includes/gifcode.php?r="+Math.random();
	obj.blur();
}

function logout(url)
{
	var i = document.createElement("INPUT");
	i.type = "hidden";
	i.name = "kijelentkezes";
	i.value = "1";
	var p = document.createElement("FORM");
	p.action = url;
	p.method = "post";
	p.style.display = "none";
	p.appendChild(i);
	document.body.appendChild(p);
	p.submit();
}

function keepsession()
{
	var a = new sendAjax(
		"/civilek/reloader.php",
		"",
		function(responseText)
		{
				setTimeout(keepsession, 600000);
		}
	);
}

// PNG ALPHA CHANNEL DIV BACKGROUND //
function iepng_alphachannel_bg(divid,bgimg,size,method)
{
	d = document.getElementById(divid);
	if(ie6check())
	{
		if(method=="image")
		{
			d.style.width = size[0];
			d.style.height = size[1];
		}
		d.style.backgroundImage = '';
		d.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bgimg + "',sizingMethod='"+method+"')";
	}
}
// PNG ALPHA CHANNEL DIV BACKGROUND END //

function iecheck()
{
	var pos = navigator.userAgent.indexOf("MSIE ");
	return !(pos == -1);
}

function ie6check()
{
	var pos = navigator.userAgent.indexOf("MSIE ");
	var version = navigator.userAgent.substring(pos + 5);
	return (version.substring(0,1) == "6") ? true : false;
}

function isie7()
{
	var pos = navigator.userAgent.indexOf("MSIE ");
	var version = navigator.userAgent.substring(pos + 5);
	return (version.substring(0,1) == "7") ? true : false;
}

function isempty(str)
{
	str = str.replace(/^\s+/,"");
	str = str.replace(/\s+$/,"");
	return (str.length)?false:true;
}

function selectAllString(obj)
{
	/*szoveg highlight*/
	// IE
	if (document.selection)
	{
		obj.focus();
		range = obj.createTextRange();
		range.collapse(true);
		range.moveStart('character',0);
		range.moveEnd('character',obj.value.length);
		range.select();		
	}
	// FF
	else
	{
		obj.focus();
		obj.selectionStart = 0;
		obj.selectionEnd = obj.value.length;
	}	
} 

function insertFlash(swf,size,cel,fv)
{
	var str = "";
	var fvstr = "";
	for(var i = 0; i<fv.length; i++)
	{
		fvstr += fv[i][0]+"="+fv[i][1]+"&";
	}
	fvstr = fvstr.substr(0,fvstr.length-1);
	if(iecheck())
	{
		str +='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0" width="'+size[0]+'" height="'+size[1]+'">';
		str +='	<param name="movie" value="'+swf+'" />';
		str +='	<param name="quality" value="high" />';
		str +=' <param name="menu" value="false" />';
		if(fvstr) str += '<param name="flashvars" value="'+fvstr+'" />';
		str +='</object>';

	}
	else
	{
		
		str +='<object type="application/x-shockwave-flash" data="'+swf+'" width="'+size[0]+'" height="'+size[1]+'">';
		str +='<param pluginurl="http://www.macromedia.com/go/getflashplayer">';
		str +='	<param name="menu" value="false" />';
		str +='	<param name="quality" value="high" />';
		if(fvstr) str += '<param name="flashvars" value="'+fvstr+'" />';
		str +='</object>';
	}
	document.getElementById(cel).innerHTML = str;
}

function trim(str)
{
	if(str.length>0)
	{
		str = str.replace(/^\s+/,"");
		str = str.replace(/\s+$/,"");
	}
	return str;	
}

var URL = {
 
	// public method for url encoding
	encode : function (string) {
		string = string.replace("+","%2B");
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}

function waitinger(type)
{
	switch(type)
	{
		case "on":
		{
			jQuery.facebox.settings.justOverlay = true;
			jQuery.facebox("",false,"waitbox");
			break;	
		}
		case "off":
		{
			jQuery(document).trigger('close.facebox');
			jQuery.facebox.settings.justOverlay = false;
			break;	
		}
		default: break;
	}
}

function waitingerinside(type)
{
	var w = $('#facebox table').width()-20;
	var h = $('#facebox table').height()-20;
	switch(type)
	{
		case "on":
		{
			var lft = (w/2-16);
			var tp = (h/2-16);
			var ldr = '<div class="pabs" style="left:'+lft+'px; top:'+tp+'px;" id="loaderInsideLoad"><img src="/civilek/images/loading_blackbg.gif" alt="" class="pabs m5" width="32" height="32" /><div class="wait" align="center"></div></div>';
			ldr += '<div class="pabs blackbg op50" style="width:'+w+'px; height:'+h+'px; margin-left:-10px;margin-top:-10px;" id="loaderInsideOverlay"></div>';
		 	$("#facebox .content").prepend(ldr);
			break;	
		}
		case "off":
		{
			if(get("loaderInsideLoad"))
			{
				var a = get("loaderInsideLoad").parentNode;
				a.removeChild(get("loaderInsideLoad"));
			}
			if(get("loaderInsideOverlay"))
			{
				var b = get("loaderInsideOverlay").parentNode;
				b.removeChild(get("loaderInsideOverlay"));
			}
			break;
		}
	}
}

function gettype (mixed_var) {
    // Returns the type of the variable  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/gettype
    // +   original by: Paulo Ricardo F. Santos
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Douglas Crockford (http://javascript.crockford.com)
    // +   input by: KELAN
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // -    depends on: is_float
    // %        note 1: 1.0 is simplified to 1 before it can be accessed by the function, this makes
    // %        note 1: it different from the PHP implementation. We can't fix this unfortunately.
    // *     example 1: gettype(1);
    // *     returns 1: 'integer'
    // *     example 2: gettype(undefined);
    // *     returns 2: 'undefined'
    // *     example 3: gettype({0: 'Kevin van Zonneveld'});
    // *     returns 3: 'array'
    // *     example 4: gettype('foo');
    // *     returns 4: 'string'
    // *     example 5: gettype({0: function () {return false;}});
    // *     returns 5: 'array'
    var s = typeof mixed_var, name;
    var getFuncName = function (fn) {
        var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
        if (!name) {
            return '(Anonymous)';
        }
        return name[1];
    };
    if (s === 'object') {
        if (mixed_var !== null) { // From: http://javascript.crockford.com/remedial.html
            if (typeof mixed_var.length === 'number' &&
                    !(mixed_var.propertyIsEnumerable('length')) &&
                    typeof mixed_var.splice === 'function') {
                s = 'array';
            }
            else if (mixed_var.constructor && getFuncName(mixed_var.constructor)) {
                name = getFuncName(mixed_var.constructor);
                if (name === 'Date') {
                    s = 'date'; // not in PHP
                }
                else if (name === 'RegExp') {
                    s = 'regexp'; // not in PHP
                }
                else if (name === 'PHPJS_Resource') { // Check against our own resource constructor
                    s = 'resource';
                }
            }
        } else {
            s = 'null';
        }
    }
    else if (s === 'number') {
        s = this.is_float(mixed_var) ? 'double' : 'integer';
    }
    return s;
}

function number_format(number, decimals, dec_point, thousands_sep)
{
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec)
	{
        var k = Math.pow(10,prec);
		return (Math.round(n*k)/k).toString();
    };
 
    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) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    var abs = toFixedFix(Math.abs(n), 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);
    }
 
    var decPos = s.indexOf(dec);
	if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec)
	{
		s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1)
	{
    	s += dec+new Array(prec).join(0)+'0';
	}
    return s;
}
