var mySearchBaseURL = 'http://www.avui.cat' + '/client/avui_cat/components/cercador/behaviour/'; function getCategories(idSelectPublicacio, idSelectCategoria, indexPublicacioSelect) { var publicacio = getSelectedValue(idSelectPublicacio, indexPublicacioSelect); var mySearchEncoding = 'iso-8859-1'; var myParams = 'publicacio=' + publicacio; var myURL = mySearchBaseURL + 'categoriaCerca.php'; var myAjax = new Ajax.Request(myURL, { method :'get', encoding :mySearchEncoding, parameters :myParams, onComplete : function(transport) { if (200 == transport.status) { changeCategoriaContent(transport.responseXML, idSelectCategoria, publicacio); } } }); } function changeCategoriaContent(xml, idSelectCategoria, publicacio) { var xmlDoc = xml.documentElement; var xmlOptions = xmlDoc.getElementsByTagName("option"); removeEverythingSelect(idSelectCategoria); for (i = 0; i < xmlOptions.length; i++) { var selectValue = xmlOptions[i].attributes[0].nodeValue; // id // categoria var selectText = xmlOptions[i].childNodes[0].nodeValue; // Nom categoria addSelect(idSelectCategoria, selectValue, selectText); } enableDisableCategoria(idSelectCategoria, publicacio); } function getSelectedValue(idSelect, indexSelect) { var mySelect = $(idSelect); return mySelect.getElementsByTagName("option")[indexSelect].value; } function removeEverythingSelect(idSelect) { var mySelect = $(idSelect); while (mySelect.length != 0) { for (i = 0; i < mySelect.length; i++) { mySelect.remove(mySelect[i]); } } } function addSelect(idSelect, valueSelect, textSelect) { var option = new Element('option', { value :valueSelect }).update(textSelect); try { $(idSelect).add(option, null); } catch (ex) // IE { var IEoption = document.createElement('option'); IEoption.value = valueSelect; IEoption.text = textSelect; $(idSelect).add(IEoption); } } function enableDisableCategoria(idSelectCategoria, publicacio) { if (publicacio == 'publicacions') $(idSelectCategoria).disabled = true; else $(idSelectCategoria).disabled = false; }