var dom = (document.getElementById)? true : false
var op = (window.opera)?true : false
var op5 = (op && dom)?true : false
var ns = (window.outerWidth && !op)?true : false
var ns6 = (ns && dom)?true : false
var ns4 = (ns && !dom)?true : false
var ie = (document.all && !op)?true : false
var ie5 = (ie && dom)?true : false
var ie4 = (ie && !dom)?true : false

var agt = navigator.userAgent.toLowerCase();
var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var opera = (agt.indexOf("opera") != -1);
var mac = (agt.indexOf("mac") != -1);
var mac_ie = (ie && mac);
var win_ie = (ie && !mac);
var gecko  = (navigator.product == "Gecko");

var hq_img = new Image()
var zoom_win
var actprj_z, actimg_z, maxprj, cal_win, news_length
var sel1 = null, sel2 = null

function zoom_hq(fn, w, h)
{ var aw = screen.width
  var ah = screen.height
  var sx = parseInt(w) + 12
  var sy = parseInt(h) + 46 //38
  var x = (aw < sx)?0:(aw-sx)/2
  var y = (ah < sy)?0:(ah-sy)/2
  var dx = (aw < sx)?aw:sx
  var dy = (ah < sy)?ah:sy
  if ((zoom_win) && !zoom_win.closed)
  { zoom_win.close()
    zoom_win = null
  }
  zoom_win = window.open('', '', 'toolbar=no, location=no, directories=no, menubar=no, scrollbars=no, resizable=yes, status=no, width='+dx+', height='+dy+', innerWidth='+dx+', innerHeight='+dy+', top='+y+', left='+x)
  if (zoom_win)
  { zoom_win.moveTo(x, y)
    zoom_win.resizeTo(dx, dy)
    zoom_win.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n")
    zoom_win.document.write("\"http://www.w3.org/TR/html4/loose.dtd\">\n")
    zoom_win.document.write("<html>\n")
    zoom_win.document.write("<head>\n")
    zoom_win.document.write("<title>"+document.title+"</title>")
    zoom_win.document.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n")

    var i, cacheobj, t
    for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++)
    { if(cacheobj.getAttribute("rel").toLowerCase().indexOf("stylesheet")!=-1)
       break;
    }
    
    zoom_win.document.write("<link href='"+cacheobj.href+"' rel='stylesheet' type='text/css'>\n")
    zoom_win.document.write("</head>")
    zoom_win.document.write("<body style=\"margin:0\">")
    zoom_win.document.write("<div align='center'>")
    zoom_win.document.write("<a href='javascript:window.close()'><img id='zoom_img' name='zoom_img' src='"+fn+"' width='"+w+"px' height='"+h+"px' alt='' title=\""+document.title+"\" /></a>")
    zoom_win.document.write("</div></body>")
    zoom_win.document.write("</html>")
  }
  return true
 }
 
 function post_vars(v)
 { f = document.createElement("form")
   document.body.appendChild(f)
   //f.action = "?section=ps&cat="+id
   f.method = "POST"
   for (t = 0; t < v.length; t++)
   { e = document.createElement("input")
     e.type = "hidden"
     ev = v[t].split("=")
     e.id = ev[0]
     e.name = ev[0]
     e.value = ev[1]
     f.appendChild(e)
   }
   for (t=0; t < tree.length; t++)
   { e = document.createElement("input")
     e.type = "hidden"
     e.id = "pcat_is_opened|"+tree[t].cat			//Al Submit viene inviato il 'name', non 'id'
     e.name = "pcat_is_opened|"+tree[t].cat
     e.value = tree[t].isopened
     f.appendChild(e)
   }
   f.action = "index.php"
   f.submit()
 }
 
 function create_list_to_post(v)
 { var s=new Array(), val
   
   for (t=0; t < v.length; t++)
   { o=attach(v[t])
     switch (o.type.substr(0,3))
     { case 'tex':
        val = o.value
        break;
       case 'sel':
        for (k=0,ff=true,val=""; k < o.options.length; k++)
        { if (o.options[k].selected)
          { if (!ff)
             val = val + "|"
            val = val + o.options[k].value.toString()
            ff=false
          }
        }
        break;
     }
     s[s.length] = v[t] + "=" + escape(val)
   }
   return s
 }
 
 function search_in_array(v, val)
 { var vv = new Array()
   var ev = new Array()
   //var eval = val.split('=')
   var eval = new Array()
   
   eval[0] = val.substr(0,val.indexOf('='))
   eval[1] = val.substr(val.indexOf('=')+1)
   for (var t = 0; t < v.length; t++)
   { ev = v[t].split('=')
     if (ev[0] == eval[0])
     { vv[0] = t
       vv[1] = ev[0]
       vv[2] = eval[1]
       return vv
     }
   }
   return false
 }
 
