function highlightCalendarCell(element) {
    $(element).style.border = '1px solid #999999';
}

function resetCalendarCell(element, color) {
    $(element).style.border = '1px solid #000000';
}

function startCalendar(month, year) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('calendarInternal', str + 'data/ajax/calendar.php', {method: 'post', postBody: 'action=startCalendar&month='+month+'&year='+year+''});
}

function startUpload(idnotizia) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('uploadInternal', str + 'data/ajax/upload.php', {method: 'post', postBody: 'action=startUpload&idnotizia='+idnotizia});
}

function startPoll(voto) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('pollInternal', str + 'data/ajax/poll.php', {method: 'post', postBody: 'action=startPoll&voto='+voto});
}

function checkUser(username) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('checkuser', str + 'data/ajax/checkuser.php', {method: 'post', postBody: 'action=checkUser&username='+username});
}

function String_trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function String_ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}

function String_rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


function roundTo(value, decimalpositions)
{
    var i = value * Math.pow(10,decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10,decimalpositions);
} 

function CheckAlfanum(stringa) {
    var str = '';
    var espressione = /^[A-Za-z0-9]/;
    for( i=0; i < stringa.length; i++ ) {
        if( espressione.test(stringa.charAt(i)) || stringa.charAt(i)=='-' || stringa.charAt(i)=='_') {
            str += stringa.charAt(i);
        } 
    }                                       
    return str;        
}

function CheckAlfanumHTML(stringa) {
    var str = '';
	var chrprev = '';
    var espressione = /^[A-Za-z0-9]/;
    for( i=0; i < stringa.length; i++ ) {
        if( espressione.test(stringa.charAt(i)) || stringa.charAt(i)=='-' || stringa.charAt(i)=='_' || stringa.charAt(i)==' ' || stringa.charAt(i)=='\'') {
			if (stringa.charAt(i)==' ' || stringa.charAt(i)=='\'') {
				if (chrprev!='-') str += '-';
				chrprev='-';
			} else {
				str += stringa.charAt(i);
				chrprev=stringa.charAt(i);
			}
        } 
    }                                       
    return str;        
}

function CheckAlfanumHTMLdot(stringa) {
    var str = '';
	var chrprev = '';
    var espressione = /^[A-Za-z0-9]/;
    for( i=0; i < stringa.length; i++ ) {
        if( espressione.test(stringa.charAt(i)) || stringa.charAt(i)=='-' || stringa.charAt(i)=='_' || stringa.charAt(i)==' ' || stringa.charAt(i)=='\'' || stringa.charAt(i)=='.') {
			if (stringa.charAt(i)==' ' || stringa.charAt(i)=='\'') {
				if (chrprev!='-') str += '-';
				chrprev='-';
			} else {
				str += stringa.charAt(i);
				chrprev=stringa.charAt(i);
			}
        } 
    }                                       
    return str;        
}

function CheckNum(stringa) {
    var str = '';
    var espressione = /^[0-9]/;
    for( i=0; i < stringa.length; i++ ) {
        if( espressione.test(stringa.charAt(i)) ) {
            str += stringa.charAt(i);
        } 
    }                                       
    return str;        
}

function CheckFloat(stringa) {
    var str = '';
    var espressione = /^[0-9]/;
    for( i=0; i < stringa.length; i++ ) {
        if( espressione.test(stringa.charAt(i)) || stringa.charAt(i)==',') {
            if (stringa.charAt(i)=='.') {
                str += ',';
            } else {
                str += stringa.charAt(i);
            }
        } 
    }                                       
    return str;        
}

function ConvertStringFloat(stringa) {
    var str = '';
    stringa=stringa+'';
    for( i=0; i < stringa.length; i++ ) {
            if (stringa.charAt(i)=='.') {
                str += ',';
            } else {
                str += stringa.charAt(i);
            }         
    }                                       
    return str;        
}

function CheckMail(mail) {
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (!email_reg_exp.test(mail) || mail == '' || mail == null) {
        return false;
    } else {
        return true;
    }
}

function startBuy(id, codice, qta, remove, opzione) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('buyInternal'+id, str + 'data/ajax/buy.php', {method: 'post', postBody: 'action=startBuy&id='+id+'&codice='+codice+'&qta='+qta+'&opzione='+opzione+'&remove='+remove});
}

function startAddList(id, codice, qta, idlista, opzione) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    } 
    new Ajax.Updater('addlistInternal'+id, str + 'data/ajax/addlist.php', {method: 'post', postBody: 'action=startAddList&id='+id+'&codice='+codice+'&qta='+qta+'&opzione='+opzione+'&idlista='+idlista});
}

