/*
	PureDOM explorer 3.1
	written by Christian Heilmann (http://icant.co.uk)
	Please refer to the pde homepage for updates: http://www.onlinetools.org/tools/puredom/
	Free for non-commercial use. Changes welcome, but no distribution without 
	the consent of the author.
*/

pde={
	// CSS classes
	pdeClass:'pde',
	hideClass:'hide',
	showClass:'show',
	parentClass:'parent',
	currentClass:'current',
	// images added to the parent links
	openImage:'http://s001.adimg.com/Templates/Images/Icons/minus.gif',
	closedImage:'http://s001.adimg.com/Templates/Images/Icons/plus.gif',
	openMessage:'abrir seccion',
	closedMessage:'cerrar seccion',
  // boolean to keep the section with the STRONG open or not.
  keepCurrentOpen:true,
	// boolean to make the parent link collapse the section or not 
	linkParent:false,
	init:function(){
		pde.createClone();
		if(!document.getElementById || !document.createTextNode){return;}
		var uls=document.getElementsByTagName('ul');
		for(var i=0;i<uls.length;i++){
		var inneruls,parentLI;
			if(!pde.cssjs('check',uls[i],pde.pdeClass)){continue;}
			var inneruls=uls[i].getElementsByTagName('ul');
			for(var j=0;j<inneruls.length;j++){
				parentLI=inneruls[j].parentNode;
				if(parentLI.getElementsByTagName('strong')[0]){
					pde.cssjs('add',parentLI,pde.currentClass);
					if(pde.keepCurrentOpen === true){continue;}
				}
				pde.cssjs('add',parentLI,pde.parentClass);
				parentLI.insertBefore(pde.clone.cloneNode(true),parentLI.firstChild);
				pde.cssjs('add',inneruls[j],pde.hideClass);
				pde.addEvent(parentLI.getElementsByTagName('a')[0],'click',pde.showhide,false);
				parentLI.getElementsByTagName('a')[0].onclick=function(){return false;} // Safari hack
				if(pde.linkParent){
					pde.addEvent(parentLI.getElementsByTagName('a')[1],'click',pde.showhide,false);
					parentLI.getElementsByTagName('a')[1].onclick=function(){return false;} // Safari hack
				}
			}
		}
	},
	showhide:function(e){
		var image,message;
		var elm=pde.getTarget(e);
		var ul=elm.parentNode.getElementsByTagName('ul')[0];
		var img=elm.parentNode.getElementsByTagName('img')[0];
		if(pde.cssjs('check',ul,pde.hideClass)){
			message=pde.openMessage;
			image=pde.openImage;
			pde.cssjs('remove',elm.parentNode.getElementsByTagName('ul')[0],pde.hideClass);
			pde.cssjs('add',elm.parentNode.getElementsByTagName('ul')[0],pde.showClass);
		} else {
			message=pde.closedMessage;
			image=pde.closedImage;
			pde.cssjs('remove',elm.parentNode.getElementsByTagName('ul')[0],pde.showClass);
			pde.cssjs('add',elm.parentNode.getElementsByTagName('ul')[0],pde.hideClass);
		}
		img.setAttribute('src',image);
		img.setAttribute('alt',message);
		img.setAttribute('title',message);
		pde.cancelClick(e);
	},
	createClone:function(){
		pde.clone=document.createElement('a');
		pde.clone.setAttribute('href','#');
		pde.clone.appendChild(document.createElement('img'));
		pde.clone.getElementsByTagName('img')[0].src=pde.closedImage;
		pde.clone.getElementsByTagName('img')[0].alt=pde.closedMessage;
		pde.clone.getElementsByTagName('img')[0].title=pde.closedMessage;
	},
/* helper methods */
	getTarget:function(e){
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		if (!target){return false;}
		if (target.nodeName.toLowerCase() != 'a'){target = target.parentNode;}
		return target;
	},
	cancelClick:function(e){
		if (window.event){
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e){
			e.stopPropagation();
			e.preventDefault();
		}
	},
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener) 
		{
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},
	cssjs:function(a,o,c1,c2){
		switch (a){
			case 'swap':
				o.className=!pde.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!pde.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				return new RegExp("(^|\s)" + c1 + "(\s|$)").test(o.className)
			break;
		}
	}
}
pde.addEvent(window, 'load', pde.init, false);