function stampa_popup(h, part)
{ var testo = "<html><head>"+document.getElementsByTagName("head")[0].innerHTML+"</head>";
      testo += "<body><div align='center' style='background-color:#f0f0f0'><a href=\"javascript:print();\"><img src='templates/img/print.png' alt=\"Stampa la pagina\" align='absmiddle'>&nbsp;STAMPA</a></div><br /><br />";
      testo += "<div align='left'><img src='gfx/logo_stampa.png'></div><br />";
      testo += document.getElementById(h).innerHTML+"<br />";
      testo += "<table cellspacing='0' cellpadding='0' width='100%' border='0'><tr><td align='left' valign='top'>";
      testo += document.getElementById(part).innerHTML+"</td></tr></table>";
      testo += "<div align='center'><br /><span class='footer'><strong>Cassetta Sistemi srl</strong> | Via Della Resistenza, 8 - 40026 Imola (Bo) - Tel. 0542 31020 - Fax 0542 35169</span></div>";
      testo += "</body></html>";
  var ident_finestra = window.open("","finestra_stampa","toolbar=no,height=400,width=624,scrollbars=yes");
      ident_finestra.document.open();
      ident_finestra.document.write(testo);
      ident_finestra.document.close();
}

function email_popup(addr)
{ var ident_finestra = window.open(addr,"finestra_email","toolbar=no,height=400,width=464,scrollbars=yes");
}

 function _set_day_href(d, m, y, s)
 { d = new Date(y,m,d)
   o=attach(s+'v')
   o.value = d.toLocaleString()
   o=attach(s)
   o.value = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate()
   _show_calendar(s)
}

function _show_calendar(s)
{ o=attach(s+'_div')  
  if (o.style.visibility == 'visible')
   o.style.visibility='hidden'
  else
  { o.style.visibility='visible'
  }
}

function _clear_date(s)
{ set (s+'v','')
  set (s,'')
}

		function ShowHelp(div, title, desc)
		{ //var i = document.getElementsByTagName("select")
          //for (var t = 0; t < i.length; t++)
          //{ i[t].style.visibility = "hidden"
          //}
			div = document.getElementById(div);
			div.style.display = 'inline';
			div.style.position = 'absolute';
			div.style.width = '170';
			div.style.backgroundColor = '#f0f0f0';
			div.style.border = 'dashed 1px #666666';
			div.style.padding = '8px';
			div.innerHTML = '<strong>' + unescape(title) + '</strong><br /><div>' + unescape(desc) + '</div>';
		}

		function HideHelp(div)
		{ //var i = document.getElementsByTagName("select")
          //for (var t = 0; t < i.length; t++)
          //{ i[t].style.visibility = "visible"
          //}
			div = document.getElementById(div);
			div.style.display = 'none';
		}

 function set_font()
 { var o = document.getElementById('body').style
   var fs = getCookie("font_size")
   if (fs)
    o.fontSize = fs
 }

function wait_msg()
{ return "<img src='gfx/wa.gif' />&nbsp;Attendere, operazione in corso...";
}

 function get_xmlHttpReq()
 { var xmlHttpReq = false;
        
   // Mozilla/Safari
   if (window.XMLHttpRequest)
   { xmlHttpReq = new XMLHttpRequest();
    if (xmlHttpReq.overrideMimeType)
     xmlHttpReq.overrideMimeType('text/xml')
   }
   // IE
   else
    if (window.ActiveXObject)
    { xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
   return xmlHttpReq;
 }

// argomenti:
// operazione: load_page, start_up
// URL da eseguire
// ID elemento di destinazione
// flag no_wait_msg
function ajaxManager()
{ var args = ajaxManager.arguments;
  var dest;
  
  if (args[3] != "no_wait_msg")
   top.document.getElementById(args[2]).innerHTML = wait_msg();
  switch (args[0])
  { case "load_page":
     var x = get_xmlHttpReq();
     if (x)
     { x.onreadystatechange = function()
       { if (x.readyState == 4 && x.status == 200)
         { if (result = parser_xml(x.responseText))
           { result_msg = result.getElementsByTagName("result_msg");
             if (result_msg[0].childNodes[0])
             { dest = document.getElementById("msgs");
			   if (dest != undefined)
			    dest.innerHTML = unescape(result_msg[0].childNodes[0].nodeValue);
			 }
             var el = top.document.getElementById(args[2]);
             result_body = result.getElementsByTagName("result_body");
             if (result_body[0].childNodes[0])
             { el.innerHTML = result_body[0].childNodes[0].nodeValue;
             }
           }
           else
            alert(x.responseText);           
           //else
           // el.innerHTML = x.responseText;
         }
       }
       x.open("GET", args[1], true);
       x.send(null);
     }
     break;
    case "start_up":
     ajaxManager('load_page', 'basic.xml', 'contentLYR');
     break;
  }
}

function parser_xml(str)
{ // code for IE
  if (window.ActiveXObject)
  { var doc=new ActiveXObject("Microsoft.XMLDOM");
    doc.async="false";
    doc.loadXML(str);
  }
  // code for Mozilla, Firefox, Opera, etc.
  else
  { var parser=new DOMParser();
    var doc=parser.parseFromString(str,"text/xml");
  }
  var x = doc.documentElement;
  return x;
}

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 16;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}
