// 
// Arquivo responsavel pela herança dinamica de scripts
// DEVE ser chamado antes de qualquer script.
// 

// Variável global referente ao diretório padrão dos scripts
var ScriptPath = "/Html/javascript";

// 
// Adiciona um script, caso ele não tenha sido adicionado ainda.
// 
function addScript () {
 for ( var i = 0; i < arguments.length; i ++ ) {
  if ( !ScriptExists( arguments[i] ) ) { 
   var Script = document.createElement( "script" );
   Script.src = ScriptPath+"/"+arguments[i]+".js";
   document.getElementsByTagName( "head" )[0].appendChild( Script );
  }
 }
}

// 
// Altera/Retorna o diretório padrão dos scripts
// 
function setScriptPath ( Path ) {
 if ( Path ) ScriptPath = Path;
 return ScriptPath;
}

// 
// Verifica se o script já foi requisitado
// 
// Exemplo:
// ScriptExists( "Ajax" ); /* Refere-se à "http://server.name/javascript/Ajax.js", onde 'javascript' é equivalente à ScriptPath */
// 
function ScriptExists ( ScriptName ) {
 var ScriptSrc = Scripts();
 
 for ( var i = 0; i < ScriptSrc.length; i ++ ) {
  var getName = new RegExp( "\/("+ScriptName+")\\.js$" );
  var Name = getName.exec( ScriptSrc[i] );
  if ( Name && Name[1] == ScriptName ) return ScriptSrc[i];
 }
 
 return false;
}

// 
// Retorna array com o source de todos os scripts requisitados
// 
function Scripts () {
 var Script = document.getElementsByTagName( "script" );
 var Src = new Array;
 
 for ( var i = 0; i < Script.length; i ++ ) {
  if ( Script[i].src ) Src.push( Script[i].src );
 }
 
 return Src;
}