/**
 * mm_menu 20MAR2002 Version 6.0
 * Andy Finnell, March 2002
 * Copyright (c) 2000-2002 Macromedia, Inc.
 *
 * based on menu.js
 * by gary smith, July 1997
 * Copyright (c) 1997-1999 Netscape Communications Corp.
 *
 * Netscape grants you a royalty free license to use or modify this
 * software provided that this copyright notice appears on all copies.
 * This software is provided "AS IS," without a warranty of any kind.
 */
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= true;	
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 200;
var offX= 20;	// how far from mouse to show tip
var offY= -10; 
var tipFontFamily= "Arial, Helvetica, sans-serif";
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#003399";//
var tipBgColor= "#99FF66"; 
var tipBorderColor= "#75E43F";//
var tipBorderWidth= 1;//
var tipBorderStyle= "solid";//
var tipPadding= 5;//

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip

messages[0] = new Array('','List of our hosting plans. If these plans dont meet your needs please contact us.','#f7f7f7','#000000');
messages[1] = new Array('','This is the amount of storage you will have. Having more disk space will allow you to host more files, emails and everything else your account will be able to store on our server.','#f7f7f7','#000000');
messages[2] = new Array('','Bandwidth used for a website is similar to Gas used for a car. The more gas you have the farther you can drive with the car, the more bandwidth you have the more visitors you can have. If you go over your bandwidth your site will be suspended until you upgrade or wait until your bandwidth number is reset back to zero on the first of every month.','#f7f7f7','#000000');
messages[3] = new Array('','Our Control Panel will allow you to monitor the amount of disk space and bandwidth used, create e-mail addresses, Subdomains, MySql databases, and over 50 scripts instantly and much more.','#f7f7f7','#000000');
messages[4] = new Array('','This allow you to host multiple domains & unlimited websites. As many domains (.com/.net/.org..) as you want. You will be able to host more than one domain and have seperate Email & FTP Accounts for each domain!','#f7f7f7','#000000');
messages[5] = new Array('','With some hosting plans we offer free domain name registration for the first year.','#f7f7f7','#000000');
messages[6] = new Array('','A good example of a subdomain would be subdomain.yourdomain.com such as forums.webhostbytes.com is a subdomain of webhostbytes.com','#f7f7f7','#000000');
messages[7] = new Array('','Parked domains are used to forward to your main domain, they dont act as seperate websites.','#f7f7f7','#000000');
messages[8] = new Array('','Internation domains','#f7f7f7','#000000');
messages[9] = new Array('','This is the number of email accounts you get.','#f7f7f7','#000000');
messages[10] = new Array('','POP3 accounts are used to send and receive emails through programs such as Outlook Express.','#f7f7f7','#000000');
messages[11] = new Array('','Webmail allows you to send and receive emails online by going to yourdomain.com/webmail without having to use a email client such as outlook express.','#f7f7f7','#000000');
messages[12] = new Array('','Catch-All Mailbox .','#f7f7f7','#000000');
messages[13] = new Array('','Spam Assasin will block most spam from reaching your e-mail.','#f7f7f7','#000000');
messages[14] = new Array('','You can setup your email addresses to automatically reply to emails with your message.','#f7f7f7','#000000');
messages[15] = new Array('','You can setup a mail forwarder. Doing this will forward all your mail to any email address you wish.','#f7f7f7','#000000');
messages[16] = new Array('','Email filtering.','#f7f7f7','#000000');
messages[17] = new Array('','Mailing list.','#f7f7f7','#000000');
messages[18] = new Array('','FTP stands for File Transfer Protocol.The Internet protocol used mainly to upload files between a client and a FTP server.The more FTP Accounts will allow you to assign seperate FTP Accounts to seperate folders and directories.','#f7f7f7','#000000');
messages[19] = new Array('','Web-Based File Manager.','#f7f7f7','#000000');
messages[20] = new Array('','Anonumous FTP.','#f7f7f7','#000000');
messages[21] = new Array('','Server Side includes, refers to Perl based HTML commands that direct a server to generate on-the-fly contact for web pages.','#f7f7f7','#000000');
messages[22] = new Array('','PHP is a server side HTML embedded scripting language. We run PHP v4.4.3 and PHP v5.2.0 along with Zend Optimizer and IonCube Loader.','#f7f7f7','#000000');
messages[23] = new Array('','MySql is the most popular open source database used by forums and other database driven programs. We use version 4.1.21 at this time.','#f7f7f7','#000000');
messages[24] = new Array('','Perl is one of the most common CGI scripting languages used today. We have version 5.8.7 currently installed on our servers.','#f7f7f7','#000000');
messages[25] = new Array('','CGI is a standard for interfacing web servers with an executable application. Common uses include online feedback and online forms.','#f7f7f7','#000000');
messages[26] = new Array('','We support all versions of Frontpage which is a website creation tool that can be used to both create and upload your site.','#f7f7f7','#000000');
messages[27] = new Array('','Macromedia.','#f7f7f7','#000000');
messages[28] = new Array('','All accounts come with phpMyAdmin which allows you to easily manage your mysql database.','#f7f7f7','#000000');
messages[29] = new Array('','SSL encrypts confidential data such as credit card numbers and passwords. Either a shared SSL or a private SSL is required when taking credit cards off your site. You are welcome to provide us with the SSL and we will install it for a $30 charge, or you can purchase one directly from us for $75.00.','#f7f7f7','#000000');
messages[30] = new Array('','Crontab is a process in Unix systems that uses a Daemon called cron to execute commands for the user at a certain time.','#f7f7f7','#000000');
messages[31] = new Array('','Private .htaccess.','#f7f7f7','#000000');
messages[32] = new Array('','File handlers.','#f7f7f7','#000000');
messages[33] = new Array('','MIME handlers.','#f7f7f7','#000000');
messages[34] = new Array('','IP deny manager allows you to block whoever you want from being able to visit your site.','#f7f7f7','#000000');
messages[35] = new Array('','You will be able to make custom error pages such as custom 404 Error page when a visitor tries to access a none existant file.','#f7f7f7','#000000');
messages[36] = new Array('','All accounts come with Instant Backup features via cPanel. We also have a weekly offsite backup.','#f7f7f7','#000000');
messages[37] = new Array('','Hotlink Protection prevents other websites from stealing your bandwidth.','#f7f7f7','#000000');
messages[38] = new Array('','This allows you to protect any directories you want with a username and password. This will prevent the public from accessing the folder.','#f7f7f7','#000000');
messages[39] = new Array('','Dual Core server with HyperThreading.','#f7f7f7','#000000');
messages[40] = new Array('','Apache.','#f7f7f7','#000000');
messages[41] = new Array('','Cpanel.','#f7f7f7','#000000');
messages[42] = new Array('','24/7 Network Monitoring.','#f7f7f7','#000000');
messages[43] = new Array('','Fantastico De Luxe is an autoinstaller for cPanel. It provides you with the ability to quickly install dozens of the leading open source content management systems and much more into your web space within seconds.','#f7f7f7','#000000');
messages[44] = new Array('','Pre-Configured CGI Scripts.','#f7f7f7','#000000');
messages[45] = new Array('','Soholaunch Pro Edition.','#f7f7f7','#000000');
messages[46] = new Array('','Templates Express.','#f7f7f7','#000000');
messages[47] = new Array('','Agora is a fully featured shopping cart we provide, and can be installed with a click of the mouse.','#f7f7f7','#000000');
messages[48] = new Array('','Cube cart is another shopping cart that is free to use and can be installed instantly using our control panel.','#f7f7f7','#000000');
messages[49] = new Array('','osCommerce is a shopping cart that we provide which can be installed with a click of the mouse. "osCommerce allows store owners to setup, run, and maintain their online store fronts with minimum effort and with absolutely no costs or license fees involved!"','#f7f7f7','#000000');
messages[50] = new Array('','Zen Cart is another of the shopping carts we provide that can be installed with a click of the mouse. "Zen Cart will deliver the ultimate online shopping experience to your customers. Navigating through your merchandise offerings is a breeze with Zen Cart."','#f7f7f7','#000000');
messages[51] = new Array('','Server Status."','#f7f7f7','#000000');
messages[52] = new Array('','Disk usage."','#f7f7f7','#000000');
messages[53] = new Array('','Bandwidth report."','#f7f7f7','#000000');
messages[54] = new Array('','Web, Ftp, Subdomain Statistics."','#f7f7f7','#000000');
messages[55] = new Array('','Raw Access Logs, Raw Log Manager, Error log."','#f7f7f7','#000000');
messages[56] = new Array('','Account Management System."','#f7f7f7','#000000');
messages[57] = new Array('','We guarantee 24 hours a day, 7 days a week, and 365 days a year support via Email, Live Chat and Helpdesk.','#f7f7f7','#000000');
messages[58] = new Array('','Around-The-Clock Email Support.','#f7f7f7','#000000');
messages[59] = new Array('','Video Tutorials and Support Documentations.','#f7f7f7','#000000');
messages[60] = new Array('','Live News & Announcements System.','#f7f7f7','#000000');
messages[61] = new Array('','We provide an uptime Guarantee of 99.5% and will refund you if we dont meet the uptime guarantee.','#f7f7f7','#000000');
messages[62] = new Array('','We offer a 30 Day Unconditional Money Back Guarantee. If you are unhappy with any aspect of our hosting service we will fully refund you.','#f7f7f7','#000000');
messages[63] = new Array('','This allow you to host multiple domains & unlimited websites. As many domains (.com/.net/.org..) as you want. You will be able to host more than one domain and have seperate Email & FTP Accounts for each domain!','#f7f7f7','#000000');
messages[64] = new Array('','Having your own dedicated IP Is required if you want to install a Private SSL to process credit cards etc. A dedicated IP also lets you access your website with an ip directly.','#f7f7f7','#000000');
messages[65] = new Array('','SSL encrypts confidential data such as credit card numbers and passwords. Either a shared SSL or a private SSL is required when taking credit cards off your site. You are welcome to provide us with the SSL and we will install it for a $30 charge, or you can purchase one directly from us for $75.00.','#f7f7f7','#000000');
messages[66] = new Array('','All of our hosting plans come with the option to pay monthly or yearly. Tax is included in all hosting plans and there are no hidden charges. The price you see is the total price you will pay.','#f7f7f7','#000000');
messages[67] = new Array('','All of our hosting plans come with the option to pay monthly or yearly. Tax is included in all hosting plans and there are no hidden charges. The price you see is the total price you will pay.','#f7f7f7','#000000');
messages[68] = new Array('','We accept Visa, Mastercard, Discover, American Express and Paypal. All orders will be setup instantly.','#f7f7f7','#000000');

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
	var theImgs = new Array();
	for (var h=0; h<messages.length; h++) {
  	theImgs[h] = new Image();
		theImgs[h].src = messages[h][0];
		
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table width="' + tipWidth + '">';
var midStr = '<tr><td valign="top">';
var endStr = '</td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles for all but ns4. 
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = (ns4)? document.tipDiv: tooltip.style;
	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites
		tipcss.width = tipWidth+"px";
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}
	if (tooltip&&tipFollowMouse) {
		if (ns4) document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = trackMouse;
	}
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//			Assembles content for tooltip and writes 
//			it to tipDiv
/////////////////////////////////////////////////
var t1,t2;	// for setTimeouts
var tipOn = false;	// check if over tooltip link
function doTooltip(evt,num) {
	initTip();
	if (!tooltip) return;
	if (t1) clearTimeout(t1);	if (t2) clearTimeout(t2);
	tipOn = true;
	// set colors if included in messages array
	if (messages[num][2])	var curBgColor = messages[num][2];
	else curBgColor = tipBgColor;
	if (messages[num][3])	var curFontColor = messages[num][3];
	else curFontColor = tipFontColor;
	if (ns4) {
		var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
		tooltip.write(tip);
		tooltip.close();
	} else if (ie4||ie5||ns5) {
		var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		tipcss.backgroundColor = curBgColor;
	 	tooltip.innerHTML = tip;
	}
	if (!tipFollowMouse) positionTip(evt);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//		If tipFollowMouse set false, so trackMouse function
//		not being used, get position of mouseover event.
//		Calculations use mouseover event position, 
//		offset amounts and tooltip width to position
//		tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
	if (!tipFollowMouse) {
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	}
	// tooltip width and height
	var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
	var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
	else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
	else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);
	tipOn = false;
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//-->