var aFilesAdded = "";

function loadjscssfile( filename, filetype )
{
	if( checkloadjscssfile(filename, filetype) )
	{
		if (filetype=="js")//if filename is an external JavaScript file
		{ 
			var oLoader = createJSLoaderRequest();
			
			oLoader.open("GET", filename, false);
			oLoader.send(null);
			
			var text = oLoader.responseText;
			
			if (text)
			{
				if (window.execScript){
					window.execScript(text);
				} else {
					var script = document.createElement('script');
					script.setAttribute('type', 'text/javascript');
					script[(Browser.Engine.webkit && Browser.Engine.version < 420) ? 'innerText' : 'text'] = text;
					document.head.appendChild(script);
					document.head.removeChild(script);
				}
				aFilesAdded += "["+filename+"]";
			}
		}
		else if (filetype=="css")//if filename is an external CSS file
		{ 
			var fileref=document.createElement("link");
			fileref.setAttribute("rel", "stylesheet");
			fileref.setAttribute("type", "text/css");
			fileref.setAttribute("href", filename);
		}
		if( typeof fileref!="undefined" )
		{
			aFilesAdded += "["+filename+"]"; //add to list of files already added, in the form of "[filename1],[filename2],etc"
			document.getElementsByTagName("head")[0].appendChild( fileref );
		}
	}
}

function checkloadjscssfile( filename, filetype )
{
	var bReturn = false;
	
	if( aFilesAdded.indexOf("["+filename+"]") == -1 )
	{
		bReturn = true;
	}
	
	return bReturn;
}

function createJSLoaderRequest()
{
  var xmlHttp;
  try
  {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
  }
	catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }

	return xmlHttp;
}

function JSLoadFinisher( text )
{
	if (!text) return text;
	if (window.execScript){
		window.execScript(text);
	} else {
		var script = document.createElement('script');
		script.setAttribute('type', 'text/javascript');
		script[(Browser.Engine.webkit && Browser.Engine.version < 420) ? 'innerText' : 'text'] = text;
		document.head.appendChild(script);
		document.head.removeChild(script);
	}
	return text;
}