// Product descriptions (Syntax: Title, Description)

var descriptions = new Array();
descriptions["awstats"] = new Array("AWStats log analyzer", "AWStats is a powerful tool that generates advanced web statistics that are easy to analyze. AWStats allows you to view how many visitors each month are visiting your web site, what pages are the most popular, which keywords in search engines are bringing visitors to your site, and from which country they're viewing from.");
descriptions["asp"] = new Array("ASP", "Active Server Pages, or ASP, is a server-side script engine for dynamically-generated web pages.");
descriptions["aspjpeg"] = new Array("AspJpeg", "AspJpeg is a component that allows for images to be manipulated. It is typically used to create thumbnails from original images.");
descriptions["aspsmartupload"] = new Array("aspSmartUpload", "aspSmartUpload is a component that allows for files to be uploaded to the server via web forms.");
descriptions["aspupload"] = new Array("aspUpload", "aspUpload is a component that allows for files to be uploaded to the server via web forms.");
descriptions["batterybackup"] = new Array("Battery Backup", "All of our servers are placed on our battery backup system (also known as a UPS). A UPS provides clean continuous power in case of a temporary power failure or a power spike.");
descriptions["backupgenerator"] = new Array("Backup Generator", "Should we have a continued power outage, our backup generator will automatically turn on and sustain power to our infrastructure until normal power is resumed.");
descriptions["catchall"] = new Array("Catch-all Account", "A catch-all account is an account that is configured to store any e-mail that was destined for an address that does not exist. For instance, if you have a catch-all account of all@wonderfulwebwidgets.com configured, and someone tries to send to saless@wonderfulwebwidgets.com but the account doesn't exist, mail will be placed in the all@wonderfulwebwidgets.com account.");
descriptions["customizablepermissions"] = new Array("Customizable Home Folders and Permissions", "Each account has the option to have a different starting location. For instance, if you wish to create a guest user that can only upload images into your images folder, you can specify the user to start (and stay) in the images folder. In addition to folder locations, you can also specify what permissions the user has, so if you only wish for the user to write data but not read data, this can be configured as well.");
descriptions["datatransfer"] = new Array("Data Transfer Limit", "Data transfer occurs when information is downloaded from your web site. For instance, if you have one web page with five images on the page, each image must be downloaded so that your visitor can view the page. This is why it is important to optimize media-rich sites so that bandwidth is not wasted. Web sites that have high-quality images and movies for download require more bandwidth, whereas informational sites that mainly just have text hardly use up any bandwidth. However, this figure also depends on how much traffic, or hits, your site receives per month.");
descriptions["dedicatedip"] = new Array("Dedicated IP", "Your web site will be isolated from other sites by living on its own IP address. It is believed by many search engine optimization experts that it is a red flag to search engines if multiple sites live on one IP address, potentially hurting your page rankings.");
descriptions["diskspace"] = new Array("Disk Space", "Disk space is the amount of space that is utilized on the servers. For example, if you uploaded ten 50MB files, you will have used 500MB of disk space.");
descriptions["dnshosting"] = new Array("DNS Hosting", "DNS, or Domain Name System, is how a computer converts a name into numbers, allowing it to communicate with other computers. Since humans can remember names more easily than a bunch of numbers, DNS is used. For example, let's say you wish to visit www.google.com. Instead of remembering an IP address of 64.233.167.99, you remember www.google.com, and when you type that into your web browser, your computer uses a DNS server to convert the name into a number, allowing it to find out where it needs to go.");
descriptions["dnsaliases"] = new Array("Domain Forward/Alias", "If you have additional domains registered and wish for them to redirect to your main domain, you can use this service. Additional domains can be aliased at $2.00/month.");
descriptions["dotnet"] = new Array("Microsoft .NET", "Microsoft .NET is a framework that allows developers to utilize pre-coded solutions to generate applications quickly. Most web-based applications are written in the ASP.NET framework, which is part of Microsoft's .NET platform. We support both .NET version 1.1, 2.0, 3.0, and 3.5.");
descriptions["domainhosted"] = new Array("Domain Hosting", "Hosting for one domain is included. If you have other domains, you can use domain forwarding to redirect them into your main site.");
descriptions["errorpages"] = new Array("Customizable Error Pages", "Configure your own custom error pages to present to your visitors in the event they reach a page that no longer exists.");
descriptions["frontpage"] = new Array("FrontPage Server Extensions", "Microsoft FrontPage is a WYSIWYG (What You See Is What You Get) editor, allowing people to easily create web pages. FrontPage Server Extensions allow for Microsoft FrontPage users to publish (or upload) their content to our servers.");
descriptions["ftp"] = new Array("FTP", "File Transfer Protocol, or FTP, is a protocol that allows for files to be transferred from one computer to another. FTP is the standard method for transferring files, and almost all web design software programs support FTP, such as Dreamweaver, FrontPage, and Coffe Cup.");
descriptions["htmlupdate"] = new Array("HTML Update", "If you need a simple HTML change to your site, we'll take care of it for you! Please note that this does not include image modifications, and should not exceed 15 minutes of editing time per credited edit.");
descriptions["imap"] = new Array("IMAP", "Internet Message Access Protocol, or IMAP for short, is a protocol which allows e-mail clients such as Outlook to read mail stored on a mail server. The advantage IMAP has over POP3 is that you can keep your mail stored in a central location, along with folders, on the mail server.");
descriptions["jmail"] = new Array("JMail", "JMail is a popular component that allows for e-mails to be sent via scripts. Both plain-text and HTML e-mails can be sent.");
descriptions["mailboxes"] = new Array("Mailboxes", "Mailboxes are accounts that store mail on your domain. For instance, if your domain was wonderfulwebwidgets.com, one mailbox could be named sales@wonderfulwebwidgets.com, and another could be info@wonderfulwebwidgets.com, for a total of 2 used mailboxes.");
descriptions["mailboxstoragesize"] = new Array("Mailbox Storage Limit", "This is the amount of mail storage each individual mailbox is allowed to use.");
descriptions["mailboxsendlimit"] = new Array("Mailbox Sending Limit", "This is the amount of e-mail messages that can be sent out per day. Each recipient is counted as one increment.");
descriptions["mailattachmentsize"] = new Array("Attachment Limit", "The size of attachments you are allowed to send or receive via e-mail.");
descriptions["mailantispam"] = new Array("Anti-Spam Options", "We have several anti-spam options available. You can either have messages that appear to be spam have the subject line tagged with \"[Spam]\" in the subject line, reject messages that appear to be spam, or have messages placed into a Spam folder.");
descriptions["mailautoresponder"] = new Array("Auto-Responder", "Going out of town on a vacation or business trip for a while, or just want an automated response when someone e-mails a mailbox? Setup an auto-responder! Flexibility options include how often to respond, only if the message is to that mailbox (does not trigger for carbon-copied messages), and if the e-mail is received within a certain date range.");
descriptions["mailcontentfiltering"] = new Array("Mail Content Filtering", "This powerful system allows you to accept, reject, or delete e-mails that fit certain criteria.");
descriptions["mailinglist"] = new Array("Mailing list", "Mailing lists allow for people to collaborate via e-mail to a group of subscribers on the list. You can also use a mailing list to send out newsletters, just by sending one e-mail message to the mailing list address, which will send the message off to all subscribers of your mailing list.");
descriptions["mailmanagement"] = new Array("Mail Management Control Panel", "Manage mailboxes for your domain with our mail management control panel. Adding, removing, and modifying accounts will be easily available to you.");
descriptions["mailalias"] = new Array("Mailbox and Domain Aliasing", "If you'd like to have one mailbox honor multiple aliased names, you can use this feature. For example, if you have the mailbox sales@wonderfulwebwidgets.com, you can create aliases 'onlinesales' and 'salesdepartment' for the mailbox, and people attempting to e-mail either of the three names will have mail delivered into the sales@wonderfulwebwidgets.com mailbox.");
descriptions["mailform"] = new Array("Mail Form Processing", "If you have a form that should send an e-mail, you can utilize our script to send the message to a set of recipients.");
descriptions["msaccess"] = new Array("Microsoft Access", "Microsoft Access is a relational database management system which combines the relational Microsoft Jet Database Engine with a graphical user interface and software development tools. It is used by some web developers to store data, although not as widely used as other databases such as MySQL and Microsoft SQL.");
descriptions["multisitediscount"] = new Array("Multiple Site Discount", "We provide discounts to those that host multiple websites with us. We apply a 5% discount for 2-4 sites, and 10% for 5 and above. Additionally, we offer a $99/web site deal for 5 or more sites if you wish to prepay.");
descriptions["mysql"] = new Array("MySQL", "MySQL is an open source database that provides fast performance, high reliability and ease of use. There are tons of popular web applications, such as bulletin board systems, photo galleries, and support interfaces, that require MySQL.");
descriptions["nightlybackups"] = new Array("Nightly Backups", "We backup your web data nightly in case you wish to recover an item that you may have recently deleted.");
descriptions["odbcdsn"] = new Array("DSN", "A Data Source Name, or DSN for short, is a logical name used by Open Database Connectivity to access data.");
descriptions["pcicompliance"] = new Array("PCI-DSS Compliant", "PCI DSS stands for Payment Card Industry Data Security Standard. It was developed by the major credit card companies as a guideline to help organizations that process card payments prevent credit card fraud, cracking and various other security vulnerabilities and threats.<br/><br/>Special modifications must be made to your account in order to make it compliant, so please contact us before requesting this option if you are unsure of whether or not you need this service.");
descriptions["perl"] = new Array("Perl", "Perl is a dynamic programming language first released in 1987. It is a very poweful language, but not used as much now for creating web-based applications as other languages such as ASP.NET and PHP are geared more towards web applications.");
descriptions["php"] = new Array("PHP", "PHP is a programming language designed for producing dynamic web pages. PHP supports a large number of components, allowing you to program things like accessing a database, image manipulations, and sending e-mails.");
descriptions["phpmyadmin"] = new Array("phpMyAdmin", "phpMyAdmin is a web interface which allows modifications to SQL databases.");
descriptions["pop3"] = new Array("POP3", "POP3 (Post Office Protocol, version 3) is a protocol which allows for e-mail clients such as Outlook to download messages.");
descriptions["python"] = new Array("Python", "Python is a dynamic object-oriented programming language that is flexible enough to be used for all kinds of development needs, yet easy enough to comprehend as a beginning or seasoned programmer.");
descriptions["raidstorage"] = new Array("RAID Storage", "All hosting plans utilize RAID storage arrays to store your data. RAID arrays have the benefit of keeping your data available even when a hard drive may fail.");
descriptions["rawlogs"] = new Array("Log files", "Log files are the files that the web server generates when people visit your website. If you have your own log file analysis software, you can load your raw log files into the software and generate reports.");
descriptions["securepages"] = new Array("Secure Pages", "Deny visitors from viewing web pages that you do not wish for them to view, protected with a username and password.");
descriptions["servermonitoring"] = new Array("Server Monitoring", "We monitor all of our servers to ensure that your web site has the highest level of availability possible.");
descriptions["sharedssl"] = new Array("Shared SSL", "If you're just starting up or don't wish to purchase your own SSL certificate, we can provide you access to https://secure.acceleration.net/your_username/, allowing you to accept data securely.");
descriptions["smtp"] = new Array("SMTP", "SMTP (Simple Mail Transport Protocol) is a protocol which allows for e-mail to be sent from one computer to another.");
descriptions["ssl"] = new Array("Genuine SSL", "Secure Sockets Layer, or SSL, is a protocol that allows for encrypted data transfers. SSL is vital for e-Commerce and other sensitive data transmissions as it protects people's data from being read by hackers. To keep your website looking top-notch, having a SSL certificate that matches your domain name is recommended.");
descriptions["subdomains"] = new Array("Subdomains", "A subdomain is a name that exists other than your main site. For example, if your main site is www.wonderfulwebwidgets.com, you may wish to create gallery.wonderfulwebwidgets.com, pointing to a folder that is setup to display a photo gallery. In another example you could create a subdomain for different geographical locations, so if your company has a store in sacramento, you could create sacramento.wonderfulwebwidgets.com, and have content completely different from any of your other subdomains or main domain.");
descriptions["support"] = new Array("Technical Support", "As with all Acceleration services, we provide excellent e-mail and phone support. Already have a question? Give us a call at (800) 655-6505 or send an e-mail to support@acceleration.net!");
descriptions["webmail"] = new Array("WebMail", "WebMail is browser-based interface that allows you to check your e-mail from any location that has internet access.");
descriptions["w3image"] = new Array("w3Image", "w3Image from Dimac allows for charts and diagrams to be created.");
descriptions["xauthorize"] = new Array("xAuthorize", "xAuthorize allows for credit cards payments to be sent to a Payment Gateway.");
descriptions["zencart"] = new Array("ZenCart", "ZenCart is a powerful shopping cart system that allows you to sell products online.");


