﻿/* begin Page */

/* file checksum is A9B5EF42. */

var artEventHelper = {
	'bind': function(obj, evt, fn) {
		if (obj.addEventListener)
			obj.addEventListener(evt, fn, false);
		else if (obj.attachEvent)
			obj.attachEvent('on' + evt, fn);
		else
			obj['on' + evt] = fn;
	}
};

var userAgent = navigator.userAgent.toLowerCase();
var browser = {
	version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
	safari: /webkit/.test(userAgent) && !/chrome/.test(userAgent),
	chrome: /chrome/.test(userAgent),
	opera: /opera/.test(userAgent),
	msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
	mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
};

var artLoadEvent = (function() {
	

	var list = [];

	var done = false;
	var ready = function() {
		if (done) return;
		done = true;
		for (var i = 0; i < list.length; i++)
			list[i]();
	};

	if (document.addEventListener && !browser.opera)
		document.addEventListener('DOMContentLoaded', ready, false);

	if (browser.msie && window == top) {
		(function() {
			try {
				document.documentElement.doScroll('left');
			} catch (e) {
				setTimeout(arguments.callee, 10);
				return;
			}
			ready();
		})();
	}

	if (browser.opera) {
		document.addEventListener('DOMContentLoaded', function() {
			for (var i = 0; i < document.styleSheets.length; i++) {
				if (document.styleSheets[i].disabled) {
					setTimeout(arguments.callee, 10);
					return;
				}
			}
			ready();
		}, false);
	}

	if (browser.safari) {
		var numStyles;
		(function() {
			if (document.readyState != 'loaded' && document.readyState != 'complete') {
				setTimeout(arguments.callee, 10);
				return;
			}
			if ('undefined' == typeof numStyles) {
				numStyles = document.getElementsByTagName('style').length;
				var links = document.getElementsByTagName('link');
				for (var i = 0; i < links.length; i++) {
					numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0;
				}
				if (document.styleSheets.length != numStyles) {
					setTimeout(arguments.callee, 0);
					return;
				}
			}
			ready();
		})();
	}

	artEventHelper.bind(window, 'load', ready);

	return ({
		add: function(f) {
			list.push(f);
		}
	})
})();

(function() {
	// fix ie blinking
	var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand;
	try { if (!!m) { m('BackgroundImageCache', false, true); } }
	catch (oh) { };
})();

function xGetElementsByClassName(clsName, parentEle, tagName) {
	var elements = null;
	var found = [];
	var s = String.fromCharCode(92);
	var re = new RegExp('(?:^|' + s + 's+)' + clsName + '(?:$|' + s + 's+)');
	if (!parentEle) parentEle = document;
	if (!tagName) tagName = '*';
	elements = parentEle.getElementsByTagName(tagName);
	if (elements) {
		for (var i = 0; i < elements.length; ++i) {
			if (elements[i].className.search(re) != -1) {
				found[found.length] = elements[i];
			}
		}
	}
	return found;
}

var styleUrlCached = null;
function GetStyleUrl() {
	if (null == styleUrlCached) {
		var ns;
		styleUrlCached = '';
		ns = document.getElementsByTagName('link');
		for (var i = 0; i < ns.length; i++) {
			var l = ns[i];
			if (l.href && /style\.css(\?.*)?$/.test(l.href)) {
				return styleUrlCached = l.href.replace(/style\.css(\?.*)?$/, '');
			}
		}

		ns = document.getElementsByTagName('style');
		for (var i = 0; i < ns.length; i++) {
			var matches = new RegExp('import\\s+"([^"]+\\/)style\\.css"').exec(ns[i].innerHTML);
			if (null != matches && matches.length > 0)
				return styleUrlCached = matches[1];
		}
	}
	return styleUrlCached;
}

function fixPNG(element) {
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
		var src;
		if (element.tagName == 'IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = GetStyleUrl() + 'images/spacer.gif';
			}
		}
		else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage = 'none';
			}
		}
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "')";
	}
}

function artHasClass(el, cls) {
    return (el && el.className && (' ' + el.className + ' ').indexOf(' ' + cls + ' ') != -1);
}/* end Page */

