var breadcrumbItem = Class.create();

breadcrumbItem.prototype = {
	initialize: function() {
		this.version = '2.0';
	    this.label = '';
	    this.url = '';
	    this.content = '';
		this.click = '';
		this.index = 0;
		this.nameParent = '';
	},
	
	escreverVoltar: function() {
		var strHTML = '';

		if((this.url=='')&&(this.click=='')){
			alert('erro: breadcrumbItem.url ou breadcrumbItem.click devem ser informados.');
			return false;
		}
		
		if((this.url!='')&& (this.content=='')&&(this.click=='')){
		}
		else{
			this.click = this.nameParent + '.removeapartirlabel(\'' + this.label + '\');'+ this.click;
		}
		
		
		strHTML = '<span class=BreadcrumbLink onclick="' 
		if((this.url!='')&& (this.content=='')&&(this.click=='')){
			strHTML +=  "document.location.href='" + this.url + "'"
		}
		
		if(this.click!=''){
			if(this.click.indexOf(';')==-1){
				this.click += ';'
			}
			strHTML += this.click
		}
		if((this.url!='')&&(this.content!='')){
			strHTML += 'new Ajax.Updater(\'' + this.content + '\',\'' + this.url + '\',{method: \'get\'});';
		}
		strHTML += '">'+
		'<table style="position:absolute" id="cmd_breadCrumb_voltar" valign="middle" border="0" cellpadding="0" cellspacing="0" class="button3" _onMouseOver="BtOver(\'cmd_breadCrumb_voltar\')" _onMouseOut="BtOut(\'cmd_breadCrumb_voltar\')" >'+
		'<tr>'+
		'<td><img align="absmiddle" src="..\\imagens\\ico_voltar_breadcrumb.gif">'+
		'</td>'+
		'</tr>'+
		'</table>'+
		'</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
		
		
		
		
		return strHTML;
   },
	escrever: function(booLink) {
		var strHTML = '';
		//alert('escrever')
		if((this.url=='')&&(this.click=='')){
			alert('erro: breadcrumbItem.url ou breadcrumbItem.click devem ser informados.');
			return false;
		}
		
		if((this.url!='')&& (this.content=='')&&(this.click=='')){
		}
		else{
			this.click = this.nameParent + '.removeapartirlabel(\'' + this.label + '\');'+ this.click;
		}
		
		if(booLink){
			strHTML = '<span class=BreadcrumbLink onclick="' 
			if((this.url!='')&& (this.content=='')&&(this.click=='')){
				strHTML +=  "document.location.href='" + this.url + "'"
			}
			
			if(this.click!=''){
				if(this.click.indexOf(';')==-1){
					this.click += ';'
				}
				strHTML += this.click
			}
			if((this.url!='')&&(this.content!='')){
				strHTML += 'new Ajax.Updater(\'' + this.content + '\',\'' + this.url + '\',{method: \'get\'});';
			}
			strHTML += '">'+ this.label + '<\/span>'
		}
		else{
			strHTML += '<span class=Breadcrumb>'+ this.label +'</span>'
		}
		return strHTML;
   }
};


var breadcrumb = Class.create();
breadcrumb.prototype = {
	initialize: function() {
		this.cBreadcrumbItem = new Array();
		this.content = '';
		this.name = '';
	},
	removeapartirlabel: function(label) {
		
		for(var i=0; i<this.cBreadcrumbItem.length; i++){
			if(this.cBreadcrumbItem[i].label==label){
				//alert(i)
				this.removeapartir(i+1);
				return ;
			}
		}
		
	},
	removeapartir: function(index) {
		var arrBreadcrumbItemAux = new Array();
		var intCont;
		intCont = 0;
		
		for(var i=0; i<this.cBreadcrumbItem.length; i++){
			//alert(this.cBreadcrumbItem[i].label)
			if(index>i){
				arrBreadcrumbItemAux[intCont] = this.cBreadcrumbItem[i];
				arrBreadcrumbItemAux[intCont].index = intCont;
				intCont++;
			}
		}
		this.cBreadcrumbItem = arrBreadcrumbItemAux
		this.escrever();
	
	},
	removeindex: function(index) {
		var arrBreadcrumbItemAux = new Array();
		var intCont;
		intCont = 0;
		for(var i=0; i<this.cBreadcrumbItem.length; i++){
			if(index!=i){
				arrBreadcrumbItemAux[intCont] = this.cBreadcrumbItem[i];
				arrBreadcrumbItemAux[intCont].index = intCont;
				intCont++;
			}
		}
		this.cBreadcrumbItem = arrBreadcrumbItemAux
		this.escrever();
	},
	remove: function(label) {
		var arrBreadcrumbItemAux = new Array();
		var intCont;
		intCont = 0;
		for(var i=0; i<this.cBreadcrumbItem.length; i++){
			if(this.cBreadcrumbItem[i].label!=label){
				arrBreadcrumbItemAux[intCont] = this.cBreadcrumbItem[i];
				arrBreadcrumbItemAux[intCont].index = intCont;
				intCont++	
			}
		}
		this.cBreadcrumbItem = arrBreadcrumbItemAux
		this.escrever();
	
	},
	add: function(label, content, url, click) {
		if(this.name == ''){
			alert('erro: informade o nome da instancia.');
			return false;
		}
		if(label == ''){
			alert('erro: breadcrumb.label não informado.');
			return false;
		}
		
		for (var i=0; i<this.cBreadcrumbItem.length; i++){
			if(this.cBreadcrumbItem[i].label==label){
				return false;	
			}
		}
		var ind = this.cBreadcrumbItem.length;
		this.cBreadcrumbItem[ind] = new breadcrumbItem();
		this.cBreadcrumbItem[ind].label = label;
		this.cBreadcrumbItem[ind].content = content;
		this.cBreadcrumbItem[ind].url = url;
		this.cBreadcrumbItem[ind].click = click;
		this.cBreadcrumbItem[ind].index = ind;
		
		this.cBreadcrumbItem[ind].nameParent = this.name;
		this.escrever();
	},
	escrever: function(){
		if(this.content == ''){
			alert('erro: breadcrumb.content não informado.');
			return false;
		}
		$(this.content).innerHTML = '';
		
		//botao voltar
		if(this.cBreadcrumbItem.length > 2){
		    var i = this.cBreadcrumbItem.length-2
		    $(this.content).innerHTML += this.cBreadcrumbItem[i].escreverVoltar();
			$(this.content).innerHTML += '&nbsp;&nbsp;'
		}
		
		//itens
		for (var i=0; i<this.cBreadcrumbItem.length-1; i++){
			$(this.content).innerHTML += this.cBreadcrumbItem[i].escrever(true);
			$(this.content).innerHTML += '&nbsp;\>&nbsp;'
		}
		$(this.content).innerHTML += this.cBreadcrumbItem[i].escrever(false);
	    //alert($(this.content).innerHTML)
	}
}