var breadMenu = Class.create();

breadMenu.prototype = {
	initialize: function (obj, selId) {

		if ($$('#breadcumb #'+obj+' #BreadlistHolder') != 0) {
			$$('#breadcumb .active').invoke('removeClassName', 'active');
			$('BreadlistHolder').remove();
			return false;
		}

		this.elId	= obj;
		this.el 	= $(obj);
		this.selId	= selId || 0;
		this.type	= 0;
		this.xhtml 	= '';
		this.buildMenu();

	},
	buildMenu: function() {
		br = this;
		switch(this.elId) {
			case 'operBread': this.type = 1; break;
			case 'propBread': this.type = 2; break;
			case 'provBread': this.type = 3; break;
			case 'cityBread': this.type = 4; break;
			default: this.type = 1;
		}

		var p = this;

		new Ajax.Request('/php/breadMenu.php', {
			parameters: {
				oper: ($('hoperBread') != null) ? $F('hoperBread') : 0,
				prop: ($('hpropBread') != null) ? $F('hpropBread') : 0,
				prov: ($('hprovBread') != null) ? $F('hprovBread') : 0,
				city: ($('hcityBread') != null) ? $F('hcityBread') : 0,
				type: p.type
			},
			onCreate: function() {
				//onCreate Event
			},
			onComplete: function(transp) {

				el = eval('('+ transp.responseText +')');
				tmpl = new Template('<div class="link#{sel}"><a href="#{lnk}" title="#{title}">#{str}</a></div>');

				var xhtml = '';

				el.each(function(e){
					xhtml+= tmpl.evaluate({
						sel: (br.selId == parseInt(e.sid)) ? ' selected' : '',
						str: e.str,
						title: 'Cambiar filtro a ' + e.str,
						lnk: e.lnk
					});
				});

				/*xhtml+= tmpl.evaluate({
						str: 'Quitar',
						title: 'Quitar filtro',
						lnk: '/'
				});*/

				if ($('BreadlistHolder') != null) {
					 menuHolder = $('BreadlistHolder').hide().update(xhtml).remove();
					 $$('#breadcumb .active').invoke('removeClassName', 'active');
				} else menuHolder = new Element('div', { 'class': 'breadMenuHold', id: 'BreadlistHolder' }).hide().update(xhtml);

				p.el.insert(menuHolder).addClassName('active');
				new Effect.BlindDown('BreadlistHolder', {duration: 0.3});

				//~ document.observe('click', function(e) {
					//~ $$('#breadcumb .active').invoke('removeClassName', 'active');
					//~ $('BreadlistHolder').remove();
				//~ });

			}
		});

	}
}



var brMenuObj;


function brMenu(senderId, selectedId) {
	brMenuObj = new breadMenu(senderId, selectedId);
}

