function setPageSize(sourceId,params) {
	if (document.getElementById(sourceId)) {
		if (document.getElementById(sourceId).selectedIndex > -1)
		var addParam = '';
		if (params && params.length > 0) {
			// YEAR
			if (params[0] > 0) {
				addParam = '&year='+params[0];
			}
			// MONTH
			if (params[1] > 0) {
				addParam+= '&month='+params[1];
			}
		}
		window.location.href='?pageSize='+parseInt(document.getElementById(sourceId).options[document.getElementById(sourceId).selectedIndex].value)+addParam;
		
	}
}

function listBranches(sourceId) {
	var browser=navigator.appName;
	if (browser=="Microsoft Internet Explorer") {
		if (document.getElementById(sourceId)) {
			if (document.getElementById(sourceId).className == 'displayOn') {
				document.getElementById(sourceId).className = 'displayOff';
			} else {
				document.getElementById(sourceId).className = 'displayOn';
			}
		}
	} else {
		if (document.getElementById(sourceId)) {
			if (document.getElementById(sourceId).className == 'displayOn') {
                document.getElementById(sourceId).className = 'displayOff';
                $('li#'+sourceId+' ul').slideUp("slow");
                return false;
			} else {
                document.getElementById(sourceId).className = 'displayOn';
                $('li#'+sourceId+' ul').slideDown("slow");
                return false;
			}
		}
	}
    return false;
}

function send_xmlhttprequest(handler,action,targetId,method, url, content, headers)
{
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp) {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function() {
        handler(xmlhttp,action,targetId);
    };
    if (headers) {
        for (var key in headers) {
            xmlhttp.setRequestHeader(key, headers[key]);
        }
    }
    xmlhttp.send(content);
    return true;
}


function ajaxList(action,link,sourceId,targetId,selectedItem)
{
	var val;
	var isSelectedItem = false;
	if (selectedItem == true) {
		if (document.getElementById(sourceId)) {
			// GET SELECTED ID
			if (document.getElementById(sourceId).selectedIndex > -1)
			val = document.getElementById(sourceId).options[document.getElementById(sourceId).selectedIndex].value;
		}
	} else {
		val = sourceId;
	}

	if (document.getElementById(targetId)) {
		// REMOVE ALL TARGET ELEMENTS
		removeAll(targetId);
		if (val>0 ) {
			var xImg = document.createElement("img");
			xImg.src = '/web/default/images/loadinfo.gif';
			document.getElementById(targetId).appendChild(xImg);
			$('#'+targetId).slideDown(500);
			// SEND REQUEST
		  	if (!send_xmlhttprequest(handler,action,targetId,'GET', link+'?act='+action+'&id='+val)) {
		   	    return false;
		   	}
		   	return true;
		}
	}
	return false;

}