//browser detection
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);

var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
            && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
            && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav6 = (is_nav && (is_major == 5));
var is_nav6up = (is_nav && (is_major >= 5));
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));


//tooltip Position
var offsetX = 0;
var offsetY = 5;
var opacity = 100;
var toolTipSTYLE;

function initToolTips(){
  if(document.getElementById){
    toolTipSTYLE = document.getElementById("toolTipLayer").style;
  }
  if(is_ie || is_nav6up){
    toolTipSTYLE.visibility = "visible";
    toolTipSTYLE.display = "none";
    document.onmousemove = moveToMousePos;
    
    if(is_ie){
      document.onmouseout = toolTip;
    }
    else{
      document.onmouseout = toolTip();
    }
  }
}


function moveToMousePos(e)
{
  if(!is_ie){
    x = e.pageX;
    y = e.pageY;
  }
  else{
    x = event.x + document.body.scrollLeft;
    y = event.y + document.documentElement.scrollTop;
  }
 
  toolTipSTYLE.left = x + offsetX + 'px';
  toolTipSTYLE.top = y + offsetY + 'px';
  return true;
}


function toolTip(msg, fg, bg)
{
  if(toolTip.arguments.length < 1) // if no arguments are passed then hide the tootip
  {
    if(is_nav4)
        toolTipSTYLE.visibility = "hidden";
    else
        toolTipSTYLE.display = "none";
  }
  else // show
  {
    if(!fg) fg = "#777777";
    if(!bg) bg = "#99CCFF";
    var content = '<table border="0" cellspacing="0" cellpadding="0" class="toolTip"><tr><td bgcolor="' + fg + '">' +
                  '<table border="0" cellspacing="1" cellpadding="0"><tr><td bgcolor="' + bg + '" style="background-image: url(\'/images/popupbg.png\');">'+
                  '<font face="sans-serif" color="' + fg + '" size="-2">' + msg +
                  '</font></td></tr></table>'+
                  '</td></tr></table>';
   if(is_nav4)
    {
      toolTipSTYLE.document.write(content);
      toolTipSTYLE.document.close();
      toolTipSTYLE.visibility = "visible";
    }

    else if(is_ie || is_nav6up)
    {
      document.getElementById("toolTipLayer").innerHTML = content;
      toolTipSTYLE.display='block';
    }
  }
}

// Function to show rollover popup:
function showtooltip(descriptionsIdx){
  s = '<table width="400" cellspacing="2" cellpadding="0" border="0">';
  s += '<tr><td><span style="font-weight: bold; font-size: 11pt; color: #000000;">' + descriptions[descriptionsIdx][0] + '</span><p/><span style="font-size: 9pt; color: #333333;">' + descriptions[descriptionsIdx][1] + '</span></td></tr>';
  s += '</table>';
  toolTip(s)
}

//-->

function isSet(variable){
  return( typeof(variable) != 'undefined' );
}