// here we define global variable
var ajaxdestination="";

function getdata(what,where) { // get data from source (what)
 try {
   xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
  		new ActiveXObject("Microsoft.XMLHTTP");
 }
 catch (e) { /* do nothing */ }

 // we are defining the destination DIV id, must be stored in global variable (ajaxdestination)
 ajaxdestination=where;
 xmlhttp.onreadystatechange = triggered; // when request finished, call the function to put result to destination DIV
 xmlhttp.open("GET", what);
 xmlhttp.send(null);
  return false;
}

function triggered() { // put data returned by requested URL to selected DIV
  if (xmlhttp.readyState == 4) if (xmlhttp.status == 200) 
    document.getElementById(ajaxdestination).innerHTML =xmlhttp.responseText;
}




shortcut={
'all_shortcuts':{},
'add': function(shortcut_combination,callback,opt){
var default_options={
'type':'keydown',
'propagate':false,
'disable_in_input':false,
'target':document,
'keycode':false}
if(!opt)opt=default_options
else{
for(var dfo in default_options){
if(typeof opt[dfo]=='undefined')opt[dfo]=default_options[dfo]}}
var ele=opt.target
if(typeof opt.target=='string')ele=document.getElementById(opt.target)
var ths=this
shortcut_combination=shortcut_combination.toLowerCase()
var func=function(e){
e=e || window.event
if(opt['disable_in_input']){
var element
if(e.target)element=e.target
else if(e.srcElement)element=e.srcElement
if(element.nodeType==3)element=element.parentNode
if(element.tagName=='INPUT' || element.tagName=='TEXTAREA')return}
if(e.keyCode)code=e.keyCode
else if(e.which)code=e.which
var character=String.fromCharCode(code).toLowerCase()
if(code==188)character=","
if(code==190)character="."
var keys=shortcut_combination.split("+")
var kp=0
var shift_nums={
"`":"~",
"1":"!",
"2":"@",
"3":"#",
"4":"$",
"5":"%",
"6":"^",
"7":"&",
"8":"*",
"9":"(",
"0":")",
"-":"_",
"=":"+",
";":":",
"'":"\"",
",":"<",
".":">",
"/":"?",
"\\":"|"}
var special_keys={
'esc':27,
'escape':27,
'tab':9,
'space':32,
'return':13,
'enter':13,
'backspace':8,
'scrolllock':145,
'scroll_lock':145,
'scroll':145,
'capslock':20,
'caps_lock':20,
'caps':20,
'numlock':144,
'num_lock':144,
'num':144,
'pause':19,
'break':19,
'insert':45,
'home':36,
'delete':46,
'end':35,
'pageup':33,
'page_up':33,
'pu':33,
'pagedown':34,
'page_down':34,
'pd':34,
'left':37,
'up':38,
'right':39,
'down':40,
'f1':112,
'f2':113,
'f3':114,
'f4':115,
'f5':116,
'f6':117,
'f7':118,
'f8':119,
'f9':120,
'f10':121,
'f11':122,
'f12':123}
var modifiers={
shift:{wanted:false,pressed:false},
ctrl :{wanted:false,pressed:false},
alt :{wanted:false,pressed:false},
meta :{wanted:false,pressed:false}}
if(e.ctrlKey)modifiers.ctrl.pressed=true
if(e.shiftKey)modifiers.shift.pressed=true
if(e.altKey)modifiers.alt.pressed=true
if(e.metaKey)modifiers.meta.pressed=true
for(var i=0;k=keys[i],i<keys.length;i++){
if(k=='ctrl' || k=='control'){
kp++
modifiers.ctrl.wanted=true
}else if(k=='shift'){
kp++
modifiers.shift.wanted=true
}else if(k=='alt'){
kp++
modifiers.alt.wanted=true
}else if(k=='meta'){
kp++
modifiers.meta.wanted=true
}else if(k.length>1){
if(special_keys[k]==code)kp++
}else if(opt['keycode']){
if(opt['keycode']==code)kp++
}else{
if(character==k)kp++
else{
if(shift_nums[character]&&e.shiftKey){
character=shift_nums[character]
if(character==k)kp++}}}}
if(kp==keys.length&&
modifiers.ctrl.pressed==modifiers.ctrl.wanted&&
modifiers.shift.pressed==modifiers.shift.wanted&&
modifiers.alt.pressed==modifiers.alt.wanted&&
modifiers.meta.pressed==modifiers.meta.wanted){
callback(e)
if(!opt['propagate']){
e.cancelBubble=true
e.returnValue=false
if(e.stopPropagation){
e.stopPropagation()
e.preventDefault()}
return false}}}
this.all_shortcuts[shortcut_combination]={
'callback':func,
'target':ele,
'event': opt['type']}
if(ele.addEventListener)ele.addEventListener(opt['type'],func,false)
else if(ele.attachEvent)ele.attachEvent('on'+opt['type'],func)
else ele['on'+opt['type']]=func
},
'remove':function(shortcut_combination){
shortcut_combination=shortcut_combination.toLowerCase()
var binding=this.all_shortcuts[shortcut_combination]
delete(this.all_shortcuts[shortcut_combination])
if(!binding)return
var type=binding['event']
var ele=binding['target']
var callback=binding['callback']
if(ele.detachEvent)ele.detachEvent('on'+type,callback)
else if(ele.removeEventListener)ele.removeEventListener(type,callback,false)
else ele['on'+type]=false}}

