//<![CDATA[

  // --------------------------------------------------------------------------

  document.writeln('<script type="text/javascript" src="'+page.baseHref+'/js/swfobject.js"></script>');

  // --------------------------------------------------------------------------

  function printPage() {
    if (window.print) {
      window.print();
    } else {
      alert(page.noPrintMessage);
    }
  }

  // --------------------------------------------------------------------------

  function ZoomediaMenu() {

    // ------------------------------------------------------------------------

    this.ptr    = null;
    this.timer  = null;
    this.delay  = 1000;
    this.liList = new Array();

    // ------------------------------------------------------------------------

    this.init = function(id) {
      if (!document.getElementById) {
        return;
      }
      var element = document.getElementById(id);
      if (element) {
        this.build(element);
      }
    };

    // ------------------------------------------------------------------------

    this.setTimeOut = function(id) {
      this.timer = window.setTimeout("ZoomediaMenu.mouseOut('"+id+"');", this.delay);
    };

    // ------------------------------------------------------------------------

    this.mouseOver = function(id) {
      if (!document.getElementById(id)) {
        return;
      }

      for(var i=0; i < this.liList.length; i++) {
        if (this.liList[i] == id) {
          break;
        }
      }

      if (i == this.liList.length) {
        this.liList[i] = id;
      }

      if (this.timer != null && this.ptr != null) {
        var element = document.getElementById(this.ptr);
        element.firstChild.className = '';
        var ulList = element.getElementsByTagName('ul');
        for(var i=0; i < ulList.length; i++) {
          ulList.item(i).style.visibility = 'hidden';
			ulList.item(i).style.zIndex = 0;	
        }
        window.clearTimeout(this.timer);
        this.timer = null;
        this.liList = new Array();
      }

      this.ptr = id;

      var element = document.getElementById(this.ptr);

      if (element.tagName.toLowerCase() == 'li') {
        element.firstChild.className = 'hover';
      }

      var element = element.getElementsByTagName('ul');

      if (element.length > 0) {
        element.item(0).style.visibility = 'visible';
		element.item(0).style.zIndex = 1000;
      }
    };

    // ------------------------------------------------------------------------

    this.mouseOut = function(id) {
      var element = document.getElementById(id);

      if (!element) {
        return;
      }

      if (this.timer != null && this.ptr == id) {
        element.firstChild.className = '';

        var ulList = element.getElementsByTagName('ul');

        for(var i=0; i < ulList.length; i++) {
          ulList.item(i).style.visibility = 'hidden';
        }

        var liList = element.getElementsByTagName('li');

        for(var i=0; i < liList.length; i++) {
          liList.item(i).firstChild.className = '';
        }

        this.ptr = null;
        this.liList = new Array();

        return;
      }

      var className = '';
      for(var i=0; i < this.liList.length; i++) {
        if (this.liList[i] == id) {
          className = 'hover';
          break;
        }
      }

      element.firstChild.className = className;
    };

    // ------------------------------------------------------------------------

    this.build = function(element) {
      for(i=0; i < element.childNodes.length; ++i) {
        if (element.childNodes[i].nodeName.toLowerCase() != 'li') {
          continue;
        }

        for(var j=0; j < element.childNodes[i].childNodes.length; ++j) {
          if (element.childNodes[i].childNodes[j].nodeName.toLowerCase() == 'ul') {
            element.childNodes[i].onmouseover = function() {
              try {
                ZoomediaMenu.mouseOver(this.getAttribute('id'));
              } catch(err) {}
            };
            element.childNodes[i].onmouseout = function() {
              try {
                ZoomediaMenu.setTimeOut(this.getAttribute('id'));
              } catch(err) {}
            };
            //this.build(element.childNodes[i].childNodes[j]);
            //break;
          }
        }
      }
    };

    // ------------------------------------------------------------------------

  }//ZoomediaMenu

  var ZoomediaMenu = new ZoomediaMenu();

  
  
  //------------------- bibliography -------------------------
		function toggleitem(fset) 
		{ 
			x = document.getElementById(fset);
			if (x.style.display == 'block') x.style.display = 'none';
			else x.style.display = 'block';
		}		

  // --------------------------------------------------------------------------

  function ZoomediaGlossary() {
    this.show = function(d, event) {
      for(i=0; i<gloss_defs.length; i++){
        var e = gloss_defs[i];
        var aId = "gloss_"+e;
        var dId = "def_"+e;
        if(document.getElementById(dId)) {
          if((e == d) && (document.getElementById(dId).style.display != "block") ) {
              var dd = document.getElementById(dId);
              document.getElementById(aId).style.zIndex = "500";
              dd.style.display = "block";

            if(event.layerY) {
//              dd.style.top = event.pageY+'px';
//              dd.style.left = event.pageX+'px';
              dd.style.top = event.layerY+'px';
              dd.style.left = event.layerX+'px';
            } else {
/*              offset = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
              if(!offset) offset = 0; // stupid ie5/mac
              dd.style.top = (offset + event.clientY)+'px';
              dd.style.left = event.clientX+'px';
*/
				dd.style.top = (event.offsetY)+'px';
				dd.style.left = event.offsetX+'px';
            }
          } else {
            this.hide(e);
          }
        }
      }
    };

    this.hide = function(d) {
      var aId = "gloss_"+d;
      var dId = "def_"+d;

      document.getElementById(aId).style.zIndex = 1;
      document.getElementById(dId).style.display = "none";
    };

  }//ZoomediaGlossary

  // --------------------------------------------------------------------------

  var ZoomediaGlossary = new ZoomediaGlossary();

  // --------------------------------------------------------------------------

	function setFontSize(s) {
		sizes = ['small', 'medium', 'large'];
		for(i=0;i<sizes.length;i++) {						
			if(s == sizes[i]) {				
				createCookie('font_size', s, 180);
				$('body').addClass(sizes[i])
			} else {
				$('body').removeClass(sizes[i])
			}			
		}
	}
  
	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	
	$(document).ready(function() {		
		// fix for target="_blank"; use rel="external" instead
		$("a[@rel~='external']").attr({'target':'_blank'});		
		
		// hook up default text on input fields; get value from rel attribute
		$("input.focus_field").each(function() {
//			$(this).attr('value', $(this).attr('rel'));			
			$(this).attr('rel', $(this).attr('value')); // cheat
			$(this).blur(function() {if(!$(this).attr('value')) $(this).attr('value', $(this).attr('rel'))});
			$(this).focus(function() {if($(this).attr('value')==$(this).attr('rel')) $(this).attr('value', '')});
		});
	});


 // --------------------------------------------------------------------------

  function ZoomediaTrialMenu() {

    // ------------------------------------------------------------------------

    this.ptr    = null;
    this.timer  = null;
    this.delay  = 1000;
    this.liList = new Array();

    // ------------------------------------------------------------------------

    this.init = function(id) {
//      if (!document.getElementById) {
//        return;
//      }
//      var element = document.getElementById(id);
//      if (element) {
        this.build(id);
//      }
    };

    // ------------------------------------------------------------------------

    this.setTimeOut = function(id) {
      this.timer = window.setTimeout("ZoomediaTrialMenu.mouseOut('"+id+"');", this.delay);
    };

    // ------------------------------------------------------------------------

    this.mouseOver = function(id) {
      if (!document.getElementById(id)) {
        return;
      }

      for(var i=0; i < this.liList.length; i++) {
        if (this.liList[i] == id) {
          break;
        }
      }

      if (i == this.liList.length) {
        this.liList[i] = id;
      }

      if (this.timer != null && this.ptr != null) {
        var element = document.getElementById(this.ptr);
//        element.firstChild.className = '';
		element.style.zIndex = 1;
		
        var ulList = element.getElementsByTagName('ul');
        for(var i=0; i < ulList.length; i++) {
          ulList.item(i).style.visibility = 'hidden';
			ulList.item(i).style.zIndex = 0;	
        }
        window.clearTimeout(this.timer);
        this.timer = null;
        this.liList = new Array();
      }

      this.ptr = id;

      var element = document.getElementById(this.ptr);

      if (element.tagName.toLowerCase() == 'li') {
//        element.firstChild.className = 'hover';
      }

      var element = element.getElementsByTagName('ul');

      if (element.length > 0) {
        element.item(0).style.visibility = 'visible';
		element.item(0).style.zIndex = 1000;
		document.getElementById(id).style.zIndex = 1000;
		$('#' + id).parents('div#content_right, div#content_middle').css("z-index", 1000); // to fix IE z-index layering stupidity
      }
    };

    // ------------------------------------------------------------------------

    this.mouseOut = function(id) {
      var element = document.getElementById(id);

      if (!element) {
        return;
      }

      if (this.timer != null && this.ptr == id) {
//        element.firstChild.className = '';
		document.getElementById(id).style.zIndex = 1;
		$('#' + id).parents('div#content_right, div#content_middle').css("z-index", 0); // to fix IE z-index layering stupidity
        var ulList = element.getElementsByTagName('ul');

        for(var i=0; i < ulList.length; i++) {
          ulList.item(i).style.visibility = 'hidden';
        }

        var liList = element.getElementsByTagName('li');

        for(var i=0; i < liList.length; i++) {
//          liList.item(i).firstChild.className = '';
        }

        this.ptr = null;
        this.liList = new Array();

        return;
      }

      var className = '';
      for(var i=0; i < this.liList.length; i++) {
        if (this.liList[i] == id) {
//          className = 'hover';
          break;
        }
      }

//      element.firstChild.className = className;
    };

    // ------------------------------------------------------------------------

    this.build = function(element) {
		$('ul.' + element + ' li:has(ul.menu) > a').each(function() {
			$(this).mouseover(function() {
				ZoomediaTrialMenu.mouseOver($(this).parent().attr('id'));
			});
			$(this).mouseout(function() {
				ZoomediaTrialMenu.setTimeOut($(this).parent().attr('id'));
			});
		});
		$('ul.' + element + ' li ul.menu').each(function() {
			$(this).mouseover(function() {
				ZoomediaTrialMenu.mouseOver($(this).parent().attr('id'));
			});
			$(this).mouseout(function() {
				ZoomediaTrialMenu.setTimeOut($(this).parent().attr('id'));
			});
		});		
    };

    // ------------------------------------------------------------------------

  }//ZoomediaTrialMenu

  var ZoomediaTrialMenu = new ZoomediaTrialMenu();
	
	
//]]>