/* begin Menu */
function Insert_Separators() {
	var menus = xGetElementsByClassName("art-menu", document);
	for (var i = 0; i < menus.length; i++) {
		var menu = menus[i];
		var childs = menu.childNodes;
		var listItems = [];
		for (var j = 0; j < childs.length; j++) {
			var el = childs[j];
			if (String(el.tagName).toLowerCase() == "li") listItems.push(el);
		}
		for (var j = 0; j < listItems.length - 1; j++) {
			var span = document.createElement('span');
			span.className = 'art-menu-separator';
			var li = document.createElement('li');
			li.appendChild(span);
			listItems[j].parentNode.insertBefore(li, listItems[j].nextSibling);
		}
	}
}
artLoadEvent.add(Insert_Separators);

function Menu_IE6Setup() {
	var isIE6 = navigator.userAgent.toLowerCase().indexOf("msie") != -1
    && navigator.userAgent.toLowerCase().indexOf("msie 7") == -1;
	if (!isIE6) return;
	var aTmp2, i, j, oLI, aUL, aA;
	var aTmp = xGetElementsByClassName("art-menu", document, "ul");
	for (i = 0; i < aTmp.length; i++) {
		aTmp2 = aTmp[i].getElementsByTagName("li");
		for (j = 0; j < aTmp2.length; j++) {
			oLI = aTmp2[j];
			aUL = oLI.getElementsByTagName("ul");
			if (aUL && aUL.length) {
				oLI.UL = aUL[0];
				aA = oLI.getElementsByTagName("a");
				if (aA && aA.length)
					oLI.A = aA[0];
				oLI.onmouseenter = function() {
					this.className += " art-menuhover";
					this.UL.className += " art-menuhoverUL";
					if (this.A) this.A.className += " art-menuhoverA";
				};
				oLI.onmouseleave = function() {
					this.className = this.className.replace(/art-menuhover/, "");
					this.UL.className = this.UL.className.replace(/art-menuhoverUL/, "");
					if (this.A) this.A.className = this.A.className.replace(/art-menuhoverA/, "");
				};
			}
		}
	}
}
artLoadEvent.add(Menu_IE6Setup);
/* end Menu */

/* begin Button */
function artButtonsSetupJsHover(className) {
	var tags = ["input", "a", "button"];
	for (var j = 0; j < tags.length; j++){
		var buttons = xGetElementsByClassName(className, document, tags[j]);
		for (var i = 0; i < buttons.length; i++) {
			var button = buttons[i];
			if (!button.tagName || !button.parentNode) return;
			if (!artHasClass(button.parentNode, 'art-button-wrapper')) {
				if (!artHasClass(button, 'art-button')) button.className += ' art-button';
				var wrapper = document.createElement('span');
				wrapper.className = "art-button-wrapper";
				if (artHasClass(button, 'active')) wrapper.className += ' active';
				var spanL = document.createElement('span');
				spanL.className = "l";
				spanL.innerHTML = " ";
				wrapper.appendChild(spanL);
				var spanR = document.createElement('span');
				spanR.className = "r";
				spanR.innerHTML = " ";
				wrapper.appendChild(spanR);
				button.parentNode.insertBefore(wrapper, button);
				wrapper.appendChild(button);
			}
			artEventHelper.bind(button, 'mouseover', function(e) {
				e = e || window.event;
				wrapper = (e.target || e.srcElement).parentNode;
				wrapper.className += " hover";
			});
			artEventHelper.bind(button, 'mouseout', function(e) {
				e = e || window.event;
				button = e.target || e.srcElement;
				wrapper = button.parentNode;
				wrapper.className = wrapper.className.replace(/hover/, "");
				if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, "");
			});
			artEventHelper.bind(button, 'mousedown', function(e) {
				e = e || window.event;
				button = e.target || e.srcElement;
				wrapper = button.parentNode;
				if (!artHasClass(button, 'active')) wrapper.className += " active";
			});
			artEventHelper.bind(button, 'mouseup', function(e) {
				e = e || window.event;
				button = e.target || e.srcElement;
				wrapper = button.parentNode;
				if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, "");
			});
		}
	}
}
artLoadEvent.add(function() { artButtonsSetupJsHover("art-button"); });
/* end Button */

