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) { 
	// (document.all) ? document.all(i) : document.getElementById(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 == '') ? 'none' : '';
}

Utilities.createElement = function(e, obj){
	
	var element = document.createElement(e);
	
	for(prop in obj){
		element[prop] = obj[prop];
    }
    return element;
}

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;
     }
}

/*
 * Poistaa annetun solmun kaikki lapset
 */
Utilities.removeChildren = function(node){
    
	if(node == null){
		return;
	}

    while(node.hasChildNodes()){
	    node.removeChild(node.firstChild);
    }
}

Utilities.addListener = function(obj, eventName, listener){
     
	if (obj.attachEvent){
		obj.attachEvent("on"+eventName, listener);
	}
	else if(obj.addEventListener){
		obj.addEventListener(eventName, listener, false);
	}
	else{
		return false;
	}
	
	return true;
}

Utilities.removeListener = function(obj, eventName, listener){
     
	if(obj.detachEvent){
		obj.detachEvent("on"+eventName, listener);
	}
	else if(obj.removeEventListener){
		obj.removeEventListener(eventName, listener, false);
	}
	else{
		return false;
	}
	
	return true;
}

Utilities.changeOpac = function(opacity, id){
     //var object = Utils.ge(id).style;
     var object = this.getElement(id).style;
     object.opacity = (opacity / 100);
     object.MozOpacity = (opacity / 100);
     object.KhtmlOpacity = (opacity / 100);
     object.filter = "alpha(opacity=" + opacity + ")";
}

/* 
 * Palauttaa elementin leveyden
 */
Utilities.getElementWidth = function(element){
	if (element.style.pixelWidth) {
		return element.style.pixelWidth;
	} else {
		return element.offsetWidth;
	}		
}

/*
 * Palauttaa elementin korkeuden
 */
Utilities.getElementHeight = function(element){ 
	if (element.style.pixelHeight) {
		return element.style.pixelHeight;
	} else {
		return element.offsetHeight;
	}
}	

/*
 * Palauttaa koordinaatin
 */
Utilities.calculateOffset = function(field,attr){
	var offset = 0;
	while(field){
		offset += field[attr];
		field = field.offsetParent
	}
	
	return offset;
}	
