if(/msie/i.test(navigator.userAgent))//only override IE
{
	document.nativeGetElementById = document.getElementById;
	document.getElementById = function(id) {
		var elem = document.nativeGetElementById(id);
		if(elem) {
			//make sure that it is a valid match on id
			if(elem.id == id) {
				return elem;
			} else {
				//otherwise find the correct element
				for(var i = 1; i < document.all[id].length; i++) {
					if(document.all[id][i].id == id) {
						return document.all[id][i];
					}
				}
			}
		}
		return null;
	};
}

function changeSizes(product_id){
	size_id = document.getElementById("sizes").value;
	var xmlhttp;
		if(window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp = new XMLHttpRequest();
		} else {
			// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}

		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

				document.getElementById("sizes_div").innerHTML = xmlhttp.responseText;

			}
		}

		xmlhttp.open("GET", "includes/actions.php?action=change_size&product_id=" + product_id + "&size_id=" + size_id + "&return=true", true);
		xmlhttp.send();
}

function parseUrl(url) {
	var args = new Array();
	if(url) {
		var gy = url.split('&');

		for( i = 0; i < gy.length; i++) {
			ft = gy[i].split("=");
			args.push(unescape(ft[0]));
			args.push(unescape(ft[1]));
		}
	}
	return args;
}

function add_cart(product_id, quantity, availability) {
	if(quantity > availability){
		alert("La quantità desiderata supera le nostre scorte!");
		return false;
	}
	else{
		var xmlhttp;
		if(window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp = new XMLHttpRequest();
		} else {
			// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}

		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

				document.getElementById("module_container_cart").innerHTML = xmlhttp.responseText;

			}
		}

		xmlhttp.open("GET", "includes/actions.php?action=add_cart&product_id=" + product_id + "&quantity=" + quantity + "&return=true", true);
		xmlhttp.send();
	}
}

function remove_cart(product_id, quantity) {

	var xmlhttp;
	if(window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	} else {
		// code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

			document.getElementById("cart_container").innerHTML = xmlhttp.responseText;

		}
	}

	xmlhttp.open("GET", "includes/actions.php?action=remove_cart&product_id=" + product_id + "&quantity=" + quantity + "&return=true", true);
	xmlhttp.send();

}

function appendUrl(from_id, campo, valore) {
	var new_location;
	var valore;
	var indirizzo;

	if(from_id != null) {
		valore = document.getElementById(from_id).value;
	}
	indirizzo = document.location.toString();
	indirizzo = indirizzo.split("?");
	fields = parseUrl(window.location.search.substring(1));
	edited = false;

	for( i = 0; i < fields.length; i = i + 2) {
		if(fields[i] == campo) {
			fields[i + 1] = valore;
			edited = true;
		}
	}

	if(!edited) {
		fields.push(campo);
		fields.push(valore);
	}
	query = "";
	for( i = 0; i < fields.length; i = i + 2) {
		if(i != 0) {
			query = query + "&";
		}
		query = query + fields[i] + "=" + fields[i + 1];
	}
	new_location = indirizzo[0] + "?" + query;

	document.location = new_location;
}

