var myWindow = null;

var menuimg = new Array(10);

menuimg[1]= new Image ();
menuimg[1].src = "images/menu/chisiamo.gif";
menuimg[2]= new Image ();
menuimg[2].src = "images/menu/chisiamo_over.gif";
menuimg[3]= new Image ();
menuimg[3].src = "images/menu/servizi.gif";
menuimg[4]= new Image ();
menuimg[4].src = "images/menu/servizi_over.gif";
menuimg[5]= new Image ();
menuimg[5].src = "images/menu/info.gif";
menuimg[6]= new Image ();
menuimg[6].src = "images/menu/info_over.gif";
menuimg[7]= new Image ();
menuimg[7].src = "images/menu/lavora.gif";
menuimg[8]= new Image ();
menuimg[8].src = "images/menu/lavora_over.gif";
menuimg[9]= new Image ();
menuimg[9].src = "images/menu/contatti.gif";
menuimg[10]= new Image ();
menuimg[10].src = "images/menu/contatti_over.gif";


function on_menuimg(loc, img){	
	loc.src = menuimg[img].src;
}

function OpenModal(sPageUrl, nWidth, nHeight, sScroll) {
	window.showModalDialog(sPageUrl,'','dialogHeight:'+nHeight+'px; dialogWidth:'+nWidth+'px; center: yes; help: no; resizable: no; scroll: '+sScroll+'; status: no');
}

function CloseWindow(sPageUrl) {
	if (!window.opener.closed)
		opener.location = sPageUrl;
	else
		window.opener = window.open(sPageUrl,'','toolbar=yes,directories=yes,scrollbars=yes,status=yes,resizable=yes,location=yes');
	window.close();
}

function OpenWindow(sPageUrl, nWidth, nHeight, sScroll, sName, sOpener, bCenter) {
var nLeft
var nTop

	if (bCenter){
		nLeft = (window.screen.width - nWidth) / 2;
		nTop = (window.screen.height - nHeight) / 2;
	}else{
		nLeft = 0;
		nTop = 0;
	}
	
	if (myWindow == null || myWindow.closed)
		myWindow = window.open(sPageUrl,sName,'top='+nTop+',left='+nLeft+',height='+nHeight+',width='+nWidth+',toolbar=no,directories=no,scrollbars='+sScroll+',status=no,resizable=yes,location=no');
	else {
		if (myWindow.name == sName){
			myWindow.focus();
			myWindow.location = sPageUrl;
		}else{
			myWindow.close();
			myWindow = window.open(sPageUrl,sName,'top='+nTop+',left='+nLeft+',height='+nHeight+',width='+nWidth+',toolbar=no,directories=no,scrollbars='+sScroll+',status=no,resizable=yes,location=no');
		}
	}
	if (!myWindow.opener) myWindow.opener = sOpener;
}

function OpenCalendar(sPageUrl, sOpener) {
var nLeft
var nTop

	nLeft = (window.screen.width - 320) / 2;
	nTop = (window.screen.height - 245) / 2;
	
	if (myWindow == null || myWindow.closed)
		myWindow = window.open(sPageUrl + "&WINDOW=" + sOpener,'calendar','top='+nTop+',left='+nLeft+',height=245,width=320,toolbar=no,directories=no,scrollbars=no,status=no,resizable=no,location=no');
	else {
		if (myWindow.name == 'calendar'){
			myWindow.focus();
			myWindow.location = sPageUrl;
		}else{
			myWindow.close();
			myWindow = window.open(sPageUrl + "&WINDOW=" + sOpener,'calendar','top='+nTop+',left='+nLeft+',height=245,width=320,toolbar=no,directories=no,scrollbars=no,status=no,resizable=no,location=no');
		}
	}
	if (!myWindow.opener) myWindow.opener = sOpener;
}

function OpenMonth(sPageUrl, sOpener) {
var nLeft
var nTop

	nLeft = (window.screen.width - 320) / 2;
	nTop = (window.screen.height - 100) / 2;
	if (myWindow == null || myWindow.closed)
		myWindow = window.open(sPageUrl + "&WINDOW=" + sOpener,'month','top='+nTop+',left='+nLeft+',height=100,width=320,toolbar=no,directories=no,scrollbars=no,status=no,resizable=no,location=no');
	else {
		if (myWindow.name == 'calendar'){
			myWindow.focus();
			myWindow.location = sPageUrl;
		}else{
			myWindow.close();
			myWindow = window.open(sPageUrl + "&WINDOW=" + sOpener,'month','top='+nTop+',left='+nLeft+',height=100,width=320,toolbar=no,directories=no,scrollbars=no,status=no,resizable=no,location=no');
		}
	}
	if (!myWindow.opener) myWindow.opener = sOpener;
}

