
function unsetSelections(containerName) {
	var cs = document.getElementById(containerName);
	for(var n=0; n<cs.childNodes.length; n++) {
		cs.childNodes[n].style.borderColor = "#888";
	}
}

function unsetSelections2(containerName) {
	var cs = document.getElementById(containerName);
	for(var n=0; n<cs.childNodes.length; n++) {
		try {
			cs.childNodes[n].firstChild.getAttributeNode("class").nodeValue = "rahmen";
		} catch(e) {
			// comment
		}
	}
}

function setImageThumbnailSelection(node) {
	unsetSelections("differentViewsContainer");
	node.style.borderStyle = "solid";
}
function setImageThumbnailSelection2(node) {
	unsetSelections2("differentViewsContainer");
	node.firstChild.getAttributeNode("class").nodeValue = "rahmen_aktiv";
}

function selectImage(node) {
	setImageThumbnailSelection(node);
	setCurrentImage( node.getAttribute("path") );
}
function selectImage2(node) {
	setImageThumbnailSelection2(node);
	setCurrentImage( node.getAttribute("path") );
}

function selectMovie(node) {
	setImageThumbnailSelection(node);
	setCurrentMovie( node.getAttribute("path") );
}
function selectMovie2(node) {
	setImageThumbnailSelection2(node);
	setCurrentMovie( node.getAttribute("path") );
}

function getCurrentAvailabilty() {
	if( !config_item_availability_enabled ) return Number.MAX_VALUE;
	
	return new Number(document.getElementById("itemAvailabiltyDisplay").innerHTML);
}

function getCurrentItemCount() {
	return new Number(document.getElementById("item_count_field").value);
}
function setCurrentItemCount(val) {
	document.getElementById("item_count_field").value = val;
}

function currentSize() {
	if( !config_size_selection_enabled ) return config_default_size;
	
	var sizePD = document.getElementsByName("sizeSelection")[0];
	return sizePD[sizePD.selectedIndex].getAttribute("value");
}

function set( name, val ) {
	try {
		if( typeof(val) != "undefined" )
			document.getElementById(name).innerHTML = val;
	} catch(e) {
		// uncomment 4 debug
		// alert(e+"; name="+name);
	}
}

function setCurrentImage( path ) {
	document.getElementById("mainViewContainer").innerHTML = "<img src=\""+path+"\" style='width:275px; height:275px;'/>";
}

function setCurrentMovie( path ) {
	var node = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" title=\"p\">";
		node += "<param name=\"movie\" value=\""+path+"\" />";
		node += "<param name=\"quality\" value=\"high\" />";
		node += "<embed src=\""+path+"\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"370\" height=\"370\"></embed>";
		node += "</object>";
		
	document.getElementById("mainViewContainer").innerHTML = node;
}

function printStackTrace(f) {
	var stack = new Array();
	var maxDepth = 20;
	var curDepth = 0;
	var bAborted = false;

	do {
		var temp = new Array();
		for(var n=0; n<f["arguments"].length; n++) temp.push(f["arguments"][n]);
		stack.push((f.name.length?f.name:'anonymous function')+"("+temp.join(",")+")");
		if(++curDepth > maxDepth) {
			bAborted = true;
			break;
		}
	} while(f=f.caller);

	alert(stack.join('\\ncalled from: ')+(bAborted?'\\nABGEBROCHEN':''));
}

function updateAvailabilty() {
	async_request('getItemAvailabilty.php?itemID='+currentItemID()+'&size='+currentSize()+'&color='+currentColor(), function( response ) {
		try {
			response = eval('(' + response + ')');
		}
		catch(e) {
			// uncomment 4 debug
			// alert(e);
			return;
		}
		
		switch(response["type"]) {
			case "image":
				setCurrentImage(response["path"]);
				break;
			case "movie":
				setCurrentMovie(response["path"]);
				break;
		}
		
		set("itemAvailabiltyDisplay", response["availabilty"]);
		set("itemColor", response["colorName"]);
		set("itemNum", response["itemNum"]);
		set("differentViewsHTML", response["differentViewsHTML"]);
		
		setOutfitLink( response["outfitID"] );
		
		checkItemCount();
	});
}