function showhide(el,action){
	if (action==0){
		if (el=='email'){
			var myvalue=document.loginmod.loginemail.value;
			if (myvalue=="e-mail"){
				document.loginmod.loginemail.value="";
			}
		}else{
			var myvalue=document.loginmod.password.value;
			if (myvalue=="password"){
				document.loginmod.password.value="";
			}
		}
	}else{
		if (el=='email'){
			var myvalue=document.loginmod.loginemail.value;
			if (myvalue==""){
				document.loginmod.loginemail.value="e-mail";
			}
		}else{
			var myvalue=document.loginmod.password.value;
			if (myvalue==""){
				document.loginmod.password.value="password";
			}
		}
	}
}

	function validateEmail(elementValue){
		var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		return emailPattern.test(elementValue);
	}

	function checkreg(){
		var ok=true;
		var elementi=document.regform.elements;
		for(var i=0;i<elementi.length-1;i++){
			el=elementi[i];
			
			if (el.value==""){
				el.className="erroreform";
				ok=false;
			}else{
				el.className="";
				if (el.name=="eMail"&&validateEmail(el.value)==false){
					el.className="erroreform";
					ok=false;
				}else{
					el.className="";
				}
				if (el.name=="pwd"){
					var p1=el.value;
				}
				if (el.name=="pwd2"){
					var p2=el.value;
				}
			}
		 
		}
		if (p1!= undefined && p2!= undefined){
			if (p1!=p2){
				document.regform.pwd.className="erroreform";
				document.regform.pwd2.className="erroreform";
				document.getElementById("msgpwd").style.display="block";
				ok=false;
			}else{
				document.regform.pwd.className="";
				document.regform.pwd2.className="";
				document.getElementById("msgpwd").style.display="none";
			}
		}
		if (!ok){
			return false
		}
	}
	
function checklogin(){
	var the=document.loginmod;
	var msg=document.getElementById("clientmsg");
	if (the.loginemail.value==""||the.loginemail.value=="e-mail"){
		the.loginemail.focus();
		return false;
	}
	if (!validateEmail(the.loginemail.value)){
		the.loginemail.select();
		msg.innerHTML="correggere l'e-mail";
		msg.style.display="block";
		return false;
	}
	if (the.password.value==""||the.password.value=="password"){
		msg.style.display="none";
		the.password.focus();
		return false;
	}
}

function confirmdel(code){
	var conferma=confirm('Elimino dal carrello tutti i pezzi dell\'articolo '+code+'?');
	if (conferma){
		ricalcola('0',code,'100');
		return true;
	}else{
		return false;
	}
}

function numbersonly(myfield, e, dec) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;

  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;

  // decimal point jump
  else if (dec && (keychar == ".")) {
    return false;
  } else
    return false;
}

function unformatnumber(str){
	var unf1=str.replace(".","");
	var unf2=unf1.replace(",",".");
	return unf2;
}
function FormatNumber(numin){
	numin=Math.round(numin*100)/100;
	numin+='';//num to str
	arr_numin=numin.split(".");
	//alert(arr_subtotal.length);return 2
	var intero=arr_numin[0];
	
	//aggiungo marcatore migliaia all'intero
	var iStart = intero.indexOf(".");
	if (iStart < 0)
		iStart = intero.length;

	iStart -= 3;
	while (iStart >= 1) {
		intero = intero.substring(0,iStart) + "." + intero.substring(iStart,intero.length)
		iStart -= 3;
	}
	
	var mytotal=intero
	
	if(arr_numin.length==2){//numero decimale
		var decimali=arr_numin[1];
		if (decimali.length==1){
			decimali+="0";
			mytotal+=","+decimali;
		}else{
			mytotal+=","+decimali;
		}
	}else{
		mytotal+=",00"
	}
	return mytotal;
}
function ricalcola(val,artcode,prezzo,checklast){
	if (val!=""){
		var subtotal=val*unformatnumber(prezzo);
		var mytotal=FormatNumber(subtotal);
		if (document.getElementById("sub-"+artcode)){//fissa chiamata da cancellazione
			document.getElementById("sub-"+artcode).innerHTML=mytotal;
		}
		
		//totale imponibile
		var sublist=document.getElementsByTagName("span");
		var imponibile=0;
		for (var i=0; i<sublist.length; i++){
			if (sublist[i].className=="subtotal"){
				var subitem=unformatnumber(sublist[i].innerHTML);
				var check=imponibile+subitem;
				imponibile=imponibile+parseFloat(subitem);
			}
		}
		imponibile=FormatNumber(imponibile)
		document.getElementById("imponibile").innerHTML=imponibile;
		
		//IVA 20%
		var iva=unformatnumber(imponibile)*0.2;
		document.getElementById("iva").innerHTML=FormatNumber(iva);
		
		//Totale ordine
		var totale=parseFloat(unformatnumber(imponibile))+parseFloat(iva);
		document.getElementById("totaleordine").innerHTML=FormatNumber(totale);
	}
}