function OpenHelp(sPageUrl) {
var nLeft
var nTop

	nLeft = (window.screen.width - 600) / 2;
	nTop = (window.screen.height - 300) / 2;
	
	if (myWindow == null || myWindow.closed)
		myWindow = window.open('help.asp?PAGE=' + sPageUrl,'help','top='+nTop+',left='+nLeft+',height=300,width=600,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,location=no');
	else {
		if (myWindow.name == 'help'){
			myWindow.focus();
			myWindow.location = 'help.asp?PAGE=' + sPageUrl;
		}else{
			myWindow.close();
			myWindow = window.open('help.asp?PAGE=' + sPageUrl,'help','top='+nTop+',left='+nLeft+',height=300,width=600,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,location=no');
		}
	}
	if (!myWindow.opener) myWindow.opener = '';
}

function ConfirmDelete(sPage) {
var sConfirm

	sConfirm = "Confermi l'eliminazione?";
	if (confirm(sConfirm))
		document.location = sPage;
			
}

function js_FormSubmit(form, sUrl){
	form.submit();
	CloseWindow(sUrl);
}

function js_NomeMese(nMese, nLanguage){
var sNomeMese

sNomeMese = "";
switch (nLanguage) {
	case 0:
		switch (nMese) {
			case 1: sNomeMese = "Gennaio";
			break;
			case 2: sNomeMese = "Febbraio";
			break;
			case 3: sNomeMese = "Marzo";
			break;
			case 4: sNomeMese = "Aprile";
			break;
			case 5: sNomeMese = "Maggio";
			break;
			case 6: sNomeMese = "Giugno";
			break;
			case 7: sNomeMese = "Luglio";
			break;
			case 8: sNomeMese = "Agosto";
			break;
			case 9: sNomeMese = "Settembre";
			break;
			case 10: sNomeMese = "Ottobre";
			break;
			case 11: sNomeMese = "Novembre";
			break;
			case 12: sNomeMese = "Dicembre";
			break;
		}
	break;
	case 1:
		switch (nMese) {
			case 1: sNomeMese = "Jan";
			break;
			case 2: sNomeMese = "Feb";
			break;
			case 3: sNomeMese = "Mar";
			break;
			case 4: sNomeMese = "Apr";
			break;
			case 5: sNomeMese = "May";
			break;
			case 6: sNomeMese = "Jun";
			break;
			case 7: sNomeMese = "Jul";
			break;
			case 8: sNomeMese = "Aug";
			break;
			case 9: sNomeMese = "Sep";
			break;
			case 10: sNomeMese = "Oct";
			break;
			case 11: sNomeMese = "Nov";
			break;
			case 12: sNomeMese = "Dec";
			break;
		}
	break;
}
return sNomeMese;
}

function js_LongDate(sDate){
return sDate.substring(6, 10) + " " + js_NomeMese(eval(sDate.substring(3, 5)), 1) + " " + sDate.substring(0, 2);
}

function js_IsNumeric(NValue){
n = NValue.toString();
x = 0;
b = 0;
while (x < n.length){
	if (b < 4 && n.substring(x, x + 1) != "-" && n.substring(x, x + 1) != "." && n.substring(x, x + 1) != ","){
		if (n.substring(x, x + 1) < "0" || n.substring(x, x + 1) > "9") return 0;
	}else{
		if (n.substring(x, x + 1) == "-")
			if (x == 0)
				b = b + 2;
			else
				b = b + 4;
		else
			if (b == 2) 
				b = b + 1;
			else
				b = b + 3;
		if (b >= 4) return 0;
	}
	x++;
}

return 1;
}

