
function GetXmlHttpObject(handler){ 
	var objxml = null;
	if(handler==null) {
		handler = function() {}
	}
 var ProgID = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];              
 try {  
		 objxml = new XMLHttpRequest();  
 }  
 catch(e) {  
	 for (var i = 0; i < ProgID.length; i++){  
		 try {  
			 objxml = new ActiveXObject(ProgID[i]);  
		 }  
		 catch(e) {  
			continue;  
		}  
	 }  
 } 
 objxml.onreadystatechange=handler;
 return objxml;  
}

function addOption(selectbox,text,value ){

	var opt = document.createElement("option");

	// Add an Option object to Drop Down/List Box
	selectbox.options.add(opt);
	
	// Assign text and value to Option object
	opt.text = text;
	opt.value = value;				
}


function change_filter(prefix,filter_id){
	var dropdown_name = prefix+filter_id;
	var dropdown = document.getElementById(dropdown_name);
	var value_id = dropdown.options[dropdown.selectedIndex].value;
	
	var d = new Date();
	var time = d.getTime();
	var url = SITEURL + "/libs/ajax/ajax_change_filter.php?timestamp"+time;
	
	params = "filter_id="+filter_id+"&value_id="+value_id+"&prefix="+prefix;
	
	xmlHTTP_change_filter = GetXmlHttpObject(change_filter_helper);//fails on safari 1
	xmlHTTP_change_filter.open("POST", url , true);
	
	xmlHTTP_change_filter.setRequestHeader("Cache-Control", "no-cache");
	xmlHTTP_change_filter.setRequestHeader("Cache-Control", "no-store");
	xmlHTTP_change_filter.setRequestHeader("Cache-Control", "must-revalidate");
	xmlHTTP_change_filter.setRequestHeader("Cache-Control", "post-check=0");
	xmlHTTP_change_filter.setRequestHeader("Cache-Control", "pre-check=0");
	xmlHTTP_change_filter.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	
	xmlHTTP_change_filter.setRequestHeader("Content-Type", "application/x-www-form-URLencoded");
	xmlHTTP_change_filter.setRequestHeader("Content-Length", params.length);
	xmlHTTP_change_filter.setRequestHeader("Connection", "close");
	xmlHTTP_change_filter.send(params);
	
}

function change_filter_helper(){
	if (xmlHTTP_change_filter.readyState==4 || xmlHTTP_change_filter.readyState=="complete") {
		response = xmlHTTP_change_filter.responseText;	
		response = response.split('[SPLIT]');
		
		if(response[0] == 'REMOVE'){
			ids = response[1].split(',');
			for(var filter in ids){
				document.getElementById(ids[filter]).length = 0;
				document.getElementById(ids[filter]).disabled = true;
			}
			
		}
		else{
			document.getElementById(response[0]).length = 0;
			ids = response[1].split('[OPTION]');
			for(var filter in ids){
				option = ids[filter].split(',');
				addOption(document.getElementById(response[0]), option[1], option[0]);
			}
			document.getElementById(response[0]).disabled = false;
			
			if(response[2] == 'REMOVE'){
				ids = response[3].split(',');
				for(var filter in ids){

					document.getElementById(ids[filter]).length = 0;
					document.getElementById(ids[filter]).disabled = true;
				}
				
			}
		}
	}
}


function text_field_control(id,stringval,status){
	if(status == 0){
		if (document.getElementById(id).value == ''){
			document.getElementById(id).value = stringval;
		}
	}
	else if(status == 1){
		element = document.getElementById(id);
		//cos ie7/ie6/some opear versions is shit and tries to get elements by name
		if(element.value == '') {
			collection = document.getElementsByName(id);
			for(i=0;i<collection.length;i++) {
				if(collection[i].value == stringval) {
					collection[i].value = '';
				}
			}
		}
		
		
		if (element.value == stringval){
			document.getElementById(id).value = '';
		}
	}
}
