function createRequestObject() {
		var ro;
		var browser = navigator.appName;
		if(browser == "Microsoft Internet Explorer"){
				ro = new ActiveXObject("Microsoft.XMLHTTP");
		}else{
				ro = new XMLHttpRequest();
		}
		return ro;
}
var http = createRequestObject();


//javascript function to open the picker window
function open_ajax_picker (object,ao_where,hidden_field,parent_object,parent_object_id,parent_object_field) { 
	fade_admin_down();
	show_div('inline_picker');
	document.getElementById('inline_picker_content').innerHTML = 'LOADING';	
 	var futdate = new Date(); 
 	var expdate = futdate.getTime();
 	http.open('get', '/kontent/v8/admin/?ajax=ajax_pick'
		+'&object='+object
		+'&ao_where='+ao_where
		+'&parent_object='+parent_object
		+'&parent_object_id='+parent_object_id
		+'&parent_object_field='+parent_object_field
		+'&hidden_field='+hidden_field
		+'&name_field=name_field_'+hidden_field
		+'&t='+expdate
		); 
 	http.onreadystatechange = handle_response_general; 
 	http.send(null); 
} 
//javascript function to save the data
function save_result (id,name,object,hidden_field,parent_object,parent_object_id,parent_object_field) { 
	show_div('inline_picker');
	document.getElementById('inline_picker_content').innerHTML = 'SAVING SELECTION';
	var futdate = new Date();
 	var expdate = futdate.getTime();
 	http.open('get','/kontent/v8/admin/?ajax=ajax_pick'
		+'&parent_object='+parent_object
		+'&parent_object_id='+parent_object_id
		+'&parent_object_field='+parent_object_field
		+'&selected_id='+id
		+'&hidden_field='+hidden_field
		+'&name_field=name_field_'+hidden_field
		+'&selected_name='+name
		+'&object='+object
		+'&t='+expdate
		); 
	http.onreadystatechange = handle_response_general;
	http.send(null);
}
//javascript function to provide a new form.
function add_new_ajax_form (object,ao_where,hidden_field) {
	show_div('inline_picker');
	document.getElementById('inline_picker_content').innerHTML = 'LOADING';
	var futdate = new Date();
	var expdate = futdate.getTime();
	http.open('get','/kontent/v8/admin/?ajax=ajax_new'
		+'&object='+object
		+'&ao_where='+ao_where
		+'&hidden_field='+hidden_field
		+'&name_field=name_field_'+hidden_field
		+'&t='+expdate
		);
	http.onreadystatechange = handle_response_general;
 	http.send(null);
}
//javascript function to provide a new form.
function submit_new_ajax_form (object,hidden_field) {
	var request_string = submit_ajax_form('ajax_add_form');
	document.getElementById('inline_picker_content').innerHTML = 'SAVING';
	var futdate = new Date();
	var expdate = futdate.getTime();
	http.open('get','/kontent/v8/admin/?ajax=ajax_new'
		+'&object='+object
		+'&hidden_field='+hidden_field
		+'&name_field=name_field_'+hidden_field
		+request_string
		+'&t='+expdate
		);
	http.onreadystatechange = handle_response_general;
	http.send(null);
}

function open_public_ajax_page (file,request_string) {
	fade_admin_down();
	show_div('inline_popup');
	document.getElementById('inline_popup_content').innerHTML = 'LOADING';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/?ajax='+file+request_string+'&t='+expdate);
	http.onreadystatechange = handle_response_inline;
	http.send(null); 
}
function open_admin_ajax_page (file,request_string) {
	fade_admin_down();
	show_div('inline_popup');
	document.getElementById('inline_popup_content').innerHTML = 'LOADING';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/kontent/v8/admin/?ajax='+file+request_string+'&t='+expdate);
	http.onreadystatechange = handle_response_inline;
	http.send(null); 
}
function ajax_id_html_javascript(ajax_element_id,file,request_string,javascript) {
	document.getElementById(ajax_element_id).innerHTML = '...';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/kontent/v8/admin/?ajax='+file+request_string+'&ajax_element_id='+ajax_element_id+'&javascript='+javascript+'&t='+expdate);
	http.onreadystatechange = handle_response_html_javascript;
	http.send(null); 
}
function ajax_public_id_html_javascript(ajax_element_id,file,request_string,javascript) {
	document.getElementById(ajax_element_id).innerHTML = '...';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/?ajax='+file+request_string+'&ajax_element_id='+ajax_element_id+'&javascript='+javascript+'&t='+expdate);
	http.onreadystatechange = handle_response_html_javascript;
	http.send(null); 
}
function aj(ajax_element_id,file,request_string,javascript) {
	document.getElementById(ajax_element_id).innerHTML = '...';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get',file+request_string+'&ajax_element_id='+ajax_element_id+'&javascript='+javascript+'&t='+expdate);
	http.onreadystatechange = handle_response_html_javascript;
	http.send(null); 
}
function aj2(ajax_element_id,file,request_string,javascript) {
	document.getElementById(ajax_element_id).innerHTML = '...';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/?ajax='+file+request_string+'&ajax_element_id='+ajax_element_id+'&javascript='+javascript+'&t='+expdate);
	http.onreadystatechange = handle_response_html_javascript;
	http.send(null); 
}


