function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_nbGroup(event, grpName) {
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}
function MM_displayStatusMsg(msgStr) {
  status=msgStr;
  document.MM_returnValue = true;
}
function nextDay(day){
var d = new Date;
(day = (Math.abs(+day || 0) % 7) - d.getDay()) < 0 && (day += 7);
return day && d.setDate(d.getDate() + day), d;
};
function dateAddExtension(p_Interval, p_Number){
   var thing = new String();
   //in the spirt of VB we'll make this function non-case sensitive
   //and convert the charcters for the coder.
   p_Interval = p_Interval.toLowerCase();
   if(isNaN(p_Number)){
      //Only accpets numbers 
      //throws an error so that the coder can see why he effed up   
      throw "The second parameter must be a number. \n You passed: " + p_Number;
      return false;
   }
   p_Number = new Number(p_Number);
   switch(p_Interval.toLowerCase()){
      case "yyyy": {
         this.setFullYear(this.getFullYear() + p_Number);
         break;
      }
      case "q": {
         this.setMonth(this.getMonth() + (p_Number*3));
         break;
      }
      case "m": {
         this.setMonth(this.getMonth() + p_Number);
         break;
      }
      case "y":
      case "d":
      case "w": {
         this.setDate(this.getDate() + p_Number);
         break;
      }
      case "ww": {
         this.setDate(this.getDate() + (p_Number*7));
         break;
      }
      case "h": {
         this.setHours(this.getHours() + p_Number);
         break;
      }
      case "n": {
         this.setMinutes(this.getMinutes() + p_Number);
         break;
      }
      case "s": {
         this.setSeconds(this.getSeconds() + p_Number);
         break;
      }
      case "ms": {
         this.setMilliseconds(this.getMilliseconds() + p_Number);
         break;
      }
      default: {
         throw   "The first parameter must be a string from this list: \n" +
               "yyyy, q, m, y, d, w, ww, h, n, s, or ms.  You passed: " + p_Interval;
         return false;
      }
   }
   return this;
}
function returnDateInterval(year, month, day, weekStartDay, intervalLength, useFullYear, weeksToJump, daysToJump) {
	var weekEndStart = new Date();
	var weekEndFinish = new Date();
	var openDay = new Date();
	var weekEndStartDate;
	var weekEndFinishDate;
	if (weeksToJump === undefined) {
		weeksToJump = 0;
	}
	if (daysToJump === undefined) {
		daysToJump = 0;
	}
	weekEndStart.dateAdd("d", 1 + weeksToJump * 7 + daysToJump);
	openDay.setFullYear(year, month, day);
	if (weekEndStart < openDay) weekEndStart.setFullYear(openDay.getFullYear(), openDay.getMonth(), openDay.getDate());
	weekEndStart.setDate(weekEndStart.getDate() + (7 + weekStartDay - weekEndStart.getDay()) % 7);
	weekEndFinish.setFullYear(weekEndStart.getFullYear(), weekEndStart.getMonth(), weekEndStart.getDate());
	weekEndFinish.dateAdd("d", intervalLength);
	var weekEndStartMonth = weekEndStart.getMonth() + 1;
	if (weekEndStartMonth < 10) weekEndStartMonth = "0" + weekEndStartMonth.toString();
	var weekEndStartDay = weekEndStart.getDate();
	if (weekEndStart.getDate() < 10) weekEndStartDay = "0" + weekEndStartDay.toString();
	var weekEndFinishMonth = weekEndFinish.getMonth() + 1;
	if (weekEndFinishMonth < 10) weekEndFinishMonth = "0" + weekEndFinishMonth.toString();
	var weekEndFinishDay = weekEndFinish.getDate();
	if (weekEndFinish.getDate() < 10) weekEndFinishDay = "0" + weekEndFinishDay.toString();
	var startYear = weekEndStart.getFullYear().toString();
	if (!useFullYear) startYear = startYear.substring(2,4)
	var endYear = weekEndFinish.getFullYear().toString();
	if (!useFullYear) endYear = endYear.substring(2,4)
	weekEndStartDate = startYear + weekEndStartMonth + weekEndStartDay;
	weekEndFinishDate = endYear + weekEndFinishMonth + weekEndFinishDay;
	return new Array(weekEndStartDate, weekEndFinishDate);
}
function creaPrenotaLink(year, month, day, region, city, descri, imgNumber) {
	var nextWeekEnd = new Array();
	var regionLink = '/r/' + region;
	var cityLink = '';
	if (city != 0) cityLink = '/c/' + city;
	nextWeekEnd = returnDateInterval(year, month, day, 5, 2, false);
	var myPrenotaLink = '<a href="http://www.divertiviaggi.it/search' + regionLink + '' + cityLink + '/d/' + nextWeekEnd[0] + '/a/' + nextWeekEnd[1] + '" title="' + descri + '" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Prenota' + imgNumber + '\',\'\',\'/img/bottonePrenotaOver.gif\',1)"><img src="../img/bottonePrenota.gif" alt="' + descri + '" width="71" height="22" id="Prenota' + imgNumber + '" /></a>';
	document.writeln(myPrenotaLink);
}
function creaPrenotaLinkPeriod(year, month, day, fromDay, Days, region, city, descri, imgNumber) {
	var nextWeekEnd = new Array();
	var regionLink = '/r/' + region;
	var cityLink = '';
	if (city != 0) cityLink = '/c/' + city;
	nextWeekEnd = returnDateInterval(year, month, day, fromDay, Days, false);
	var myPrenotaLink = '<a href="http://www.divertiviaggi.it/search' + regionLink + '' + cityLink + '/d/' + nextWeekEnd[0] + '/a/' + nextWeekEnd[1] + '" title="' + descri + '" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Prenota' + imgNumber + '\',\'\',\'/img/bottonePrenotaOver.gif\',1)"><img src="../img/bottonePrenota.gif" alt="' + descri + '" width="71" height="22" id="Prenota' + imgNumber + '" /></a>';
	document.writeln(myPrenotaLink);
}
function creaDivertiBoxFrame(region, city, structType, descri) {
	var nextInterval = new Array();
	var myFrom = new Date();
	var regionLink = 'MM_region=' + region + "&amp;";
	var cityLink = '';
	if (city != 0) cityLink = 'MM_city=' + city + "&amp;";
	
	nextInterval = returnDateInterval(myFrom.getFullYear(), myFrom.getMonth(), myFrom.getDay(), 6, 7, true);
	
	var myPrenotaLink = '<iframe frameborder="0" scrolling="no" src="http://www.divertiviaggi.it/divertibox/divertiBoxTestIFrameInternal.html?' + regionLink + cityLink + 'MM_from=' + nextInterval[0] + '&amp;MM_to=' + nextInterval[1] + '&amp;MM_st=' + structType + '&amp;MM_searchDescri=' + descri + '" style="border: 0px none; width: 245px; height: 95px;"></iframe>';
	document.writeln(myPrenotaLink);
}
/*AC_RunActiveContent*/
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;function ControlVersion() { var version; var axo; var e; try {  axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");  version = axo.GetVariable("$version"); } catch (e) { } if (!version) {  try {   axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");   version = "WIN 6,0,21,0";   axo.AllowScriptAccess = "always";   version = axo.GetVariable("$version");  } catch (e) {  } } if (!version) {  try {   axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");   version = axo.GetVariable("$version");  } catch (e) {  } } if (!version) {  try {   axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");   version = "WIN 3,0,18,0";  } catch (e) {  } } if (!version) {  try {   axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");   version = "WIN 2,0,0,11";  } catch (e) {   version = -1;  } } return version;}function GetSwfVer(){ var flashVer = -1; if (navigator.plugins != null && navigator.plugins.length > 0) {  if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {   var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";   var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;   var descArray = flashDescription.split(" ");   var tempArrayMajor = descArray[2].split(".");   var versionMajor = tempArrayMajor[0];   var versionMinor = tempArrayMajor[1];   var versionRevision = descArray[3];   if (versionRevision == "") { versionRevision = descArray[4];   }   if (versionRevision[0] == "d") { versionRevision = versionRevision.substring(1);   } else if (versionRevision[0] == "r") { versionRevision = versionRevision.substring(1); if (versionRevision.indexOf("d") > 0) {  versionRevision = versionRevision.substring(0, versionRevision.indexOf("d")); }   }   var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;  } } else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; else if (isIE && isWin && !isOpera) {  flashVer = ControlVersion(); }  return flashVer;}function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) { versionStr = GetSwfVer(); if (versionStr == -1 ) {  return false; } else if (versionStr != 0) {  if(isIE && isWin && !isOpera) {   tempArray   = versionStr.split(" ");   tempString  = tempArray[1];   versionArray  = tempString.split(",");  } else {   versionArray  = versionStr.split(".");  }  var versionMajor  = versionArray[0];  var versionMinor  = versionArray[1];  var versionRevision = versionArray[2];  if (versionMajor > parseFloat(reqMajorVer)) {   return true;  } else if (versionMajor == parseFloat(reqMajorVer)) {   if (versionMinor > parseFloat(reqMinorVer)) return true;   else if (versionMinor == parseFloat(reqMinorVer)) { if (versionRevision >= parseFloat(reqRevision))  return true;   }  }  return false; }}function AC_AddExtension(src, ext) { if (src.indexOf('?') != -1) return src.replace(/\?/, ext+'?'); else return src + ext;}function AC_Generateobj(objAttrs, params, embedAttrs) { var str = ''; if (isIE && isWin && !isOpera) { str += '<object '; for (var i in objAttrs) {  str += i + '="' + objAttrs[i] + '" '; } str += '>'; for (var i in params) {  str += '<param name="' + i + '" value="' + params[i] + '" /> '; } str += '</object>'; } else { str += '<embed '; for (var i in embedAttrs) {  str += i + '="' + embedAttrs[i] + '" '; } str += '> </embed>'; } document.write(str);}function AC_FL_RunContent() { var ret =  AC_GetArgs ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  , "application/x-shockwave-flash" ); AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);}function AC_SW_RunContent() { var ret =  AC_GetArgs ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"  , null ); AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);}function AC_GetArgs(args, ext, srcParamName, classid, mimeType){ var ret = new Object(); ret.embedAttrs = new Object(); ret.params = new Object(); ret.objAttrs = new Object(); for (var i=0; i < args.length; i=i+2) { var currArg = args[i].toLowerCase(); switch (currArg){   case "classid":  break;  case "pluginspage":  ret.embedAttrs[args[i]] = args[i+1];  break;  case "src":  case "movie":   args[i+1] = AC_AddExtension(args[i+1], ext);  ret.embedAttrs["src"] = args[i+1];  ret.params[srcParamName] = args[i+1];  break;  case "onafterupdate":  case "onbeforeupdate":  case "onblur":  case "oncellchange":  case "onclick":  case "ondblClick":  case "ondrag":  case "ondragend":  case "ondragenter":  case "ondragleave":  case "ondragover":  case "ondrop":  case "onfinish":  case "onfocus":  case "onhelp":  case "onmousedown":  case "onmouseup":  case "onmouseover":  case "onmousemove":  case "onmouseout":  case "onkeypress":  case "onkeydown":  case "onkeyup":  case "onload":  case "onlosecapture":  case "onpropertychange":  case "onreadystatechange":  case "onrowsdelete":  case "onrowenter":  case "onrowexit":  case "onrowsinserted":  case "onstart":  case "onscroll":  case "onbeforeeditfocus":  case "onactivate":  case "onbeforedeactivate":  case "ondeactivate":  case "type":  case "codebase":  case "id":  ret.objAttrs[args[i]] = args[i+1];  break;  case "width":  case "height":  case "align":  case "vspace":  case "hspace":  case "class":  case "title":  case "accesskey":  case "name":  case "tabindex":  ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];  break;  default:  ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1]; } } ret.objAttrs["classid"] = classid; if (mimeType) ret.embedAttrs["type"] = mimeType; return ret;}
/*Fine AC_RunActiveContent*/
