﻿function isEmpty(str){return (str.replace(/\s/g,"").length==0)}
function _mail(str){return str.search(/^([\w\.\-])+@(([\w\-]{2,})+\.)+([a-z0-9]{2,})+$/i)!=-1}

function checkMinQta(element, minQta) {
	var value = element.value>>0;
	
	if(value < minQta) {
		alert("La quantità minimia ordinabile per questo articolo è " + minQta);
		element.focus();
		return false;
	}
	return true;
}

function MM_verifyDate(str) {
	//var str = data;
	
	var format=0;
	var month=0;
	var day=0;
	var year=0;
	var err=false;
	if(str.length!=10)
		err=true;

	if(str.length==10)
		{
		// dd/mm/yyyy format
		if(str.charAt(2) == "/" && str.charAt(5) == "/" && str.length == 10)
				{
				format=1;
				// Check that day is a number.
				for (var i = 0; i < 2; i++) 
					{ var ch = str.substring(i, i + 1); if(ch < "0" || "9" < ch) err=true; }
				// Check that month is a number.
				for (var i = 3; i < 5; i++) 
					{ var ch = str.substring(i, i + 1); if(ch < "0" || "9" < ch) err=true; }
				// Check that year is a number.
				for (var i = 6; i < 10; i++) 
					{ var ch = str.substring(i, i + 1); if(ch < "0" || "9" < ch) err=true; }
				// Set variables
				if(err==
						false){day=eval(str.substring(0,2));month=eval(str.substring(3,5));  year=eval(str.substring(6,str.length)); }
				}


		// Incorrect format.
		if(format !=1)
				var err=true;
		}

		// Check that month is between 1 &12.
		if(month<=0 || month>=13)
		  err=true;

		// Check that day is right depending on month.
		if( month==2 && ((year/4)==parseInt(year/4)) )
		  { if(day<=0 || day>29) err=true; }
		if( month==2 && ((year/4)!=parseInt(year/4)) )
		  { if(day<=0 || day>28) err=true; }
		if( month==4 || month==6 || month==9 || month==11 )
		  { if(day<=0 || day>30) err=true; }
		if( month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12 )
		  { if(day<=0 || day>31) err=true; }


		// If anything appears incorrect, display error message.
		if(err==true)
		  {
		//  alert("Inserire la data nel formato gg/mm/aaaa");
			
		  return false;
		  }

		// If all is OK, return true.
		return true;

	}

function changeMainMenuStyle(element, id, prevId, over) {
	var sepElement = document.getElementById("sep_" + id);
	var prevSepElement = document.getElementById("sep_" + prevId);
	if(over) {
		element.className = "over";		
		sepElement.className = (sepElement.className == "itemsep" ? "itemsepover" : (sepElement.className == "itemsepselrear" ? "itemsepselfull1" : "itemendover"));
		prevSepElement.className = (prevId == 0 ? "itemstartover" : (prevSepElement.className == "itemsepsel" ? "itemsepselfull" : "itemsepoverrear"));
	}
	else {
		element.className = "";		
		sepElement.className = (sepElement.className == "itemsepover" ? "itemsep" : (sepElement.className == "itemsepselfull1" ? "itemsepselrear" : "itemend"));
		prevSepElement.className = (prevId == 0 ? "itemstart" : (prevSepElement.className == "itemsepselfull" ? "itemsepsel" : "itemsep"));
	}
}
function checkNewsletter(frm) {	
	if(!_mail(frm.newsMail.value)) {
		alert("Inserire un indirizzo email valido!");
		frm.newsMail.focus();
		return false;
	}
	return true;
}
var currentId = "";
var activeBox = null;
var activeTitle = null;

function showBox(id) {
	if(currentId == "")
		currentId = "latest";
		
	if(!activeTitle)
		activeTitle = document.getElementById("boxActiveTitle_" + currentId);
	
	if(!activeBox)
		activeBox = document.getElementById("box_" + currentId);
	
	activeTitle.style.display = "none";
	activeBox.style.display = "none";
	
	var inactiveTitle = document.getElementById("boxInactiveTitle_" + id);
	var box = document.getElementById("box_" + id);
	
	inactiveTitle.style.display = "none";
	
	activeTitle = document.getElementById("boxActiveTitle_" + id);
	activeTitle.style.display = "";
	
	inactiveTitle = document.getElementById("boxInactiveTitle_" + currentId);
	inactiveTitle.style.display = "";
	
	box.style.display = "";
	activeBox = box;
	currentId = id;
	
	return false;
}

var sheetCurrentId = "";

