function utilDOM ()
{
	this.m_isID = 0;
	this.m_isDHTML = 0;
	this.m_isLayers = 0;
	this.m_isAll = 0;
	this.m_isFiltro = 0;
	this.m_nNavegador = navigator.appName;
	this.m_vNavegador = parseInt(navigator.appVersion);
	if (document.getElementById){
		this.m_isID = 1;
		this.m_isDHTML = 1;
		if (this.m_nNavegador.indexOf('Explorer')!=-1) {
			this.m_isFiltro = 1;
		}
	}else if (document.all){
		this.m_isAll = 1;
		this.m_isDHTML = 1;
	}else if ((this.m_nNavegador.indexOf('Netscape') != -1) &&
		(this.m_vNavegador==4)) {
		this.m_isLayers=1;
		this.m_isDHTML=1;
	}

	this.getObjeto = getobjeto;
	this.getNavegador = getnavegador;
	this.getxID = getxid;
	this.getxLayers = getxlayers;
	this.getxAll = getxall;
	this.getxFiltro = getxfiltro;
	this.getWindowWidth = getwindowwidth;
	this.getWindowHeight = getwindowheight;
	this.getCapaWidth = getcapawidth;
	this.getCapaHeight = getcapaheight;
	this.getCapaLeft = getcapaleft;
	this.getCapaTop  = getcapatop;
	this.getClipLeft = getclipleft;
	this.getClipTop = getcliptop;
	this.getClipRight = getclipright;
	this.getClipBottom = getclipbottom;
}

function getclipleft(capaid){
	var mi_objeto = this.getObjeto(capaid,1);
	if (mi_objeto.clip.left)
		return mi_objeto.clip.left;
	else if(mi_objeto.clip!=null){
		var mi_clip = getClip(mi_objeto.clip);
		return mi_clip[3];
	}
	else
		return null;	
}

function getclipright(capaid){
	var mi_objeto = this.getObjeto(capaid,1);
	if (mi_objeto.clip.right)
		return mi_objeto.clip.right;
	else if(mi_objeto.clip!=null){
		var mi_clip = getClip(mi_objeto.clip);
		return mi_clip[1];
	}else
		return null;	
}

function getclipbottom(capaid){
	var mi_objeto = this.getObjeto(capaid,1);
	if (mi_objeto.clip.bottom)
		return mi_objeto.clip.bottom;
	else if (mi_objeto.clip!=null){
		var mi_clip = getClip(mi_objeto.clip);
		return mi_clip[2];
	}else
		return null;	
}

function getcliptop(capaid){
	var mi_objeto = this.getObjeto(capaid,1);
	if (mi_objeto.clip.top)
		return mi_objeto.clip.top;
	else if (mi_objeto.clip!=null){
		var mi_clip = getClip(mi_objeto.clip);
		return mi_clip[0];
	}else
		return null;
}

function getobjeto(objetoID, conStyle){
	switch (conStyle){
		case 0:	// Sin style.
			if (this.m_isID) return (document.getElementById(objetoID));
			if (this.m_isAll) return (document.all[objectID]);
			if (this.m_isLayers) return (document.layers[objetoID]);
			return null;
			break;
		case 1:	// Con style.
			if (this.m_isID) return (document.getElementById(objetoID).style);
			if (this.m_isAll) return (document.all[objetoID].style);
			if (this.m_isLayers) return (document.layers[objetoID]);
			return null;
			break;
	}
	return null;
}
function getnavegador(){
	return (this.m_nNavegador);
}
function getxid(){
	return (this.m_isID);
}
function getxall(){
	return (this.m_isAll);
}
function getxlayers(){
	return (this.m_isLayers);
}
function getxfiltro(){
	return (this.m_isFiltro);
}

function getwindowwidth(){
	if (this.m_nNavegador.indexOf('Netscape')!=-1)
		return (window.innerWidth);
	else
		return (document.body.clientWidth);
}

function getwindowheight(){
	if (this.m_nNavegador.indexOf('Netscape')!=-1)
		return (window.innerHeight);
	else
		return (document.body.clientHeight);
}

function getcapawidth(capaid){
	var mi_objeto = this.getObjeto(capaid,0);
	if (mi_objeto.offsetWidth)
		return mi_objeto.offsetWidth;
	else if (mi_objeto.clip.width)
		return mi_objeto.clip.width;
	else
		return null;
}

function getcapaheight(capaid){
	var mi_objeto = this.getObjeto(capaid,0);
	if (mi_objeto.offsetHeight)
		return mi_objeto.offsetHeight;
	else if (mi_objeto.clip.height)
		return mi_objeto.clip.height;
	else
		return null;
}

function getcapaleft(capaid){
	var mi_style = this.getObjeto(capaid,1);
	var mi_ref = this.getObjeto(capaid,0);
	if (mi_style.left)
		return mi_style.left;
	else if (mi_style.pixelLeft)
		return mi_style.pixelLeft;
	else if (mi_ref.offsetLeft)
		return mi_ref.offsetLeft;
	else
		return null;
}

function getcapatop(capaid){
	var mi_style = this.getObjeto(capaid,1);
	var mi_ref = this.getObjeto(capaid,0);
	if (mi_style.top)
		return mi_style.top;
	else if (mi_style.pixelTop)
		return mi_style.pixelTop;
	else if (mi_ref.offsetTop)
		return mi_ref.offsetTop;
	else
		return null;	
}

function getClip(mclip){
	var aclip = new Array(4);
	var ind1 = mclip.indexOf('(');
	var ind2 = mclip.indexOf('px');
	var ind3 = mclip.indexOf('px',ind2+2);
	var ind4 = mclip.indexOf('px',ind3+2);
	var ind5 = mclip.indexOf('px',ind4+2);
	aclip[0] = mclip.substring(ind1+1,ind2);
	aclip[1] = mclip.substring((ind2+2),ind3);
	aclip[2] = mclip.substring((ind3+2),ind4);
	aclip[3] = mclip.substring((ind4+2),ind5);
	return aclip;
}