// JavaScript Document
function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function verify_delete() {
	var delVals = "";
	if (document.del_frm.del_check.length == undefined) {
		delVals = document.del_frm.del_check.value + ",";
	} else {
		for (i=0;i<document.del_frm.del_check.length;i++) {
			if (document.del_frm.del_check[i].checked == true) {
				delVals = delVals + document.del_frm.del_check[i].value + ",";
				//window.alert("Values: " + delVals);
			}
		}
	}
	document.getElementById('delVal').value = delVals;
	if (confirm("This will delete all the selected entries. Proceed?")) {
		return true;
	} else {
		return false;
	}
}
function verify_delete_multi() {
	var rangeVals = "";
	var colcatVals = "";
	for (i=0;i<document.del_frm.del_check.length;i++) {
		if (document.del_frm.del_check[i].checked == true) {
			rangeVals = rangeVals + document.del_frm.del_check[i].value + ",";
			checkedColCat = document.getElementById("col_cat_del" + document.del_frm.del_check[i].value);
			colcatVals = colcatVals + checkedColCat.value + ",";
		}
	}
	document.getElementById('rangeVal').value = rangeVals;
	document.getElementById('colcatVal').value = colcatVals;
	//window.alert("range Values: " + document.getElementById('rangeVal').value);
	//window.alert("col Values: " + document.getElementById('colcatVal').value);
	if (confirm("This will delete all the selected entries. Proceed?")) {
		return true;
	} else {
		return false;
	}
}