function js_DateToLong(sDate){
var m
var gg
var a
var y
var d

d = sDate.toString();
if (d == "") return 0;
if (d.substring(1, 2) == "/"){
	gg = "0" + d.substring(0, 1);
	if (d.substring(3, 4) == "/"){
		m = "0" + d.substring(2, 3);
		a = d.substring(6, 8);
	}else{
		m = d.substring(2, 4);
		a = d.substring(7, 9);
	}
}else{
	gg = d.substring(0, 2);
	if (d.substring(4, 5) == "/"){
		m = "0" + d.substring(3, 4);
		a = d.substring(7, 9);
	}else{
		m = d.substring(3, 5);
		a = d.substring(8, 10);
	}
}
if (eval(a) < 10)
	y = "20" + a;
else
	y = "19" + a;
return (y + m + gg);
}

function js_RaddoppiaApice(sSource){
var sTmp
var ap
var c

sTmp = "";
sSource = sSource.toString();
if (sSource.length > 0){
  for (ap = 0; ap < sSource.length; ap++){
    c = sSource.substring(ap, ap + 1);
	if (c == "'")
	  	sTmp = sTmp + "\'";
	else
	  	sTmp = sTmp + c;
  }
}
return sTmp;
}

function js_ReplaceStr(sSource, sSearch, sReplace){
var sTmp
var i
var j

sSource = sSource.toString();
sTmp = "";
j = 0;
i = sSource.indexOf(sSearch, j);
if (i >= 0){
	while (i >= 0){
		sTmp = sTmp + sSource.substring(j, j+(i-j)) + sReplace
		j = eval(i + sSearch.length);
		i = sSource.indexOf(sSearch, j);
	}
	i = sSource.length;
	sTmp = sTmp + sSource.substring(j, j+(i-j))
}else sTmp = sSource;
return sTmp;
}

function js_FormatNumber(NValue, NDec){
/* begin */
n = NValue.toString();
number = "";
resto = "";
count = 0;
bdot = 0;
x = 0;
bexit = 0;
while (x < n.length && bexit == 0){
	if (n.substring(x, x + 1) != "."){
		if (bdot){
			count++;
			if (count > NDec){
				resto = resto + ".";
				resto = resto + n.substring(x, x + 1);
				bexit = 1;
			}else resto = resto + n.substring(x, x + 1);
		}else number = number + n.substring(x, x + 1) ;
	}else
		if (NDec == 0) bexit = 1;
		else bdot = 1;
	x++;     
}
   
Result1 = "";
count = 0;
x = number.length - 1;
while (x >= 0){
	if (number.substring(x, x + 1) != " "){
		Result1 = Result1 + number.substring(x, x + 1);
		count++;
		if (count == 3 && x != 0 && number.substring(x - 1, x) != " ") {
			Result1 = Result1 + ".";
			count = 0;
		}
	}
	x--;     
}
   
Result = "";
x = Result1.length - 1;
while (x >= 0){
	Result = Result + Result1.substring(x, x + 1);
	x--;
}
   
if (resto.length > 0){
	IValue = Math.round(resto);
	resto = IValue.toString();
	if (resto == "10"){
		resto = "";
		Result = eval(Result) + 1;
	}
}else{
	resto = ""
	while (NDec > 0){
		resto = resto + "0";
		NDec--;
	}
}
if (resto != ""){
	resto = "," + resto;
	return Result + resto;
}

return Result;
/* end */
}

function js_CnvDbl(sSource){
n = sSource.toString();
if (n.length > 0){
	sTmp = "";
	x = 0;
	while (x < n.length){
		if (n.substring(x, x + 1) != "."){
			if (n.substring(x, x + 1) == ",")
			  	sTmp = sTmp + ".";
			else sTmp = sTmp + n.substring(x, x + 1);
		}
		x++;
	}
}else sTmp = "0";

return sTmp;
}

function js_Trim(sSource){
n = sSource.toString();
if (n.length > 0){
	sTmp = "";
	x = 0;
	while (x < n.length && n.substring(x, x + 1) == " ") x++;
	l = n.length - 1;
	while (l > x && n.substring(l, l + 1) == " ") l--;
	l++;
	while (x < l){
		sTmp = sTmp + n.substring(x, x + 1);
		x++;
	}
}else sTmp = "";

return sTmp;
}

function js_AddZero(nValue, nNumZero){
var i;
var sTmp;
var s;

sTmp = "";
s = nValue.toString();
for (i = s.length; i < nNumZero; i++)
	sTmp = sTmp + "0";
sTmp = sTmp + s;
return sTmp;
}

