var gwidth="400px";
var gheight="400px";

var gmenubar={id: "gmenubar", name: "Root"};
gmenubar.item=new Array();

var gmenu={id: "gmenu", name: "+"};

gmenu.item=new Array();

var gadgetstack=new Array();

var gadgetshade=false;

var gmenudef={style:"gmenu", state: "gadgetmenustate",  
              click: "setgadget", left:"2px", top:"0px",
	      width:"150px", trigger: "gadgethide();" };

function gadgetgetcookie(cname){
    if (document.cookie.length !=0) {
	begin = document.cookie.indexOf(cname+"=");
	if (begin != -1) {
	    begin += cname.length+1;
	    end = document.cookie.indexOf(";", begin);
	    if (end == -1) end = document.cookie.length;
	    return unescape(document.cookie.substring(begin, end));
	}
    }
}

function gadgetsetcookie(cname,val) {
    var today=new Date();
    var expire=new Date();
    expire.setTime(today.getTime()+3600000*24*60); 
    document.cookie=cname+"="+
             escape(val)+";expires="+expire.toGMTString()+";path=/";
}





function gadgetmenustate(cell, flg) {
  if (flg==true) {
	cell.style.color='#c00000';
	cell.style.backgroundColor='#000000';
  } else {
      cell.style.color='#000000';
      cell.style.backgroundColor='#c0c0c0';
  }
}

function makegadget(id) {

  num=gadgetstack.length;
  prefix="gadget."+num+".";
    
  var gitem={prefix: prefix, id: id,defid: id};
  
  gadgetstack.push(gitem);

  document.writeln("<div style=\"border: 1px solid black;z-index:+3000;\">");
  document.writeln("<div style=\"background-color: #c0c0c0; border-bottom: 1px solid black;\">");
  document.writeln("<table><tr><td>");
  gmenudef.trigger="gadgethide('"+prefix+"');"
  makemenubar(prefix,gmenubar,gmenudef,'gmenubar');
  document.writeln("</td><td style=\"font-weight:bold; font-size: 8pt;\">");
  document.writeln("<div id=\""+prefix+"title\"></div>");
  document.writeln("</td></tr></table>");  
  document.writeln("</div>");
  document.writeln("<div id=\""+prefix+"content\" style=\"background-color: #ffffff; width:"+
                     gwidth+"; height:"+gheight+";\"></div>");
  document.writeln("</div>");
}

function setgadget(prefix,id) {

    for (var s=0;s<gadgetstack.length;s++) 
	if (gadgetstack[s].prefix==prefix) break;
    if (s==gadgetstack.length) return;
    gadgetstack[s].id=id;   

    for (var i=0;i<gadgets.length;i++)
      if (gadgets[i].id==id) break;

      
    content=document.getElementById(prefix+"content");
    title=document.getElementById(prefix+"title");

    if (i==gadgets.length) {
      title.innerHTML="";
      content.innerHTML="";
     
      
    } else {
      title.innerHTML=gadgets[i].title;
      content.innerHTML="<iframe frameborder=\"0\" width=\""+gwidth+"\" height=\""+
                         gheight+"\" src=\""+gadgets[i].href+"\"></iframe>";
      
    }
}

function gadgetshow(prefix) {

    if (gadgetshade==false) return;
    if (prefix==undefined) { 
	for (var i=0;i<gadgetstack.length;i++) {
          el=document.getElementById(gadgetstack[i].prefix+"content");          
          el.style.visibility="visible";
	}
    } else {
	el=document.getElementById(prefix+"content");
        el.style.visibility="visible"; 
    }
}

function gadgethide(prefix) {

    if (gadgetshade==false) return;
    if (prefix==undefined) { 
 	for (var i=0;i<gadgetstack.length;i++) {
          el=document.getElementById(gadgetstack[i].prefix+"content");
          el.style.visibility="hidden";
	}
    } else {
	el=document.getElementById(prefix+"content");
        el.style.visibility="hidden"; 
    }
}

function gadgetunload(cname) {
  var cval="";
  for (var i=0;i<gadgetstack.length;i++) 
    cval=cval+gadgetstack[i].prefix+":"+gadgetstack[i].id+";";
  gadgetsetcookie(cname,cval);  
} 

function gadgetload(cname) {

  rv=getInternetExplorerVersion();
  if ((rv !=-1) && (rv<8.0)) gadgetshade=true;

  val=gadgetgetcookie(cname);
  
  if (val != undefined) {
      aval=val.split(";");
      for (var i=0;i<aval.length;i++) {
        xval=aval[i].split(":");
        if (xval.length !=2) continue;
        for (s=0;s<gadgetstack.length;s++) 
	  if (gadgetstack[s].prefix==xval[0])
	      gadgetstack[s].id=xval[1];
      }
   

  }
    
  for (var i=0;i<gadgetstack.length;i++) 
    if (gadgetstack[i].id  !=undefined) 
      setgadget(gadgetstack[i].prefix,gadgetstack[i].id);
  
}

function gadgetreset() {
 for (var i=0;i<gadgetstack.length;i++) 
     if (gadgetstack[i].defid  !=undefined)
       setgadget(gadgetstack[i].prefix,gadgetstack[i].defid);
     else  setgadget(gadgetstack[i].prefix,"none");
}