//submit
function submit_ajax_form(form_name) {
	var elem = document.getElementById(form_name).elements;
	var s_return = '';
	for(var i=0; i<elem.length;	 i++) {
		if (elem[i].type == 'file') {
			s_return = s_return+'&ajax_'+elem[i].name+"="+elem[i].value;
		}
		if (elem[i].type == 'text' || elem[i].type == 'hidden' || elem[i].type == 'checkbox') {
			s_return = s_return+'&ajax_'+elem[i].name+"="+elem[i].value;
		}  
		if (elem[i].type == 'select-one') {
			s_return = s_return+'&ajax_'+elem[i].name+"="+elem[i].options[elem[i].selectedIndex].value;
		}
	}
	return s_return;
}

/////IMAGES
function open_edit_image (image_file,uid,kzoom,dir,form_action,object,object_id,field,pick_dir) {
	fade_admin_down();
	show_div('inline_picker');
	document.getElementById('inline_picker_content').innerHTML = 'LOADING';	
	var futdate = new Date(); 
	var expdate = futdate.getTime();
	http.open('get','/kontent/v8/admin/?ajax=ajax_image'
		+'&image='+image_file
		+'&uid='+uid
		+'&kzoom='+kzoom
		+'&dir='+dir
		+'&pick_dir='+pick_dir
		+'&form_action='+form_action
		+'&object='+object
		+'&object_id='+object_id
		+'&field='+field
		+'&t='+expdate
		);
	http.onreadystatechange = handle_response_general;
	http.send(null); 
}
//javascript function to save the data
function pick_image (picked_image,uid,object,object_id,field,dir) { 
	show_div('inline_picker');
	document.getElementById('inline_picker_content').innerHTML = 'SAVING SELECTION';
	document.getElementById('inline_picker_content').innerHTML = 'updating thumbnail';
	var futdate = new Date();
 	var expdate = futdate.getTime();
 	http.open('get','/kontent/v8/admin/?ajax=ajax_image'
		+'&picked_image='+picked_image
		+'&uid='+uid
		+'&dir='+dir
		+'&object='+object
		+'&object_id='+object_id
		+'&field='+field
		+'&t='+expdate
		); 
	http.onreadystatechange = handle_response_general;
	http.send(null);
}




//handle

function handle_response_html_javascript() {   
if(http.readyState == 4) {	
	var response = http.responseText;	
	var a_returned_data = new Array();	
	a_returned_data = response.split('|-|'); 	
	if(response.indexOf('|-|') == -1) { 	
		alert('error, no separators returned in ajax response');	
	  	alert(response);	  
   	} 
	var element_id = a_returned_data[0];	
	var new_value = a_returned_data[1]; 
	var javascript = a_returned_data[2]; 
	//alert('change '+element_id+' to '+new_value);
	document.getElementById(element_id).innerHTML = new_value;
	//alert(javascript);
	eval(javascript);
}//end if readystate=4
} //end handle response function




function handle_response_general() { 
if(http.readyState == 4) {	
	var response = http.responseText;	
	var a_returned_data = new Array();	
	a_returned_data = response.split('|-|'); 	
	if(response.indexOf('|-|') == -1) { 	
		alert('error, no separators returned in ajax response');	
	  	alert(response);	
   	} 
   	var start_at = 0;
	for (i=0;i<5;i++) {
		start_at = 3*i;
		var element_type = a_returned_data[start_at+0];	
		var element_id = a_returned_data[start_at+1];	
		var new_value = a_returned_data[start_at+2]; 
	   	
		if (element_type == 'input_box') {  
	    	//alert('input_box: replace '+element_id+'with '+new_value);
	    	var e=document.getElementById(element_id);  
			e.value=new_value; 
		} 
		if (element_type == 'div') {  
	    	//alert('div, looking for '+element_id);
	    	//alert(new_value);
	    	document.getElementById(element_id).innerHTML = new_value;
	    	//alert('done');
	   	} 
		if (element_type == 'div_show_inline') {  
	    	//alert('div, looking for '+element_id);
	    	//alert(new_value);
	    	document.getElementById(element_id).innerHTML = new_value;
    		show_div(element_id); 
    		fade_admin_down();
	    	//alert('done');
	   	} 
		if (element_type == 'script') {
			eval(new_value);
		}
		if (element_type == 'select_box') {
			alert('select_box');
			alert('selected index of '+element_id+'needs to be'+new_value);
		}
		if (element_type == 'hideandfadeup') {
			hide_div(element_id);
			fade_admin_up(); 
		}
	}
}//end if readystate=4
} //end handle response function


function handle_response_inline() { 
if(http.readyState == 4) {	
	var response = http.responseText;	
	if(response.indexOf('|-|') == -1) { 	
		document.getElementById('inline_popup_content').innerHTML = response;
		show_div('inline_popup'); 
   	} else {
   		//update html and evaluation script content
		var a_returned_data = new Array();	
		a_returned_data = response.split('|-|'); 	
		var html = a_returned_data[0];	
		document.getElementById('inline_popup_content').innerHTML = html;
		show_div('inline_popup');
		fade_admin_down(); 
		var script = a_returned_data[1];	
		eval(script);
   	}
}//end if readystate=4
} //end handle response function

