var lastZIndex = 2;
var showedDetailBlock = false;
var infoBlockShowed = false;
var showedItemObj;
var intervalID = false;
var disappear;
var appear;
var opaDis = 1;
var opaApp = 0;
var currentitemID;
var checkedMerken;

function checkFassungenItem(caller, itemuid, productFceUid, pageType) {
	var parent = caller.parentNode;
	var checkBox = parent.firstChild;
	if (checkBox.checked) {
		caller.src = 'fileadmin/templates/img/fassungen_box.gif';
		checkBox.checked = false;
		fassungenRemoveBasketItem(itemuid, productFceUid, pageType);
	} else {
		caller.src = 'fileadmin/templates/img/fassungen_box_checked.gif';
		checkBox.checked = true;
		fassungenAddBasketItem(itemuid, productFceUid);
	}
}

function showHideDetails(event, caller) {
	var children = caller.parentNode.parentNode.parentNode.childNodes;
	var detailBlock = children[1];
	if (navigator.userAgent.indexOf('IE') != -1) {
		detailBlock = children[0];
	}
	evt = (event) ? event : window.event;
	x = (evt.x) ? evt.x : evt.layerX;
	y = (evt.y) ? evt.y : evt.layerY;
	if (navigator.userAgent.indexOf('IE') != -1) {
		x = x - 35;
	}
	if (detailBlock.style.display == 'none') {
		showedDetailBlock = detailBlock;
		detailBlock.style.display = 'block';
		//detailBlock.style.left = x + 20 + 'px';
		//detailBlock.style.top = y + 20 + 'px';
		lastZIndex = lastZIndex + 1;
		detailBlock.parentNode.style.zIndex = lastZIndex;
	} else {
		detailBlock.style.display = 'none';
		showedDetailBlock = false;
	}
}

function fassungenAddBasketItem(itemuid, productFceUid) {
	JsHttpRequest.query(
		"fileadmin/scripts/fassungen_jshttp_actions.php", // backend address
		{ act: 'additem', itemuid: itemuid, productFceUid: productFceUid, rand: Math.random() }, // parameters
		function(result, errors) {
			// This function will be called when result is ready.
		},
		false
	);
}

function fassungenRemoveBasketItem(itemuid, productFceUid, pageType) {
	JsHttpRequest.query(
		"fileadmin/scripts/fassungen_jshttp_actions.php", // backend address
		{ act: 'removeitem', itemuid: itemuid, productFceUid: productFceUid, pagetype: pageType, rand: Math.random()}, // parameters
		function(result, errors) {
			// This function will be called when result is ready.
		},
		false
	);
}

