/*
  (C) Upgrade Multimediale Srl
      viale dell'Industria 24/D
      37135 Verona - ITALY
      Tel:  +39 045 8903199
      Fax:  +39 045 8231203  
      @: info@upgrade4.it
      W: http://www.upgrade4.it
         
   Content:   Common variables setting, functions and generic routines called by other functions...
   Type:      Generic
*/                

  var browser = navigator.appName;
  var version = parseInt(navigator.appVersion); 
 
  var MOZILLA = (navigator.userAgent.indexOf("Gecko")!=-1);	 		// Mozilla 
  var OPERA   = (navigator.userAgent.indexOf("Opera")!=-1); 			// Opera
  var IE = (navigator.userAgent.indexOf("MSIE")!=-1);      			// IE
  var NS = (navigator.userAgent.indexOf("Mozilla")!=-1) && !MOZILLA && !IE;  	// NS 4.7 or older
  
  // if (!NS) IE=true; // older functions compatibility
  
  var WIN = false;
  var MAC = false;
  var UNIX = false;                                                                                                                           
  
  // set platform type ...
                                                               
  if (navigator.platform)  
      if (navigator.platform.indexOf("Win")!=-1)  WIN = true; // windows
      else
      if (navigator.platform.indexOf("Mac")!=-1)  MAC = true; // Mac
      else
      if (navigator.platform.indexOf("Linux")!=-1 || navigator.platform.indexOf("Unix")!=-1)  UNIX = true; // unix o linux
      
  /*******************/
  function getArgs() { 
  /*******************/
    
    /* Estrae i parametri passati al "file.htm?p1=primo_par,p2=secondo_par" ecc. */
    
    var args = new Object();
    var query = location.search.substring(1);
    var params = query.split(",");
    for (var i=0; i<params.length; i++) {
      var pos=params[i].indexOf('=');
      if (pos==-1) continue;
           var argname=params[i].substring(0,pos);
           var value=params[i].substring(pos+1);
           args[argname]=unescape(value);
      }
    return args;
  }


/************** Gestione Finestre *******************/  
  
  function openNew(url, param) {
  	var win_name="win"+Math.round(Math.random()*9999999); 
  	window.open(url, win_name, param);
  }
  
  function zoom(img, w, h, titolo, code) {   
    if ((typeof titolo) == "undefined") titolo="[zoom]";
    if ((typeof code) == "undefined") code=Math.round(Math.random()*999999999);            
    var w_zoom=open("", "zoom"+(code), "resizable=yes,scrollbars=no,menubar=no,directories=no,location=no,status=yes,toolbar=no,width="+w+",height="+h);
    if (w_zoom!=null) {  // controllo..
      w_zoom.document.writeln('<html><title>'+titolo+'</title><body marginwidth=0 marginheight=0 topmargin="0" rightmargin="0" leftmargin="0" bottommargin="0" bgcolor="#000000"><table width="'+w+'" height="'+h+'"><tr><td valign="middle" align="center"><font face="Arial, Helvetica, Sans-serif" color="#FFFFFF" size="1">loading...</font></td></tr></table><div id="zoom" style="position:absolute; width:1; height:1;  z-index:10; left: 0px;  top: 0px"><img src='+img+' width='+w+' height='+h+'></div></body></html>');
      w_zoom.document.close();
    }    
    return w_zoom;
  }

  
  function Rnd(n) { // return an integer between 0 and n-1
     return Math.ceil(Math.random()*n)-1
  }
  
  function getFullYear(d) {
  	return (y=d.getYear()<1000?y+1900:y);
  }
  
  /*****************************************************************************************************
  
 	Se messa come action di un form stampa l'elenco dei campi con i valori 
  
  	esempio: <form name="nome" method="post" action="javascript: doForm(document.forms['nomeform'])">
  
  ******************************************************************************************************/
  
  function is_formobj (obj) { 	return 	   obj=="hidden" 
	  				|| obj=="text" 
	  				|| obj=="select-one" 
	  				|| obj=="select-multiple" 
	  				|| obj=="checkbox" 
	  				|| obj=="file" 
	  				|| obj=="password" 
	  				|| obj=="radio" 
	  				|| obj=="textarea" 
  }
  // aggiungere eventualmente radio ecc.

  function doForm(obj) {
	str=""; 
	ar = obj.elements;
	for (i in ar) if (is_formobj(ar[i].type)) str+=ar[i].name+" = "+ar[i].value+"\n"
	alert(str);
  }           
  
  
 /************** Funzione Inserimento Flash Per Patch IE *******************/  
  
	function insertFlash(id, src, dimx, dimy, strpar) {
	
		var tuid = Math.round(Math.random()*10000000000000);
		var fp = new FlashProxy(tuid, 'js/JavaScriptFlashGateway.swf');
		var tag = new FlashTag(src, dimx, dimy);
	
		tag.setId(id);
	
		tag.setFlashvars('isIE='+IE+'lcId='+tuid);
	
		tag.write(document);
	
	}
	
	
  /************** gestione delle immagini *******************/ 
  
	function MM_swapImgRestore() { //v3.0
	  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_preloadImages() { //v3.0
	  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_findObj(n, d) { //v4.01
	  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() { //v3.0
	  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 CambiaImmagine (idImg, srcImg){
		document.getElementById(idImg).src=srcImg;
	}
	
	function sendForm (){
		
		error = "";
		
		error += document.contatti.nome.value!="" ? "" : "campo nome obbligatorio \n";
		error += document.contatti.cognome.value!="" ? "" : "campo cognome obbligatorio \n"; 
		error += document.contatti.via.value!="" ? "" : "campo via obbligatorio \n";
		error += document.contatti.cap.value!="" ? "" : "campo cap obbligatorio \n";
		error += document.contatti.citta.value!="" ? "" : "campo citta' obbligatorio \n"; 
		error += document.contatti.telefono.value!="" ? "" : "campo telefono obbligatorio \n"; 
		error += document.contatti.privacy.checked ? "" : "Accettare la privacy \n";
		
		if (error==""){
		
			$('#msg').html('<img src="/img/loading.gif">');
			
			var option = {dataType : 'json',success:callBackSendForm};
			
			$('#contatti').ajaxForm(option);
			$('#contatti').submit();

		}else alert ("Attenzione \n" + error);
		
	}
	
	function callBackSendForm (responseText, statusText){

		$('#msg').html(responseText.msg);
		
	
	}
