//Tipos
	function isObject(object){
		if (typeof object == "object"){	return true	}else{ return false }
	}
	
	function isString (object) {
		if (typeof object == "string"){	return true	}else{ return false }
	}

	function isNumber(object) {
		if (typeof object == "number"){	return true	}else{ return false }
	}
	
	function isNan(object) {
		if (typeof object == "number"){	return true	}else{ return false }
	}

	function isUndefined(object) {
		if (typeof object == "undefined"){ return true }else{ return false }
	}
	
	function isNull(object) {
		if (typeof object == "null"){ return true }else{ return false }
	}

/* -------------------------------------------------------------- */




//Get Objets and Values...
	function getInnerHtml(Id){
		return getById(Id).innerHTML;
	}
	
	function getChildObj(Obj){
		return Obj.childNodes
	}
	
	function getByTagObj(Tag, Obj){
		return Obj.getElementsByTagName(Tag)
	}

	function getByTag(Tag){
		return document.getElementsByTagName(Tag)
	}

	function getById(Id){
		return document.getElementById(Id)
	}

	function getBody(){
		return document.body
	}
	


/* -------------------------------------------------------------- */




//Page Dimensions...
	function getDimension(){

		//Scroll
		var Dimension = new Array()
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} 
		else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} 
		else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}

		
		//Window
		Dimension['WIDTH_WINDOW'], Dimension['HEIGHT_WINDOW'];
		
		if (self.innerHeight) {	// all except Explorer
			Dimension['WIDTH_WINDOW']  = self.innerWidth;
			Dimension['HEIGHT_WINDOW'] = self.innerHeight;
			
		} 
		else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			Dimension['WIDTH_WINDOW']  = document.documentElement.clientWidth;
			Dimension['HEIGHT_WINDOW'] = document.documentElement.clientHeight;
			
		} 
		else if (document.body) { // other Explorers
			Dimension['WIDTH_WINDOW']  = document.body.clientWidth;
			Dimension['HEIGHT_WINDOW'] = document.body.clientHeight;
		}	
		
		
		//Dimensiones finales
		
		
		// for small pages with total height less then height of the viewport
		if(yScroll < Dimension['HEIGHT_WINDOW']){
			Dimension['HEIGHT_PAGE'] = Dimension['HEIGHT_WINDOW'];
		} 
		else { 
			Dimension['HEIGHT_PAGE'] = yScroll;
		}

		// for small pages with total width less then width of the viewport
		if(xScroll < Dimension['WIDTH_WINDOW']){	
			Dimension['WIDTH_PAGE'] = Dimension['WIDTH_WINDOW'];
		} 
		else {
			Dimension['WIDTH_PAGE'] = xScroll;
		}
		
		return Dimension
	}
	

	function getScrollOffset(){
	
		Scroll 		= new Array()
		Scroll['X']	= 0;
		Scroll['Y']	= 0;
		
		if( typeof( window.pageYOffset ) == 'number' ){
			//Netscape
			Scroll['Y'] = window.pageYOffset
			Scroll['X'] = window.pageXOffset
		} 
		else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ){
			//DOM
			Scroll['Y'] = document.body.scrollTop
			Scroll['X'] = document.body.scrollLeft
		} 
		else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ){
			//IE6 standards
			Scroll['Y'] = document.documentElement.scrollTop
			Scroll['X'] = document.documentElement.scrollLeft
		}

		return Scroll
	}

/* -------------------------------------------------------------- */




//Style
	function Visible(Id){
		getById(Id).style.visibility = 'visible'
	}

	function NoVisible(Id){
		getById(Id).style.visibility = 'hidden'
	}

	function DisplayBlock(Id){
		getById(Id).style.display = 'block'
	}

	function DisplayNone(Id){
		getById(Id).style.display = 'none'
	}

/* -------------------------------------------------------------- */




//Change Values
	function setInnerHtml(Id, Contenido){
		getById(Id).innerHTML = Contenido;
	}

	function setValueId(Id, Value){
		getById(Id).value = Value;
	}

/* -------------------------------------------------------------- */




//Childs and Parents
	function InsertarTopOf(ObjNew, ObjRef){
	
		if(isObject(ObjRef)){
		
			if(ObjRef.hasChildNodes){
				FE = ObjRef.firstChild
				if(isNull(FE) == 'false'){
					FE.parentNode.insertBefore(ObjNew, FE)
				}
				else{
					ObjRef.appendChild(ObjNew)
				}
			}
			else{
				ObjRef.appendChild(ObjNew)
			}
		}
	}
	
	
	function InsertarEndOf(ObjNew, ObjRef){
	
		if(isObject(ObjRef)){
			ObjRef.appendChild(ObjNew)
		}
	}
	
	
	
	function InsertarDespuesDe(ObjNew, ObjRef){
	
		if(isObject(ObjRef)){

			if(ObjRef.nextSibling){
				ObjRef.nextSibling.parentNode.insertBefore(ObjNew, ObjRef.nextSibling)
			}
			
			else{
				ObjRef.parentNode.appendChild(ObjRef)
			}
		}
	}

	
	function InsertarAntesDe(ObjNew, ObjRef){
	
		if(isObject(ObjRef)){
			ObjRef.parentNode.insertBefore(ObjNew, ObjRef)
		}
	}
	
	
	function DestroyElement(Obj){
		Obj.parentNode.removeChild(Obj);
	}

/* -------------------------------------------------------------- */




//Utiles
	function Confirmar(Mensaje){
		var agree = confirm(Mensaje)
		if (agree){	
			return true		
		}
		else{		
			return false	
		}
	}