function addValues() {
	var addVals = "";
	var checkedVals = document.add_frm.check_val;
	if (checkedVals.length == undefined) {
		addVals = checkedVals.value + ",";
	} else {
		for (i=0;i<checkedVals.length;i++) {
			if (checkedVals[i].checked == true) {
				addVals = addVals + checkedVals[i].value + ",";
			}
		}
	}
	document.add_frm.addVal.value = addVals;
	//window.alert(addVals);
	//window.alert(document.add_frm.addVal.value);
}
function addValuesDesc() {
	var addVals = "";
	var descVals = ""
	var checkedVals = document.add_frm.check_val;
	for (i=0;i<checkedVals.length;i++) {
		if (checkedVals[i].checked == true) {
			addVals = addVals + checkedVals[i].value + ",";
			checkedDesc = document.getElementById("desc_val" + checkedVals[i].value);
			descVals = descVals + checkedDesc.value + ",";
		}
	}
	document.add_frm.addVal.value = addVals;
	document.add_frm.addDesc.value = descVals;
	//window.alert(document.add_frm.addVal.value);
	//window.alert(document.add_frm.addDesc.value);
}
function editValues() {
	var addVals = "";
	var checkedVals = document.edit_frm.check_val;
	if (checkedVals.length == undefined) {
		addVals = checkedVals.value + ",";
	} else {
		for (i=0;i<checkedVals.length;i++) {
			if (checkedVals[i].checked == true) {
				addVals = addVals + checkedVals[i].value + ",";
			}
		}
	}
	document.edit_frm.addVal.value = addVals;
	//window.alert(addVals);
	//window.alert(document.edit_frm.addVal.value);
}
function editValuesDesc() {
	var addVals = "";
	var descVals = ""
	var checkedVals = document.edit_frm.check_val;
	for (i=0;i<checkedVals.length;i++) {
		if (checkedVals[i].checked == true) {
			addVals = addVals + checkedVals[i].value + ",";
			checkedDesc = document.getElementById("desc_val" + checkedVals[i].value);
			descVals = descVals + checkedDesc.value + ",";
		}
	}
	document.edit_frm.addVal.value = addVals;
	document.edit_frm.addDesc.value = descVals;
	//window.alert(descVals);
}
function validate(name,address,daytel,evetel,email) {
	if (name.length <=0) {
		window.alert("Entrez svp votre nom.");
		return false;
	}
	if ((address == '') && (daytel == '') && (evetel == '') && (email == '')) {
		window.alert("Entrez svp au moin un de vos détails de contact.");
		return false;
	}
	if (email.length > 0) {
		return checkEmail(email);
	}
	return true;
}
function validateComments(name,address,daytel,evetel,email,comments,captcha) {
		
	if (name.length <=0) {
		window.alert("Entrez svp votre nom.");
		return false;
	}
	if ((address == '') && (daytel == '') && (evetel == '') && (email == '')) {
		window.alert("Entrez svp au moin un de vos détails de contact.");
		return false;
	}
	if (captcha == '') {

		window.alert("Veuillez remplir caractères à partir de l'image correctement");
		return false;
	}
	if (email.length > 0) {
		return checkEmail(email);
	}
	if (comments == '') {
		window.alert("Entrez svp vos commentaires.");
		return false;
	}
	
	
	return true;
}
function validateEnquiry(name,address,daytel,evetel,email,enquiry) {
	if (name.length <=0) {
		window.alert("Entrez svp votre nom.");
		return false;
	}
	if ((address == '') && (daytel == '') && (evetel == '') && (email == '')) {
		window.alert("Entrez svp au moin un de vos détails de contact.");
		return false;
	}
	if (email.length > 0) {
		return checkEmail(email);
	}
	if (enquiry == '') {
		window.alert("Entrez svp les details de votre enquête.");
		return false;
	}
	return true;
}
function checkEmail(email) {
	//window.alert(email);
	if (email.length == 0) {
		alert('Veuillez écrire votre e-mail address');
		return false;
	}
	invalidChars = " /:,;";
	if (email.length > 0){
	
		for (i=0; i<invalidChars.length; i++) {
			badChar=invalidChars.charAt(i);
			if(email.indexOf(badChar,0)>-1) {
				alert('Veuillez écrire une e-mail adresse valide');
				return false;
			}
		}
			
		atPos=email.indexOf("@",1);
		if(atPos==-1) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		if(email.indexOf("@",atPos+1)!=-1) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		periodPos = email.indexOf(".",atPos);
		if(periodPos == -1) {	
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		if(periodPos + 3 > email.length) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
	}
	return true;
}
function checkPassword(password) {
	if (password.length < 6) {
		alert('Votre mot de passe est trop court, entre svp un mot de passe de six ou plus de lettres et nombres.');
		return false;
	}
	var valid = '1234567890abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	for (i=0;i<password.length;i++) {
		if (valid.indexOf(password.charAt(i)) < 0) {
			alert('Votre mot de passe contient les caractères inadmissibles, seulement on permet seulment le nombre et les letters');
			return false;
		}
	}
	var alphaCount = 0;
	var numCount = 0;
	
	var num_valid = '1234567890';
	for (i=0;i<password.length;i++) {
		if (num_valid.indexOf(password.charAt(i)) < 0) {
			numCount++;
		}
	}
	if (numCount == password.length) {
		alert('Les mots de passe doivent être une combinaison des lettres et des nombres. Vôtre contient seulement des lettres.');
		return false;
	}
	var alpha_valid = 'abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	for (i=0;i<password.length;i++) {
		if (alpha_valid.indexOf(password.charAt(i)) < 0) {
			alphaCount++;
		}
	}
	if (alphaCount == password.length) {
		alert('Les mots de passe doivent être une combinaison des lettres et des nombres. Vôtre contient seulement des nombres.');
		return false;
	}
	return true;
}
function checkExisting(email,password) {
	if (checkEmail(email)){
		if (checkPassword(password)) {
			return true;
		}
	}
	return false;
}
function checkNew(email,password,confirmPassword) {
	if (checkEmail(email)) {
		if (password !== confirmPassword) {
			alert('Votre mot de passe et confirmation ne s\'assortissent pas, satisfaire l\'essai encore.');
			return false;
		} else {
			if (checkPassword(password)) {
				if (checkPassword(confirmPassword)) {
					return true;
				}
			}
		}
	}
	return false;
}
function showDiv(checkBox,layer) {
	var state = 'none';
	if (checkBox.checked == true) {
		state = 'block';
	} else { 
		state = 'none';
	}
	
	if (document.getElementById) {
		document.getElementById(layer).style.display = state;
	} else if (document.layers) {
		document.layers[layer].display = state;
	} else if (document.all) {
		document.all[layer].style.display = state;
	} else return;	
}
function switchCredit(menuValue,layer1,layer2) {
	var state1 = 'block';
	var state2 = 'none';
	
	if (menuValue == 'credit') {
		state1 = 'block';
		state2 = 'none';
	} else {
		state1 = 'none';
		state2 = 'block';
	}
	
	if (document.getElementById) {
		document.getElementById(layer1).style.display = state1;
		document.getElementById(layer2).style.display = state2;
	} else if (document.layers) {
		document.layers[layer1].display = state1;
		document.layers[layer2].display = state2;
	} else if (document.all) {
		document.all[layer1].style.display = state1;
		document.all[layer2].style.display = state2;
	} else return;	
}
var cardChecked = null;
function checkCard() {
	if (document.getElementById('method').value == "credit") {
		if (!cardChecked) {
			alert('Choisi  svp la méthode de paiément.');
			window.location.href = "#card";
			return false;
		}
	}
	return true;
}
function listSet(list,value) {
	for (i=0;i<document.getElementById(list).options;i++) {
		if (document.getElementById(list).options[i].value == value) {
			document.getElementById(list).options[i].selected = true;
		}
	}
}
function choiceAction(YesNo) {
	if (YesNo) {
		window.location.href = 'logout.php?emt=N';
	} else {
		window.location.href = 'logout.php?emt=Y';
	}
}
function notifyParent(btnInput) {
	window.opener.choiceAction(btnInput);
	window.close();
}
function verifyCustomer(fName,sName,add1,town,postcode,tel,sfName,ssName,sadd1,stown,spostcode) {
	if (document.getElementById(fName).value.length < 1) {
		window.alert("Entrez svp votre prénom.");
		return false;
	}
	if (document.getElementById(sName).value.length < 1) {
		window.alert("Entrez svp votre nom.");
		return false;
	}
	if (document.getElementById(add1).value.length < 1) {
		window.alert("Entrez svp la premiére ligne de votre adresse.");
		return false;
	}
	if (document.getElementById(town).value.length < 1) {
		window.alert("Entrez svp votre ville.");
		return false;
	}
	if (document.getElementById(postcode).value.length < 1) {
		window.alert("Entrez svp votre code postal.");
		return false;
	}
	if (document.getElementById(tel).value.length < 9) {
		window.alert("Entrez svp votre numero de téléphone.");
		return false;
	}
	if (document.getElementById('shippingAdd').checked == true) {
		if (document.getElementById(sfName).value.length < 1) {
			window.alert("Entrez svp le prenom de la personne pour recevoir la livraison.");
			return false;
		}
		if (document.getElementById(ssName).value.length < 1) {
			window.alert("Entrez svp le nom de la personne pour recevoir la livraison.");
			return false;
		}
		if (document.getElementById(sadd1).value.length < 1) {
			window.alert("Entrez svp la premiére ligne de l’adresse de livraison.");
			return false;
		}
		if (document.getElementById(stown).value.length < 1) {
			window.alert("Entrez svp la ville de la livraison.");
			return false;
		}
		if (document.getElementById(spostcode).value.length < 1) {
			window.alert("Entrez svp la code postal de la livraison.");
			return false;
		}
	}
	return true;
}
function validEmail(email_id) {
	//window.alert(email);
	var email = document.getElementById(email_id).value;
	invalidChars = " /:,;";
	if (email.length > 0){
	
		for (i=0; i<invalidChars.length; i++) {
			badChar=invalidChars.charAt(i);
			if(email.indexOf(badChar,0)>-1) {
				alert('Veuillez écrire une e-mail adresse valide');
				return false;
			}
		}
			
		atPos=email.indexOf("@",1);
		if(atPos==-1) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		if(email.indexOf("@",atPos+1)!=-1) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		periodPos = email.indexOf(".",atPos);
		if(periodPos == -1) {	
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
				
		if(periodPos + 3 > email.length) {
			alert('Veuillez écrire une e-mail adresse valide');
			return false;
		}
	}
	return true;
}
function verifyClient(add1,town,postcode,tel,client_form,email) {
	if (document.getElementById(add1).value.length < 1) {
		window.alert("Entrez svp la premiére ligne de votre adresse.");
		return false;
	}
	if (document.getElementById(town).value.length < 1) {
		window.alert("Entrez svp votre ville.");
		return false;
	}
	if (document.getElementById(postcode).value.length < 1) {
		window.alert("Entrez svp votre code postal.");
		return false;
	}
	if (document.getElementById(tel).value.length < 9) {
		window.alert("Entrez svp votre numero de téléphone.");
		return false;
	}
	if (getSelectedRadio(document.getElementById(client_form).customer_type) == -1) {
		window.alert("Entrez svp le type de client.");
		return false;
	}
	if (document.getElementById(email).value.length < 1) {
		validEmail(email);
	}
	return true;
}
function show_link(link_name) {
	ViewWin = window.open(link_name,'viewWin','width=800,height=600,location=1,resizable=1,toolbar=1,status=1,scrollbars=1');
	ViewWin.focus();
}
function sendPass(page) {
	if (document.getElementById('email').value.length > 0) {
		window.location.href="password_rem.php?p=" + page + "&email=" + document.getElementById('email').value;
	} else {
		window.alert('Please enter your email address');
	}
}
function show_image(link_name,link_w,link_h) {
	var win_opt = 'height=200,width=200,location=0,resizable=1,toolbar=0,status=0,scrollbars=1';
	ViewWin = window.open("display.html?"+link_name,'',win_opt);
}
function formatCurrency(strValue)	{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + dblValue + '.' + strCents);
}
function validNumber(e) {
	if (e.keyCode) { // explorer
		keycode=e.keyCode;
		//window.alert("Keycode: " + keycode);
	} else {  // netscape
		keycode=e.which;
	}
	character = String.fromCharCode(keycode);
	//window.alert("Character: " + character);
	
	alpha = /^[a-z]*$/i;
	if (alpha.test(character) == true) {
		if (!(keycode > 96 || keycode < 105)) { // cater for keypad numbers
			window.alert("La quantité doit entrer en nombres.");
			return false;
		}
	}
	return true;
}
function showUpdate(type,size,col_cat,e) {
	if (type !== '') {
		var typeID = type;
		var sizeID = size;
		var colCatID = col_cat;
 } else { 
		var typeSize = document.getElementById("typeSize").value.split("_");
		var typeID = typeSize[0];
		var sizeID = typeSize[1];
		if (document.getElementById("colour") == null) {
			var colCatID = 0;
		} else {
			var colCatIDFull = document.getElementById("colour").value;
			loc = colCatIDFull.indexOf("_");
			var colCatID = colCatIDFull.substring(0,loc);
		}
	} 
	if (size_array[colCatID] == undefined) {
		document.getElementById("price").value = "";
		document.getElementById("vatPrice").value = "";
		document.getElementById("packPrice").value = "";
		document.getElementById("packVatPrice").value = "";
		document.getElementById("costPrice").value = "";
		document.getElementById("price_btn").disabled = true;
		document.getElementById("quantity").disabled = true;
		// clear pack size
		document.getElementById("pack").value = '';
		// display price breaks
		document.getElementById("price_break").firstChild.nodeValue = ""; 
	} else if (typeID > 0 && sizeID > 0) {
		if (size_array[colCatID][typeID] !== undefined) {
			/*window.alert(typeID);
			window.alert(sizeID);*/
			// display pack size
			document.getElementById("pack").value = size_array[colCatID][typeID][sizeID][5];
			// display price breaks
			//window.alert("Better prices are offered for pack quantities of " + Math.ceil(size_array[colCatID][typeID][sizeID][1]/size_array[colCatID][typeID][sizeID][5]) + " and above and " + Math.ceil(size_array[colCatID][typeID][sizeID][3]/size_array[colCatID][typeID][sizeID][5]) + " and above, enter quantity and click 'Get Price' for further details.");
			var qty1 = Math.ceil(size_array[colCatID][typeID][sizeID][1]/size_array[colCatID][typeID][sizeID][5]);
			var qty2 = Math.ceil(size_array[colCatID][typeID][sizeID][3]/size_array[colCatID][typeID][sizeID][5]);
			document.getElementById("price_break").firstChild.nodeValue = ""; 
			var text = "Better prices are offered for pack quantities of " + qty1 + " and above and " + qty2 + " and above, enter quantity and click 'Get Price' for further details.";
			document.getElementById("price_break").firstChild.nodeValue = ""; 
			/*var node = document.createTextNode("Better prices are offered for pack quantities of " + qty1 + " and above and " + qty2 + " and above, enter quantity and click 'Get Price' for further details.");
			document.getElementById("price_break").appendChild(node);*/ 
			// if product available enable qty
			document.getElementById("quantity").disabled = false;
			// if qty enable price btn
			if ((document.getElementById("quantity").value !== '') && (document.getElementById("quantity").value > 0)) {
				document.getElementById("price_btn").disabled = false;
			} else {
				document.getElementById("price_btn").disabled = true;
				document.getElementById("submit").disabled = true;
			}
		} else {
			document.getElementById("price_btn").disabled = true;
			document.getElementById("quantity").disabled = true;
		}
		document.getElementById("price").value = "";
		document.getElementById("vatPrice").value = "";
		document.getElementById("packPrice").value = "";
		document.getElementById("packVatPrice").value = "";
		document.getElementById("costPrice").value = "";
	}
}
function showPrice(type,size,col_cat) {
	var VATprice = '';
	var costPrice = '';
	if (type !== '') {
		var typeID = type;
		var sizeID = size;
		var colCatID = col_cat;
	} else {
		var typeSize = document.getElementById("typeSize").value.split("_");
		var typeID = typeSize[0];
		var sizeID = typeSize[1];
		if (document.getElementById("colour") == null) {
			var colCatID = 0;
		} else {
			var colCatIDFull = document.getElementById("colour").value;
			loc = colCatIDFull.indexOf("_");
			var colCatID = colCatIDFull.substring(0,loc);
		}
	} 
	if (typeID > 0 && sizeID > 0) {
		if (size_array[colCatID][typeID] !== undefined) {
			packSize = size_array[colCatID][typeID][sizeID][5];
			ordQty = packSize * document.getElementById("quantity").value;
			if (ordQty < size_array[colCatID][typeID][sizeID][1]) {
				costPrice = size_array[colCatID][typeID][sizeID][0];
			} else if ((ordQty >= size_array[colCatID][typeID][sizeID][1]) && (ordQty < size_array[colCatID][typeID][sizeID][3])) {
				costPrice = size_array[colCatID][typeID][sizeID][2];
			} else if (ordQty >= size_array[colCatID][typeID][sizeID][3]) {
				costPrice = size_array[colCatID][typeID][sizeID][4];
			}
			VATprice = (costPrice * 1) + (costPrice * 0.175);
			packPrice = costPrice * packSize;
			VATpackPrice = packPrice + (packPrice * 0.175);
			document.getElementById("pack").value = packSize;
			document.getElementById("packPrice").value = formatCurrency(packPrice) + "€ per article";
			document.getElementById("packVatPrice").value = "[" + formatCurrency(VATpackPrice) + "€ avec TVA]";
			document.getElementById("price").value = formatCurrency(costPrice) + "€ per article";
			document.getElementById("vatPrice").value = "[" + formatCurrency(VATprice) + "€ avec TVA]";
			document.getElementById("costPrice").value = costPrice;
			document.getElementById("submit").disabled = false;
			document.getElementById("quantity").disabled = false;
			/*document.getElementById("update").style.display = 'none';
			document.getElementById("prices").style.display = 'block';*/
		} else {
			document.getElementById("price").value = "Sorry, unavailable.";
			document.getElementById("vatPrice").value = "";
			document.getElementById("costPrice").value = "";
			document.getElementById("costVatPrice").value = "";
			document.getElementById("submit").disabled = true;
			document.getElementById("quantity").disabled = true;
		}
	}	else {
		document.getElementById("price").value = "";
		document.getElementById("vatPrice").value = "";
		document.getElementById("costPrice").value = "";
		document.getElementById("costVatPrice").value = "";
		document.getElementById("submit").disabled = true;
		document.getElementById("quantity").disabled = true;
		/*document.getElementById("update").style.display = 'block';
		document.getElementById("prices").style.display = 'none';*/
	}
}
function orderCheck() {
	if (document.getElementById("quantity").value.length <= 0) {
		window.alert("Entrez svp une quantité");
		return false;
	}
	return true;
}
function delCheck(clientId) {
	if (confirm("This will delete the client. Proceed?")) {
		window.location="client_list.php?del=" + clientId;
	} else {
		return false;
	}
}
function textLimit(textfield,maxlen) {
	if (textfield.value.length > maxlen + 1) {
		window.alert('Vous avez atteintes nombres maximum des caractéres.');
	}
	if (textfield.value.length > maxlen) {
		textfield.value = textfield.value.substring(0,maxlen);
	}
}
