
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= "#000000";//
var tipBgColor= "#FFF9EA"; 
var tipBorderColor= "#000000";//
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('','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.');
messages[1] = 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.');
messages[2] = new Array('','All of our hosting plans come with the option to pay monthly or yearly. Tax is additional in all hosting plans and there are no hidden charges. The price you see is the total price you will pay.');
messages[3] = 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.');
messages[4] = new Array('','We accept VISA, MC, Am. Express, VISA/MC debit cards, bank transfer, eCheck, Paypal balance, Discover, Diners Club, JBC through 2Checkout or Paypal. All orders will be setup instantly.');
messages[5] = 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.');
messages[6] = 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.');
messages[7] = new Array('','We provide an uptime Guarantee of 99.5% and will refund you if we dont meet the uptime guarantee.');
messages[8] = new Array('','We guarantee 24 hours a day, 7 days a week, and 365 days a year support via Email, Forums and Helpdesk as well as AIM, ICQ, MSN, and YIM one on one chat assistance.');
messages[9] = new Array('','All accounts have free setup as well as instant account activation!');
messages[10] = new Array('','Some plans allow you to host Multiple domains meaning you will be able to host more than one domain and have seperate emails etc. If you are looking for unlimited domains allowed please check out our reseller plans.');
messages[11] = new Array('','Parked domains are used to forward to your main domain, they dont act as seperate websites.');
messages[12] = new Array('','A good example of a subdomain would be subdomain.yourdomain.com such as support.hostcats.com is a subdomain of hostcats.com.');
messages[13] = 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.');
messages[14] = new Array('','This is the number of email accounts you get. POP3 accounts are used to send and receive emails through programs such as Outlook Express.');
messages[15] = new Array('','You will have access to download your sites raw logs.');
messages[16] = new Array('','You can setup a mail forwarder. Doing this will forward all your mail to any email address you wish.');
messages[17] = new Array('','You can setup your email addresses to automatically reply to emails with your message.');
messages[18] = new Array('','Spam Assasin will block most spam from reaching your e-mail.');
messages[19] = new Array('','Simple Mail Transfer Protocol is a very popular protocol used to transfer email messages across the Internet mail servers which our servers support.');
messages[20] = new Array('','We support Internet Message Access Protocol. IMAP permits a "client" email program to access remote message stores as if they were local.');
messages[21] = new Array('','MySql is the most popular open source database used by forums and other database driven programs.');
messages[22] = new Array('','Secure Shell is a standard for encrypted terminal Internet connections. SSH programs provide strong authentication and encrypted communications, replacing less secure access methods like telnet.');
messages[23] = new Array('','PHP is a server side HTML embedded scripting language used very commonly today.');
messages[24] = new Array('','Open source CGI scripting programming language.  Written in 1987. Still one of the most popular web programming languages mostly due to its powerful text manipulation facilities.');
messages[25] = new Array('','Common Gateway Interface. A standard for interfacing web servers with an executable application. A CGI program can be written in any language like Perl or C/C++ and it is often stored in a special directory like /cgi-bin. CGI is often used to process data from HTML forms.');
messages[26] = new Array('','Simple, client-side programming language created by Sun and Netscape. JavaScript can be embedded in HTML pages to create interactive effects and do tasks like validate form data. JavaScript is a separate language from Java. All popular modern browsers support JavaScript.');
messages[27] = 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 when FP extensions are installed.');
messages[28] = new Array('','Python is an interpreted, interactive, object-oriented programming language.');
messages[29] = new Array('','Server-Side Includes. Instructs the server to include some dynamic information in a Web page before it is sent to a client. This dynamic information could be current date, an opinion poll, etc.');
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.');
messages[31] = new Array('','Curl is a command line tool for transferring files with url syntax.');
messages[32] = new Array('','We support GD and GD2 which is commonly used for gallery scripts.');
messages[33] = new Array('','Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats. Also used commonly for gallery scripts.');
messages[34] = new Array('','ImageMagick is a robust collection of tools and libraries to read, write, and manipulate an image in many formats. It is also used very often for gallery scripts.');
messages[35] = new Array('','We support Windows Media, Quicktime, and Real Media player streaming. This will allow you to stream audio and video online.');
messages[36] = 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.');
messages[37] = 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.');
messages[38] = new Array('','IP deny manager allows you to block whoever you want from being able to visit your site.');
messages[39] = new Array('','Hotlink Protection prevents other websites from stealing your bandwidth.');
messages[40] = 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.');
messages[41] = new Array('','Redirects lets you redirect one folder to another folder or website.');
messages[42] = new Array('','All accounts come with phpMyAdmin which allows you to easily manage your mysql database.');
messages[43] = new Array('','Our webstats include AwStats and Webalizer in which both display in depth traffic statistics for your site.');
messages[44] = new Array('','This tool will let you submit your site to all the major search engines such as yahoo/google and more for free!');
messages[45] = new Array('','A list of scripts which can be installed via our Control Panel with a single click.');
messages[46] = new Array('','List of our hosting plans. If these plans dont meet your needs please take a look at our other hosting plans.');
messages[47] = new Array('','The cost for domain registration on a yearly basis for .com / .net / .org / .info / .biz / .us domains.');
messages[48] = new Array('','You will have your own private nameservers such as NS1.YOURDOMAIN.COM and NS2.YOURDOMAIN.COM so you can sell Hosting without having others know that you are a reseller!');
messages[49] = new Array('','With the ability to oversell in WebHostManager, you can set limits for storage and bandwidth usage to new accounts above your own limits. Example would be you have 5000mb storage, but you create 2 accounts each with 3000MB Storage limit and when you are almost at your own limit you can contact us to upgrade your account.');
messages[50] = new Array('','Java Server Pages Support are available with almost all our packages.');
messages[51] = new Array('','This is the number of Email accounts you get. Email accounts are used to send and receive emails through programs such as Outlook Express or Eudora or webmail.');
messages[52] = new Array('','Webalizer/Awstats displays in depth traffic statistics for your site.');
messages[53] = new Array('','Password protect a directory and nobody can view its contents without a password.');
messages[54] = new Array('','This is the number of POP accounts you get. POP accounts are used to send and receive emails through programs such as Outlook Express or Eudora.');
messages[55] = new Array('','If you enable Spam Assasin it will block most spam from reaching your e-mail.');
messages[56] = new Array('','We include squirrel, horde with all our hosting packages . Web mail allows you to send and receive emails online by going to yoursite.com/webmail.');
messages[57] = new Array('','We support Internet Message Access Protocol. IMAP permits a client email program to access remote message stores as if they were local.');
messages[58] = new Array('','A catch all email address will receive all emails delivered to non existent email addresses.If you would like this feature enabled, please e-mail support.');
messages[59] = new Array('','Custom Mx Records can be modified/updated by you.');
messages[60] = new Array('','Mail box aliases will allow you to setup multiple email addresses to go to a single mail box.');
messages[61] = new Array('','Have a group of people you regularly mail? Add them to a mailing list so you can email them faster and easier.');
messages[62] = new Array('','We allow you to use our servers to send outgoing mail.');
messages[63] = new Array('','PHP is a server side HTML embedded scripting language. All accounts come with support for 5.2.0.');
messages[64] = new Array('','CGI stands for Common Gateway Interface. CGI is one method by which a web server can obtain data from (or send data to) databases, documents, and other programs, and present that data to viewers via the web.');
messages[65] = new Array('','Server Side includes, refers to Perl based HTML commands that direct a server to generate on-the-fly contact for web pages..');
messages[66] = 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.');
messages[67] = new Array('','MySQL is the most popular language for adding, accessing and managing content in a database. It is most noted for its quick processing, proven reliability, ease and flexibility of use. MySQL is an essential part of almost every open source PHP application');
messages[68] = new Array('','The cron daemon is a long running process that executes commands at specific dates and times. The crontab command creates a crontab file containing commands and how often cron should execute them');
messages[69] = new Array('','MIME types form a standard way of classifying file types on the Internet. Internet programs such as Web servers and browsers all have a list of type.');
messages[70] = new Array('','It is an open source, http web-server most widely available on the internet which supports multiple languages and modules like Perl, PHP, Python, CGI and the other default linux server applications');
messages[71] = new Array('','GPG is the opensource version of PGP -- both are excellent encryption programs for making text and files unreadable to anyone except who the text or files are intended for.');
messages[72] = new Array('','We provide daily and weekely backup facility.');
messages[73] = new Array('','You can password protect any directory so when visitor try to point to this directory thay will be promtedfor a login and password.');
messages[74] = new Array('','You can chnage your password of control panel and ftp from the control panel.');
messages[75] = new Array('','FrontPage  extensions allows you to publish your website directly from the front page application. That means you will not need to upload files through ftp or other method.');
messages[76] = new Array('','You may prefer to manage files in your siteusing an FTP program like Cute FTp. Alternatively you can use our web based application in the control panel.');
messages[77] = new Array('','Hotlink protection allows you to prevent others from linking directly to images or files from their site.');
messages[78] = new Array('','We will provide daily and weekely backup.');
messages[79] = new Array('','We use high performance dual core processor in server and 99.9% uptime.');
messages[80] = new Array('','We ahve superior network connection.');
messages[81] = new Array('','You will be provided an Ip which will be used by only you and the data will be more secure.');



////////////////////  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;
}
//-->