//Capa desplegable de categorias
//**************************************************************
(function(){
	if(window._mnu_manuncios_){
		var __mnu_manuncios_=window._mnu_manuncios_;
	}
	var _mnu_manuncios_ = function(id){
		return new _mnu_manuncios_.prototype.i_set(id);
	};
	window.$m$=_mnu_manuncios_;
	_mnu_manuncios_.prototype={
		defaultName:'_mnu_manuncios_',
		defaultLink:'enlace_',
		defaultDiv1:'capa_',
		defaultTimer:350,
		_cmTimeout:null,
		_currentMenu:null,
		over:1,
		_elements:[],
		load:function(){
			var nL=$m$.prototype._elements.length;
			for(var i=0; i<nL; i++){
				var id=$m$.prototype._elements[i];
				$('#'+this.defaultDiv1+id).appendTo('body');
				this.set(id);
			}
		},
		config:function(opts){
			this.defaultLink=(opts.link)?opts.link:this.defaultLink;
			this.defaultDiv1=(opts.div)?opts.div:this.defaultDiv1;
			this.defaultTimer=(opts.timer)?opts.timer:this.defaultTimer;
		},
		i_set:function(id){
			var el=_mnu_manuncios_.prototype._elements.length;
			_mnu_manuncios_.prototype._elements[el]=id;
			
		},
		set:function(id){
			if($('#'+this.defaultDiv1+id).size()==0 || $('#'+this.defaultLink+id).size()==0) return false;
			var _l=($('#'+this.defaultLink+id).offset().left);
			var _t=($('#'+this.defaultLink+id).offset().top+$('#'+this.defaultLink+id).height());
			var _h=($('#'+this.defaultDiv1+id).height());
			var _w=($('#'+this.defaultDiv1+id).width());
			$('#'+this.defaultDiv1+id)
				.css({"left":_l,"top":_t,'overflow':'hidden','height':'0','z-index':2345})
				.attr("_w",_w)
				.attr("_h",_h)
				.attr("_l",_l)
				.attr("_t",_t)
				.mouseover(function(){$m$.prototype._showM(id);})
				.mouseout(function(){$m$.prototype._hide(id);})
				.mouseup(function(){$m$.prototype._hideMenu(id);});
			$('#'+this.defaultLink+id).each(
			function(){
				$(this)
				.mouseover(function(){$m$.prototype._show(id);})
				.mouseout(function(){$m$.prototype._hide(id);});
			});
		},
		_showM:function(id){
			clearTimeout(this._cmTimeout);
			if(this._currentMenu>-1 && this._currentMenu != id){
				this._hideMenu(this._currentMenu);
			}
			if(this.over==1){	
				this.over=2;
				this._currentMenu=id;	
			}
		},
		_show:function(id){
			clearTimeout(this._cmTimeout);
			if(this._currentMenu>-1 && this._currentMenu !=id){
				this._hideMenu(this._currentMenu);
			}
			if(this.over==1){
				this._currentMenu=id;
				var _el=this.defaultDiv1+id;
				$('#'+_el).css("display","block").animate({"height":$('#'+_el).attr("_h")},this.defaultTimer);
				this.over=2;
			}
		},
		_hideMenu:function(id){
			if(this.over==2){
				this._currentMenu=null;
				var _el=this.defaultDiv1+id;
				$('#'+_el).animate({'height':'0'},this.defaultTimer,function(){$('#'+_el).css("display","none");});
				this.over=1;
			}			
		},
		_hide:function(id){	
			this._cmTimeout=window.setTimeout("$m$.prototype._hideMenu('"+(id)+"')",250);
		}
	};
	$(window).load(
	function(){
		$m$.prototype.load();
	});
})();
