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

var modified = false;

function zoom_hq(fn, w, h)
{ var aw = screen.width
  var ah = screen.height
  var sx = parseInt(w) + 12
  var sy = parseInt(h) + 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>\n")
    zoom_win.document.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n")
    zoom_win.document.write("<link href='styles/styles.css' rel='stylesheet' type='text/css'>\n")
    zoom_win.document.write("</head>\n")
    zoom_win.document.write("<body>\n")
    zoom_win.document.write("<div style=\"text-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'></a>")
    zoom_win.document.write("</div></body>\n")
    zoom_win.document.write("</html>\n")
  }
  return true
 }
  
 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 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;
}

function ajax_wait_msg()
{ return "<div style='padding:8px;background-color:#f0f0f0;border:1px dotted #d0d0d0'><img src='gfx/ajax-loader.gif' alt=\"\" />&nbsp;Attendere, operazione in corso...</div>";
}
function wait_msg()
{ return "<img src='gfx/ajax-loader.gif' style=\"vertical-align:middle\" alt=\"\" />&nbsp;Attendere...";
}

function set_video(video)
{ var IE = navigator.appName.indexOf('Microsoft') != -1;
  var filmato = IE?window.video_player_obj:window.document.video_player_obj;
  filmato.playVideoJS(video);
}

function attach(id)
{ var obj
  if (ie5)
   obj = document.all[id]
  else
   obj = document.getElementById(id)
  return obj
}

function _s(id, val)
{ o = attach(id)
  o.value = unescape(val)
  o.defaultValue = o.value
}
function eval_js(elementId)
{ var scripts = document.getElementById(elementId).getElementsByTagName('script');
  var code;
  for (var i = 0; i < scripts.length; i++) {
		code =	scripts[i].innerHTML ? scripts[i].innerHTML : 
			scripts[i].text ? scripts[i].text : 
			scripts[i].textContent;
		try {
			//alert(code);
			eval(code);
		} catch(e) {
			alert(e);
		}
	}
}
 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;
 }

function ajaxManager()
// tipo_interr, url, dest_tag, metodo, no_wait_msg_flag, next_js
{ var args = ajaxManager.arguments;
  
  //alert(args[2]);
  el = document.getElementById(args[2]);
  if (args[4] != "no_wait_msg")
  { el.innerHTML = wait_msg();
  }
  switch (args[0])
  { case "load_page":
     var x = get_xmlHttpReq();
     if (x)
     { x.onreadystatechange = function()
       { try {
		 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])
              document.getElementById("msgs").innerHTML = unescape(result_msg[0].childNodes[0].nodeValue);
             el = document.getElementById(args[2]);
             result_body = result.getElementsByTagName("result_body");
             if (result_body[0].childNodes[0])
             { //alert(args[2]);
			   el.innerHTML = result_body[0].childNodes[0].nodeValue;
			   eval_js(args[2]);
			   //alert(el.innerHTML);
             }
			 if (args[5])
			 { //alert(args[5]);
			   eval(args[5]);
			 }
             var page_reload_flg = result.getElementsByTagName("page_reload_flg");
             if (page_reload_flg[0].childNodes[0].nodeValue  == "true")
		     { frm = document.getElementsByTagName("form");
		       //for (var t = 0; t < frm.length; t++)
			   // alert(frm[t].id);
			   if (frm[0])
			    frm[0].submit();
			   //top.history.go(0);
			 }
           }
           else
            alert(x.responseText);           
           //else
           // el.innerHTML = x.responseText;
         }
	     }
		 catch(e)
		 { alert(e)
		 }
       }
	   var met = 'GET';
	   if (typeof args[3] != 'undefined')
	    met = args[3];
	   if (met == 'GET')
	   { x.open(met, args[1].replace(/&amp;/g, "&"), true);
         x.send(null);
	   }
	   else
	   { //alert("Metodo POST");
	     params = args[1].split('?');
	     params[1] = params[1].replace(/&amp;/g, "&");
	     x.open('POST', params[0], true);
	     x.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
         x.setRequestHeader("Content-length", params.length-1);
         x.setRequestHeader("Connection", "close");
         x.send(params[1]);
	   }
     }
     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;
//  alert (x.getElementsByTagName("div")[0].childNodes[0].nodeValue);
  return x;
//  alert (x.getElementsByTagName("to")[0].childNodes[0].nodeValue);
/*
for (i=0;i<x.childNodes.length;i++)
  {
  document.write(x.childNodes[i].nodeName);
  document.write("=");
  document.write(x.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  }
*/
}

function conf_del(filename)
 { return confirm('ATTENZIONE! Hai richiesto di eliminare DEFINITIVAMENTE il seguente file:\n\n'+filename+'\n\nSei sicuro? L\'operazione e IRREVERSIBILE');
 }
