
var productChosen = false;					// Prüt vor dem Refresh, ob ein Prdukt gewählt wurde

function is_int(input){
    return typeof(input)=='number'&&parseInt(input)==input;
}

function makePriceFormat(p){
	var s = p.split(".");
	if(s[1].length < 2){
		s[1] = s[1]+"0";
		if(s[1].length < 2){
			s[1] = s[1]+"0";
		}
	}else if(s[1].length == -1){
		s[1] = "00";
	}
	p = s[0]+"."+s[1];	
	return p;
}

function setTotalPrice(tblObj){
	var psum = document.getElementById('p_summary');
	var psumh = document.getElementById('p_summary_h');
	var vsp = document.getElementById('shippingflatrate').value;
	var arr_tableRows = document.getElementById('tbl_products').getElementsByTagName("tr");
	var rowCount = arr_tableRows.length;
	var chkField = true;
	var incr = 1;
	var total = 0;
	for(i=1;i<=rowCount;i++){
		pobj = document.getElementById('p_price'+i);
		if(pobj){
			total += parseFloat(pobj.getAttribute('jsp'));
		}
	}
	if(vsp){
		total += parseFloat(vsp);
	}
	total = total.toFixed(2);
	total = total.toString(10);
		// HTML-Ausgabe
	psum.innerHTML = "<b>€ "+makePriceFormat(total)+"</b>";
		// Hidden-Field beschreiben
	psumh.value = "€ "+makePriceFormat(total);
}

function checkItemCountAndPrice(rowID,countField,itemPrice,msg1,msg2) {
	count = countField.value;
	pfield = document.getElementById('p_price'+rowID);
	
	if(isNaN(count)) {
		alert(msg1);
		countField.value = 1;
	}else if(!is_int(parseFloat(count))){
		alert(msg2);
		countField.value = parseInt(countField.value);
	}else{
		if(count==0){ countField.value = 1; }
		var newPrice = count*itemPrice;
		newPrice = newPrice.toFixed(2);
		newPrice = newPrice.toString(10);
		pfield.innerHTML = "€ "+makePriceFormat(newPrice);
		pfield.setAttribute('jsp', makePriceFormat(newPrice));
	}
	setTotalPrice();		
}

function showFormPlusDeliver(sfObj) {
	formObj = document.getElementById('form_plus_deliver');
	formImg = document.getElementById('switch_deliver_img');
	if(!formObj.status) {
		formObj.style.visibility = 'visible';
		formObj.style.height = 'auto';
		formObj.status = true;
		formImg.src = 'typo3conf/ext/dsmd_bakerygalerie/res/img/minus.gif';
	}else{
		formObj.style.visibility = 'hidden';
		formObj.style.height = '1px';
		formObj.status = false;
		formImg.src = 'typo3conf/ext/dsmd_bakerygalerie/res/img/plus.gif';
	}
}

function checkProdArray(lineNo) {
		countfield = document.getElementById('productCounts');
		prodfield = document.getElementById('productIds');
		
		arr_counts = countfield.value.split(",");
		arr_products = prodfield.value.split(",");
		
		if(arr_counts.length > 1 && arr_products.length > 1) {
			arr_counts.splice(lineNo-1,1);
			arr_products.splice(lineNo-1,1);
			
			countfield.value = arr_counts.join(",");
			prodfield.value = arr_products.join(",");
			
			return true;
		} else {
			return false;	
		}
}

	/* Neue Zeilennummern vergeben, weil nach dem Löschen
	   einer Zeile die Werte in den Feldern nicht mehr
	   mit den DOM-Internen Werten übereinstimmen */
function setLineClasses(tblObj){
	var arr_tableRows = document.getElementById(tblObj).getElementsByTagName("tr");
	for(i=1;i<=arr_tableRows.length;i++){
		if(i % 2 == 0) {
			arr_tableRows[i].className = "tr_product even";
		} else {
			arr_tableRows[i].className = "tr_product odd";
		}
	}
}

function deleteProduct(shopMode,tblObj,delObj,msg,msg2) {
	// var lineNo = delObj.parentNode.parentNode.rowIndex;
	// Der IE kann leider nur ein Node springen.
	var obj = delObj.parentNode;
	var lineNo = obj.parentNode.rowIndex;
	if(confirm(msg)) {
		if(checkProdArray(lineNo)) {
				document.getElementById(tblObj).deleteRow(lineNo);
				if(shopMode==1){setTotalPrice();}
				setLineClasses(tblObj);
		} else {
			alert(msg2);
			return false;	
		}
	} else {
		return false;	
	}
}

/*
function showHideDebitForm(cb) {
	bankname = document.getElementById('payperdebit_bank');
	bankblz = document.getElementById('payperdebit_blz');
	bankkonto = document.getElementById('payperdebit_konto');
	rechnung = document.getElementById('payperbill');
	if(cb.checked) {
		//alert("chewcked "+cb);
		rechnung.checked = false;
		bankname.disabled = false;
		bankblz.disabled = false;
		bankkonto.disabled = false;
	} else {
		rechnung.checked = true;
		bankname.disabled = true;
		bankblz.disabled = true;
		bankkonto.disabled = true;
	}
	bankname.value = "";
	bankblz.value = "";
	bankkonto.value = "";
}

function checkCheckboxBill(bill) {
	debit = document.getElementById('payperdebit');
	if(bill.checked) {
		debit.checked = false;
	} else {
		debit.checked = true;
	}
	showHideDebitForm(debit);
}
*/

function checkForDuplicates(selected,dupmsg) {
	var prodfield = document.getElementById('productIds').value;
	var newID = selected.options[selected.selectedIndex].id;
	var sexp = new RegExp(newID);
	var res = sexp.test(prodfield);
	// alert("prodfield - "+prodfield+"\nnewID - "+newID+"\nres - "+res+"\nsexp - "+sexp);
	if(res) {
		productChosen = false;
		alert(dupmsg);
		return true;
	} else {
		return false;	
	}	
}

	/*
		Auslesen der Werte des in der Selectbox ausgesuchten
		Produktes und übergabe an ein Hiddenfield für die
		Übergabe nach dem Refresh
	*/
function writeNewInHiddenField(selected,hiddenfield,dupmsg) {
	var field = document.getElementById(hiddenfield);
	if(checkForDuplicates(selected,dupmsg)){
		return false;
	}else{
		field.value = selected.options[selected.selectedIndex].id;
		productChosen = true;
		return true;
	}
}

function makeRefresh(newPID,formID) {
	// alert("makeRefresh("+newPID+","+formID+");\nproductChosen: "+productChosen);
	if(productChosen)
	{
		var obj = document.getElementById(newPID);
		var form = document.getElementById(formID);
		form.action = "index.php?id="+newPID;
		return true;
	}else{
		return false;	
	}
}

function makeStars(formID,str_check) {
	var arr_check = new Array();
	arr_check = str_check.split(',');
	for(i=0;i<arr_check.length;i++) {
		obj = document.getElementById("star_"+arr_check[i]);
		obj.innerHTML = "*";
	}
}

function checkSubmit(str_check) {
	if(!str_check || str_check=="") {
		allgood = false;
	} else {
		arr_check = new Array();
		arr_check = str_check.split(',');
		allgood = true;
		
		for(i=0;i<arr_check.length;i++) {
			obj = document.getElementById("field_error_"+arr_check[i]);
			field = document.getElementById(arr_check[i]);

			if(!field.value || field.value=="") {
				obj.className = "form_field_error_on";
				allgood = false;
			} else {
				obj.className = "form_field_error_off";
			}
			
			if(!obj) { allgood = true; }
		}
	}
	return allgood;
}