// JavaScript Document

function NewWindow(event, mypage, myname, w, h, scroll) {
	e = new Event(event);
	e.preventDefault();
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+','
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function strrev(inp) { 
  var outp = ""

  for (i = 0; i <= inp.length; i++) { 
    outp = inp.charAt (i) + outp 
  } 

  return outp;
}

function sendmail(user, domain, tld)
{
	var garbage = "!Fjji68@Mfmki#"
	var at = garbage.charAt(7);
	var nothing = "";
	var eadd = user + at + domain;
	eadd = eadd + "." + strrev(tld);
	loc = "mai";
	loc = loc + "lto";
	loc = loc + ":" + eadd;
	document.location.href = loc;
}

var SlideMenu = {
	create: function (elementID, menuButton, direction, noevents) {
				var newmenu = Object();
				newmenu.props = 0;
				newmenu.mode = 'vertical';
				if (typeof(direction) != "undefined" && direction != null) newmenu.mode = direction;
				
				//Move the menu of the screen, show the menu, create the Menu, collapse the menu, replace the menu.
				newmenu.menu = $(elementID);
				newmenu.menu.slider = newmenu;
				if (!noevents)
				{
					newmenu.menu.addEvent('mouseover', function(){this.slider.prop();});
					newmenu.menu.addEvent('mouseout', function(){this.slider.unprop();});
					if (menuButton)
					{
						$(menuButton).slider = newmenu;
						$(menuButton).addEvent('mouseover', function(){this.slider.show();});
						$(menuButton).addEvent('mouseout', function(){this.slider.unprop();});
					}
				}
				newmenu.menu.style.visibility = "hidden";
				newmenu.menu.style.display = "block";
				newmenu.menu.style.left = (newmenu.menu.offsetLeft - 1000) + "px";
				newmenu.menu.style.visibility = "visible";
				newmenu.slider = new Fx.Slide(elementID, {duration: 500, mode: newmenu.mode}).hide();
				newmenu.menu.style.left = (newmenu.menu.offsetLeft + 1000) + "px";
				
				newmenu.instanceID = elementID;	
				SlideMenu.instances[newmenu.instanceID] = newmenu;
				
				newmenu.show = function(force) {
					if (force) this.props = 0;
					if (this.props == 0)
					{
						this.slider.stop();
						this.slider.slideIn();
						this.prop();
					}
				}
				
				newmenu.hide = function() {
					if (this.props == 0)
					{
						this.slider.stop();
						this.slider.slideOut();
					}
				}
			
				newmenu.prop = function() {
					this.props++;
				}
			
				newmenu.hideTimer = null;
				newmenu.unprop = function() {
					if (this.props <= 0)
						this.props = 0;
					else
						this.props--;
					clearTimeout(this.hideTimer);
					this.hideTimer = setTimeout("SlideMenu.instances['"+this.instanceID+"'].hide();", 200);
				}
				
				return newmenu;
			},
		

	instances: new Array(),	//Public static member containing references to all isntances of SlideMenu objects.
	
	//show will show a menu if it is not already shown, prop it open, and set a timeout for it to auto-hide when it is unpropped.
	show:	function (id, force) {
				if (typeof(SlideMenu.instances[id]) == "object")
					SlideMenu.instances[id].show(force || false);
			},
	//unprop takes the prop off a menu so it can hide the next time it tries.
	unprop:	function (id) {
				if (typeof(SlideMenu.instances[id]) == "object")
					SlideMenu.instances[id].unprop();
			},
	//prop adds another prop to the menu so that it won't hide until it is unpropped.
	prop:	function (id) {
				if (typeof(SlideMenu.instances[id]) == "object")
					SlideMenu.instances[id].prop();
			}
};

function body_onload()
{
	SlideMenu.create('services_slidemenu', 'servicesMenuButton', 'vertical');
	
	//Only slide-in content if we're not in editing mode
	if (typeof(tempo_saveData) != "function")
	{
		contentPrintout = new SlideMenu.create('content_printout', null, null, noevents=true);
		cp = $('content_printout');
		heightAvail = $('wrapper').offsetHeight - 320;
		if (cp.offsetHeight < heightAvail) cp.style.height = heightAvail + "px";
		contentPrintout.slider.slideIn();
	}
}

function overState(elem)
{
	//elem.src.replace(/_out\./, "_over.");
}

function outState(elem)
{
	//elem.src.replace(/_over\./, "_out.");
}