function js_AddChr(sValue, nNumChr, sChr){
var i;
var sTmp;
var s;

sTmp = "";
s = sValue.toString();
for (i = s.length; i < nNumChr; i++)
	sTmp = sTmp + sChr;
sTmp = s + sTmp;
return sTmp;
}

function js_ChkRange(NValue, NMin, NMax, NType){
/*
NType:
	0 = Controlla se NValue <= NMin
	1 = Controlla se NValue >= NMin
	2 = Controlla se NMin <= NValue <= NMax
	3 = Controlla se NMin >= NValue >= NMax
*/
switch (NType){
	case 0:
		if (NValue <= NMin) return 1;
	break;
	case 1:
		if (NValue >= NMin) return 1;
	break;
	case 2:
		if (NValue >= NMin && NValue <= NMax) return 1;
	break;
	case 3:
		if (NValue <= NMin || NValue >= NMax) return 1;
	break;
}

return 0;
}

function js_IsDate(sDate){
var s;
var g;
var m;
var a;

s = sDate;
s = s.toString();
if (s.length == 0) return 1;
if (s.length != 10) return 0;
if (s.substring(2, 3) != "/" || s.substring(5, 6) != "/") return 0;
g = s.substring(0, 2);
if (!js_IsNumeric(g)) return 0;
g = eval(g);
m = s.substring(3, 5);
if (!js_IsNumeric(m)) return 0;
m = eval(m);
a = s.substring(6, 10);
if (!js_IsNumeric(a)) return 0;
a = eval(a);
switch (m){
	case 1, 3, 5, 7, 8, 10, 12:
		if (g < 1 || g > 31) return 0;
	break;
	case 4, 6, 9, 11:
		if (g < 1 || g > 30) return 0;
	break;
	case 2:
		if (g < 1 || g > 29) return 0;
	break;
}
if (m < 1 || m > 12) return 0;
return 1;
}

function js_IsEmail(sSource){
var leftAt = ""
var rightAt = ""
var subLeftAt = ""
var extraChar = "<>()[]\,;:@\""
var nPosAt = -1
var nPosDot = -1
var lengthDx = ""
var lengthSx = ""
var rightLastDot = ""
var leftChar = "" 
var e_mail
var length
var search

e_mail = sSource;
e_mail = e_mail.toString();
length = e_mail.length;

if (length == 0) return 1;

// Se la stringa contiene meno di 6 caratteri non può essere un indirizzo corretto (car + @ + car + . + almeno due car = 6)
if (length < 6) return 0;
  
// Sicuri di avere almeno 6 caratteri, si cerca l'ultima @ : deve esserci almeno una @ e non deve essere il primo carattere della stringa
nPosAt = e_mail.lastIndexOf("@");
if (nPosAt == 0 || nPosAt == -1) return 0;

// Poichè si sta controllando un indirizzo si divide il controllo in "a sinistra della @" e "a destra della @"
// prima si controlla la stringa a dx della @ e poi quella a sx

rightAt =  e_mail.substring(nPosAt + 1, length);

// Si cerca l'ultimo punto: deve esserci, non può essere in prima posizione e deve avere 2 o 3 caratteri dopo di se
lengthDx = rightAt.length;
nPosDot = rightAt.lastIndexOf(".");

if (nPosDot == -1 || nPosDot  == 0) return 0;

rightLastDot = rightAt.substring(nPosDot +1, lengthDx);

if (rightLastDot.length <2 || rightLastDot.length > 3) return 0;

//Se gli ultimi caratteri dopo il punto sono tre devono essere tre caratteri particolari
if (rightLastDot.length == 3)
	if  (!( rightLastDot == "com" || rightLastDot == "edu" || rightLastDot == "org" || rightLastDot == "net" || rightLastDot == "gov" || rightLastDot == "mil" || rightLastDot == "int" ))
           return 0;

leftAt = e_mail.substring(0, nPosAt);

subLeftAt = e_mail.substring(1, nPosAt - 1);

// cerco in leftAt se c'è uno degli extraChar

lengthSx = leftAt.length;

for(var i = 0 ; i != lengthSx; i++) {
        leftChar = leftAt.substring(i , i + 1);
        search = extraChar.indexOf(leftChar);
        if (search != -1) return 0;
}

// cerco se c'è un ".." in leftAt
search = leftAt.indexOf( "..");
if (search != -1 ) return 0;

search = leftAt.indexOf(".");
if (search == 0 || search == lengthSx - 1) return 0;

return 1;
}