function changeSingleImage(newView, newColor, productFceUid) {
	var currentitem = document.getElementById('currentitem').value;
	var currentview = document.getElementById('currentview').value;
	var currentcolor = document.getElementById('currentcolor').value;
	var chNodes = document.getElementById('singleimages').childNodes;
	var singlecheckbox = document.getElementById('singlecheckbox');
	var checkbox = document.getElementById('checkbox');
	var colorselector = document.getElementById('colorselect');
	if (newView) {
		newColor = currentcolor;
		document.getElementById('currentview').value = newView;
	} else if (newColor) {
		newView = currentview;
		document.getElementById('currentcolor').value = newColor;
	}
	var len = chNodes.length;
	var imgDivs = new Array();
	var d = 0;
	for (c=0;c<len;c++) {
		if (chNodes[c].nodeType != 3) {
			imgDivs[d] = chNodes[c];
			d++;
		}
	}
	var len2 = imgDivs.length;
	var reg2 = /itemimg_(\d+)_a(.*?)_v(\d+)_c(\d+)/
	for (c=0;c<len2;c++) {	
		var regArr2 = imgDivs[c].id.match(reg2);
		if (regArr2[1] == currentitem && regArr2[3] == currentview && regArr2[4] == currentcolor) {
			showedItemObj = imgDivs[c];
		}
	}

	for (c=0;c<len2;c++) {
		if ((imgDivs[c].id.indexOf('_c'+newColor) != -1) && (imgDivs[c].id.indexOf('_v'+newView) != -1)) {
			imgDivs[c].style.zIndex = 2;
			var regArt = /_a(.*?)_/
			var regArtArr = imgDivs[c].id.match(regArt);
			document.getElementById('article').innerHTML = 'Artikel ' + regArtArr[1];
			var reg = /itemimg_(\d+)_/
			var regArr = imgDivs[c].id.match(reg);
			disappear = showedItemObj;
			appear = imgDivs[c];
			currentitemID = regArr[1];
			document.getElementById('currentitem').value = currentitemID;
			document.getElementById('currentview').value = newView;
			document.getElementById('currentcolor').value = newColor;
			// this checks if switched article are added to basket
			var checkBox = document.getElementById('checkbox');
			//if (checkBox.checked) {
			//Check if selected color-item selected
			//alert(document.cookie);
        JsHttpRequest.query(
					"fileadmin/scripts/fassungen_jshttp_actions.php", // backend address
					{ act: 'checkcolor', itemuid: currentitemID, productFceUid: productFceUid, rand: Math.random()}, // parameters
          function(result, errors) {
					   singlecheckbox.src = 'fileadmin/templates/img/fassungen_box.gif';
             checkbox.checked = false;
					 if (result.checked == 'no') {
            checkedMerken = false;
           } else if (result.checked == 'yes') {
            singlecheckbox.src = 'fileadmin/templates/img/fassungen_box_checked.gif';
            checkbox.checked = true;
           }
					},
					false
				);

        //changes color of item 
				//JsHttpRequest.query(
				//	"fileadmin/scripts/fassungen_jshttp_actions.php", // backend address
				//	{ act: 'changecolor', itemuid: currentitemID, productFceUid: productFceUid}, // parameters
				//	function(result, errors) {
				//	},
				//	false
				//);
			//}
			showedItemObj = imgDivs[c];
			if (intervalID) {
				clearInterval(intervalID);
			}
			if (disappear.id != appear.id) {
				var viewChilds = document.getElementById('fasviews').childNodes;
				var vLen = viewChilds.length;
				for (i = 0;i < vLen;i++) {
					if (viewChilds[i].tagName == 'IMG') {
						viewChilds[i].style.cursor = 'auto';
						document.getElementById('viewdisabler').style.display = 'block';
						document.getElementById('selectdisabler').style.display = 'block';
					}
				}
				//colorselector.disabled = true;
				opaDis = 1;
				opaApp = 0;
				intervalID = setInterval('appearItem()', 2);
			}
		} else {
			imgDivs[c].style.zIndex = 1;
		}
	}
}

function appearItem() {
	opaDis = opaDis - 0.05;
	opaApp = opaApp + 0.05;
	if (navigator.userAgent.indexOf('IE') != -1) {
		disappear.firstChild.style.filter = 'alpha(opacity='+ opaDis*100 +', style=0)';
		appear.firstChild.style.filter = 'alpha(opacity='+ opaApp*100 +', style=0)';
	} else {
		disappear.style.opacity = opaDis;
		appear.style.opacity = opaApp;
	}
	if (opaDis < 0) {
		disappear.style.opacity = 0;
		appear.style.opacity = 1;
		if (navigator.userAgent.indexOf('IE') != -1) {
			disappear.firstChild.style.filter = 'alpha(opacity=0, style=0)';
			appear.firstChild.style.filter = 'alpha(opacity=100, style=0)';
		} else {
			disappear.style.opacity = 0;
			appear.style.opacity = 1;
		}
		opaDis = 1;
		opaApp = 0;
		viewChilds = document.getElementById('fasviews').childNodes;
		var vLen = viewChilds.length;
		for (i = 0;i < vLen;i++) {
			if (viewChilds[i].tagName == 'IMG') {
				viewChilds[i].style.cursor = 'pointer';
				document.getElementById('viewdisabler').style.display = 'none';
				document.getElementById('selectdisabler').style.display = 'none';
			}
		}
		//colorselector.disabled = false;
		clearInterval(intervalID);
	}
}

