function getElementsByStyleClass (className) {
  var all = document.all ? document.all :
    document.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++)
    if (all[e].className.indexOf(className) != -1 )
      elements[elements.length] = all[e];
  return elements;
}
function getElementsByStyleClassFrom (object, className) {
  var all = object.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++)
    if (all[e].className.indexOf(className) != -1 )
      elements[elements.length] = all[e];
  return elements;
}

function getDocumentDimension(){
	var d = { width: 0, height: 0 };
	if (document.all) {
		d.width = document.body.clientWidth;
		d.height = document.body.clientHeight;
	}
	else {
		d.width = window.innerWidth
		d.height = window.innerHeight
	} 	
	return d;
}
/*------------------------------
*
* BOTONES
*
* ------------------------------*/
function botones(){
	var elementos=getElementsByStyleClass('boton');
	//access the element with the id 'textOne' and get its value
	//assign this value to the variable theText
	for(var e=0; e< elementos.length;e++){		
		var theText = elementos[e].innerHTML;
		elementos[e].innerHTML="<span>"+theText+"</span><b></b>";
	}
}

/*------------------------------
*
* TAB
*
* ------------------------------*/
function tab(){
	var elementos=getElementsByStyleClass('tab');
	//access the element with the id 'textOne' and get its value
	//assign this value to the variable theText
	for(var e=0; e< elementos.length;e++){		
		var theText = elementos[e].innerHTML;
		elementos[e].innerHTML="<span>"+theText+"</span><b></b>";
	}
}

/*------------------------------
*
* BLOB
*
* ------------------------------*/
var blobElement;
function blob(){
	blobElement=document.getElementById('blob');
}

function getAbsolutePosition(element) {
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
      var tmp = getAbsolutePosition(element.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
    return r;
};
var mousePosition;
var blobWithMouse=false;
function getMousePosition(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	mousePosition={x:posx, y:posy};
	if(blobWithMouse){
		blobElement.style.left=(posx-33)+"px";
		blobElement.style.top=(posy+17)+"px";
	}
}

function showBlob(htmlcontent,ancho, alto, ref, mouse){
	blobElement.innerHTML="<iframe src='"+htmlcontent+"' frameborder='0' allowtransparency='true' width='100%' scrolling='no'></iframe>";
	var pos;
	
	if(!mouse)
	{
		mouse=false;
	}
	blobWithMouse=mouse;
	
	if(blobElement.style.display=="none" || blobElement.style.display==""){
		blobElement.style.display="block";
	} else {
		blobElement.style.display="none";
	}
	
	blobElement.style.width=ancho+"px";
	blobElement.style.height=alto+"px";
	if(!mouse){
		pos=getAbsolutePosition(ref);
		blobElement.style.left=pos.x+"px";
		blobElement.style.top=(ref.offsetHeight+pos.y+10)+"px";
	}	
}

function showme(){
	if(blobElement){
		blobElement.style.display="block";
	}
}

function hiddeBlob(){
	if(blobElement){
		blobElement.style.display="none";
	}
}

/*------------------------------
*
* BOXS
*
* ------------------------------*/
function createBoxs(){
	var elementos=new Array();
	elementos= getElementsByStyleClass('box');
	for( var e=0; e < elementos.length; e++){
		createDynamicBox(elementos[e]);
	}
}

function createDynamicBox(el){
	
	var myElem=el;
	var titulares=myElem.getElementsByTagName('h2');
	if(titulares.length!=1){
		alert("Error: Debe incluir un elemento h2 para identificar el titular de la caja");
		return 0;
	}
	var opciones=getElementsByStyleClassFrom(myElem,"options");
	if(opciones.length!=1){
		alert("Error: Debe incluir un elemento de opciones.\nEjemplo: <div class='options'>...</div>");
		return 0;
	}
	
	var editOpt=getElementsByStyleClassFrom(opciones[0],"editBtn");
	if(editOpt.length>0){
		var editContent=getElementsByStyleClassFrom(myElem,"editContent");
		if(editContent.length!=1){
			alert("Error: Debe incluir un elemento de contenido de edicion.\nEjemplo: <div class='editContent'>...</div>.\nVea manual de estilos.");
			return 0;
		}
	}
	
	var contenidos=getElementsByStyleClassFrom(myElem,"content");
	if(contenidos.length!=1){
		alert("Error: Debe incluir un elemento para el contenido.\nEjemplo: <div class='content'>...</div>");
		return 0;
	}
	
	var titular=titulares[0].parentNode.removeChild(titulares[0]);
	var opcion=opciones[0].parentNode.removeChild(opciones[0]);
	var content=contenidos[0].parentNode.removeChild(contenidos[0]);
	
	var cabecera=document.createElement("div");
	var cabeceraS=document.createElement("div");		
	var contenido=document.createElement("div");
	
	if(document.all){							//IE
		cabecera.className="box_header_green clearfix handle";
		cabeceraS.className="box_header_span";
		contenido.className="box_section_roundcorner";
		/*titular.className="ico_mas";*/
	}else{										//FFX
		cabecera.setAttribute("class", "box_header_green clearfix handle");
		contenido.setAttribute("class", "box_section_roundcorner");
		/*titular.setAttribute("class","ico_mas ");*/
		cabeceraS.setAttribute("class","box_header_span");
	}
	
	cabeceraS.appendChild(titular);
	cabeceraS.appendChild(opcion);
	cabecera.appendChild(cabeceraS);
	
	myElem.appendChild(cabecera);
	
	contenido.appendChild(content);
	
	myElem.appendChild(contenido);
		
	
}

/*------------------------------
*
* BOXS Portlet
*
* ------------------------------*/

var settings = {};
var portal;
function initPortlets() {
	portal = new Portal();
	portal.applySettings(settings);
}

/*------------------------------
*
* MsgBOXS
*
* ------------------------------*/
var msgbox;
function initMsgBox(){
	msgbox= new msgBox();	
}



/*------------------------------
* Funcion de lanzamiento 
* Se encarga de la busqueda de los ui a reemplazar
* -----------------------------*/
var oldonload=window.onload;
if(typeof(oldonload)=='function')
    window.onload=function(){
		oldonload();
		botones();
		tab();
		/*createBoxs();
		prettyForms();
		initPortlets();
		initMsgBox()*/
	};
else window.onload=function(){
		botones();
		tab();
		/*createBoxs();
		prettyForms();
		initPortlets();
		initMsgBox()*/
	};

if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = getMousePosition;
} else if (document.all) { // Internet Explorer
    document.onmousemove = getMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = getMousePosition;
}