function showImage(img, w, h) {
	if(w == null) w = 200;
	if(h == null) h = 200;
	var win = window.open("about:blank", "_blank", "width=" + w + ",height=" + h + ",status=0,resizable=0");
	var doc = win.document;

	doc.write('<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Kép</title></head>');
	doc.write('<body style="margin: 0px;">');
	doc.write('<img src="' + img + '" alt="" onclick="window.close();" style="cursor: pointer;">');
	doc.write('</body>');
	doc.close();
}

function HirScroll(element) {
	var hirek = new Array();
	var pos = 0;
	var halt = 0;
	var dragging = false;
	var dragY0 = 0;
	var fullHeight = element.scrollHeight;

	function move(delta) {
		pos = (pos + delta) % fullHeight;
		if(pos < 0) pos += fullHeight;

		for(var i = 0; i < hirek.length; i++) {
			with(hirek[i]) {
				hElement.style.top = (((hBottom + pos) > fullHeight) ? pos - fullHeight : pos) + 'px';
			}
		}
	}

	function timer() {
		if(!dragging) {
			if(halt == 0) {
				move(-1);
			} else if(halt > 0) {
				halt--;
			}
		}

		setTimeout(timer, 100);
	}

	function drag(e) {
		if(!e) e = event;
		DiscardEvent(e);

		var yd = (e.clientY + document.body.parentNode.scrollTop) - dragY0;
		dragY0 += yd;

		move(yd);
	}

	function beginDrag(e) {
		if(dragging) return;
		dragging = true;

		dragY0 = e.clientY + document.body.parentNode.scrollTop;

		if(!e) e = event;
		DiscardEvent(e);

		CaptureEvent(document.body, "mousemove", drag, true);
	}

	function endDrag(e) {
		if(!dragging) return;
		dragging = false;

		if(!e) e = event;
		DiscardEvent(e);

		ReleaseEvent(document.body, "mousemove", drag, true);
	}

	for(var e1 = element.firstChild; e1 != null; e1 = e1.nextSibling) {
		if(e1.className == 'hir') {
			hirek.push({ 'hElement': e1, 'hBottom': new Number(e1.offsetTop + e1.offsetHeight + e1.style.paddingTop + e1.style.paddingBottom).valueOf() });
		}
	}

	CaptureEvent(element, "mouseover", function() {
		halt = -1;
	}, true);

	CaptureEvent(element, "mouseout", function() {
		halt = 5;
	}, true);

	CaptureEvent(element, "mousedown", beginDrag, true);
	CaptureEvent(document.body, "mouseup", endDrag, true);

	setTimeout(timer, 1000);
}

function Ertekel(element, ertek, id_page, referer) {
	if(!id_page) return;

	if(ertek < 0) ertek = 0;
	else if(ertek > 5) ertek = 5;

	function over() {
		for(var i = 0; i < 5; i++) {
			stars[i].className = i <= this.idx ? 'on' : '';
		}
	}

	function out() {
		for(var i = 0; i < 5; i++) {
			stars[i].className = i < ertek ? 'on' : '';
		}
	}

	function click() {
		if(typeof cs2_user == 'undefined') {
			alert("Csak bejelentkezett felhasználók osztályozhatnak.");
			return false;
		}
		return true;
	}

	element.onmouseover = function() {
		element.className = "ertekeles";
	}

	element.onmouseout = function() {
		element.className = "ertekeles ertekshow";
	}

	var w = Math.floor(ertek);
	if(ertek - w > 0) w = w * 20 + 3 + 14 * (ertek - w);
	else w = w * 20;

	var jb = [ "B", { 'style': 'width: ' + w + 'px;' } ];
	element.appendChild(jsonML(jb));

	var stars = new Array();
	for(var i = 0; i < 5; i++) {
		var url = 'ertekel.php?ertekel[method]=vote&ertekel[id_page]=' + id_page + '&ertekel[rating]=' + (i + 1) + "&ertekel[referer]=" + referer;
		var je = [ "A", { 'onmouseout': out, 'onmouseover': over, 'onclick': click, 'href': url, 'idx': i } ];
		if(i < ertek) je[1]['class'] = 'on';

		element.appendChild(stars[i] = jsonML(je));
	}

	element.className = "ertekeles ertekshow";
}

