////////// start ////////// query parser //////////
function ajax_parser() {
 var editor_flag = parent.document.getElementById('object_id_hidden_input');
 var pre_editor_flag = parent.document.getElementById('object_id_hidden_input_pre');
 var query_input = escape(parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').value);
 var query_input_split = query_input.split(" ");
 if (editor_flag) {
  switch(query_input_split[0]) {
   case "save":
    ajax('query_saver','result_div','');
    break;
   case "bold":
    parent.document.execCommand("styleWithCSS", true, null);
    parent.document.execCommand("bold", false, null);
    parent.document.getElementById('editor_txt_div').focus();
    break;
   case "italic":
    editor_command('italic');
    parent.document.getElementById('editor_txt_div').focus();
    break;
   case "underline":
    editor_command('underline');
    parent.document.getElementById('editor_txt_div').focus();
    break;
   case "link":
    var url_text = editor_flag.value;
    prompt('This is the object\'s permanent link.\n You can copy (Ctrl+C) or cut (Ctrl+X) it.','http://alpha.asdqwe.com/load?id=' + url_text);
    focus_1();
    break;
   default:
    ajax('query_parser','result_div','');
  }
 } else if (pre_editor_flag) {
  switch(query_input_split[0]) {
   case "link":
    var url_text = pre_editor_flag.value;
    prompt('This is the object\'s permanent link.\n You can copy (Ctrl+C) or cut (Ctrl+C) it.','http://alpha.asdqwe.com/load?id=' + url_text);
	    focus_1();
    break;
   default:
    ajax('query_parser','result_div','');
  }
 } else {
  ajax('query_parser','result_div','');
 }
}
////////// end ////////// query parser //////////

////////// start ////////// ajax request //////////
var ajax_request;

function ajax_find_request() {
 if (window.ActiveXObject) { // code for IE6, IE5
  ajax_request=new ActiveXObject("Microsoft.XMLHTTP");
 } else { // code for IE7+, Firefox, Chrome, Opera, Safari
  ajax_request=new XMLHttpRequest();
 }
}

function ajax_while_not_ready(object_to_be_replaced) {
 var ajax_temp_display = parent.document.getElementById(object_to_be_replaced);
 ajax_temp_display.innerHTML = "<img src='img/loading.gif' border='0' />";
}

function ajax_when_ready(object_to_be_replaced) {
 ajax_request.onreadystatechange=function() {
  if(ajax_request.readyState==4 && ajax_request.status==200) {
   var ajax_display = parent.document.getElementById(object_to_be_replaced);
   ajax_display.innerHTML = ajax_request.responseText;
  }
 }
}

function ajax(ajax_to_be_executed,object_to_be_replaced,function_id) {
 ajax_find_request();
 eval( ajax_to_be_executed + "(" + function_id + ")" );
 ajax_while_not_ready(object_to_be_replaced);
 ajax_when_ready(object_to_be_replaced);
}
////////// end ////////// ajax request //////////

////////// start ////////// ajax request specific //////////
function query_parser() {
 var query_input = escape(parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').value);
 var query_string = "&query_input=" + query_input;
 ajax_request.open("POST", "query_parser.php", true);
 ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajax_request.setRequestHeader("Content-length", query_string.length);
 ajax_request.setRequestHeader("Connection", "close");
 ajax_request.send(query_string);
}

function query_viewer(object_id_to_be_loaded) {
 var query_input = object_id_to_be_loaded;
 var query_string = "&object_id=" + query_input;
 ajax_request.open("POST", "query_viewer.php", true);
 ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajax_request.setRequestHeader("Content-length", query_string.length);
 ajax_request.setRequestHeader("Connection", "close");
 ajax_request.send(query_string);
}

function query_saver() {
 var editor_flag = parent.document.getElementById('object_id_hidden_input').value;
 if (editor_flag=="new") {
  var object_title = prompt("Please chose a title for this object:","new object");
 } else {
  var object_title = "";
 }
 var object_content = escape(parent.document.getElementById('editor_txt_div').innerHTML);
 var query_string = "&object_content=" + object_content + "&object_title=" + object_title;
 ajax_request.open("POST", "query_saver.php", true);
 ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajax_request.setRequestHeader("Content-length", query_string.length);
 ajax_request.setRequestHeader("Connection", "close");
 ajax_request.send(query_string);
}

function query_login() {
 var login_user_input = escape(parent.document.getElementById('login_user_input').value);
 var login_pass_input = escape(parent.document.getElementById('login_pass_input').value);
 var query_string = "&login_user_input=" + login_user_input + "&login_pass_input=" + login_pass_input;
 ajax_request.open("POST", "query_login.php", true);
 ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajax_request.setRequestHeader("Content-length", query_string.length);
 ajax_request.setRequestHeader("Connection", "close");
 ajax_request.send(query_string);
}

function query_new(object_type) {
 var query_string = "&object_type=" + object_type;
 ajax_request.open("POST", "query_new.php", true);
 ajax_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajax_request.setRequestHeader("Content-length", query_string.length);
 ajax_request.setRequestHeader("Connection", "close");
 ajax_request.send(query_string);
}
////////// end ////////// ajax request specific //////////

////////// start ////////// rich text editor commands //////////
function editor_command(command_to_be_applied) {
 parent.document.execCommand(command_to_be_applied, null, null);
}
////////// end ////////// rich text editor commands //////////

////////// start ////////// tray login //////////
function tray_login() {
 ajax_request.open("POST", "tray_login.php", true);
 ajax_request.send(null);	
}
////////// start ////////// tray login //////////

////////// start ////////// tray clock //////////
function tray_clock() {
 var currenttime = new Date();
 var hours = currenttime.getHours();
 var minutes = currenttime.getMinutes();
 var day = currenttime.getDate();
 var fullmonth = currenttime.getMonth();
 var fullyear = currenttime.getFullYear();
 if (hours < 10) { hours = "0" + hours; }
 if (minutes < 10) { minutes = "0" + minutes; }
 var month = fullmonth + 1;
 if (month < 10) { month = "0" + month; }
 var year = fullyear - 2000;
 document.getElementById('tray_clock_div').innerHTML = hours + ":" + minutes + ", " + day + "/" + month + "/" + year;
 setTimeout("tray_clock()", 30000);
}
/////////// end ////////// tray clock //////////

////////// start ////////// focus forwards //////////
function show_query_input_onload() {
 parent.document.getElementById('query_div').style.display='block';
 parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').focus();
}

function hide_query_input_onsubmit() {
 parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').value='';
 parent.document.getElementById('query_div').style.display='none';
}

function hide_query_input_onblur() {
 parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').value='';
 parent.document.getElementById('query_div').style.display='none';
 parent.document.getElementById('1').focus();
}

function hide_query_input_onblur_nofocus() {
 parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').value='';
 parent.document.getElementById('query_div').style.display='none';
}

function focus_query_input() {
 parent.document.getElementById('query_div').style.display='block';
 parent.document.getElementById('query_iframe').contentDocument.getElementById('query_input').focus();
}

function focus_1() {
 parent.document.getElementById('1').focus();   
}
////////// end ////////// focus forwards //////////