function alternatedisplay(id){
	var list=document.getElementsByTagName("fieldset");
	for (i=0; i<list.length; i++){
		list[i].style.display="none";
	}
	document.getElementById(id).style.display="block";
//	var el=document.getElementById(id);
//	if (el.style.display=="block"){
//		el.style.display="none";
//	}else{
//		el.style.display="block";
//	}
}

function editship(){
	document.getElementById("defaultshipping").style.display="none";
	document.getElementById("editspedizione").style.display="";
	document.getElementById("editlink").innerHTML="Annulla";
	document.getElementById("switch").value="true";
	document.getElementById("editlink").onclick=function(){
		uneditship();
	}
}

function uneditship(){
	document.getElementById("defaultshipping").style.display="";
	document.getElementById("editspedizione").style.display="none";
	document.getElementById("editlink").innerHTML="Modifica";
	document.getElementById("switch").value="false";
	document.getElementById("editlink").onclick=function(){
		editship();
	}
}
function checkorder(){
	var msgbox=document.getElementById("ordermsg");
	//controllo quantità
	var inputlist=document.getElementsByTagName("input");
	for (var i=0; i<inputlist.length; i++){
		var el=inputlist[i];
		if (el.className=="basketqty"){
			if(el.value=="0"||el.value==""){
				msgbox.innerHTML="Controllare la quantit&agrave; del prodotto: "+el.name;
				msgbox.style.display="block";
				
				el.style.backgroundColor="#ffe5e5";
				el.select();
				return false;
			}else{
				el.style.backgroundColor="";
			}
		}
	}
	//controllo indirizzo spedizione
	if(document.getElementById("switch").value=="true"){
		var incompleto=false;
		var inputlist=document.orderform.elements;
		for (var j=0; j<inputlist.length; j++){
			var el=inputlist[j];
			if (el.className!="basketqty"&&el.className!="noteordine"){
				if (el.value==""){
					el.style.border="1px solid red";
					incompleto=true;
				}else{
					el.style.border="";
				}
			}
		}
		if (incompleto){
				msgbox.innerHTML="L\'indirizzo di spedizione &egrave; incompleto";
				msgbox.style.display="block";
				return false;
		}
	}
	document.getElementById("submitbtn").disabled=true;
}

function checkaccount(modulo){
	var msgbox=document.getElementById('msg'+modulo);
	var incompleto=false;
	var mailvalida=true;
	var inputlist=document.forms[modulo].elements;
	for (var i=0; i<inputlist.length; i++){
		var el=inputlist[i];
		if (el.value==""){
			el.style.border="1px solid red";
			if (incompleto==false){
				el.focus();
			}
			incompleto=true;
		}else{
			el.style.border="";
		}
		if (el.name=="eMail"&&!validateEmail(el.value)){
			el.style.border="1px solid red";
			mailvalida=false;
		}else{
		}
	}
	if (incompleto){
		msgbox.className="erroreform2";
		msgbox.innerHTML="Compilare tutti i campi.";
		return false;
	}else{
		if (!mailvalida){
			msgbox.className="erroreform2";
			msgbox.innerHTML="Prego fornire un indirizzo email valido.";
			return false;
		}else{
			msgbox.innerHTML="";
		}
	}
}
