//Facebook recommend, uses div#fb-root
(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/hu_HU/all.js#xfbml=1&appId=166184266809195";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

// Google +1
window.___gcfg = {lang: 'hu'};

(function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();

//twitter include in headers



function $$(o)
{
	return document.getElementById(o);
}

/*
 * Esemény hozzáadása egy objektumhoz
 */

function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}


function mnu_sw(id)
{
	var o = $$('mnu' + id);
	
	if (o.className != 'n')
	{
		
		o.className = (o.className == 'o') ? 'c' : 'o';
		o = $$('mnup' + id);
		if (o)
		{
			o.style.display = (o.style.display == 'block') ? 'none' : 'block';
		}
	}
}

/**
 * Scroll
 * 
 * dir(string) - Irány (up, down)
 * ulid(string) - Listát tartalmazó objektum id-je
 * num(int) - Mennyit görgessen le
 * name(string) - scroll neve(akkor is meg kell adni, ha csak 1 scroll van az oldalon)
 * sum(int) - Hány elemet tartalmaz a scroll
 * dist(int) - Egy elem nagysága pixelben
 * see(int)(formális - alapértelmezettként nem érdekli) - Hány elemet látni egyszerre
 * horizontal(bool)(formális - alapértelmezettként függőleges) - Ha igaz, akkor vízszintes scrollról van szó
**/
g_list_move = new Array();
// kosarba rakasnal: $ajax->addField('!JS', 'g_list_move[name] = 0;');
function list_move(dir, ulid, num, name, sum, dist, see, horizontal)
{
	/*
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		sum = $$('jobb_kosar_elemek').childNodes.length;
		sum = sum / 3;
	}
	if ((navigator.appName == "Netscape") || (navigator.appName == "Opera"))
	{
		sum = (($$('jobb_kosar_elemek').childNodes.length)-1)/5;
	}
	*/

	if(g_list_move[name] == undefined)
	{
		g_list_move[name] = 0;
	}
	
	sum = countChildDivs($$(ulid));
	//alert(sum);
	
	// Szumma javítása

	if(see)
	{
		sum -= see;
	}
	

	
	// Irány megállapítása
	if((dir == 'up') && (g_list_move[name] < 0))
	{
		dir = 1;
	}
	else if((dir == 'down') && (g_list_move[name] > -sum))
	{
		dir = -1;
	}
	else
	{	
		return;
	}
	num *= dir;
	
	
	//Megvizsgáljuk, hogy mennyivel lehet még mozgatni
	if(g_list_move[name] + num < -sum)
	{
		num = g_list_move[name] + num + sum;
	}
	else if(g_list_move[name] + num > 0)
	{
		num = -g_list_move[name];
	}
	g_list_move[name] += num;

	
	
	//Objektum helyzetének megállapítása és mozgatás
	var obj = $$(ulid);

	if(!horizontal)
	{
		var top = obj.style.top.substr(0, obj.style.top.length-2);
		
		if(top == "")
		{
			top = 0;
		}
		
		top = parseInt(top)+dist*num;
		obj.style.top = ""+top+"px";
	}
	else
	{
		var left = obj.style.left.substr(0, obj.style.left.length-2);
		
		if(left == "")
		{
			left = 0;
		}
		
		left = parseInt(left)+dist*num;
		obj.style.left = ""+left+"px";
	}
	
}

function countChildDivs(parent)
{
	var cnt = 0;
	for(var i in parent.childNodes)
	{
		try
		{
			var obj = parent.childNodes[i];
			
			if(obj.tagName.toUpperCase() == "DIV")
			{
				cnt++;
			}
		}
		catch(e)
		{
			continue;
		}
	}
	return cnt;
}

// Enter gomb lenyomására cucc
function enterajax(e, mi)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
     {
			eval(mi);
     }
}


//Kosárban a módosít gomb megjelenítése
function show_mod_butt(id)
{
	var ize = "mod_butt_"+id;
	var inputize = "mod_input_"+id;
	//alert($$(ize).defaultValue);
	if($$(inputize).defaultValue != $$(inputize).value)
	{
		$$(ize).style.display = "block";
	}
	else
	{
		$$(ize).style.display = "none";
	}
}


//--------------------------Egyéb
function goTo(url)
{
	window.location.href = url;
}
function goto_loc(url)
{
	window.location.href = url;
}

/*function onload_update_checkbox()
{
	if ($$('szuroForm'))
	{
		addEventToCheckboxElements($$('szuroForm'));
	}
}

function addEventToCheckboxElements(coll)
{
	var i;
	var e;
	for (i = 0; i < coll.childNodes.length; i++)
	{
		e = coll.childNodes[i];
		if (e.childNodes.length > 0)
		{
			addEventToCheckboxElements(e.childNodes);
		}
		
		if (e.tagName == 'INPUT' && e.type == "checkbox")
		{
			addEvent(e, 'click', szref);
		}
	}
}*/



