var shop = new _mishop();

function _mishop()
{
// methoden
	this.drag_an = drag_an;
	this.drag_bg_fade_in = drag_bg_fade_in;
	this.drag_hide = drag_hide;
	this.drag_show = drag_show;
	this.id = id;
	this.send_order = send_order;
	this.cnfrm = cnfrm;
	this.check_agecontrol = check_agecontrol;

// drag&drop handler
	// thanks to webtoolkit.info
	this.drag_handler = {
		_oElem : null,
		attach : function(oElem) {
			oElem.onmousedown = shop.drag_handler._dragBegin;
			oElem.dragBegin = new Function();
			oElem.drag = new Function();
			oElem.dragEnd = new Function();
			return oElem;
		},
		_dragBegin : function(e) {
			var oElem = shop.drag_handler._oElem = this;
			if (isNaN(parseInt(oElem.style.left))) { oElem.style.left = '250px'; }
			if (isNaN(parseInt(oElem.style.top))) { oElem.style.top = '110px'; }
			var x = parseInt(oElem.style.left);
			var y = parseInt(oElem.style.top);
			e = e ? e : window.event;
			oElem.mouseX = e.clientX;
			oElem.mouseY = e.clientY;
			oElem.dragBegin(oElem, x, y);
			document.onmousemove = shop.drag_handler._drag;
			document.onmouseup = shop.drag_handler._dragEnd;
			return false;
		},
		_drag : function(e) {
			var oElem = shop.drag_handler._oElem;
			var x = parseInt(oElem.style.left);
			var y = parseInt(oElem.style.top);
			e = e ? e : window.event;
			oElem.style.left = x + (e.clientX - oElem.mouseX) + 'px';
			oElem.style.top = y + (e.clientY - oElem.mouseY) + 'px';
			oElem.mouseX = e.clientX;
			oElem.mouseY = e.clientY;
			oElem.drag(oElem, x, y);
			return false;
		},
		_dragEnd : function() {
			var oElem = shop.drag_handler._oElem;
			var x = parseInt(oElem.style.left);
			var y = parseInt(oElem.style.top);
			oElem.dragEnd(oElem, x, y);
			document.onmousemove = null;
			document.onmouseup = null;
			shop.drag_handler._oElem = null;
		}
	}

	function drag_an()
	{ var dragable1 = shop.drag_handler.attach(id('drag_elem')); }

	function drag_show(url)
	{
		if (arguments.length>2)
		{ // breite und höhe des fensters
			id('drag_frame').style.width = arguments[1]+'px';
			id('drag_elem').style.width = arguments[1]+'px';
			id('drag_frame').style.height = arguments[2]+'px';
			id('drag_elem').style.height = arguments[2]+30+'px';
		}
		id('drag_frame').src = url;
		id('drag_elem').style.display = 'block';
		if ((arguments.length>3)&&(arguments[3]=='fade'))
		{
			id('drag_bg').style.opacity = 0;
			id('drag_bg').style.filter = 'alpha(opacity=0)';
			id('drag_bg').style.display = 'block';
			drag_bg_fade_in(0);
		}
		if (id('slide_main'))
		{ id('slide_main').style.display = 'none'; }
	}

	function drag_hide()
	{
		id('drag_elem').style.display = 'none';
		id('drag_bg').style.display = 'none';
		id('drag_frame').href = 'about:blank;';
		if (id('slide_main'))
		{ id('slide_main').style.display = 'block'; }
		window.location.reload();
	}

	function drag_bg_fade_in(count)
	{
		fade_level = count;
		if (fade_level<9)
		{
			id('drag_bg').style.opacity = fade_level/10;
			id('drag_bg').style.filter = 'alpha(opacity='+(fade_level*10)+')';
			window.setTimeout('shop.drag_bg_fade_in('+(fade_level+1)+')',75);
		}
	}

/* div. */
	function check_agecontrol()
	{
		if (document.getElementById('ageconfirm').checked==true) {
			return true;
		} else {
			alert('Jugendschutz:\n\nSie müssen bestätigen, dass Sie das gesetzliche \nMindestalter für dieses Produkt erreicht haben.\n\nVielen Dank für Ihr Verständnis.');
				return false;
		}
	}

	function send_order(session_id)
	{
		if (id('einverstanden').checked)
		{ top.location.href="index.php?sid="+session_id+"&p=shop_send"; }
		else
		{ alert('Sie müssen sich mit den Allgemeinen Geschäftsbedingungen (AGB)\n einverstanden erklären, um eine Bestellung auszuführen.'); }
	}

	function cnfrm(msg,url)
	{ if (confirm(msg)){ top.location.href = url; }}

	function id(this_id)
	{ return document.getElementById(this_id); }

}
