// global vars
var aConf=[];
var autoSavePeriod=60000;
var screenW=screen.width;
var screenH=screen.height;
var screenD=screen.colorDepth;
var stars=new Array();
var host=top.location.hostname;
//
//function tt1(){alert(this.href);};
////////////////////////
function aw1(o){ // ajax icon wait start
var i='<img style=\'z-index:100000;\' src=\'http://'+host+'/s/img/wait.gif\' width=\'64\' height=\'64\' alt=\'wait\' />';
if(o)o.innerHTML=i;
};
function aw0(o){ // ajax icon wait remove
if(o)o.innerHTML='';
};
function mkStar(o,id){
var t=false; 
if(o.src.search('star_on')==-1)o.src='/s/img/star_on.png';else o.src='/s/img/star_off.png';
t=ajax.call('ajxMkStar',id);
if(t)o.src='/s/img/star_on.png';else o.src='/s/img/star_off.png';
};
function sls(k,v){ // set local storage window.name
var t,l;
l=top.name;
if(l==='')t=new Object;else t=eval(l);
t[k]=v;
top.name=serialize(t);
//alert(top.name);
};
function gls(s){ // get local storage
var l,t;
l=top.name;
if(l==='')return '';
t=eval(l);
alert(t[s]);
};
function logScreen(){
var a=[screenW,screenH,screenD];
var t=ajax.call('ajxLogScreen',serialize(a));
//alert(t);
};
var PL=new Array();
function getLinks(){
var b,l,t;
b=document.getElementById('PageBody');
if(b){l=b.getElementsByTagName('A');
for(var i=0;i<l.length;i++){t=l[i];
if(t.className == 'no'){}
else if(t.parentNode.tagName == 'H1'){}
else if(t.href.search(host)==-1){}
else{
t.onmouseover=tt1;
t.onmouseout=tt2;
};
};};
};
 
function tt1(){
var s;
var u=this.href;
u=u.replace('http://'+host+'/','');
var i='l'+u;
if(PL[i])s=PL[i];else {s=ajax.call('ajxGetPage',u);PL[i]=s;};
if(s)tooltip.show(s);
};
 
function tt2(){tooltip.hide();};

function tm(){
var n=new Date();
var m=n.getMinutes();
if (m < 10)m='0' + m;
var h=n.getHours();
var s=n.getSeconds();
if (s < 10)s='0' + s;var mnt=n.getMonth()+1;
var mArr=new Array('','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec');
var a=new Object;
a['time']=n.getDate()+' '+mArr[mnt]+' '+n.getFullYear()+' '+h+':'+m+':'+s;
a['now']=h*10000+m*100+s;
return a;
};
function ldr(s){
var l=document.location;
if(s)document.location=l+s;else document.location=l+'?'+tm()['now'];
};
// tab menu
var tabmenu=new Array('','','','','','','','','','','','');
function tabon(tab,f){
var s; 
gid('tab1').className = ''; 
gid('tab2').className = ''; 
gid('tab3').className = '';
gid('tab4').className = '';
gid('tab5').className = '';
gid('tab'+tab).className = 'tabact';
var c=gid('tabhtml');
if(tabmenu[tab]!='')c.innerHTML=tabmenu[tab];
else {
aw1(c);
setTimeout('tabexec('+tab+',"'+f+'")', 500);
};
};
function tabexec(tab,f){
if(!f)return;
var s;
var c=gid("tabhtml");
s=ajax.call(f);
if(s){
if(tabmenu[tab]=='')tabmenu[tab]=s;
c.innerHTML=s;
}else aw0(gid('tabhtml'));

};

// base functions
function gid(s){ // getElementById
return document.getElementById(s);
};
/////////////////////////////////////////////////////////////////
function serialize(_obj)
{
   // Let Gecko browsers do this the easy way
   if (typeof _obj.toSource !== 'undefined' && typeof _obj.callee === 'undefined')
   {	
      return _obj.toSource();
   }; 
   // Other browsers must do it the hard way
   switch (typeof _obj)
   {
      // numbers, booleans, and functions are trivial:
      // just return the object itself since its default .toString()
      // gives us exactly what we want
      case 'number':
      case 'boolean':
      case 'function':
         return _obj;
         break;
      // for JSON format, strings need to be wrapped in quotes
      case 'string':
         return '"' + _obj + '"';
         break;
      case 'object':
         var str;
         if (_obj.constructor === Array || typeof _obj.callee !== 'undefined')
         {
            str = '[';
            var i, len = _obj.length;
            for (i = 0; i < len-1; i++) { str += serialize(_obj[i]) + ','; }
            str += serialize(_obj[i]) + ']';
         }
         else
         {
            str = '{';
            var key;
            for (key in _obj) { str += key + ':' + serialize(_obj[key]) + ','; }
            str = str.replace(/\,$/, '') + '}';
         };
         return str;
         break;
      default:
         return 'UNKNOWN';
         break;
   };
};