// make sure var "config" is initialised before!

var coords = new Object();
var HTMLelements = new Object();

var items;
var items_selected;
var items_wardrobe;

var scale;

var first_item;
var file_ext;
var doll_orientation;

var first_wardrobe;

var filter = new Object();
var XMLHTTP = null;

var IE, oldIE;
var lastError;

// drag&drop variables
var mouse_clicked = 0;
var mouse_moved = 0;
var dragitem = null;
var dragStartX;
var dragStartY;
var origX, origY, origZ, actX, actY;

/* jugendschutz */
var unterhemd, unterhose;

function init_drinc()
{
	// check if its IE
	IE = document.all ? true : false;
	
	// check if browser is modern
	// IE 7, mozilla, safari, opera 9
	if (typeof document.body.style.maxHeight != "undefined") {
		oldIE = false;
	// IE<7
	} else {
		oldIE = true;
	}

	// if not ie, register eventlistener
	if (!IE)
	{
		document.captureEvents(Event.MOUSEMOVE);
		document.captureEvents(Event.MOUSEDOWN);
		document.captureEvents(Event.CLICK);
	}
	
	menu_close();
	
	items = new Array();
	first_item = 0;
	items_selected = new Array();
	items_wardrobe = new Array();
	first_wardrobe = 0;
	
	doll_orientation = 'f';
	
	file_ext = oldIE ? '.gif' : '.png';
	
	origX = null;
	origY = null;
	document.onmousemove = getMouseXY;
	scale = 395/790;
	
	unterhemd = 0;
	unterhose = 0;

	// save html elements
	HTMLelements['back'] = document.getElementById('back');
	HTMLelements['next'] = document.getElementById('next');
	HTMLelements['items'] = document.getElementById('items');
	HTMLelements['basket'] = document.getElementById('basket');
	HTMLelements['zoom'] = document.getElementById('zoom');
	HTMLelements['reset'] = document.getElementById('reset');
	HTMLelements['wardrobe'] = document.getElementById('wardrobe');
	HTMLelements['overlay_background'] = document.getElementById('overlay_background');
	HTMLelements['overlay'] = document.getElementById('overlay');
	HTMLelements['overlay_clothes'] = document.getElementById('overlay_clothes');
	
	// get element positions
	coords['model'] = getCoords('model');
	coords['wardrobe'] = getCoords('wardrobe');
	coords['basket'] = getCoords('basket');
	coords['basket'][0] += coords['model'][0];
	coords['basket'][1] += coords['model'][1];
	coords['basket'][2] += coords['model'][0];
	coords['basket'][3] += coords['model'][1];

	// paint default model
	repaint_doll();
	repaint_wardrobe();
	
	// set head
	//var head = document.getElementById('doll_head');
	//head.src = url_img + 'ankleide/head12' + file_ext;
	
	// initialize XMLHttpRequest Object
	if(window.XMLHttpRequest) { XMLHTTP = new XMLHttpRequest(); }
	else if(window.ActiveXObject) {
		file_ext = '.gif';
		try { XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(ex) {
			try { XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(ex) {}
		}
	}

	refetch_items();
}

/* ***** MENU FUNCTIONS ***** */

function menu_close()
{
	var i, j, menu, obj;
	
	i = 0;
	while((menu = document.getElementById('menu_'+i++)) != null)
	{
		menu.style.display = 'none';
		j = 0;
		while((obj = document.getElementById('menu_'+i+'_' + j++)) != null)
			obj.style.display = 'none';
	}
	return false;
}

function menu_open(id)
{
	//alert('menu_open('+id+')');
	var obj = document.getElementById(id);
	
	// einklappen des menus
	if(obj.style.display == 'inline')
		obj.style.display = 'none';
	else
	{
		menu_close();
	
		var parts = id.split('_');
		var oid = 'menu';
	
		if(parts.length > 1)
		{
			for(var i = 1; i < parts.length; i++)
			{
				oid = oid + '_' + parts[i];
				document.getElementById(oid).style.display = 'inline';
			}
		}
	}
	
	return false;
}

/* ***** ITEM FUNCTIONS ***** */

function set_filter2(type0, value0, type1, value1)
{
	//alert("set_filter2(...)");
	filter = new Object();
	
	first_item = 0;
	
	filter[type0] = value0;
	filter[type1] = value1;
	
	refetch_items();
}

function set_filter(number, type, value)
{
	//alert("set_filter(" + number + ", " + type + ", " + value + ")");
	/* if this is a firstlevel select, clear filter */
	if(number == 0)
		filter = new Object();
	
	/* add this filter */
	first_item = 0;
	filter[type] = value;
	refetch_items();
	
	//return false;
}

function refetch_items()
{
	/* create config['url']['ajax'] with filters */
	var filters = '?';
	for(var afilter in filter)
		filters += afilter + '=' + encodeURI(filter[afilter]) + '&';
	
	var fetch_url = config['url']['ajax'] + 'list.php' + filters;

	if(XMLHTTP.readyState < 4)
		XMLHTTP.abort();

	XMLHTTP.open('GET', fetch_url);
	XMLHTTP.onreadystatechange = refetch_items_result;
	XMLHTTP.send(null);
}

function refetch_items_result()
{
	if(XMLHTTP.readyState == 4
	&& XMLHTTP.responseText != '')
	{
		items = eval("(" + XMLHTTP.responseText + ")");
		repaint_items();
	}
}

/* ***** REPAINT ***** */

function repaint()
{
	repaint_items();
	repaint_doll();
	repaint_wardrobe();
}

function repaint_items()
{
	if(HTMLelements['items'] != null)
	{
		/* back/next links bei bedarf vertecken */
		if(can_go_back())
		{ HTMLelements['back'].style.visibility = 'visible'; }
		else
		{ HTMLelements['back'].style.visibility = 'hidden'; }
	
		if(can_go_next())
		{ HTMLelements['next'].style.visibility = 'visible'; }
		else
		{ HTMLelements['next'].style.visibility = 'hidden'; }
		
		/* repaint itemlist */
		var item, src_item, tmpid;
		for(var i = 0; i < config['list_size']; i++)
		{
			tmpid = i + first_item;
			item = document.getElementById('slot' + i);
	
			var src_img, src_h1, src_h2;
			
			if(tmpid < items.length)
			{
				src_img = config['url']['images'] + 'thumbs/' + items[tmpid]['image'] + file_ext;
				src_title = items[tmpid]['title'];
			}
			else
			{
				src_img = 'images/empty.gif';
				src_title = '&nbsp;<span>&nbsp;</span>';
			}
			
			item.childNodes[0].src = src_img;
			item.childNodes[1].innerHTML = src_title;
		}
	}
}

function repaint_doll()
{
	repaint_payment();

	var text = '';
	if(!unterhemd && config['underwear']['upper'] != '')
	{
		var image = config['underwear']['upper']['image'] + file_ext;
		var dx = config['underwear']['upper']['dx']*scale + 35;
		var dy = config['underwear']['upper']['dy']*scale + 5;
		text += '<img style="position: absolute; top: '+dy+'px; left: '+dx+'px; z-index: 0;" '+
					'src="'+config['url']['images']+'ankleide/'+image+'"/>';
	}
	if(!unterhose && config['underwear']['lower'] != "")
	{
		var image = config['underwear']['lower']['image'] + file_ext;
		var dx = config['underwear']['lower']['dx']*scale + 35;
		var dy = config['underwear']['lower']['dy']*scale + 5;
		text += '<img style="position: absolute; top: '+dy+'px; left: '+dx+'px; z-index: 0;" '+
				'src="'+config['url']['images']+'ankleide/'+image+'"/>';
	}
	var item;
	
	for(var i = 0; i < items_selected.length; i++)
	{
		item = items_selected[i];
		text += '<img src="'+config['url']['images']+'ankleide/' + item['image'] + file_ext + '" ' +
			'style="position:absolute; ' +
			'top: ' + (item['dy']*scale +5) + 'px; ' +
			'left: ' + (item['dx']*scale +35) +'px; ' +
			'z-index: ' + item['dz'] +'; " ' +
			'onmousedown="moveStart(' + i + ');" ' +
			'onmouseup="moveStop();" />'; // fuer opera
	}
	var model = document.getElementById('model_clothes');
	
	model.innerHTML = text;
}

function repaint_wardrobe()
{
	if(HTMLelements['wardrobe'] != null)
	{
		/* back/next links bei bedarf vertecken */
		if(can_wardrobe_back())
		{ document.getElementById('wardrobe_back').style.visibility = 'visible'; }
		else
		{ document.getElementById('wardrobe_back').style.visibility = 'hidden'; }
	
		if(can_wardrobe_next())
		{ document.getElementById('wardrobe_next').style.visibility = 'visible'; }
		else
		{ document.getElementById('wardrobe_next').style.visibility = 'hidden'; }
		
		/* repaint itemlist */
		var item, src_item, tmpid;
		for(var i = 0; i < config['wardrobe_size']; i++)
		{
			tmpid = i + first_wardrobe;
			var slot = (i-config['wardrobe_size'])*-1;
			item = document.getElementById('wardrobe' + i);
			
			var src_img, src_h1, src_h2;
			if(tmpid < items_wardrobe.length)
			{
				src_item = items_wardrobe[i + first_wardrobe];
				
				src_img = config['url']['images'] + 'thumbs/' + src_item['image'] + file_ext;
				src_title = src_item['title'];
			}
			else
			{
				src_img = 'images/empty.gif';
				src_title = '&nbsp;<span>&nbsp;</span>';
			}
	
			item.childNodes[0].src = src_img;
			item.childNodes[1].innerHTML = src_title;
		}
	}
}


function repaint_payment() {
	var payment = document.getElementById('payment');
	var items = document.getElementById('payment_items');
	var newItems = '';
	
	if(items_selected.length > 0) {
		payment.style.visibility = 'visible';
		for(var i = 0; i < items_selected.length; i++) {
			var item = items_selected[i];
			newItems += '<dt>'+item['title']+'</dt><dd>'+item['f_price']+' €</dd><dd class="del"><a onclick="delete_selection('+i+');" href="#">x</a></dd>';
		}
		newItems += '<dt class="pay_sum">Summe:</dt><dd id="pay_sum_value">&nbsp;</dd><dd class="del">&nbsp;</dd>';
	}
	else
		payment.style.visibility = 'hidden';
	items.innerHTML = newItems;
	update_price();
}
/* ***** */

function list_back()
{
	if(can_go_back()) first_item = first_item - config['list_size'];
	repaint_items();
}

function list_next()
{
	if(can_go_next()) first_item = first_item + config['list_size'];
	repaint_items();
}

function can_go_back() { return first_item >= config['list_size']; }
function can_go_next() { return first_item < items.length - config['list_size']; }


function wardrobe_back()
{
	if(can_wardrobe_back()) first_wardrobe = first_wardrobe - config['wardrobe_size'];
	repaint_wardrobe();
}

function wardrobe_next()
{
	if(can_wardrobe_next()) first_wardrobe = first_wardrobe + config['wardrobe_size'];
	repaint_wardrobe();
}

function can_wardrobe_back() { return first_wardrobe >= config['wardrobe_size']; }
function can_wardrobe_next() { return first_wardrobe < items_wardrobe.length - config['wardrobe_size']; }

/* ***** */

function slot_pressed(slotid)
{
	var tmpid = first_item + slotid;
	if(tmpid >= items.length) tmpid = 0;
	var elem = items[tmpid];
	
	if(XMLHTTP.readystate < 4)
		XMLHTTP.abort();
	
	XMLHTTP.open('GET', config['url']['ajax'] + 'item.php?id=' + elem['id']);
	XMLHTTP.onreadystatechange = slot_pressed_result;
	XMLHTTP.send(null);
}

function slot_pressed_result()
{
	if(XMLHTTP.readyState == 4
	&& XMLHTTP.responseText != '')
	{
		var newitem = eval("(" + XMLHTTP.responseText + ")");
		
		if(newitem['error'] != '') {
			alert('Dieses Kleidungsteil wird demnächst verfügbar sein!');
			lastError = newitem['error'];
		}
		else
		{
			var newlist = new Array();
			var found = -1;
		
			for(var i = 0; i < items_selected.length; i++)
			{
				if(newitem['id'] == items_selected[i]['id'])
					found = i;
			}
			
			if(found < 0)
			{
				items_selected.push(newitem);
				if(newitem['lower_body'] == 1) unterhose = 1;			
				if(newitem['upper_body'] == 1) unterhemd = 1;			
			}
			else
			{
				for(var i = 0; i < items_selected.length; i++)
				{
					if(i != found)
						newlist.push(items_selected[i]);
				}
				items_selected = newlist;
				
				if(newitem['lower_body'] == 1) unterhose = 0;			
				if(newitem['upper_body'] == 1) unterhemd = 0;			
			}
		
			repaint_doll();
		}
	}
}

/* ***** */

function moveitemtotop(arrid)
{
	//var newarr = new Array();
	console.log(getMaxModelZIndex(arrid));
	var maximum = getMaxModelZIndex() * 1;
	console.log(maximum);
	//var zindex;
	
	/* alle items duchgrehen und größten zindex merken *
	for(var i = 0; i < items_selected.length; i++)
	{
		zindex = items_selected[i]['dz'] * 1;
		if(zindex > maximum) maximum = zindex;
	}*/
	
	if(items_selected[arrid]['dz'] < maximum)
	{
		items_selected[arrid]['dz'] = maximum + 1;
	}
	
	maximum = getMaxModelZIndex();
	//else
		//alert('move down');
	
	repaint_doll();
}

function getMouseXY(e)
{
	if (IE) { // grab the x-y pos.s if browser is IE
		actX = event.clientX + document.body.scrollLeft
		actY = event.clientY + document.body.scrollTop
	} else {  // grab the x-y pos.s if browser is NS
		actX = e.pageX
		actY = e.pageY
	}  

	// catch possible negative values in NS4
	if (actX < 0){actX = 0;}
	if (actY < 0){actY = 0;}  

	// Bild verschieben, wenn Maus gedrückt ist
	if(mouse_clicked)
		doMove();
}

function moveStart(itemid)
{
	mouse_clicked = 1;
	dragitem = itemid;
	dragStartX = actX;
	dragStartY = actY;
}

function doMove()
{
	// nur etwas machen, wenn die maus auch gedrückt ist
	if(mouse_clicked)
	{
	
		var item = items_selected[dragitem];
		
		if(!mouse_moved)
		{
			// originalwerte sichern
			if(!origX) origX = item['dx'];
			if(!origY) origY = item['dy'];
			if(!origZ) origZ = item['dz'];
			
			// Item in den Vordergrund holen
			item['dz'] = 80;
	
			// bei Bedarf Unterwäsche einblenden
			if(item['upper_body'] == 1) unterhemd = 0;
			if(item['lower_body'] == 1) unterhose = 0;

			// als Verschiebung registrieren
			mouse_moved = 1;
			(document.getElementsByTagName('body'))[0].style.cursor = 'move';
		}

		// Item neu zeichnen, relativ zur Modelbox und leicht verschoben,
		// damit die maus drüber liegt (margin und leichter versatz)
		item['dx'] = (actX*1 - coords['model'][0]-35 - 25)/scale;
		item['dy'] = (actY*1 - coords['model'][1]-5 - 5)/scale;

		// Hintergrundbild des Papierkorbs je nach Bedarf anpassen
		if(isHovered('basket'))
			HTMLelements['basket'].style.backgroundImage = 'url(images/basket_hover.gif)';
		else
			HTMLelements['basket'].style.backgroundImage = '';
		
		// Puppe neu zeichnen
		repaint_doll();
	}
}

function moveStop()
{
	mouse_clicked = 0;
	// war es ein Drag&Drop Event?
	if(mouse_moved)
	{
		// wurde Unterwäsche bewegt, danach die Standardunterwäsche wieder ausblenden
		if(items_selected[dragitem]['upper_body'] == 1) unterhemd = 0;
		if(items_selected[dragitem]['lower_body'] == 1) unterhose = 0;
		
		// Kleidung löschen
		if(isHovered('basket'))
		{
			var deleted = new Array();
			for(var i = 0; i < items_selected.length; i++)
			{
				if(i != dragitem) deleted.push(items_selected[i]);
			}
			items_selected = deleted;

		}
		
		// Kleidungsstange
		else if(isHovered('wardrobe'))
		{
			items_selected[dragitem]['dx'] = origX;
			items_selected[dragitem]['dy'] = origY;
			if(mouse_moved)
				items_selected[dragitem]['dz'] = origZ;

			var deleted = new Array();
			for(var i = 0; i < items_selected.length; i++)
			{
				if(i != dragitem)
					deleted.push(items_selected[i]);
				else
					items_wardrobe.unshift(items_selected[i]);
			}
			items_selected = deleted;
		}
		
		// item wurde irgendwo losgelassen
		else
		{
			if(items_selected[dragitem]['upper_body'] == 1) unterhemd = 1;
			if(items_selected[dragitem]['lower_body'] == 1) unterhose = 1;

			items_selected[dragitem]['dx'] = origX;
			items_selected[dragitem]['dy'] = origY;
			items_selected[dragitem]['dz'] = origZ;
		}
		
		(document.getElementsByTagName('body'))[0].style.cursor = 'auto';
		HTMLelements['basket'].style.backgroundImage = '';
		
		/* repaint */
		repaint_doll();
		repaint_wardrobe();
	}

	// maus wurde gar nicht bewegt --> nur ein klick
	else
	{
		sort(dragitem);
	}
		
	// reset all dragndrop related values
	dragitem = null; mouse_clicked = 0; mouse_moved = 0;
	origX = 0; origY = 0; origZ = 0;
}

function reset_doll()
{
	items_selected = new Array();
	unterhemd = 0;
	unterhose = 0;
	repaint_doll();
}

function isHovered(item)
{
	var isHovered = false;
	var offset = 0;
	
	if(item == 'basket')
		offset = 35;
		
	isHovered =
			actX > coords[item][0]
		&& actY > coords[item][1]-4*offset
		&& actX < coords[item][2]+offset
		&& actY < coords[item][3]

	return isHovered;
}

/*
returns the actual coords for a given element id
format: ulx, uly, lrx, lry
*/
function getCoords(id)
{
	var elem = document.getElementById(id);
	if(elem == null)
		return [0, 0, 0, 0];
	else
		return[ elem.offsetLeft, elem.offsetTop,
			elem.offsetLeft + elem.offsetWidth, elem.offsetTop + elem.offsetHeight ];
}

function zoom_start(type)
{
	var offset = 100.0; // offset für zindex
	var oc = HTMLelements['overlay_clothes']
	var images = '';
	/*
	if(!unterhemd)
		images += '<img style="position: absolute; z-index: 100; top: 130px; left: '+
					(120-64)+'px;" src="'+config['url']['images']+'zoom/41_54163_f'+file_ext+'" />'
	if(!unterhose)
		images += '<img style="position: absolute; z-index: 100; top: 307px; left: '+
					(120-64)+'px;" src="'+config['url']['images']+'zoom/41_59164_f'+file_ext+'" />';
	*/
	if(!unterhemd && config['underwear']['upper'] != '')
	{
		var image = config['url']['images']+'zoom/' + config['underwear']['upper']['image'] + file_ext;
		var dx = config['underwear']['upper']['dx']*1.0 + 30;
		var dy = config['underwear']['upper']['dy']*1.0 + 10;
		images += '<img style="position: absolute; top: '+dy+'px; left: '+dx+'px; z-index: 100;" '+
					'src="'+image+'"/>';
	}
	if(!unterhose && config['underwear']['lower'] != "")
	{
		var image = config['url']['images']+'zoom/' + config['underwear']['lower']['image'] + file_ext;
		var dx = config['underwear']['lower']['dx']*1.0 + 30;
		var dy = config['underwear']['lower']['dy']*1.0 + 10;
		images += '<img style="position: absolute; top: '+dy+'px; left: '+dx+'px; z-index: 100;" '+
				'src="'+image+'"/>';
	}

	
	for(var i = 0; i < items_selected.length; i++)
	{
		var item = items_selected[i];
		var cur_offset = (item['dz']*1.0)+offset;
		images += '<img src="'+config['url']['images']+'zoom/' + item['image'] + file_ext + '" ' +
			'style="position: absolute; z-index: '+cur_offset+'; top: '+(item['dy']*1+10)+'px; left: '+(item['dx']*1+30)+'px;" />';
	}

	oc.innerHTML = images;
	
	/* anzeigen */
	HTMLelements['overlay_background'].style.display = 'inline';
	HTMLelements['overlay'].style.display = 'inline';
	
	return false;
}

function zoom_end()
{
	HTMLelements['overlay_background'].style.display = 'none';
	HTMLelements['overlay'].style.display = 'none';
	return false;
}

function wardrobe_pressed(slot)
{
	if(slot < items_wardrobe.length)
	{
		tmpid = slot + first_wardrobe;
		
		/* std unterwäsche ausblenden, falls unterwäsche neu angezogen wurde */
		if(items_wardrobe[tmpid]['upper_body'] == 1) unterhemd = 1;			
		if(items_wardrobe[tmpid]['lower_body'] == 1) unterhose = 1;			

		var newarr = new Array();
		for(var i = 0; i < items_wardrobe.length; i++)
		{
			if(i == tmpid)
			{
				items_wardrobe[i]['dz'] = getMaxModelZIndex()+1;
				items_selected.push(items_wardrobe[i]);
			}
			else
				newarr.push(items_wardrobe[i]);
		}
		items_wardrobe = newarr;
		
		repaint_doll();
		repaint_wardrobe();
	}
}

/*
findet den größten verwendeten zindex auf der puppe
*/
function getMaxModelZIndex(id)
{
	var maximum = 0;
	for(var i = 0; i < items_selected.length; i++)
	{
		var act = items_selected[i]['dz'] * 1;
		if(maximum < act) maximum = act;
	}
	return maximum;
}

/*
findet den kleinsten verwendeten zindex auf der puppe
*/
function getMinModelZIndex()
{
	var min = 100;
	for(var i = 0; i < items_selected.length; i++)
	{
		var act = items_selected[i]['dz'] * 1;
		if(min > act) min = act;
	}
	return min;
}

/*
eigene logging funktion um einfacher das logging zu deaktivieren,
solange ich nicht weiss, wie man es beim ie macht...
*/
function log(text)
{
	console.log(text);
}

/*
sorting function:
items werden beim anklicken nach oben sortiert, oberste items
werden ganz nach unten geschobenss
*/
function sort(itemno)
{
	var maximum = getMaxModelZIndex();
	var minimum = getMinModelZIndex();
	
	// beim anklicken ganz nach oben sortieren
	if(maximum > items_selected[itemno]['dz'])
		items_selected[itemno]['dz'] = maximum+1;
	
	// ist das item ganz oben, so wird es ganz nach hinten gestellt
	else
	{
		for(var i = 0; i < items_selected.length; i++)
		{
			// alle items eins hochsortieren...
			if(i != itemno)
				items_selected[i]['dz'] = items_selected[i]['dz'] + 1;
			
			// ... oder das angeklickte ganz nach unten schieben
			else
				items_selected[i]['dz'] = minimum;
		}
	}
	
	repaint_doll();
}

function repaint_selection() {
	var text = "<table id=\"items_selected\" cellspacing=\"0\" cellpadding=\"0\">";
	var list = document.getElementById("popup_table_container");
	
	for(var i = 0; i < items_selected.length; i++) {
		var item = items_selected[i];
		text += "<tr><td class=\"item_name\">"+item['title']+"</td>"+
			"<td class=\"item_price\">"+item['f_price']+" €</td>"+
			"<td class=\"item_sizes\"><ul>";
		
		for(var j = 0; j < item['f_sizes'].length; j++) {
			var size = item['f_sizes'][j];
			var selected = size == item['f_selected'] ? ' class="selected"' : '';
			var avail = item['f_availability'][size]==1 ? '' : ' class="unavailable"';
			var onclick = " onclick=\"choose_size("+i+", '"+size+"');\"";
			
			if(avail != '')
				text += "<li"+avail+" title=\"Diese Größe ist zur Zeit leider vergriffen\">"+size+"</li>";
			else
				text += "<li"+selected+"><a href=\"#\""+onclick+">"+size+"</a></li>";
		}
		
		text += '</ul></td><td class="del"><a href="#" onclick="delete_selection('+i+');">&nbsp;</a></td></tr>';
	}
	
	text += '<tr class="item_sum">'+
		'<td class="item_name">Gesamt</td>'+
		'<td class="item_price" id="price_select"></td>'+
		'<td class="empty"></td>'+
		'<td class="empty_del"></td>'+
		'</tr>';

	
	if(items_selected.length == 0)
		text = "<table id=\"items_selected\" cellspacing=\"0\" cellpadding=\"0\">"+
		"<tr><td>sorry, im Moment ist nichts ausgewählt</td></tr></table>";
	
	text += "</table>";
	
	list.innerHTML = text;	
}

function choose_size(num, size) {
	items_selected[num]['f_selected'] = size;
	select_size();
}

function select_size() {
	repaint_selection();
	update_price();
	
	document.getElementById('overlay_transparent').style.display = "inline";
	document.getElementById('size_selection').style.display = "inline";
}

function update_price() {
	var sum = 0.0;
	for(var i = 0; i < items_selected.length; i++)
		sum = sum + items_selected[i]['f_price']*1.0;
	
	var tmp = sum + 0.001;
	var vor = Math.floor(sum);
	tmp = sum - vor + 0.001;
	var nach1 = Math.floor(tmp*10);
	tmp = sum - vor - 0.1*nach1 + 0.001;
	var nach2 = Math.floor(tmp*100);
	var sumText = vor + "." + nach1 + nach2;

	var tags = new Array('price_select', 'pay_sum_value');
	for(var i = 0; i < tags.length; i++) {
		var elem = document.getElementById(tags[i])
		if(elem != null)
			elem.innerHTML = sumText+"&nbsp;€";
	}
}

function delete_selection(id) {
	var newList = new Array();
	
	for(var i = 0; i < items_selected.length; i++)
		if(i != id)
			newList.push(items_selected[i]);
	
	items_selected = newList;
	//delete items_selected[id];
	repaint_payment();
	repaint_selection();
	repaint_doll();
	update_price();
}

function close_select_size() {
	document.getElementById('overlay_transparent').style.display = "none";
	document.getElementById('size_selection').style.display = "none";
}

function forward_to_shop() {
	if(items_selected.length > 0) {
		var url = 'http://www.cinquestore.de/lgf/addToCart.php?items=';
		for(var i = 0; i < items_selected.length; i++) {
			var selected = items_selected[i]['f_selected'];
			var fullid = items_selected[i]['f_fullid'][selected];
			url += fullid + ',';
		}
		url = url.substring(0, url.length-1);
		//alert(url);
		parent.location.href = url;
	}
}