function showSheetBox(id) {
	if(sheetCurrentId == "") {
		sheetCurrentId = "description_2";
		if(document.getElementById("box_" + sheetCurrentId) == null)
			sheetCurrentId = "description";
	}
	
	var lTitle = document.getElementById("ltitle_" + sheetCurrentId);
	var title = document.getElementById("title_" + sheetCurrentId);
	var rTitle = document.getElementById("rtitle_" + sheetCurrentId);
	var box = document.getElementById("box_" + sheetCurrentId);
	
	lTitle.style.display = "none";
	title.className = "inactivetitle";
	rTitle.style.display = "none";
	box.style.display = "none";
	
	lTitle = document.getElementById("ltitle_" + id);
	title = document.getElementById("title_" + id);
	rTitle = document.getElementById("rtitle_" + id);
	box = document.getElementById("box_" + id);
	
	lTitle.style.display = "";
	title.className = "title";
	rTitle.style.display = "";
	box.style.display = "";
	
	sheetCurrentId = id;
	
	return false;
	
}

//Invio Password
function sendPWD(){
	//var str = prompt("Inserire lo userID con cui vi siete registrati per ricevere la password per posta elettronica.","");
	//if(str) window.location.replace('default.asp?cmd=sendPwd&cmdString='+escape(str));
	window.open("lostPwd.asp", "LostPwd" , "scrollbars=yes,width=490,height=350");
	
}

var resultsFadeOut = null;

function resultsMouseMove(element) {
	if(resultsFadeOut != null)
		clearTimeout(resultsFadeOut);
	
	resultsFadeOut = setTimeout("fadeOut('" + element.id + "')", 5000);
}

function fadeOut(elementId) {
	new Effect.Fade(elementId, { duration: 0.4});
}
function searchKeyPress(e) {
	
}
function searchList(event, searchId) {	
	var results = document.getElementById('results_' + searchId);
	var searchElement = document.getElementById(searchId);
	
	if(event.which == 27) {
		resultsFadeOut = fadeOut(results.id)
		if(resultsFadeOut)
			clearTimeout(resultsFadeOut);
		return;
	}
	
	if(searchElement == null || searchElement.value == "") {		
		resultsFadeOut = fadeOut(results.id)
		if(resultsFadeOut)
			clearTimeout(resultsFadeOut);
		return;
	}
	
	if(resultsFadeOut != null)
		clearTimeout(resultsFadeOut);
	
	resultsFadeOut = setTimeout("fadeOut('results_" + searchId + "')", 5000);
	
	
	new Ajax.Updater('results_' + searchId, 'inlineSearch.asp', {
		parameters: { search: $F(searchId) }
  });
  
  if(results != null) {		
		//results.style.display = "";
		if(results.style.display == "none")			
			new Effect.Appear(results.id, { duration: 0.3, from: 0.0, to: 1.0 });
		
  }

}

function changePageSize(pageSize) {
	var hPageSize = null;
	if(document.getElementById("fromAdvPs").value == 1) {
		hPageSize = document.getElementById("advPageSize");
		document.getElementById("advPg").value = 1;
	}		
	else {
		hPageSize = document.getElementsByName("pageSize")[0];
		document.getElementsByName("pg")[0].value = 1;
	}
	
	if(hPageSize) {
		hPageSize.value = pageSize;				
		hPageSize.form.submit();
	}
	
	return false;
	
}
function changeAdvPg(pg) {	
	document.frmAdvSearch.advPg.value = pg;
	document.frmAdvSearch.submit();
	return false;
}

function checkCartStep2(frm){
	var couriers = document.getElementsByName("courierID");
	var courierId = -1;
	if(couriers) {
		for(var i = 0; i < couriers.length; i++) {
			if(couriers[i].checked) {
				courierId = i;
				break;
			}
		}
	}
	
	var payments = document.getElementsByName("paymentID");
	var paymentId = -1
	if(payments) {
		for(var i = 0; i < payments.length; i++) {
			if(payments[i].checked) {
				paymentId = i;
				break;
			}
		}
	}
	
	if(courierId < 0) {
		alert("Selezionare un corriere!");
		couriers[0].focus();
		return false;		
	}
	if(paymentId < 0) {
		alert("Selezionare un pagamento!");
		payments[0].focus();
		return false;		
	}
	
	return true;
}

function writePopUp(strURL,w,h,t,l,refName,e, strHTML) {
	openPopUp("",w,h,t,l,refName,e);
	oPopUp.document.write(strHTML);
}