function syncheight(){
var divl=document.getElementById('leftcontainer').offsetHeight
var divr=document.getElementById('rightcontainer').offsetHeight
var nVer=navigator.appVersion
var nAgt=navigator.userAgent
var browserName=navigator.appName
var fullVersion=''+parseFloat(navigator.appVersion)
var majorVersion=parseInt(navigator.appVersion,10)
var nameOffset,verOffset,ix
if((verOffset=nAgt.indexOf("MSIE"))!=-1){
browserName="Microsoft Internet Explorer"
fullVersion=nAgt.substring(verOffset+5)}
else if((verOffset=nAgt.indexOf("Opera"))!=-1){
browserName="Opera"
fullVersion=nAgt.substring(verOffset+6)}
else if((verOffset=nAgt.indexOf("Chrome"))!=-1){
browserName="Chrome"
fullVersion=nAgt.substring(verOffset+7)}
else if((verOffset=nAgt.indexOf("Safari"))!=-1){
browserName="Safari"
fullVersion=nAgt.substring(verOffset+7)}
else if((verOffset=nAgt.indexOf("Firefox"))!=-1){
browserName="Firefox"
fullVersion=nAgt.substring(verOffset+8)}
else if((nameOffset=nAgt.lastIndexOf(' ')+1)<(verOffset=nAgt.lastIndexOf('/'))){
browserName=nAgt.substring(nameOffset,verOffset)
fullVersion=nAgt.substring(verOffset+1)
if(browserName.toLowerCase()==browserName.toUpperCase()){
browserName=navigator.appName}}
if((ix=fullVersion.indexOf(";"))!=-1)fullVersion=fullVersion.substring(0,ix)
if((ix=fullVersion.indexOf(" "))!=-1)fullVersion=fullVersion.substring(0,ix)
majorVersion=parseInt(''+fullVersion,10)
if(isNaN(majorVersion)){
fullVersion=''+parseFloat(navigator.appVersion)
majorVersion=parseInt(navigator.appVersion,10)}
var add=0
if((browserName=="Microsoft Internet Explorer")&&(fullVersion>7)){var add=1;}
if(divl>divr){divl=divl-add;document.getElementById('rightcontainer').style.height=(divl-2)+"px";}
if(divl<divr){divr=divr-add;document.getElementById('leftcontainer').style.height=(divr-2)+"px";}
document.getElementById('leftcontainer').style.visibility="visible"
document.getElementById('rightcontainer').style.visibility="visible"}