function UserAddresses(element) {
	var addrs = Array();
	for(var i = 0, max = cs2_user_addresses.length; i < max; i++) {
		var a = cs2_user_addresses[i];
		addrs[a.id_user_address] = a;

		var s = a.ship_name + ' - ' + a.ship_company + ' ' + a.ship_zip + ', ' + a.ship_addr + ' (' + a.ship_tel + ')';
		var jo = [ 'option', { 'value': a.id_user_address }, s ];

		element.appendChild(jsonML(jo));
	}

	var v = document.forms['address']['user[id_user_address]'].value;
	if(v != '') element.value = v;


	CaptureEvent(element, "change", function() {
		var addr;

		if(element.value == '') {
			addr = { 'id_user_address': '', 'ship_name': '', 'ship_company': '', 'ship_country':'', 'ship_zip': '', 'ship_city': '', 'ship_addr': '', 'ship_tel': '', 'ship_remark': '', 'bill_name': '', 'bill_company': '', 'bill_country': '', 'bill_zip': '', 'bill_city': '', 'bill_addr': ''};
		} else {
			addr = addrs[element.value];
		}

		var form = document.forms['address'];
		for(var i in addr) {
			var i1 = 'user[' + i + ']';
			if(form[i1]) form[i1].value = addr[i];
		}
	}, true);
}

function HeadImages(eimg, eimg_n, imgs) {
	var immax = 0;

	function opac(x) {
		if(x == 1) {
			if(is.ie) eimg_n.style.filter = '';
			else eimg_n.style.opacity = '';
		} else {
			if(is.ie) eimg_n.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + Math.round(x * 100) + ")";
			else eimg_n.style.opacity = x;
		}
	}

	function chg() {
		var im = Math.floor(Math.random() * immax);

		for(var i = 0, ip = 0; i < imgs.length; i++) {
			ip += imgs[i][1];
			if(ip >= im) break;
		}

		eimg_n.style.backgroundImage = 'url(' + imgs[i][0] + ')';
		opac(0);
		eimg_n.style.visibility = '';

//		console.log('%d %d', im, imgs.length);

		new HTTween(function(x, mode) {
//			console.log('%d %d', x, mode);

			opac(x);
			if(mode == 2) {
				eimg.style.backgroundImage = eimg_n.style.backgroundImage;
				eimg_n.style.visibility = 'hidden';

				if(imgs.length != 1) setTimeout(chg, 8000);
			}
		}, 'sinoidal', 600).start(0, 1);
	}

	for(var i = 0; i < imgs.length; i++) immax += imgs[i][1];

	if(imgs.length != 0) setTimeout(chg, 0);
}

function ShowCompare() {
	window.open("compare.php", "cs2_compare", "width=800,height=600,screenX=1,screenY=1,status=1,resizable=1,scrollbars=1");
}

function ShowGallery(id) {
	window.open("gallery_popup.php?id=" + id, "cs2_gallery", "width=701,height=696,screenX=1,screenY=1,status=0,resizable=0");
}

// Hírszkrollozó + értékelő + vásárló címek + fajléc képek
CaptureEvent(window, "load", function() {
	var e = document.getElementById("cs2_index_hirek");
	if(e != null) new HirScroll(e);

	e = document.getElementById("cs2_addr_list");
	if(e != null) new UserAddresses(e);

	e = document.getElementById("gps_head_container");
	if(e != null) new HeadImages(document.getElementById("gps_head_bcg"), document.getElementById("gps_head_bcg_n"), eval(e.getAttribute('cs2:headImages')));

	e = document.getElementById("cs2_head_container");
	if(e != null) new HeadImages(document.getElementById("cs2_head_bcg"), document.getElementById("cs2_head_bcg_n"), eval(e.getAttribute('cs2:headImages')));

	var es = document.getElementsByTagName('DIV');
	for(var i = 0; i < es.length; i++) {
		var attr = es[i].getAttribute('cs2:ertekeles');
		if(attr != null) {
			sa = attr.split('|');
			new Ertekel(es[i], new Number(sa[0]).valueOf(), new Number(sa[1]).valueOf(), sa[2]);
		}
	}
}, true);

