//* START
//init_request("GET",url, new AjaxObj());
//

function xmlHttpRequest(){
	var xmlHttp = null;
	try{
		xmlHttp = new XMLHttpRequest();
	}catch(e){
		try{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

// ************** site function

function start(){
	this.query_string = location.search.substr(1);
	if (typeof arguments[0] == "undefined"){
		alert('parametro: non esistente');//debug
		//return this.do_url();
	}else{
		alert('parametro:' + arguments[0]);//debug
	}
	this.do_url = function(){
		if(this.query_string){
			this.url_val = new Array();
			this.url_val = this.query_string.split("?");
			this.url = 'php/main.php?' + this.url_val.toString();
			//init_dummy_request('GET',this.url, 'pluto');
			//alert(url_string);//debug
		}else{
			this.url = 'php/main.php?action=home';
			
		}
		init_dummy_request('GET',this.url, 'pluto');
	}
	this.init_url = function(){
		this.url_var = this.query_string.split('&');
		for (var i in this.url_val){
			var nameVal = this.url_val[i].split('=');
			this.url_val[nameVal[0]] = nameVal[1];
		}
		return this.url_val;
	}
	this.return_url_vals = function(){
		var g = this.init_url();
		for (var i in g){
			alert(i + '=' + g[i]);
		}
	}
}	//this.do_url_string = function(){
		
				//var action = arguments[0];
				//var url_string = '?action=' + action;
				//if( action == 'home' || action== 'novita'){ 
					//var url = 'php/main.php';
					//url += url_string;
					//alert(url);//debug			
				//}
				//if(action=='view'){ 
					//var url = 'php/main.php';				
				//}
				//if (action=='view_cats'){
					//var url = 'php/categories.php';			
				//}
			//}
		//}
	//}

//}




function do_get_url_new_in_progress(){
	loader('pluto');
	var querystring = location.search.substr(1);
	var new_url_address = "";
	if(querystring){		
		alert('querystring=true');//debug
		var g = init_url(querystring);
		for (var i in g){
			new_url_address  += i + '=' + g[i] + '&';
		}
		alert(new_url_address);
	}else{
		alert('querystring=false');//debug
		var url = 'php/main.php';
		//url += do_location_new('novita');// + do_get_url();
		url += '?action=' + action;
	}
	init_dummy_request('GET',url, 'pluto');	
}

function init_url(querystring) {
	var url_box = new Array();
	var url_parts = querystring.split('&');
	for (var i in url_parts) {
		var nameVal = url_parts[i].split('=');
		url_box[nameVal[0]] = nameVal[1];
	}
	//return url_box;

}

				
function do_get_url_new(){
	loader('pluto');
	var querystring = location.search.substr(1);
	var variabili = new Array();
	variabili=querystring.split("&");
	var action = variabili[0].substr(variabili[0].indexOf("=")+1); 
	if (querystring == ""){
		//main_page_request('novita','pluto');
		//alert('false');
		var url = 'php/main.php';
		url += do_location_new('novita');// + do_get_url();		
	} else {
		if(action=='view'){ 
			var url = 'php/main.php';
			url+= do_get_url();
		}
		if (action=='view_cats'){
			var url = 'php/categories.php';
			url+= do_get_url();
		}		
	}
	//url += do_location_new(action_url);
	init_dummy_request('GET',url, 'pluto');	
}

function main_page_request(action_url,div){
	loader('pluto');
	var url = 'php/main.php';
	url += do_location_new(action_url);// + do_get_url();
	init_dummy_request('GET',url, div);	
}

function main_select_editore(action_url){
	var url = 'admin/php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(call_select_editore));	
}

function categories_page_request(action_url,div){
	loader('pluto');
	var url = 'php/categories.php';
	url += do_location_new(action_url);// + do_get_url();
	alert(url);
	init_dummy_request('GET',url, div);	
}

function main_table_map(action_url){
	var url = 'admin/php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(do_something));
}
	
function main_submit_search(div){
	loader('pluto');
	var target = document.getElementById('pluto');
	var url = 'php/search.php';
	var submit = document.getElementById(div);
	do_form();
	init_post_request_site('POST',url,do_form());
	alert('form inviato');
}

function init_post_request_site(method,url,post_data){
	var httpRequest = xmlHttpRequest();
	httpRequest.onreadystatechange = handler_new;
	httpRequest.open(method,url, true);
	httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	httpRequest.send(post_data);
	function handler_new(){
		var response = httpRequest.responseText;
		if(httpRequest.readyState == 4){
			if(httpRequest.status == 200){
				target = document.getElementById('pluto');
				target.innerHTML = response;
				//alert(response);
			}
		}
	}
}


// ************** admin functions

function get_main_table(action_url){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(do_something));	
}

function get_values_form(action_url){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(do_something_else));	
}

function get_image_name(action_url){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(call_image_name));
}