function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



function pr(prid, objid)
{
	createCookie('pr', prid + ':' + objid, 1);
	return true;
}

function clearTB(o)
{
	if (o != null)
	{
		o.value = '';
		o.select();
	}
}

function clearOnDefault()
{
	var o = $$('searchText');
	
	if (o.value == o.defaultValue)
	{
		o.value = '';
	}
}

function openChat()
{
	window.open("/chat", "chatwin","menubar=1,resizable=1,width=350,height=400"); 
}


function peerprSw(id,pg,objids)
{
	sndReq('peer_vasarlas?o=' + id + ':' + pg + ':' + objids);
}

// Kosár átméretezése 1 ill. 2 termék esetén
function resizeBasket()
{
	var basket = $$("jobb_kosar_elemek");
	var divcnt = 0;
	var divHeight = 0;
	
	if(!basket)
	{
		return;
	}
	
	for(var i in basket.childNodes)
	{
		var termek = basket.childNodes[i];
		
		try
		{
			if(termek.tagName.toUpperCase() == "DIV")
			{
				if(window.ActiveXObject)
				{
					divHeight += termek.offsetHeight;
					//alert(termek.offsetHeight);
				}
				else
				{
					var maxHeight = 0;
					for(var i in termek.childNodes)
					{
						var termekdivek = termek.childNodes[i];
						try
						{
							if(termekdivek.tagName.toUpperCase() == "DIV" && termekdivek.offsetHeight > maxHeight)
							{
								maxHeight = termekdivek.offsetHeight;
							}
						}
						catch(e)
						{
							continue;
						}
					}
					divHeight += maxHeight;
					//alert(maxHeight);
				}
				divcnt++;
			}
		}
		catch(e)
		{
			continue;
		}
		
		if(divcnt > 2)
		{
			break;
		}
	}
	
	//alert(divcnt + " " + divHeight);
	
	if(divcnt < 3)
	{
		if(window.ActiveXObject)
		{
			try
			{
				document.getElementById("basket").style.height = divHeight;
			}
			catch(e)
			{
				alert(e.message);
			}
		}
		else
		{
			try
			{
				document.getElementById("basket").style.height = divHeight+"px";
				//alert(document.getElementById("basket").offsetHeight + " " + divHeight);
			}
			catch(e)
			{
				alert(e.message);
			}
		}
	}
}




/*
 * Formats a number with grouped thousands  
 * 
 * version: 902.1517
 * see authors and details at http://phpjs.org/functions/number_format
 */
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); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    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 ar_frissit(ar)
{
	var o = $$('vegosszeg');
	
	if (o)
	{
		o.innerHTML = number_format(ar, 0, ',', ' ');
	}
}



function numFormat(number)
{
	return number_format(number, 0, '', ' ');
}



function mnu_sh(katid, hl)
{
	sndReq('termekek-trkatfa?katid=' + katid + '&hl=' + hl);
}

function isUnsignedInteger(s) {
  return (s.toString().search(/^[0-9]+$/) == 0);
}

String.prototype.startsWith = function(str)
{return (this.match("^"+str)==str)}

function isset(varname)  {
  if(typeof( window[ varname ] ) != "undefined") return true;
  else return false;
}

function qf_kategoria_valtozott(kategoria, objektum)
{
	sndReq('nem_modul-qf_kategoriavaltas?katid='+kategoria.value+"&combobox_id="+objektum.id);
}


function add_option(sel, val, text)
{
	sel = document.getElementById(sel);
	var opt=document.createElement('option');
	opt.value=val;
	opt.text=text;
	try
  {
  	sel.add(opt, null); // standards compliant
  }
	catch(ex)
  {
  	sel.add(opt); // IE only
  }
}

function remove_options(sel)
{
	sel = document.getElementById(sel);
	for(var i = sel.length-1; i >= 0; i--)
	{
		sel.remove(i);
	}
}








function szuro_update_slider(id, ui, min, max)
{	
	$$('sl-'+id+'-n').innerHTML = numFormat(min);
	$$('sl-'+id+'-x').innerHTML = numFormat(max);
	
	$$('sl-'+id+'-in').value = min;
	$$('sl-'+id+'-ix').value = max;
	
	var it = $$('sv-' + id).getElementsByTagName('input');
	var l = it.length;
	
	for (var i = 0; i < l; i++)
	{
		var v = it[i].getAttribute('xvalue');
		
		it[i].checked = (v >= min) && (v <= max);
	}
	
	szref();
}

