// Warenkorb

function delItem(pid) {
	document.forms["cartform"].elements["delFromCart"].value = pid;
	document.forms["cartform"].submit();
}
function calcnew() {
	document.forms["cartform"].submit();
}
function checkout( target ) {
	document.forms["cartform"].action = target;
	document.forms["cartform"].submit();
}

// Adresseingabe

function submitaddress() {
	document.forms["cartaddressform"].submit();
}

function reqData(reqF) {
	if (reqF.type == "text" || reqF.type == "password" || reqF.type == "textarea") {
		if (reqF.value.length == 0){return false;}
		else {return true;}
	} else if (reqF.type == "select" || reqF.type == "select-one") {
		for (i=0;i<reqF.length;i++) {
			if (reqF[i].selected && reqF[i].value != ""){return true;}
		}
		return false;
	} else if (reqF[0].type == "radio" || reqF[0].type == "checkbox") {
		for (i=0;i<reqF.length;i++) {
			if (reqF[i].checked){return true;}
		}
		return false;
	}
}

function valData(valF,valRegExp) {
	if (valF.type == "text" || valF.type == "password") {
		var pattern = new RegExp(valRegExp);
		return pattern.test(valF.value);
	}
}

function addressCheck() {
	if (document.forms["cartaddressform"].elements["up_login"]) {
		if (document.forms["cartaddressform"].elements["up_login"].value != '' && document.forms["cartaddressform"].elements["up_passwort"].value == '') {
			alert ("Bitte wählen Sie ein Passwort aus.");
			return false;
		}
		if (document.forms["cartaddressform"].elements["up_passwort"].value != document.forms["cartaddressform"].elements["passwort2"].value) {
			alert ("Die Passwörter sind nicht identisch.");
			return false;
		}
	}
	for (var i=0;i<document.forms["cartaddressform"].elements.length;i++) {
		frmFld=document.forms["cartaddressform"].elements[i]
		if (frmFld.name.search(/_lrnRequired/) != -1) {
			reqFld=document.forms["cartaddressform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnRequired/))];
			if (!reqFld) { // php-bug
				reqFld=document.forms["cartaddressform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnRequired/))+"[]"];
			}
			// Lieferadresse nur, wenn "separate Lieferadresse" angeklickt
			if (reqFld.name.search(/_lieferadresse/) != -1) {
				if (document.forms["cartaddressform"].elements["showdelivery"].checked) {
					if (!reqData(reqFld)) {
						alert(frmFld.value);
						return false;
					}
				}
			// Ende Lieferadresse
			} else {
				if (!reqData(reqFld)) {
					alert(frmFld.value);
					return false;
				}
			}
		}
		if (frmFld.name.search(/_lrnValidate/) != -1) {
			valFld=document.forms["cartaddressform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnValidate/))];
			if (valFld.value != "") {
				// Lieferadresse nur, wenn "separate Lieferadresse" angeklickt
				if (frmFld.name.search(/_lieferadresse/) != -1) {
					if (document.forms["cartaddressform"].elements["showdelivery"].checked) {
						if (!valData(valFld,frmFld.value)) {
							alert(document.forms["cartaddressform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnValidate/))+"_lrnVText"].value);
							return false;
						}
					}
				// Ende Lieferadresse
				} else {
					if (!valData(valFld,frmFld.value)) {
						alert(document.forms["cartaddressform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnValidate/))+"_lrnVText"].value);
						return false;
					}
				}
			}
		}
	}

}

// Zusammenfassung / Zahlungsinformationen

function submitsummary() {
	document.forms["cartorderform"].submit();
}
function agbCheck(theform) {
//	if (document.forms[theform].cart4.value != '' && document.forms[theform].coupon_code.value == '') {
//		if (document.forms["cartorderform"].ca_zahlungsart.value == 0) {
//			alert("Bitte wählen Sie eine Zahlungsart.");
//			document.forms["cartorderform"].ca_zahlungsart.focus();
//			return false;
//		}
//		if (document.forms["cartorderform"].acceptAGB.checked == false) {
//			alert("Sie müssen unsere AGBs akzeptieren, damit wir Ihre Bestellung bearbeiten können.");
//			return false;
//		}
//	}

	if (document.forms[theform].cart4.value != '' && document.forms["cartorderform"].acceptAGB.checked == false) {
			alert("Sie müssen unsere AGBs akzeptieren, damit wir Ihre Bestellung bearbeiten können.");
			return false;
	}

	document.getElementById('orderSubmitButton').style.visibility = 'hidden';
}

// Produktlisten / Details

function order(pid,min,orderform) {
	if (typeof(orderform) == "undefined")
		orderform = "orderform";
	for (i = 0; i < document.forms[orderform].elements["anzahl_"+pid].length; i++)
    	if (document.forms[orderform].elements["anzahl_"+pid].options[i].selected == true)
      		anz = document.forms[orderform].elements["anzahl_"+pid].options[i].value;
	if (anz < min) {
		alert('Die Mindestbestellmenge beträgt '+min+' Stück.');
	} else if ((document.getElementById('farbe') && !document.getElementById('farbe').selectedIndex)
			   || document.getElementById('farbe').value == 0) {
		colorSelect = document.getElementById('farbe');
		/** WENN Farbwahl auf der Seite möglich, dann ist diese Pflicht **/
		alert("Bitte wählen Sie eine Farbe.");
		colorSelect.style.backgroundColor = '#ffffcc';
		colorSelect.focus();
	} else if ((document.getElementById('variante') && !document.getElementById('variante').selectedIndex)
			    || document.getElementById('variante').value == '') {
		sizeSelect = document.getElementById('variante');
		/** WENN Groessenwahl auf der Seite möglich, dann ist diese Pflicht **/
		alert("Bitte wählen Sie eine Größe.");
		sizeSelect.style.backgroundColor = '#ffffcc';
		sizeSelect.focus();
	} else {
		document.forms[orderform].elements["add2cart"].value = pid;
		document.forms[orderform].elements["amount"].value = anz;
		document.forms[orderform].submit();
	}
}

function remember(pid,orderform) {
	document.forms[orderform].elements["add2favorites"].value = pid;
	document.forms[orderform].submit();
}

function delMiniItem(pid) {
	document.forms["minicartform"].elements["delFromCart"].value = pid;
	document.forms["minicartform"].submit();
}

function delFavorite(pid) {
	document.forms["favoritesform"].elements["delFromFavorites"].value = pid;
	document.forms["favoritesform"].submit();
}

function delMiniFavorite(pid) {
	document.forms["minifavoritesform"].elements["delFromFavorites"].value = pid;
	document.forms["minifavoritesform"].submit();
}

// Userprofile

function feedbackCheck() {
	//alert(document.forms["profileform"].elements["up_passwort"].value + " und " + document.forms["profileform"].elements["passwort2"].value);
	if (document.forms["profileform"].elements["up_passwort"].value != document.forms["profileform"].elements["passwort2"].value) {
		alert ("Die Passwörter sind nicht identisch.");
		return false;
	}
	for (var i=0;i<document.forms["profileform"].elements.length;i++) {
		frmFld=document.forms["profileform"].elements[i]
		if (frmFld.name.search(/_lrnRequired/) != -1) {
			reqFld=document.forms["profileform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnRequired/))];
			if (!reqFld) { // php-bug
				reqFld=document.forms["profileform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnRequired/))+"[]"];
			}
			// Lieferadresse nur, wenn "separate Lieferadresse" angeklickt
			if (reqFld.name.search(/_lieferadresse/) != -1) {
				if (document.forms["profileform"].elements["showdelivery"].checked) {
					if (!reqData(reqFld)) {
						alert(frmFld.value);
						return false;
					}
				}
			// Ende Lieferadresse
			} else {
				if (!reqData(reqFld)) {
					alert(frmFld.value);
					return false;
				}
			}
		}
		if (frmFld.name.search(/_lrnValidate/) != -1) {
			valFld=document.forms["profileform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnValidate/))];
			if (valFld.value != "") {

				if (!valData(valFld,frmFld.value)) {
					alert(document.forms["profileform"].elements[frmFld.name.slice(0,frmFld.name.search(/_lrnValidate/))+"_lrnVText"].value);
					return false;
				}
			}
		}
	}

}

function logout() {
	document.forms["logoutform"].submit();
}

/**
 * Weingarten-Shop
 */

/** Detailseite: Produktbild austauschen **/
function showDetailPic(newImage) {
	newHref = newImage;
	newHref = newHref.replace(/-w\d+/, '');
	newHref = newHref.replace(/-h\d+/, '');
	newHref = newHref.replace(/-ar(-|\.)/, '$1');
	newHref = newHref.replace(/(-|\.)/, '-w520-h600-ar$1');

	document.getElementById('detail-image').src   = newImage;
	document.getElementById('detail-anchor').href = newHref;
	document.getElementById('detail-zoom').href   = newHref;
}

/** Produktbilder anklickbar machen **/
function moreImages() {
	moImg = getElementsByClassName('mo_images');

	for (i = 0; i < moImg.length; i ++) {
		moImg[i].onclick = function () {
			showDetailPic(pubimgroot + '/' + this.getAttribute("altsrc"));
		};
		moImg[i].style.cursor = "pointer";
	}
}

/** Farbwahl im Dropdown anzeigen **/
function colorImageAction(indexValue) {
	colorSelect = document.getElementById('farbe');

	colorSelect.selectedIndex = indexValue;
	
	choicepanel();
}

/** Farbbilder anklickbar machen **/
function colorImages() {
	colorImg = getElementsByClassName('color_images');

	for (i = 0; i < colorImg.length; i ++) {
		colorImg[i].onclick = function () {
			showDetailPic(pubimgroot + '/' + this.getAttribute("altsrc"));
			colorImageAction(this.getAttribute("colorindex"));
		};
		colorImg[i].style.cursor = "pointer";
	}
}

/** Bild aus Dropdown-Auswahl bestimmen **/
function colorSelector() {
	// OnChange-Event an das Element binden:
	jQuery('#farbe').live('change', function(){
		colorSelectorAction(this.selectedIndex);
	});
}
function colorSelectorAction(indexValue) {
	colorSelect = document.getElementById('farbe');
	var colorValue = colorSelect.options[indexValue].value;
	showDetailPic(pubimgroot + '/' + colorSelect.options[indexValue].getAttribute("altsrc"));
}

/** Preise dynamisch anzeigen **/
function preisCalculator() {
	preisSpan = document.getElementById('preis_' + productID);
	groessen = document.getElementById('variante');
	groessen.onchange = function() {
		if(console.log)
			console.log(productPrices);
		newValue = this.value;
		newPrice = productPrices[newValue];
		if (isNaN(newPrice) || newPrice == "undefined") {
			newPrice = productPrices[0];
		}
		newPrice = parseFloat(newPrice);
		newPrice = round(newPrice, 2);
		newPrice = newPrice.replace(/\./g, ',');
		preisSpan.innerHTML = newPrice;
	}
}

function round(x, n)
{
	if (n < 1 || n > 14) return false;
	var e = Math.pow(10, n);
	var k = (Math.round(x * e) / e).toString();
	if (k.indexOf('.') == -1) k += '.';
	k += e.toString().substring(1);
	return k.substring(0, k.indexOf('.') + n+1);
}

jQuery(document).ready(function(){
	jQuery('#productchoice SELECT').live('change', choicepanel);
});

function choicepanel(){
	
	var request_url = "/index.php?fuseaction=choice_panel&page="+thisPageID+"&pid="+productID;
	
	jQuery('#productchoice SELECT OPTION:selected').each(function(){
		var val = jQuery(this).val();
		var name = jQuery(this).parent('SELECT').attr('id');
		if(val == null || val == 0){
			
		}else{
			request_url += '&'+name+'='+val;
			
		}
	});
	//console.log(request_url);
	jQuery('#productchoice').load(request_url);
}