function get_select_editore(action_url){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(call_select_editore));	
}

function get_select_collane(select_id,select_dest_id){
	var select = document.getElementById(select_id);
	var my_select = document.getElementById(select_dest_id);
	var url = 'php/response.php';
	select.onchange = function(){
		url += '?action=collane&query=' + select.options[select.selectedIndex].value;
		init_request('GET',url, new AjaxObj(call_select_collana));		
	}	
}

function get_select_cat(action_url){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_request('GET',url, new AjaxObj(call_select_cat));	
}

//get_select_subcat('sel_03','sel_04');
function get_select_subcat(select_id,select_dest_id){
	var select = document.getElementById(select_id);
	var my_select = document.getElementById(select_dest_id);
	var url = 'php/response.php';
	select.onchange = function(){
		url += '?action=sottocategoria&query=' + select.options[select.selectedIndex].value;
		alert(url);
		init_request('GET',url, new AjaxObj(call_select_subcat));
	}
}



function dummy_request(action_url,div){
	var url = 'php/response.php';
	url += do_location_new(action_url);
	init_dummy_request('GET',url, div);	
}

function ajax_post_data(post_data,url){	
	init_post_request('POST',url,post_data);
}

function init_dummy_request(method,url,div){
	var httpRequest = xmlHttpRequest();
	httpRequest.onreadystatechange = handler;
	httpRequest.open(method,url, true);	
	httpRequest.send(null);
	function handler(){
		var response = httpRequest.responseText;
		if(httpRequest.readyState == 4){
			if(httpRequest.status == 200){
				target = document.getElementById(div);
				target.innerHTML = response;
				//alert(response);
			}
		}
	}
}

function init_post_request(method,url,post_data){
	var httpRequest = xmlHttpRequest();
	httpRequest.onreadystatechange = handler_new;
	httpRequest.open(method,url, true);
	httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	httpRequest.send(post_data);
	function handler_new(){
		var response = httpRequest.responseText;
		if(httpRequest.readyState == 4){
			if(httpRequest.status == 200){
				target = document.getElementById('pluto');
				//target.innerHTML = response;
				//alert(response);
			}
		}
	}
}

function init_request(method,url,init_obj){
	var httpRequest = xmlHttpRequest();
	//url += do_location();
	try {
		init_obj.this_set_obj(httpRequest);
		httpRequest.onreadystatechange = init_obj.the_method;
		httpRequest.open(method,url, true);
		httpRequest.send(null);
	} catch (errv) {
		// ERROR! 
	}
}






function AjaxObj(f_response_object,return_xml) {
	var my_object = null;
	this.this_set_obj = this_set_obj;//proprieta
	function this_set_obj(my_request) { my_object = my_request; }
	this.the_method = function(){
		var httpRequest = my_object;
		if(httpRequest.readyState == 4){
			if (httpRequest.status == 200){
				if (return_xml){
					var response = httpRequest.responseXML;
				} else {
					try{
						var response = eval("("+httpRequest.responseText+")");
					}catch(e){
						alert(e.message+"\r\n\r\n"+response);
					}
				}
				f_response_object(response);
			}else{
				alert("Errore HTTP: " + httpRequest.status);
			}
		}
		//alert("Oggetto creato con successo!");
		return true;
	} // end method
	
}

function status_request(){//funzione di call back
    var response = httpRequest.responseText;
	if(httpRequest.readyState == 1){
		target.innerHTML = 'Loading.';
	}
	if(httpRequest.readyState == 2){
		target.innerHTML = 'Loading..';
	}
	if(httpRequest.readyState == 3){
		target.innerHTML = 'Loading...';
	}
	if(httpRequest.readyState == 4){
		if(httpRequest.status == 200){
		//target = document.getElementById('pluto');
		target.innerHTML = response;
	}else{
			alert("Niente da fare, AJAX non funziona :(");
		}
	}
}

function dummy_function(){
	return true;
}




