var intRubroID, objCmbRubro, strRemoteSourceClientes, intCantColumnas;
var strObjContainerPrefix, strLinkTemplate, strTplItem, intPrimerClienteID, blnPrimerCarga, tplRotulo;
blnPrimerCarga = false;

function StartFiltro(){
	args = StartFiltro.arguments;
	objCmbRubro = args[0];
	strRemoteSourceClientes = args[1];
	strLinkTemplate = args[2];
	tplRotulo = args[3];
	intCantColumnas = args[4];
	strObjContainerPrefix = args[5];
	HandleOnChangeCmb();
}

function HandleOnChangeCmb(){
	if(strRemoteSourceClientes != ""){
		intRubroID = objCmbRubro.options[objCmbRubro.selectedIndex].value;
		strRemoteSourceClientes = strRemoteSourceClientes.replace(/\{0\}/, intRubroID);
		CrearXmlHttp(strRemoteSourceClientes, AplicaFiltroEnListado);
	}
}

function AplicaFiltroEnListado(nodoPrincipal) {
	if(blnObjsInit) ResetCliente();
	var intIterCol, nodoChild, strValorTexto, intItemsXCol, intCursor, objContainer;
	var intIterItem, strBuffer = "", strLabel, strID, strRotulo, intTopeCol, objTempNode;
	nodoChild = nodoPrincipal.getElementsByTagName("cliente");
	intCursor = -1;
	intItemsXCol = parseInt(nodoChild.length / intCantColumnas);
	if(intItemsXCol == 0) intItemsXCol = 1;
	for(intIterCol = 1;intIterCol <= intCantColumnas;intIterCol ++){
		intTopeCol = intItemsXCol;
		if((nodoChild.length % intCantColumnas) >= intIterCol && nodoChild.length > intCantColumnas) intTopeCol ++;
		if(intCursor <= nodoChild.length){
			for (intIterItem = 1; intIterItem <= intTopeCol; intIterItem ++){
				strLabel = unescape(GetNodeAtt(nodoChild[intCursor + intIterItem], "nombre"));
				strLabel = strLabel.replace(/\+/g, " ");
				strID = GetNodeAtt(nodoChild[intCursor + intIterItem], "id");
				strRotulo = GetNodeAtt(nodoChild[intCursor + intIterItem], "rotulo");
				if(strRotulo != "") strRotulo = tplRotulo.replace(/\{0\}/, strRotulo);
				if(intIterCol == 1 && intIterItem == 1) intPrimerClienteID = strID;
				if(strLabel != "undefined"){
					strValorTexto = strLinkTemplate.replace(/\{0\}/, strID);
					strValorTexto = strValorTexto.replace(/\{1\}/, strLabel);
					strValorTexto = strValorTexto.replace(/\{2\}/, strRotulo);
					strBuffer += strValorTexto;
				}
			}
			objContainer = document.getElementById(strObjContainerPrefix + intIterCol);
			objContainer.innerHTML = strBuffer;
			strBuffer = ""; intCursor += intTopeCol;
		} else {
			objContainer = document.getElementById(strObjContainerPrefix + intIterCol);
			objContainer.innerHTML = "";
		}
	}
	if(blnPrimerCarga) {
		ProxyVerPorCliente(intPrimerClienteID);
		ProxyVerMuestras();
	} else {
		blnPrimerCarga = true;
	}
}