function validateForm() {
	var nome = document.modulo.nome.value;
	var cognome = document.modulo.cognome.value;
	var nickname = document.modulo.bm_user_name.value;
	var password = document.modulo.bm_user_password.value;
	var conferma = document.modulo.confirm_password.value;
	var citta = document.modulo.citta.value;
	var provincia = document.modulo.provincia.value;
	var cap = document.modulo.cap.value;
	var indirizzo = document.modulo.indirizzo.value;
	var email = document.modulo.bm_mail.value;
	var confirm_email = document.modulo.confirm_mail.value;
	var nascita = document.modulo.data_nascita.value;
	var privacy = document.modulo.privacy;
	var codice_fiscale = document.modulo.codice_fiscale.value;
	var telefono = document.modulo.telefono.value;

	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

	if((nome == "") || (nome == "undefined")) {
		alert("Il campo Nome è obbligatorio.");
		document.modulo.nome.focus();
		return false;
	} 
	else if((cognome == "") || (cognome == "undefined")) {
		alert("Il campo Cognome è obbligatorio.");
		document.modulo.cognome.focus();
		return false;
	}
	else if((codice_fiscale == "") || (codice_fiscale == "undefined")) {
		alert("Il campo Codice Fiscale è obbligatorio.");
		document.modulo.codice_fiscale.focus();
		return false;
	}
	else if((telefono == "") || (telefono == "undefined")) {
		alert("Il campo Telefono è obbligatorio.");
		document.modulo.telefono.focus();
		return false;
	}
	else if((nickname == "") || (nickname == "undefined")) {
		alert("Il campo Nickname è obbligatorio.");
		document.modulo.bm_user_name.focus();
		return false;
	} 
	else if((password == "") || (password == "undefined")) {
		alert("Il campo Password è obbligatorio.");
		document.modulo.bm_user_password.focus();
		return false;
	} 
	else if((conferma == "") || (conferma == "undefined")) {
		alert("Il campo Conferma password è obbligatorio.");
		document.modulo.confirm_password.focus();
		return false;
	} 
	else if(password != conferma) {
		alert("La password confermata è diversa da quella scelta, controllare.");
		document.modulo.confirm_password.value = "";
		document.modulo.confirm_password.focus();
		return false;
	} 
	else if(document.modulo.data_nascita.value.substring(2, 3) != "/" || document.modulo.data_nascita.value.substring(5, 6) != "/" || isNaN(document.modulo.data_nascita.value.substring(0, 2)) || isNaN(document.modulo.data_nascita.value.substring(3, 5)) || isNaN(document.modulo.data_nascita.value.substring(6, 10))) {
		alert("Inserire la data di nascita in formato gg/mm/aaaa");
		document.modulo.data_nascita.value = "";
		document.modulo.data_nascita.focus();
		return false;
	} 
	else if(document.modulo.data_nascita.value.substring(0, 2) > 31) {
		alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
		document.modulo.data_nascita.select();
		return false;
	} 
	else if(document.modulo.data_nascita.value.substring(3, 5) > 12) {
		alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
		document.modulo.data_nascita.value = "";
		document.modulo.data_nascita.focus();
		return false;
	} 
	else if(document.modulo.data_nascita.value.substring(6, 10) < 1900) {
		alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
		document.modulo.data_nascita.value = "";
		document.modulo.data_nascita.focus();
		return false;
	} 
	else if((citta == "") || (citta == "undefined")) {
		alert("Il campo Città è obbligatorio.");
		document.modulo.citta.focus();
		return false;
	}
	else if((provincia == "") || (provincia == "undefined")) {
		alert("Il campo Provincia è obbligatorio.");
		document.modulo.provincia.focus();
		return false;
	}
	else if((cap == "") || (cap == "undefined")||((isNaN(cap)))) {
		alert("Il campo CAP è obbligatorio o deve essere numerico.");
		document.modulo.cap.focus();
		return false;
	}  
	else if((indirizzo == "") || (indirizzo == "undefined")) {
		alert("Il campo Indirizzo è obbligatorio.");
		document.modulo.indirizzo.focus();
		return false;
	} 
	else if(!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
		alert("Inserire un indirizzo email corretto.");
		document.modulo.bm_mail.focus();
		return false;
	}
	else if(email != confirm_email) {
		alert("La email confermata è diversa da quella scelta, controllare.");
		document.modulo.confirm_mail.value = "";
		document.modulo.confirm_mail.focus();
		return false;
	}  
	else if (!(privacy.checked)){
		alert("Devi accettare esplicitamente le condizioni sulla privacy");
		document.modulo.privacy.focus();
		return false;
	}
	else {
		
		document.modulo.submit();
	}
}

function changeShipping(number, order_id){
	var	spedizione = document.getElementById("spedizione").value;
	var xmlhttp;
	if(window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	} else {
		// code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(spedizione == "Spedizione"){
		document.getElementById("shipping_mode").innerHTML = "<input type=\"hidden\" name=\"item_name_"+number+"\" value=\"Spedizione\"><input type=\"hidden\" name=\"quantity_"+number+"\" value=\"1\"><input type=\"hidden\" name=\"amount_"+number+"\" value=\"12\">"
		xmlhttp.open("GET", "includes/actions.php?action=change_shipping&ship=1&order="+order_id, true);
		xmlhttp.send();
	}
	else if(spedizione=="Ritiro"){
		document.getElementById("shipping_mode").innerHTML = "<input type=\"hidden\" name=\"item_name_"+number+"\" value=\"Ritiro in Negozio\"><input type=\"hidden\" name=\"quantity_"+number+"\" value=\"1\"><input type=\"hidden\" name=\"amount_"+number+"\" value=\"0\">"
		xmlhttp.open("GET", "includes/actions.php?action=change_shipping&ship=0&order="+order_id, true);
		xmlhttp.send();
	}
	
	
}

function delete_news(id) {
	if (confirm("Sei sicuro di voler eliminare questa news?")) {
		document.location = "admin/includes/actions.php?action=delete_news&id="+id;
	}
}
