var Salto = {
  Version: '3.2.7',
  require: function(libraryName) {
    // inserting via DOM fails in Safari 2.0, so brute force approach    
    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');		
  },
  load: function() {
    if((typeof Prototype=='undefined') ||
      parseFloat(Prototype.Version.split(".")[0] + "." +
                 Prototype.Version.split(".")[1]) < 1.4)
      throw("Salto FWK requires the Prototype JavaScript framework >= 1.4.0");
	if((typeof Scriptaculous=='undefined') ||
      (Scriptaculous.Version.split(".")[0] + "." +
                 Scriptaculous.Version.split(".")[1] + "." +
                 Scriptaculous.Version.split(".")[2]) < "1.5.1")
      throw("Salto FWK requires the Scriptaculous JavaScript framework >= 1.5.1");
	if((typeof Rico=='undefined') ||
      parseFloat(Rico.Version.split(".")[0] + "." +
                 Rico.Version.split(".")[1]) < 1.1)
      throw("Salto FWK requires the Rico JavaScript framework >= 1.1");

	// Ici il y a une petite bidouille, j'utilise prototype et pas salto-fwk
	// car il y a apparemment sous Mozilla un bug de getElementsByTagName
	// qui fait que les elements renvoyes sont incomplets suite 
	// a l'ajout par scriptaculous de scripts dynamiquement
    var arrayOfScrips = $A(document.getElementsByTagName("script"));
    var matchingSaltoFwk = arrayOfScrips.findAll( function(s) {    	
      return (s.src && s.src.match(/prototype\.js(\?.*)?$/))
    });
    matchingSaltoFwk.each( function(s) 
	    {
	      var path = s.src.replace(/prototype\.js(\?.*)?$/,'');
	      var includes = s.src.match(/\?.*load=([a-z,]*)/);
	      (includes ? includes[1] : 'salto-common,salto,general,screen,fwk/menu/menu-theme,fwk/menu/office2003/office2003-theme,tabbedpane,onglet,window,suggest,table,treeview,wizard,paginator,toc,cleanup,fwk/calendar/date,fwk/calendar/calendar').split(',').each(
	       function(include) { 
	       		Salto.require(path+include+'.js?versionId='+Salto.Version) 
	       });
	    }
	);
  }
}

Salto.load();