function openPopUp(strURL,w,h,t,l,refName,e){
	
	//e=e||event;
	
	var obj = document.getElementById?document.getElementById(refName):document.layers?document.layers[refName]:document.all?document.all[refName]:null;
	
	if(t==null||l==null) {		
		if(e) {
			//var l=e.clientX-150;
			//var t=e.clientY-34;
			l=e.screenX+20;
			t=e.screenY-222;
		}else if(obj){
			obj.css=document.layers?obj:obj.style;
			t=obj.css.top||obj.css.pixelTop||obj.offsetTop||100;
			l=obj.css.left||obj.css.pixelLeft||obj.offsetLeft||100;
		}else{t=100,l=100;}
	} else if(t>>0!=t&&l>>0!=l){
		l=l=="cs"?screen.width/2-w/2:100;
		t=t=="cs"?screen.height/2-h/2:100;
	}
	
	if(oPopUp&&!oPopUp.closed) oPopUp.close();
		//oPopUp.location.replace(strURL);
		//oPopUp.resizeTo(w,h);
		
	
	oPopUp = window.open(strURL,"PopUp","width="+w+",height="+h+",top="+t+",left="+l+",scrollbars=1,resizable=1");
	oPopUp.focus();
}

var oPopUp;
onunload = function(){if(oPopUp&&!oPopUp.closed) oPopUp.close();}



function expandNode(id){
	var obj = document.getElementById("lnk_"+id);
	/*obj.innerHTML=obj.innerHTML=="+"?"-":"+";*/
	obj=document.getElementById("row_"+id);
	obj.style.display=obj.style.display=="none"?"":"none";
	return false;
}


//Carrello ---
function emptyCart() {
	if(confirm("Vuotare il carrello?\nVerrano rimossi tutti gli articoli attualmente nel carrello.")) {
		window.location.href="default.asp?cmd=delCart";
	}
	return false;
}
function changeOrder(frmId, orderby, currentOrder) {

	var frm = document.getElementById(frmId);
	var orderElement =  document.getElementById(currentOrder);	
	
	if(frm) {		
		
		switch(orderby) {
			case "price":				
				orderElement.value = orderElement.value == "priceA" ? "priceD" : "priceA";								
				break;
			case "desc":				
				orderElement.value = orderElement.value == "descA" ? "descD" : "descA";
				break;
		}
		frm.submit();
	}
	return false;
}

var typeDesc = null;
function rmaShowDesc(typeIndex) {

	var typeId = document.getElementById("repairTypeID").options[typeIndex].value;
	
	if(!typeDesc)
		typeDesc = document.getElementById("desc_0");
	typeDesc.style.display = "none";
	
	typeDesc = document.getElementById("desc_" + typeId);
	
	if(typeDesc)
		typeDesc.style.display = "";
	
}