function startInfo(email, nome, mobile, richiesta, id, invia) {
	stringa = location.href;
    str='';
    bs=0;
    i=0;
    while (bs<3) {
        str += stringa.charAt(i);
        if (stringa.charAt(i)=='/') bs++;
        i++;
    }
    new Ajax.Updater('infoInternal'+id, str + 'data/ajax/inforequest.php', {method: 'post', postBody: 'action=startInfo&email='+email+'&nome='+nome+'&mobile='+mobile+'&richiesta='+richiesta+'&id='+id+'&invia='+invia});
}

function _utf8_encode(string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	}

function _utf8_decode(utftext) {
		var string = "";
		var i = 0;
		var c = 0;
		var c1 = 0
		var c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}

var addBookmarkObj = {
  linkText:'Aggiungi ai  Preferiti',
  addTextLink:function(parId){
    var a=addBookmarkObj.makeLink(parId);
    if(!a) return;
    a.appendChild(document.createTextNode(addBookmarkObj.linkText));
    a.appendChild(document.createElement('span'));
  },
  addImageLink:function(parId,imgPath){
    if(!imgPath || isEmpty(imgPath)) return;
    var a=addBookmarkObj.makeLink(parId);
    if(!a) return;
    var img = document.createElement('img');
    img.title = img.alt = addBookmarkObj.linkText;
    img.src = imgPath;
    a.appendChild(img);
  },
  makeLink:function(parId) {
    if(!document.getElementById || !document.createTextNode) return null;
    parId=((typeof(parId)=='string')&&!isEmpty(parId))
      ?parId:'addBookmarkContainer';
    var cont=document.getElementById(parId);
    if(!cont) return null;
    var a=document.createElement('a');
    a.href=location.href;
    a.id='bookmark';
    if(window.opera) {
      a.rel='sidebar'; // this makes it work in Opera 7+
    } else {
      // this doesn't work in Opera 7+ if the link has an onclick handler,
      // so we only add it if the browser isn't Opera.
      a.onclick=function() {
        addBookmarkObj.exec(this.href,document.title);
        return false;
      }
    }
    //a.title=document.title;
    a.title=addBookmarkObj.linkText;
    return cont.appendChild(a);
  },
  exec:function(url, title) {
    // user agent sniffing is bad in general, but this is one of the times 
    // when it's really necessary
    var ua=navigator.userAgent.toLowerCase();
    var isKonq=(ua.indexOf('konqueror')!=-1);
    var isSafari=(ua.indexOf('webkit')!=-1);
    var isMac=(ua.indexOf('mac')!=-1);
    var buttonStr=isMac?'Command/Cmd':'CTRL';

    if(window.external && (!document.createTextNode ||
      (typeof(window.external.AddFavorite)=='unknown'))) {
        // IE4/Win generates an error when you
        // execute "typeof(window.external.AddFavorite)"
        // In IE7 the page must be from a web server, not directly from a local 
        // file system, otherwise, you will get a permission denied error.
        window.external.AddFavorite(url, title); // IE/Win
    } else if(isKonq) {
      alert('Devi premere CTRL + B per aggiungere il nostro sito ai Preferiti.');
    } else if(window.opera) {
      void(0); // do nothing here (Opera 7+)
    } else if(window.home || isSafari) { // Firefox, Netscape, Safari, iCab
      alert('Devi premere '+buttonStr+' + D per aggiungere il nostro sito ai Preferiti.');
    } else if(!window.print || isMac) { // IE5/Mac and Safari 1.0
      alert('Devi premere Command/Cmd + D per aggiungere il nostro sito ai Preferiti.');    
    } else {
      alert('Per aggiungere questo sito ai Preferiti devi modificare manualmente le impostazioni.');
    }
  }
}

function isEmpty(s){return ((s=='')||/^\s*$/.test(s));}

function dss_addEvent(el,etype,fn) {
  if(el.addEventListener && (!window.opera || opera.version) &&
  (etype!='load')) {
    el.addEventListener(etype,fn,false);
  } else if(el.attachEvent) {
    el.attachEvent('on'+etype,fn);
  } else {
    if(typeof(fn) != "function") return;
    if(typeof(window.earlyNS4)=='undefined') {
      // to prevent this function from crashing Netscape versions before 4.02
      window.earlyNS4=((navigator.appName.toLowerCase()=='netscape')&&
      (parseFloat(navigator.appVersion)<4.02)&&document.layers);
    }
    if((typeof(el['on'+etype])=="function")&&!window.earlyNS4) {
      var tempFunc = el['on'+etype];
      el['on'+etype]=function(e){
        var a=tempFunc(e),b=fn(e);
        a=(typeof(a)=='undefined')?true:a;
        b=(typeof(b)=='undefined')?true:b;
        return (a&&b);
      }
    } else {
      el['on'+etype]=fn;
    }
  }
}

dss_addEvent(window,'load',addBookmarkObj.addTextLink);
