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= "#CCE5FB"; 
var tipBorderColor= "#0E749A";//
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('','eFastservers does not charge a setup fee for hosting.','#CCE5FB','#000000');
messages[1] = new Array('','The is the amount of data storage space used to host your website and files in your account, usually measured in Megabytes (MB).','#CCE5FB','#000000');
messages[2] = new Array('','Bandwidth is a measure of the amount of data that can be sent across a connection per unit of time. Bandwidth is normally measured in megabits per sec (Mbps); a megabit being one million bits. The amount of bandwidth your web site requires depends on the applications that will be running. Simple HTML Web pages do not require a large amount of bandwidth, but full-motion video requires a large amount of bandwidth.','#CCE5FB','#000000');
messages[3] = new Array('','This is the number of domains you may host on your account depending on the plan purchased. If you wish to host multiple domains on one account, please visit our Reseller Plans.','#CCE5FB','#000000');
messages[4] = new Array('','Your sites will enjoy unlimited hits, vists and pageviews.','#CCE5FB','#000000');
messages[5] = new Array('','A subdomain is a subdivision of a larger domain. E.g., "forums.yourdomain.com" is a subdomain of yourdomain.com.','#CCE5FB','#000000');
messages[6] = new Array('','Each of our hosting packages comes with pre-defined number of POP3 email accounts. You have the option to retrieve email directly from POP3 mailboxes on the mail server using an email program such as Outlook. Your POP email accounts can be instantly created from your control panel.','#CCE5FB','#000000');
messages[7] = new Array('','All hosting accounts include SMTP, POP3, IMAP4, and LDAP support.','#CCE5FB','#000000');
messages[8] = new Array('','Our Win2k3 servers employ Meraks Icewrap Mail Server. Visit http://www.icewarp.com/ for more information.','#CCE5FB','#000000');
messages[9] = new Array('','All e-mail, attachements and files are scanned by our AVAST Anti-Virus Server prior to being delivered to your INBOX.','#CCE5FB','#000000');
messages[10] = new Array('','You can setup e-mail fowarding to forward all your e-mail to another account on your domain or to an e-mail account such as @yahoo.com.','#CCE5FB','#000000');
messages[11] = new Array('','Autoresponder\'s\ automatically respond to an email message sent to a predefined e-mail address in your account. This is useful for automatically sending out information via email, based on a user\'s\ emailed request.','#CCE5FB','#000000');
messages[12] = new Array('','If you have a high frequency of people whom mistype your email address, as these addresses (even though mistyped), will simply be bounced to your "catch-all" or "default" email account. The downside to using a "catch-all" is spam.','#CCE5FB','#000000');
messages[13] = new Array('','','#CCE5FB','#000000');
messages[14] = new Array('','You can turn spam filters ON/OFF for each e-address in your account','#CCE5FB','#000000');
messages[15] = new Array('','We filter spam from known spam sources using sophisticated content filtering rules at the server level.','#CCE5FB','#000000');
messages[16] = new Array('','Helm is a web-based management console that allows you to manage every aspect of your web site account. Features include Billing, Database Management, FTP, Statistics, the list is endless. For a live demo of the Helm control panel, please click on the DEMO link.','#CCE5FB','#000000');
messages[17] = new Array('','Create virtual directiories, which easily allows you to point a URL path to a physical folder or redirect the URL to another web site.','#CCE5FB','#000000');
messages[18] = new Array('','You can protect access to certain folders with a password. Files contained within a protected folder is not accessible until a user logs in using the proper password. You can define individual users, groups and directories to protect.','#CCE5FB','#000000');
messages[19] = new Array('','Multipurpose Internet Mail Extensions: The standard for attaching non-text files (such as graphics, spreadsheets, word processor documents, sound files, etc.) to email messages.','#CCE5FB','#000000');
messages[20] = new Array('','Error pages are served to Internet users when any one of a variety of errors occurs, such as when a user enters an incorrect URL or is not authorized to access a specific directory on your web site. Companies often customize error pages to brand them with a specific corporate images and a link to their home page. You do not have to customize these pages - the error page is always available, whether customized or not.','#CCE5FB','#000000');
messages[21] = new Array('','The DNS Zone Editor allows you to change the DNS pointers for your web site. The editor should be used with care and only if you are very familar with modifing DNS, as one incorrect modifiation could results in a dead web site.','#CCE5FB','#000000');
messages[22] = new Array('','If you need to set Parent Paths ON/OFF, you can use this option to do so without having to submit a support ticket.','#CCE5FB','#000000');
messages[23] = new Array('','Bandwidth stats tells you how much bandwidth your sites has used in the last 30 days.','#CCE5FB','#000000');
messages[24] = new Array('','You can view a breakdown of how much disk space your e-mail, website, logs, databases and other miscellaneous files are using.','#CCE5FB','#000000');
messages[25] = new Array('','There is nothing worst than having to wait 24-72hrs after changing DNS before you can test your website. Using our Temporary URL feature, you can test your web site immediately after uploading your files using this option.','#CCE5FB','#000000');
messages[26] = new Array('','Using this feature, you can edit the IIS default document list. This is the list of documents IIS will look for when you attempt to visit a directory. Examples include index.html, default.asp etc.','#CCE5FB','#000000');
messages[27] = new Array('','To upload files to your web site, you will need to use an FTP client to upload your files. You can do this with an FTP client such as CuteFTP or WSFTP Pro. Each website is automatically set up with an FTP account at the time of site creation. Depending on the number of accounts you are allowed, you can create additional FTP accounts for other users, and grant them read only, or write only privileges.  If your FTP client supports secure file transfers, you can also transmit your data securely with our servers. ','#CCE5FB','#000000');
messages[28] = new Array('','FTP Manager allows you to add, delete or create new FTP accounts.','#CCE5FB','#000000');
messages[29] = new Array('','Anonymous FTP allows anyone to FTP files to and from your web site. We do not support anonymous FTP in a shared environment due to the potential misuse of the account by unknown parties. Therefore, anonymous FTP for all regular hosting accounts is currently disabled.','#CCE5FB','#000000');
messages[30] = new Array('','Users may install AWSTATS, from their control panel, if they wish to monitor their sites using AWSTATS.','#CCE5FB','#000000');
messages[31] = new Array('','Domain aliases allows you to have multiple domain names resolve to a single web site. E.g., www.yourdomain.com could point to www.mydomain.com, etc. All domains must point and resolve to our DNS.','#CCE5FB','#000000');
messages[32] = new Array('','Web Forwarding allows you to foward a web site to another web site. E.g., your domain is called domain.com and you also have a domain called mydomain.com. You may foward mydomain.com to domain.com so that when mydomain.com is typed in the browser, users are fowarded to domain.com.','#CCE5FB','#000000');
messages[33] = new Array('','SSL: Is a protocol designed by Netscape to enable encrypted communications across the Internet. It provides privacy, authentication, and message integrity. SSL is often used in communications between browsers and servers. A URL that begins with "https" is a clue that an SSL connection will be used on the Web site. During an SSL connection, each side sends a Security Certificate to the other. Both sides then encrypt what they send, ensuring that only the intended recipient can decode it.','#CCE5FB','#000000');
messages[34] = new Array('','Our Control Panel Supports over 15 different languages. We currently suport, Chinese (Simplified), Chinese (Traditional), Croatian, Dutch, French, German, Italian, Japanese, Norwegian, Persian, Polish, Portuguese, Portuguese (Brazil), Spanish, Spanish (Spain) and Turkish.','#CCE5FB','#000000');
messages[35] = new Array('','DSN\'s\ is a simple way to connect, call a database stored in your db folder.','#CCE5FB','#000000');
messages[36] = new Array('','Microsoft Access is a popular, easy-to-use desktop database application.  Microsoft Access database files (.mdb) can be used with web hosting as an inexpensive way to add a dynamic database-driven capability to your web site.','#CCE5FB','#000000');
messages[37] = new Array('','As with Microsoft Access, Microsoft Excel is also supported. You can use a DSN to connect.','#CCE5FB','#000000');
messages[38] = new Array('','Microsoft\'s\ high-end database is very powerful and robust database designed for high volume sites. To administer MS SQL 2000, you should have a copy of MS Enterprise Manager installed on your development PC so you can administor and connect to your database on your web site. MS SQL can tricky to use in a shared hosting environment, so this is typcially for the advanced user.','#CCE5FB','#000000');
messages[39] = new Array('','Normally, when setting up a MySQL or MSSQL database, 1 user is assigned as the root user or administrator of that database.','#CCE5FB','#000000');
messages[40] = new Array('','MySQL is a powerful database that\'s\ very popular, especially with PHP users.','#CCE5FB','#000000');
messages[41] = new Array('','We do not allow users to connect to their databases from an external website, such as a web site not hosted on our servers, or from a local PC, such as your own PC at home, to a database hosted on any of our servers. The database must reside on our database server and your website must reside on our server in order to connect','#CCE5FB','#000000');
messages[42] = new Array('','You get their own personal CGI-BIN (Directory), which allows you execute .pl and .cgi scripts. Upload all your Perl scripts to your CGI-BIN directory.','#CCE5FB','#000000');
messages[43] = new Array('','You can install/uninstall or check and fix Microsoft FrontPage extensions from your control panel. Frontpage users should install the extensions before publishing.','#CCE5FB','#000000');
messages[44] = new Array('','We use ActiveState Perl for Windows on all our Win2k3 servers.','#CCE5FB','#000000');
messages[45] = new Array('','We provide full support for the latest PHP technologies.','#CCE5FB','#000000');
messages[46] = new Array('','An older, but still popular Microsoft web page scripting language that allows you to create dynamic web pages, that is, web pages that can change based on dynamic data read from a database.','#CCE5FB','#000000');
messages[47] = new Array('','Microsoft\'s\ replacement for ASP scripting, .NET is a powerful language allowing developers to incorporate program from C, C#, VB, and other languages.  Many newer off-the-shelf applications are now being built in ASP.NET instead of ASP, and is a popular language among hardcore developers.','#CCE5FB','#000000');
messages[48] = new Array('','Macromedia\'s\ latest incarnation of the venerable ColdFusion scripting language is more stable and includes more advanced features than ever before. Based on a Java platform, the language is very powerful, yet extremely easy to understand and use. For beginners learning how to program dynamic websites, this is one the best scripting languages to use.','#CCE5FB','#000000');
messages[49] = new Array('','Add the convenience and flexibility of embedding CGI capability into your Web pages. SSI includes allow you to modularize sections of your website to be reused instead of copied for every page.','#CCE5FB','#000000');
messages[50] = new Array('','The Microsoft Data Access Components (MDAC) are the key technologies that enable Universal Data Access.','#CCE5FB','#000000');
messages[51] = new Array('','VBScript, Microsoft\'s\ Visual Basic Scripting, is a scaled down version of Visual Basic. While it doesn\'t\ offer the functionality of Visual Basic, it does provide a powerful, easy to learn tool that can be used to add interaction to your web pages.','#CCE5FB','#000000');
messages[52] = new Array('','PhpMyAdmin is a powerful MySQL database editor already built into your control panel. Once you have created your MySQL database, a link to PhpMyAdmin will be displayed so you can edit your database.','#CCE5FB','#000000');
messages[53] = new Array('','E-mail from an aliased domain, set up on your account, could be forward to a physical mailbox on your primary domain.','#CCE5FB','#000000');
messages[54] = new Array('','AspEncrypt is an Active Server component that brings security to your application through encryption. With AspEncrypt, you can encrypt data, send S/MIME-based secure mail, compute one-way hash values, generate and verify digital signatures, issue and manage X.509 digital certificates, and more. This component can be used in an ASP/ASP.NET or VB environment on Windows 95/98/NT/2000/XP/2003.','#CCE5FB','#000000');
messages[55] = new Array('','Signing up is quick and easy! Your account will automatically created within 10 minutes of signing up. Please consult your Welcome E-Mail after purchase for your account login information.','#CCE5FB','#000000');
messages[56] = new Array('','A mailing list is an e-mail address that can send mail to a distrubted list of members.','#CCE5FB','#000000');
messages[57] = new Array('','This is the number of recipients that can be part of each mailing list under your web hosting plan.','#CCE5FB','#000000');
messages[58] = new Array('','AspGrid is an active server component which brings your ASP application the power of a data-bound grid control. With AspGrid, you can build browser-independent editable grid interfaces to your databases in as little as 3 lines of ASP code.','#CCE5FB','#000000');
messages[59] = new Array('','Do you need the ability to offer uploading of files to your web site? If you do, AspUpload may be the perfect component for you. AspUpload is one of the most advanced upload components on the market today.','#CCE5FB','#000000');
messages[60] = new Array('','AspEmail 5.x is an active server component for sending e-mail messages using an external SMTP server in an ASP or VB environment. AspEmail 5.x supports multiple recipients, multiple file attachments, HTML format, embedded images and sounds, non-US ASCII character sets, secure mail, and high-performance message queuing.','#CCE5FB','#000000');
messages[61] = new Array('','AspJeg is a high quality thumbnail component. If you need to resize images on the fly, consider AspJpeg. This easy-to-use component enables you to create high-quality image thumbnails in just a few lines of code.','#CCE5FB','#000000');
messages[62] = new Array('','Your windows hosting account is Dreamweaver compatable. This means that you may publish directly to your website using the publishing features in Dreamweaver MX.','#CCE5FB','#000000');
messages[63] = new Array('','w3 JMail can be used to send and receive e-mail, from your ASP code or Windows program in a very simple way.','#CCE5FB','#000000');
messages[64] = new Array('','This is Microsoft\'s\ new implementation of their IIS web server mail component that can be used with any web-based script. This component replaces the CDONTS mail component.','#CCE5FB','#000000');
messages[65] = new Array('','Since Windows XP, Microsoft is not including CDONTS on its operating systems. Instead, it uses the new and more powerful mail component called CDOSYS. CDONTS is not installed on any of our servers because we run Win3k servers exclusively and CDONTS in not installed as standard component. Please use CDOSYS instead.','#CCE5FB','#000000');
messages[66] = new Array('','ADDON: This feature is NOT included with this plan. If you wish to add this feature to your account at a later date, you may do so by logging into your control panel and selecting "Feature Addon\'s\"','#CCE5FB','#000000');
messages[67] = new Array('','Unix is one of the longest-established and most reliable hosting platforms around and is considered to be very fast and stable. If you are migrating an existing site to us, that is currently hosted on a Unix server, then unless you have a very good reason for changing to a Windows platform, you should probably continue hosting your site on a Unix server. Windows on the other hand, is ideal for sites that require integration with databases such as, MSSQL, Microsoft Access, Coldfusion MX or use .asp and asp.net scripting to integrate with your site. If you are currently hosted on Unix server, using interactive features, then migrating to Windows may necessitate changing the way those features work, so you might prefer to consider our Unix plans. Also, sites that use strictly html, php, cgi or need integration with databases such as MySQL or PostgreSQL may be better suited to the Uinx environment. Still unsure? Please click on the contact link at the top of this page and submit a request to our Sales dept., and we will be happy to help you make up your mind.','#CCE5FB','#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;
}