function rmaChkFRM(frm) {
	if(frm.codArt.value == "") {
		alert("Inserire un codice articolo!");
		frm.codArt.focus();
		return false;
	}
	if(frm.productSerial.value == "") {
		alert("Inserire il codice Seriale dell'articolo!");
		frm.productSerial.focus();
		return false;
	}
	if(frm.productName.value == "") {
		alert("Inserire la descrizione articolo!");
		frm.productName.focus();
		return false;
	}
	if(frm.nx.value == "") {
		alert("Inserire la quantità!");
		frm.nx.focus();
		return false;
	}
	var warranties = document.getElementsByName("warranty");
	var warrantyCheck = false;
	for(var i = 0; i < warranties.length; i++) {
		if(warranties[i].checked) {
			warrantyCheck = true;
			break;
		}		
	}
	if(!warrantyCheck) {
		alert("Indicare se il prodotto è in garanzia!");
		frm.warranty_2.focus();
		return false;
	}
	
	if(frm.documentID.value>>0 == 0) {
		alert("Inserire un numero documento valido!");
		frm.documentID.focus();
		return false;
	}
	if(frm.documentDate.value == "") {
		alert("Inserire la data del documento!");
		frm.documentDate.focus();
		return false;
	}
	if(frm.repairTypeID.value == 0) {
		alert("Selezionare il tipo di RMA");
		frm.repairTypeID.focus();
		return false;
	}
	if(frm.defectID.value == 0) {
		alert("Selezionare il tipo di difetto riscontrato");
		frm.defectID.focus();
		return false;
	}
	return true;
}
function checkFeaturesForm(frm) {
	var features = document.getElementsByName("feature");
	document.frmAdvSearch.advPg.value = 1;
	for(var i = 0; i < features.length; i++) {
		var fId = features[i].value>>0;		
		
		var fType = document.getElementById("type_" + fId).value>>0;
		var feature = document.getElementById("feature_" + fId);
				
		switch(fType) {
			case 10:
				if(isNaN(feature.value)) {
					alert("Inserire un valore numerico");
					feature.focus();
					return false;
				}				
				break;
			case 20:
				if(feature.value != "" && !MM_verifyDate(feature.value)) {
					alert("Inserire una data nel formato 'gg/mm/aaaa'");
					feature.focus();
					return false;
				}		
				break;
		}
		
	}

	return true;
}
function checkOrderForm(frm) {
	if(frm.anotherDest.checked) {
		if(frm.NewReferente.value == "") {
			alert("Inserire una Ragione Sociale per la nuova destinazione");
			frm.NewReferente.focus();
			return false;
		}
		if(frm.NewAddress.value == "") {
			alert("Inserire un Indirizzo per la nuova destinazione");
			frm.NewAddress.focus();
			return false;
		}
		if(frm.NewCity.value == "") {
			alert("Inserire una Città per la nuova destinazione");
			frm.NewCity.focus();
			return false;
		}
		if(frm.NewZipCode.value == "") {
			alert("Inserire un CAP per la nuova destinazione");
			frm.NewZipCode.focus();
			return false;
		}
		if(frm.NewProvince.value == "") {
			alert("Inserire una Provincia per la nuova destinazione");
			frm.NewProvince.focus();
			return false;
		}
	}
	
	return true;
}
function displayFeatureMenu(id) {
	var feature = document.getElementById("feature_" + id);
	var menu = document.getElementById("featureMenu_" + id);
	var img = document.getElementById("featureImage_" + id);
	
	if(feature)
		feature.style.zIndex = 700;
	
	if(menu) {		
		//new Effect.Appear(menu.id, { duration: 0.6, from: 0.0, to: 1.0 });
		if(menu.style.display == "none") {
			new Effect.Appear(menu, { duration: 0.4, from: 0.0, to: 1.0 });
			new Effect.SlideDown(menu, {duration: 0.4});
		}
		else {
			new Effect.Appear(menu, { duration: 0.4, from: 1.0, to: 0.0 });
			new Effect.SlideUp(menu, {duration: 0.4});
		}
		
	}
	if(img) {
		img.src = menu.style.display == "none" ? "img/featureCloseMenu.png" : "img/featureOpenMenu.png";		
	}
	if(menu.style.display == "") {
		selectFeatureValue(id);
	}
	return false;
}
function selectFeatureValue(id) {
	var feature = document.getElementById("feature_" + id);
	var label = document.getElementById("labelFeature_" + id);
	var selCheckBoxes = document.getElementsByName("feature_" + id);	
	var selValues = "";
	if(selCheckBoxes) {
		for(var i = 0; i < selCheckBoxes.length; i++) {
			if(selCheckBoxes[i].checked) {
				var labelValue = document.getElementById("feature_" + id + "_label_" + selCheckBoxes[i].value);
				selValues += labelValue.innerHTML + ", ";
			}
		}
		if(selValues != "")
			selValues = selValues.substr(0, selValues.length - 2);
	}
	
	if(selValues == "")
		selValues = "Seleziona uno o più valori";
	
	label.innerHTML = selValues;
	
	var menu = document.getElementById("featureMenu_" + id);
	if(menu) {
		new Effect.Appear(menu, { duration: 0.4, from: 1.0, to: 0.0 });
		new Effect.SlideUp(menu, {duration: 0.4});
	}
	if(feature)
		feature.style.zIndex = 0;
		
	return false;
}
function checkSimpleSearch(frm, searchId) {
	var txtSearch = document.getElementById(searchId);
	if(txtSearch && txtSearch.value.length < 3) {
		alert("Inserire almeno tre caratteri nel criterio di ricerca!");
		return false;
	}
}

function checkNewDestination(frm) {
	
	if(frm.NewReferente.value == "") {
		alert("Inserire una Ragione Sociale per la nuova destinazione");
		frm.NewReferente.focus();
		return false;
	}
	if(frm.NewAddress.value == "") {
		alert("Inserire un Indirizzo per la nuova destinazione");
		frm.NewAddress.focus();
		return false;
	}
	if(frm.NewCity.value == "") {
		alert("Inserire una Città per la nuova destinazione");
		frm.NewCity.focus();
		return false;
	}
	if(frm.NewZipCode.value == "") {
		alert("Inserire un CAP per la nuova destinazione");
		frm.NewZipCode.focus();
		return false;
	}
	if(frm.NewProvince.value == "") {
		alert("Inserire una Provincia per la nuova destinazione");
		frm.NewProvince.focus();
		return false;
	}
	if(frm.NewCountry.value == "") {
		alert("Inserire una Nazione per la nuova destinazione");
		frm.NewCountry.focus();
		return false;
	}
	
	return true;
}