function setOutfitLink( outfitID ) {
	var ol = document.getElementById("outfitLink");
	if( ol ) {
		if( outfitID ) {
			ol.innerHTML = "<a href=\"index.php?action=outfitDetails&outfitID="+outfitID+"\"><img src=\"/_base/button/button_filmzumoutfit.gif\" width=\"155\" height=\"20\" border=\"0\" /></a>";
		} else ol.innerHTML = "";
	}
}

function checkItemCount() {
	if(getCurrentItemCount() > getCurrentAvailabilty())
		setCurrentItemCount(getCurrentAvailabilty());
}

// --------------------------------- basket & notice ------------------------

	var changeWin = false;
	var itemID = false;
	var currentItemNumber = false;
	var currentColorName = false;
	var currentItemColor = false;

	
	function printDebug(node) {
		var out = "";
		for(var n in node) {
			out += n + "=" + node[n] + "; ";
		}
		//alert(out);
		var win = window.open();
		win.document.write(out);
	}
	
	function currentItemID() {
		return itemID;
	}
	
	function updateSize() {
		updateAvailabilty();
	}
	
	function updateColor() {
		updateAvailabilty();
	}
	
	function updateBasket(arrVal) {
		try {
			document.getElementById("basket_items").innerHTML = arrVal[0];
			document.getElementById("basket_events").innerHTML = arrVal[1];
			document.getElementById("basketSidebar").style.visibility = "visible";
		}
		catch(e) {
		}
		set("basketCounter",  arrVal[0]);
	}

	function setSizeSelection(values, selectedValue) {
		var node = document.getElementsByName("sizeSelection")[0];
		
		if( !config_size_selection_enabled ) {
			try {
				node.parentNode.innerHTML = config_option_turned_off;
			} catch(e) {
				// comment
			}
			return;
		}
		
		while(node.childNodes.length)
			node.removeChild(node.firstChild);
		
		for(var n=0; n<values.length; n++) {
			var newOption = document.createElement('option');
			
			var value = document.createAttribute('value');
			//value.nodeValue = n;
			value.nodeValue = values[n];
			
			newOption.setAttributeNode(value);
			
			if(values[n] == selectedValue) {
				var selected = document.createAttribute('selected');
				selected.nodeValue = "selected";
				newOption.setAttributeNode(selected);
			}
			
			newOption.innerHTML = values[n];
			
			node.appendChild(newOption);
		}
	}
	
	function currentColor() {
		return currentItemColor;
	}
	
	
	function editTargetItem(item, target) {
		currentItemNumber = item;
		var ret = sync_request("getBasketItemData.php?target="+target+"&itemNumber="+item);
		//alert(ret);
		
		var response = eval('(' + ret + ')');
		set("itemName", response["itemData"]["name"]);
		set("itemBezeichnung", response["itemData"]["bezeichnung"]);
		set("itemDesigner", response["itemData"]["designer"]);
		set("itemBHT", response["itemData"]["bht"]);
		set("itemNum", response["itemData"]["displayid"]);
		set("itemUVP", response["itemData"]["uvp"]);
		set("itemDescription", response["itemData"]["itemDescription"]);
		
		set("itemOwnPrice", response["price"]["own"]);
		set("itemGoldPrice", response["price"]["gold"]);
		
		setSizeSelection(response["itemData"]["sizes"], response["basketData"]["size"]);
		
		itemID = response["itemData"]["id"];
		
		setCurrentImage(response["image"]);
		
		setCurrentItemCount(response["basketData"]["count"]);
		updateAvailabilty();
		showWin(changeWin);
	}
	
	function updateTarget(target) {
		async_request('updateBasket.php?target='+target+'&itemNumber='+currentItemNumber+'&count='+getCurrentItemCount(), function( response ) {
			document.location.href = document.location.href+"";
			//alert (response);
		});
	}
	
	function deleteTargetItem(item, target) {
		async_request('removeFromBasket.php?target='+target+'&itemNumber='+item, function( response ) {
			document.location.href = document.location.href+"";
			//alert (response);
		});
	}
