	array_stato_app=new Array();
	array_stato_app["word"]=0;
	array_stato_app["iphoto"]=0;
	array_stato_app["anteprima"]=0;
	array_stato_app["rubrica"]=0;
	array_stato_app["mail"]=0;
	array_stato_app["safari"]=0;
	array_stato_app["quicktime"]=0;
	array_stato_app["itunes"]=0;
	array_stato_app["vlc"]=0;
	
	

	function apri_applicazione(app,file_i)
	{
		menu_volatile(app);
		if (array_stato_app[app]==0)
		{
		new Effect.ShakeVertical(app);
		array_stato_app[app]=1;
		}
		
	new Ajax.Updater(""+app+"","applicazioni/"+app+"/"+app+".php", {
	parameters: {file: ""+file_i+""},
  	method: "get",
	  onComplete: function() 
	  {
		
		primo_piano(app);
		new Draggable(app,{starteffect: null,endeffect: null,handle:""+app+"_cmt",snap: function(x,y,draggable) {
      function constrain(n, lower, upper) {
        if (n > upper) return upper;
        else if (n < lower) return lower;
        else return n;
      }
     
      element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(draggable.element.parentNode);
      return[
        constrain(x, 0, parent_dimensions.width - element_dimensions.width),
        constrain(y, 0, parent_dimensions.height - element_dimensions.height)];
    }
	});
		
			switch(app) 
			{
			  case "anteprima":
			  new Draggable("foto_"+file_i,{starteffect: null,endeffect: null,snap: function(x,y,draggable) {
      function constrain(n, lower, upper) {
        if (n > upper) return upper;
        else if (n < lower) return lower;
        else return n;
      }
     
      element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(draggable.element.parentNode);
      return[
        constrain(x, 0, parent_dimensions.width - element_dimensions.width),
        constrain(y, 0, parent_dimensions.height - element_dimensions.height)];
    }	});
			  break;
			  case "mail":
			  	if (mail_inviata==1)
				{
				$("mail_riga_attach").insert("<div id=\"mail_riga_0\" class=\"mail_riga\" onclick=\"riga_selezionata('mail_mv','mail_riga_0');mail_selezionata('0');pwd_appear('0');\" ondblclick=\"mail_rispondi();\"><div class=\"mail_col_info_da\">Erika Berger</div><div class=\"mail_col_info_og\">Re: Password file?</div><div class=\"mail_col_info_dat\">10/10/2009</div><div class=\"p\"></div></div>");	
				}
			  break;
			  case "quicktime":
			  quicktime_movie(file_i);
			  break;
			  case "itunes":
			  pippo = file_i.split("-");
			  itunes_song(''+pippo[0]+'',''+pippo[1]+'',''+pippo[2]+'');
			  break;
			  case "word":
			  new Draggable("word_strumenti",{starteffect: null,endeffect: null,snap: function(x,y,draggable) {
      function constrain(n, lower, upper) {
        if (n > upper) return upper;
        else if (n < lower) return lower;
        else return n;
      }
     
      element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(document.getElementById("contenitore"));
      return[
        constrain(x, 0, parent_dimensions.width - element_dimensions.width),
        constrain(y, 0, parent_dimensions.height - element_dimensions.height)];
    }	});
			  break;
					
					
			}
			
			
		
 	  }
	});
	
	}
	
	function chiudi_applicazione(app)
	{
		array_stato_app[app]=0;
		$(app).fade({ duration: 0.2 });
		document.getElementById("dock-"+app+"").innerHTML="<img src=\"dock/"+app+"-icon.png\" border=\"0\" height=\"85px\" />";
	}
	
	/* apertura programma animation */
	Effect.ShakeVertical = function(element) {
	var app = element;
	var element = $("dock-"+element+"");
	var oldStyle = {
		top: Element.getStyle(element, 'top'),
		left: Element.getStyle(element, 'left') };
	return new Effect.Move(element, 
						{ x:  0, y: 0, duration: 0.0, afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: -30, duration: 0.4,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x:  0, y: 30, duration: 0.4,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: -30, duration: 0.4,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x:  0, y: 30, duration: 0.4,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: -0, duration: 0.4, afterFinishInternal: function(effect) { 
		document.getElementById("dock-"+app+"").innerHTML="<img src=\"dock/"+app+"-icon_selezionato.png\" border=\"0\" height=\"85px\" />";
		$(app).appear({ duration: 0.1 });
		
		with(Element) {
		undoPositioned(effect.element);
		setStyle(effect.element, oldStyle);
	}}}) }}) }}) }}) }}) }});
}


	