var W3CDOM = (document.createElement && document.getElementsByTagName);
function cleanTree(obj){			
	if(obj.hasChildNodes()){
		obj = cleanWhiteSpace(obj);	
		for(var i = 0; i < obj.childNodes.length; i++) cleanTree(obj.childNodes[i]);
	}
}			
document.getElementsByClassName = function(className, container){
   var data = tags = [];
   var obj = document.getElementById("wrapper");
   var node = aux = null;
	var strClassName = className.replace(/\-/g, "\\-");
    var pattern = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	if(container) node = (typeof(container) == "object") ? container : document.getElementById(container);
	else node = (obj) ? obj : document;
	aux = node.getElementsByTagName("*");
	tags = (document.all) ? node.all : aux;
   for(var i=0;i<tags.length;i++) { if(pattern.test(tags[i].className)) data.push(tags[i]);}
   return data;
}
var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}


var curves={
	setAll:function(idElemento){
		var obj = document.getElementById(idElemento);
		var firstElement = obj.firstChild;
		// crear elementos
		var cornerTL = curves.createElementsCurves("cornerTL");
		var cornerTR = curves.createElementsCurves("cornerTR");
		var cornerBL = curves.createElementsCurves("cornerBL");
		var cornerBR = curves.createElementsCurves("cornerBR");
		// insertar curvas arriba
		obj.insertBefore(cornerTR, firstElement);
		obj.insertBefore(cornerTL, cornerTR);
		// insertar curvas abajo
		obj.appendChild(cornerBL);
		obj.appendChild(cornerBR);
	},
	setTop:function(idElemento){
		var obj = document.getElementById(idElemento);
		var firstElement = obj.firstChild;
		// crear elementos
		var cornerTL = curves.createElementsCurves("cornerTL");
		var cornerTR = curves.createElementsCurves("cornerTR");
		// insertar curvas arriba
		obj.insertBefore(cornerTR, firstElement);
		obj.insertBefore(cornerTL, cornerTR);
	},
	setSolapa:function(idElemento){
		var obj = document.getElementById(idElemento);
		var cornerTR = curves.createElementsCurves("solapa");
		obj.appendChild(cornerTR);
	},
	createElementsCurves:function(style){
		var element = document.createElement("span");
		element.className = style;
		element.appendChild(document.createTextNode(" "));
		return element;
	}
}

var pngFix={
	reemplaza:function(){ 
		$(document).pngFix(); 
	} 
}

var load={
	existeId:function(cid){	
		if(document.getElementById(cid)) return true;		
		return false;
	},
	setEvents:function(){		
		if(load.existeId("boxLink")) curves.setAll("boxLink");
	}
}

if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);

