function CaptureEvent(element, event, fn, useCapture) {
	if(is.ie) {
		element.attachEvent("on" + event, fn);
	} else {
		element.addEventListener(event, fn, useCapture);
	}
}

function jsonML(jsonml, doc) {
	if(typeof doc == 'undefined') doc = document;

	var t = typeof jsonml;
	if(jsonml instanceof Array && jsonml.length > 0) {
		// Element
		var tag = jsonml[0].toUpperCase();
		var e;
		e = doc.createElement(tag);
		if(jsonml.length > 1) {
			var i = 1;
			var ad = jsonml[1];
			if(typeof ad == 'object' && !(ad instanceof Array)) {
				// attr
				for(var a in ad) {
					if(a == 'element') {
						if(ad.element != null && typeof ad.element == 'object') {
							ad.element[ad.elementId ? ad.elementId : 'element'] = e;
						} else {
							ad.element = e;
						}
					} else if(a == 'elementId') {
						// Az "element" property feldolgozásánál kell.
					} else if(a == 'class') {
						e.className = ad[a];
					} else if(a == 'style') {
						if(is.ie) e.style.cssText = ad[a];
						else e.setAttribute('style', ad[a]);
					} else if(!ad.constructor.prototype[a]) {
//						e.setAttribute(a, ad[a]);
						e[a] = ad[a];
//						wxlog.log("attr0: " + a + ": " + e[a]);
					}
				}
				i = 2;
			}

			var e1;
			if(tag == "TABLE") {
				e1 = doc.createElement("TBODY");
				e.appendChild(e1);
			} else {
				e1 = e;
			}

			for(; i < jsonml.length; i++) {
				e1.appendChild(jsonML(jsonml[i]));
			}
		}
		return e;
	} else if(t == "string" || t == "number" || t == "boolean" || (jsonml instanceof String) || (jsonml instanceof Boolean) || (jsonml instanceof Number)) {
		// Text
		return doc.createTextNode(jsonml);
	}

	var e = "Hibás jsonml! Nem megfelelö tipus: " + t;
	if(typeof console != 'undefined') {
		console.error(e);
		console.trace();
	}
	throw new Error(e);
}

function dropIn() {
	var box = document.getElementById('dropin');
/*	console.log(box);
	console.dir(box); */
	if(box == null || getCookie("ifs_drop_in", 0) == 1) return;
	document.body.appendChild(box);

	box.insertBefore(jsonML([ 'h1', [ 'a', { 'onclick': close } ] ]), box.firstChild);

	var y = -box.offsetHeight;
	var ymax = Math.floor((document.documentElement.clientHeight - box.offsetHeight) / 2);

//	box.style.left = Math.floor((document.documentElement.clientWidth - box.offsetWidth) / 2) + 'px';

	function close() {
		box.style.display = 'none';
		y = false;

		for(var i = 0; i < fls.length; i++) {
			fls[i].style.visibility = '';
		}

		setCookie("ifs_drop_in", 1);
	}

	function move() {
		if(y === false) return false;
		box.style.top = y + 'px';
		y = Math.round(y + Math.sqrt(Math.abs(ymax - y)) + 1);
		return y <= ymax;
	}

	function timer() {
		if(move()) setTimeout(timer, 25);
	}

	var fls = document.getElementsByTagName('OBJECT');
	for(var i = 0; i < fls.length; i++) {
		fls[i].style.visibility = 'hidden';
	}

	timer();
}

CaptureEvent(window, "load", function() { dropIn(); }, true);