function handler(xmlhttp,action,targetId)
{
    if (xmlhttp.readyState == 4) {
    	
    	switch (action) {
    	
    		case "estate-types":  
    			// RESPONSE ELEMENTS
				var options = xmlhttp.responseXML.getElementsByTagName('option');
			
				if (options) {					
					// TARGET ELEMENT
					var element = document.getElementById(targetId);
					removeAll(targetId);
					element.style.display = 'none';					
					// TRANSFORM ALL OPTIONS FROM RESPONSE
					if (options.length > 0) {
						for (var i=0; i < options.length; i++) {
							// CREATE SPAN
							var xSpan = document.createElement('span');
							
							// CREATE INPUT
							var xInput = document.createElement('input');
							xInput.name = 'estate_types[]';
							xInput.id = "estate_type_"+i;
							xInput.type = 'checkbox';
							xInput.value = options[i].getAttribute('value');
							xInput.setAttribute("class","element checkbox");
							xInput.setAttribute("className","element checkbox")
							
							// CREATE LABEL
							var xLabel = document.createElement('label');
							xLabel.setAttribute("for","estate_type_"+i);
							xLabel.appendChild(document.createTextNode(options[i].firstChild.data));
							xLabel.setAttribute("class","choice");
							xLabel.setAttribute("className","choice");
							
							// INPUT INTO SPAN
							xSpan.appendChild(xInput);
							// LABEL INTO SPAN
							xSpan.appendChild(xLabel);							
							
				          	element.appendChild(xSpan);				          	
						}
					}
					$('#'+targetId).slideDown(500);
				}
    		break;
    		
    		case "demands-districts":
    			// RESPONSE ELEMENTS
				var options = xmlhttp.responseXML.getElementsByTagName('option');
				if (options) {

					// TARGET ELEMENT
					var element = document.getElementById(targetId);
					removeAll(targetId);
					removeAll("box_"+targetId);

					// TRANSFORM ALL OPTIONS FROM RESPONSE
					if (options.length > 0) {
						for (var i=0; i < options.length; i++) {
				 			var newOption = document.createElement("option");
				            value=options[i].getAttribute('value');
				          	text=options[i].firstChild.data;
				          	newOption.setAttribute("value",value);
				          	texto = document.createTextNode(text);
				          	newOption.appendChild(texto);
				          	element.appendChild(newOption);
						}
					}
				}
    		break;
    		
    		case "demands-cities":
    			// RESPONSE ELEMENTS
				var options = xmlhttp.responseXML.getElementsByTagName('option');
				if (options) {

					// TARGET ELEMENT
					var element = document.getElementById(targetId);
					removeAll(targetId);
					removeAll("box_"+targetId);

					// TRANSFORM ALL OPTIONS FROM RESPONSE
					if (options.length > 0) {
						for (var i=0; i < options.length; i++) {
				 			var xLi = document.createElement("li");				 			
				 			var xAHref = document.createElement("a");
				 			
				 			xAHref.id = 'city_'+options[i].getAttribute('value')+targetId;
				 			xAHref.onclick = new Function ("selectCity('"+options[i].firstChild.data+"','"+options[i].getAttribute('value')+"',this.id,'box_"+targetId+"'); return false;");
				 			xAHref.appendChild(document.createTextNode(options[i].firstChild.data));
				 			xAHref.href = '#nogo';				 			
				 			xLi.appendChild(xAHref);				 			
				 			element.appendChild(xLi);
						}
					}
				}
    		break;

			default:
				// RESPONSE ELEMENTS
				var textVariable = xmlhttp.responseXML.getElementsByTagName('text');
				var language = xmlhttp.responseXML.getElementsByTagName('language');
				var seouri = xmlhttp.responseXML.getElementsByTagName('seouri');
				var options = xmlhttp.responseXML.getElementsByTagName('option');
			
			if (options && language && seouri) {			
					
					// TARGET ELEMENT
					var element = document.getElementById(targetId);
					removeAll(targetId);
					element.style.display = 'none';
					
					
					// TRANSFORM ALL OPTIONS FROM RESPONSE
					if (options.length > 0) {
						var optLen = options.length;
						element.appendChild(document.createTextNode(textVariable[0].getAttribute('value')));
						element.appendChild(document.createElement("br"));
						for (var i=0; i < options.length; i++) {
							var newA = document.createElement("a");
				            value=options[i].getAttribute('value');
				          	newA.setAttribute("href",'/'+language[0].getAttribute('value')+'/'+seouri[0].getAttribute('value')+'/'+value+'/');
				          	texto = document.createTextNode(options[i].firstChild.data);				          	
				          	newA.appendChild(texto);
				          	element.appendChild(newA);
				          	if (i < (optLen - 1) ) {
				          		// ADD DIVIDER
				          		var divider = document.createTextNode(" | ");
				          		element.appendChild(divider);
				          	}
						}
					}
					$('#'+targetId).slideDown(500);
				}
			break;
		}
	}


}

// REMOVE ALL ELEMENTS
function removeAll(id) {
  	if (document.getElementById(id)) {
  		document.getElementById(id).innerHTML = '';
  	}
}