function js_CalcAge(sDate){
var s;
var a;
var d;
var n;

s = sDate;
s = s.toString();
if (s.length == 0) return 0;
a = s.substring(6, 10);
d = new Date();
n = d.getYear() - a;
if (n < 0) return 0;
else return n;
}

function js_InRange(sSource, sRange){
var s;

s = sRange.toString();
if (s.indexOf(sSource) >= 0) return 1;
else return 0;
}

function js_ChkTxt(sSource, sRange){
var x;
var s;

s = sSource.toString();
if (s.length > 0){
	x = 0;
	while (x < s.length){
		if (!js_InRange(s.substring(x, x + 1), sRange)) return 0;
		x++;
	}
}

return 1;
}

function js_ChkCF(sSource){
var s;
var x;

s = sSource.toString();
if (s.length == 0) return 1;
if (s.length == 16){
	x = 0;
	while (x < 6){
		if (!js_ChkRange(s.substring(x, x + 1), 'a', 'z', 2) && !js_ChkRange(s.substring(x, x + 1), 'A', 'Z', 2)) return 0;
		x++;
	}
	while (x < 8){
		if (!js_ChkRange(s.substring(x, x + 1), '0', '9', 2)) return 0;
		x++;
	}
	if (!js_ChkRange(s.substring(x, x + 1), 'a', 'z', 2) && !js_ChkRange(s.substring(x, x + 1), 'A', 'Z', 2)) return 0;
	x++;
	while (x < 11){
		if (!js_ChkRange(s.substring(x, x + 1), '0', '9', 2)) return 0;
		x++;
	}
	if (!js_ChkRange(s.substring(x, x + 1), 'a', 'z', 2) && !js_ChkRange(s.substring(x, x + 1), 'A', 'Z', 2)) return 0;
	x++;
	while (x < 15){
		if (!js_ChkRange(s.substring(x, x + 1), '0', '9', 2)) return 0;
		x++;
	}
	if (!js_ChkRange(s.substring(x, x + 1), 'a', 'z', 2) && !js_ChkRange(s.substring(x, x + 1), 'A', 'Z', 2)) return 0;
}else return 0;

return 1;
}

function js_ClickCheckBox(campo, campotxt){
if (campo.checked){
	campotxt.className = 'textbox';
	campotxt.disabled = false;
	campotxt.focus();
}else{
	campotxt.className = 'textboxreadonly';
	campotxt.disabled = true;
	campotxt.value = '';
}
}

function js_ClickCheckBoxInv(campo, campotxt){
if (!campo.checked){
	campotxt.className = 'textbox';
	campotxt.disabled = false;
	campotxt.focus();
}else{
	campotxt.className = 'textboxreadonly';
	campotxt.disabled = true;
	campotxt.value = '';
}
}

function js_LowCase(campo){
var s;

if (event.keyCode == 9) return;
if (js_ChkTxt(campo.value, "0123456789abcdefghijklmnopqrstuvwxyz.,;:-_\|!\"£$%&/()=?^*§°")) return;
s = campo.value;
s = s.toString();
s = s.toLowerCase();
campo.value = s;
}

function js_UpCase(campo){
var s;

if (event.keyCode == 9) return;
if (js_ChkTxt(campo.value, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.,;:-_\|!\"£$%&/()=?^*§°")) return;
s = campo.value;
s = s.toString();
s = s.toUpperCase();
campo.value = s;
}

function js_Cut(sSource, nMax){
var n
var l
var sTmp

n = sSource.toString();
if (n.length > 0){
	sTmp = "";
	x = 0;
	l = 0
	while (x < n.length){
		if (l == nMax){
			sTmp = sTmp + "<br>"
			l = 0
		}
		sTmp = sTmp + n.substring(x, x + 1);
		x++;
		l++;
	}
}else sTmp = "";

return sTmp;
}

function ToggleDisplay(oButton, oItems) {
if ((oItems.style.display == "") || (oItems.style.display == "none")) {
	oItems.style.display = "block";
	oButton.src = "images/minus.gif";
}	else {
	oItems.style.display = "none";
	oButton.src = "images/plus.gif";
}

return false;
}

function HideDisplay(oItems) {
oItems.style.display = "none";
}

function ShowDisplay(oItems) {
oItems.style.display = "block";
}

function NoImplemented() {
alert('Funzione non presente!');
}

