Utilities = {};

Utilities.includeJS = function(filepaths)
{
	for(var i=0; i<filepaths.length; i++)
	{
		document.write('<script type="text/javascript" src="'+filepaths[i]+'"></script>');
	}
}

Utilities.includeCSS = function(filepaths)
{
	for(var i=0; i<filepaths.length; i++)
	{
		document.write('<link href="'+filepaths[i]+'" rel="stylesheet" type="text/css" />');
	}
}

Utilities.getElement = function(i) { return document.getElementById(i); }

Utilities.debug = function(val)
{
	this.getElement('debug').innerHTML += val +"<br/>";
}

Utilities.toggle = function(id)
{
	this.getElement(id).style.display = (this.getElement(id).style.display == 'block') ? 'none' : 'block';
}

Utilities.createElement = function(e, obj)
{
	var a = document.createElement(e);
	for(prop in obj)
	{
		a[prop] = obj[prop];
	}
	return a;
}

Utilities.appendChild = function()
{
	if(this.appendChild.arguments.length > 1)
	{
		var a = this.appendChild.arguments[0];
		for(i=1; i<this.appendChild.arguments.length; i++)
		{
			if(arguments[i])
			{
				a.appendChild(this.appendChild.arguments[i]);
			}
		}
		return a;
	}
	else
	{
		return null;
	}
}

// TODO: Addition
Utilities.removeChildren = function(node)
{
	if(node == null) { return; }
	
	while(node.hasChildNodes())
	{
		node.removeChild(node.firstChild);
	}
}

Utilities.DisplayHTML = function( id, div, addedUrl )
{
    url =  'displayHTML.php?id='+id+'&dest='+div;
    if( addedUrl )
        url += addedUrl;
    AjaxUpdater.Update( 'GET', url, DisplayHTMLManager.display );
}

Utilities.GetScroll = function( obj )
{   
    if( obj.nodeName!='A')
        return;
        
    var y;
    if( window.scrollY )
        y=window.scrollY;
    else if( document.body.scrollTop )
        y=document.body.scrollTop;
    else
        y=200;
    
    atr = obj.attributes;
    atr.getNamedItem("href").value+=y;
}

Utilities.PutScroll = function(y)
{   
    window.scrollTo(0, y);
}

Utilities.Sleep = function (sec) {
  sec = sec * 1000;  
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > sec){
      break;
    }
  }
}


