CINXE.COM
Webmail - Internet Email Access - Email Only - Juno
<!-- COM-2068 Toll Free numbers - Signup pages --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html><head> <title>Webmail - Internet Email Access - Email Only - Juno</title><meta name="description" content="For webmail with extra email storage, mail forwarding and other enhanced features, choose Juno. Buy webmail only, or get it free with Juno Accelerated Dial-Up!"> <meta name="keywords" content="webmail, online email, email access, web-based email"> <meta name="title" content="Webmail - Internet Email Access - Email Only - Juno"/> <noscript><meta http-equiv="refresh" content="0;url=/account/landing.do?page=javascript"></noscript> <style type="text/css"> /* */ /* FONTS */ /* refer to 00-wr09_template_fonts.png (the UED guide sheet) */ .fontA{ font-family:arial; font-weight:normal; font-size:9px; color:#333; } .fontA a{ color:#004181; text-decoration:none; } .fontA a:hover{ color:#004181; text-decoration:underline; } .fontB{ font-family:arial; font-weight:normal; font-size:9px; color:#004182; } .fontC{ font-family:arial; font-weight:normal; font-size:10px; color:#333; } .fontD{ font-family:arial; font-weight:normal; font-size:10px; color:#004182; } .fontD a{ text-decoration:none; color:#004182; } .fontE{ font-family:arial; font-weight:normal; font-size:11px; color:#bfbfbf; } .fontF{ font-family:arial; font-weight:normal; font-size:11px; color:#666; } .fontG{ font-family:arial; font-weight:normal; font-size:11px; color:#000; } .fontH{ font-family:arial; font-weight:normal; font-size:11px; color:#004182; } .fontH a{ color:#004181; text-decoration:none; } .fontH a:hover{ color:#004181; text-decoration:underline; } .fontI{ font-family:arial; font-weight:bold; font-size:11px; color:fff; } .fontJ{ font-family:arial; font-weight:bold; font-size:11px; color:#4e4e4e; } .fontK{ font-family:arial; font-weight:bold; font-size:11px; color:#000; } .fontL,.fontLvariant1{ font-family:arial; font-weight:normal; font-size:12px; color:#333; } .fontLvariant1{ color: #000; } .fontL a{ text-decoration:none; color:#004182; } .fontM{ font-family:arial; font-weight:normal; font-size:12px; color:#004182; } .fontN{ font-family:arial; font-weight:bold; font-size:12px; color:#fff; } .fontO{ font-family:arial; font-weight:bold; font-size:12px; color:#666; } .fontP{ font-family:arial; font-weight:bold; font-size:12px; color:#000; } .fontQ{ font-family:arial; font-weight:bold; font-size:12px; color:#004182; } .fontR{ font-family:arial; font-weight:bold; font-size:12px; color:#225092; } .fontS{ font-family:arial; font-weight:normal; font-size:12px; color:#000; } .fontT{ font-family:arial; font-weight:bold; font-size:13px; color:#747474; } .fontU{ font-family:arial; font-weight:bold; font-size:13px; color:#000; } .fontV{ font-family:arial; font-weight:bold; font-size:13px; color:#000; } .fontV a{ color:#004182; text-decoration:none; } .fontW{ font-family:arial; font-weight:bold; font-size:13px; color:#004182; } .fontX{ font-family:arial; font-weight:normal; font-size:14px; color:#004182; } .fontY{ font-family:arial; font-weight:normal; font-size:14px; color:#666; } .fontZ{ font-family:arial; font-weight:bold; font-size:14px; color:#000; } .fontAa{ font-family:arial; font-weight:bold; font-size:14px; color:#004182; } .fontAa a{ color:#004182; text-decoration:none; } .fontBb{ font-family:arial; font-weight:bold; font-size:15px; color:#fff; /* _olor:#000; */ } .fontCc{ font-family:arial; font-weight:normal; font-size:16px; color:#000; } .fontDd{ font-family:arial; font-weight:bold; font-size:16px; color:#000; } .fontEe{ font-family:arial; font-weight:bold; font-size:16px; color:#004182; } .fontEe a{ color:#004182; text-decoration:none; } .fontFf{ font-family:arial; font-weight:normal; font-size:18px; color:#000; } .fontGg{ font-family:arial; font-weight:bold; font-size:20px; color:#333; } .fontHh{ font-family:arial; font-weight:normal; font-size:24px; color:#333; } .fontIi{ font-family:arial; font-weight:bold; font-size:25px; color:#225092; } .fontJj{ font-family:arial; font-weight:normal; font-size:40px; color:#225092; } .fontKk{ font-family:arial; font-weight:bold; font-size:45px; color:#225092; } .fontLl{ font-family:arial; font-weight:bold; font-size:70px; color:#225092; } .fontMm{ font-family:arial; font-weight:normal; font-size:16px; color:#004182; } a.fontMm{ text-decoration:none; } .fontNn{ font-family:arial; font-weight:normal; font-size:18px; color:#004182; } .fontNn a{ text-decoration:none; } .fontOo{ font-family:arial; font-weight:normal; font-size:12px; color:#666666; } .fontPp,.fontPp2{ font-family:arial; font-weight:normal; font-size:18px; color:#FFFFFF; } .fontPp2{ font-size:22px; } .fontRr{ font-family:arial; font-weight:bold; font-size:13px; color:#CC0000; } .fontCallout {font-family:arial;color:#393939;font-size:13px;padding-right:27px;} .fontCallout4{font-family:arial;color:#393939;font-size:22px;font-weight:bold;padding-right:30px;} .fontIso { font-family:arial; font-weight:normal; font-size:12px; color:#004182;text-decoration:none; } .fontMbb{ font-family:arial; font-weight:normal; font-size:14px; color:#004182; } /* BLOCK LEVEL */ .ulfontL{ font-family:arial; font-weight:normal; font-size:12px; color:#333; list-style-type:disc;} .ulfontL a{ text-decoration:none; color:#004182; } .disclaimer{ font-family: Arial; font-size:11px; font-weight: normal; color: #333333; margin-bottom:5px; } .disclaimer a{ text-decoration:none; border-bottom:1px #004182 dashed; color:#004182; } .input1 input /* for form taglib use cases wrapped with a classed span */ { border:1px #ccc solid; width:180px; } .link1{ text-decoration:none; } .errorBox{ background:#FEF3F3; color:#c00; padding:2px 0 2px 2px; font-weight:bold; font-family:arial; font-weight:bold; font-size:12px; color:#c00 /* fontR */ } .warnBox{ border:2px #F5EB9A solid; background:#FCF7CC; padding:5px; } .headerBox{ margin:0; padding:1px; border:1px #DEDFDF solid; background:#FFFFFF; color:#333333; /* should rely on the font class for font color, but the mockups dont match the instruction sheet */ } .headerBox div{ margin:0; padding:0px 5px 0px 10px; background:#F7F7F7; } a.detail_links { border-bottom:1px dashed; color:#004182; font-family:Arial,Helvetica,sans-serif; font-size:12px; font-weight:bold; text-decoration:none; } #descriptionData{ display:none; /* style the associated UI container based on the template design */ } #descriptionNewUI{ font-family:arial; font-weight:normal; font-size:11px; color:#939393; } #descriptionNewUI a{ text-decoration:none; } /* these are used to support the inline errors which highlight the label and input containers during client validation */ .typeLabel{ float:left; width:119px; _order:1px red solid;} .typeInput{ float:left; width:180px; _order:1px green solid; white-space:nowrap; } </style><style type="text/css"> .content,body{ font-family: arial,helvetica,sans-serif; font-size:12px; text-align:left;} body{ background-color:#f8f8f8; margin:0 auto; padding:0; } #pageHelpText{font-size:16px;} .palette{} .pghd1{ margin:0; font-family: Arial; font-weight: normal; font-size: 24px; color: #333333; } .footer{ font-size:11px; font-family:Arial, Helvetica, sans-serif; color:#BFBFBF; font-weight:normal; } a{ color:#004182; } a.footerLink {color:#004182;font:11px arial; text-decoration:none;} a.footerLink:hover {text-decoration:underline;} a.hLink{ color:#004182;font:8pt arial;text-decoration:none; } a.hLink:hover{ text-decoration:underline; } .signin-text{ font-size:11px; } .headerTable { background-color:#F5F5F5; } #acceptTermsHTML { border:1px #eee solid; background: #e5e4e3; padding:5px; } </style> <link rel="Shortcut Icon" type="image/ico" href="/account/view/img/webreg/2009/template/webicon_j.ico"> <script> window.pagename = '/view/juno/signup/includes/offer.jsp'; /* step name */ var overridePageName = ''; /* support pname if its set in page -- this is an exception, this shouldn't be the norm */ if(overridePageName.length>0) window.pagename = overridePageName; window.pagename = window.pagename.replace(/\.jsp/,''); if(window.pagename.length<1) window.pagename='unknown'; window.myRefcd = unescape("") if(window.myRefcd.length<1){ window.myRefcd = unescape(""); } window.memberId = ''; var member = { 'brandCode':'', 'cobrandCode':'', 'memberNumber':'', 'isPayUser':(''=='Y'?true:false) } var session = { 'tid':function(){ var transferid = unescape(document.cookie).match(/tid=[^;]+/); /* some cases don't have a jsession, avoid triggering an error by testing after match */ if(transferid) transferid = transferid.toString().replace(/tid=/,''); return transferid }, 'sid':function(){ var jsession = unescape(document.cookie).match(/JSESSIONID=[^;]+/); /* some cases don't have a jsession, avoid triggering an error by testing after match */ if(jsession) jsession = jsession.toString().replace(/JSESSIONID=/,''); return jsession; }, 'aid':function(){ /* asessionid survives ssl bounce whereas jsessionid doesn't working with... unescaped: asessionid%211662264%7C escaped: asessionid!1662264| */ var asession = unescape(document.cookie).match(/asessionid![^|]+/); if(asession) asession = asession.toString().replace(/asessionid!/,''); return asession; }, 'cf':function(){ /* RT 221964 - need to preserve and retrieve cf */ var cf = unescape(''); if(cf == 'null'){ cf = ''; } if(!cf){ /* no? try from cookie */ cf = unescape(document.cookie).match(/cf=[^;]+/); if(cf){ cf = cf.toString().replace(/cf=/,''); if(cf == 'null'){ cf = ''; } } if(!cf){ /* no?, try from previously set value */ cf = unescape(document.cookie).match(/scf=[^;]+/); if(cf){ cf = cf.toString().replace(/scf=/,''); if(cf == 'null'){ cf = ''; } } if(!cf){ /* sorry, no cf */ } } } if(cf == 'null'){ cf = ''; } if(cf){ setCookieValue('scf',cf,'session'); /* remember it for a later step */ } else{ cf = ''; /* we don't want "null" */ } return cf; } }; var order = { 'paymentType':'', 'showCaptchaPerDB':'', 'promocd':'', 'isUpgrade':(''=='true'?true:false), /* (boolean, not string) using order.upgrade since order.sessionUpgrade was not working for upsell cases */ 'isMobileNumberVerified':(''=='true'?true:false), 'mobileNumber':'' }; /* caveat for sl client, give JN unless memberInfo specifies otherwise */ function rememberJN(){ setCookieValue('isjn','true','session'); /* session cookie */ } var pseudo_jn = false; if(unescape(document.cookie).match(/isjn=[^;]+/)){ pseudo_jn = true; /* if we've cookie this earlier in the session (because we lose the client_type param later in the flow) */ } else if( (''=='sl' && member.brandCode == '') || (unescape(document.cookie).match(/client_type\=sl/)) ){ pseudo_jn = true; /* if we have the client_type param (or cookie in the case of a redirect) and we don't have a contrary brand */ if(window.addEventListener){ window.addEventListener('load',rememberJN,false); } else if(window.attachEvent){ window.attachEvent('onload',rememberJN); } } var nz = (location.href.match(/netzero/)); var jn = (pseudo_jn || member.brandCode=='JN'); var env = { 'brand':'JU', 'brandName':'Juno', 'brandLetter':'J', 'acceleratorName':(nz?'HiSpeed':(jn?'Speedband':'Turbo')), 'cancelNumber':(nz?'1-800-638-9376':'1-800-654-5866'), /* bugz 266705 */ 'valpackCancelNumber':(nz?'1-800-638-9376':'1-800-654-5866'), /* per copy doc */ 'wwwServer':'www.juno.com', 'webmailServer':'webmail.juno.com', 'gamesServer':'games.juno.com', 'registerServer':'store.juno.com' }; function hError(str){ myErrorHandler('CATCH-'+str,location.href,9999); /* log the error so we can investigate */ } /* "preload" on https for subsequent steps, this cuts the uncached requests to 1 rather than 2 */ document.write('<sc'+'ript type="text/javascript" src="https://'+location.host+'/static/store/view/js/resourcesX.js?v=21692"></sc'+'ript>') </script> </head><body><center> <span id="forMSIE927917"></span><!-- create an element for appendChild operations on slow connections to work around MSIE dom problem --> <!-- start: descriptive verbiage/data --> <div id="descriptionData"></div> <!-- end: descriptive verbiage/data --> <!-- start: wrapper header --> <!-- start: header --> <div id="wrapper" style="width:960px;"><table id="palette" class="palette" align="center" cellspacing="0" cellpadding="0" width=""><tr valign="top"><td> <table id="paletteMain" width="100%" align="center" cellspacing="0" cellpadding="2" style="margin:0; padding:0; background-color:#fff; border-left:1px solid #aeaeae; border-right:1px solid #aeaeae; border-bottom:1px solid #aeaeae;" ><tr valign="top"><td> <!-- end: wrapper header --> <div> <table width="100%" cellspacing="0" cellpadding="0"> <tr style="background:#FFFFFF;"> <td width="20"><img src="/account/view/img/spacer.gif" width="20" height="68"></td> <td> <script> var page = '/view/juno/signup/includes/offer.jsp'; var StorePages = 'store|offer|category|landing' if(page.match(StorePages)){ document.write('<a href="https://www.juno.com/start/landing.do?page=www/index"><img src="/account/view/img/webreg/2009/template/headerbar-logo-juno.gif" alt="brand image" border="0"></a>'); } else{ document.write('<img src="/account/view/img/webreg/2009/template/headerbar-logo-juno.gif" alt="brand image" border="0">'); } </script> </td> <td width="100%" align="right" valign="top"> <div style="margin-bottom:10px; margin-top:10px;"> <span id="pageHelpTextAltLocation" style="display:none;"></span> <a class="hLink" href="https://www.juno.com/support" target="_blank" onClick="if(typeof hidePop == 'function') {hidePop();}">Help</a> <font color=cccccc style="font-size:12px;"> | </font> <a class="hLink" href="https://www.juno.com/start/landing.do?page=www/signup/faqs" target="_blank" onClick="if(typeof hidePop == 'function') {hidePop();}">FAQs</a> </div> <div id="elLogin"> <style type="text/css"> .signin-text,a.forgot{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; font-size:11px; color:#000000; } </style> <script type="text/javascript"> var capid =""; function areCookiesEnabled() { setCookieValue('c_check','enabled'); var c=getCookieValue('c_check'); if(c!=null && c.indexOf('enabled') != -1){ return true; } else{ /* alert('You must enable cookies to use this site!'); */ location.href = '/account/landing.do?page=cookies'; return false; } }; function onlyCaptcha(form) { if(form.captchaTypedWord.value.length == 0) { alert("Captcha required!"); form.captchaTypedWord.focus(); return false; } return true; } function logonValidate(form) { var memberIdText = 'Member ID'; var memberid= form.memberId.value.toLowerCase(); if(memberid.length == 0) { alert("Member ID required!"); form.memberId.focus(); return false; } if(form.password.value.length == 0) { alert("Password required!"); form.password.focus(); return false; } if(capid != "") { if(form.captchaTypedWord.value.length == 0) { alert("Captcha required!"); form.captchaTypedWord.focus(); return false; } } window.abandonFlag = false; /* prevent exit overlay or abandon */ return true; } function signupToggle(obj){ /* note: cookies need to be enabled to use login in reg path */ if(!areCookiesEnabled()) return false; if(obj.togglestate){ obj.togglestate = 0; obj.src = '/account/view/img/webreg/2009/buttons/button-signin.gif'; s_overlayclose('login-overlay'); } else{ obj.togglestate = 1; obj.src = '/account/view/img/webreg/2009/buttons/button-signin.gif'; overlay(obj, 'login-overlay', 'rightbottom'); document.loginForm.memberId.focus(); } } function overlay(curobj, subobjstr, opt_position){ var subobj=document.getElementById(subobjstr) subobj.style.display=(subobj.style.display!="block")? "block" : "none"; var tmpobj = document.getElementById('pghd1'); if(tmpobj && navigator.userAgent.match(/MSIE/)) tmpobj.style.zIndex = '-1'; /* IE stacking order issue? */ return false; } function s_overlayclose(subobj){ document.getElementById(subobj).style.display="none" } </script> <div id="sign_button_div_IEhack" style="z-index:3000;"><div id="sign_button_div"> <div style="position:relative;"> <div id="sign_button_div"> <table cellpadding="0" cellspacing="0"> <tr> <td style="padding-bottom:0px;"> <span style="font-size:12px; font-weight:bold;"></span> </td> <td width="5"></td> <td> <input id="signin_button" type="button" value="Sign In ▼" style=" margin:0; padding:0; width:72px; background:#363636; border:1px outset #999; color:#f9f9f9; font-weight:bold; font-family:arial, sans-serif; font-size:8pt; " onclick="return signupToggle(this);"> </td> </tr> </table> </div> <div id="login-overlay" style=" position:absolute; display:none; width:270px; right:0px; border: 1px solid #909090; background-repeat:repeat-x; z-index:1001; "> <table width="270" height="100" cellspacing="0" cellpadding="0" bgcolor="#ffffff"> <tr> <td width="230" style="padding:3px;font-size:12px;"></td> <td width="20" style="padding-top:3px; padding-right:3px;" ><img src="/account/view/img/webreg/2009/buttons/button-close.gif" onclick="return signupToggle(document.getElementById('signin_button'))" alt="close" border="0" ></td> </tr> <tr> <td colspan="2"> <table width="270" height="75" cellspacing="0" cellpadding="0" bgcolor="#ffffff"> <form method="POST" action="https://store.juno.com/account/login.do" commandName="login" name="loginForm" autocomplete="off" style="margin:0;display:inline;" onsubmit="return logonValidate(this);"> <script> var step = '/view/juno/signup/includes/offer.jsp'; var selectedPrimaryOffer = ''; if(step.match(/store/)){ /* fix problem where login was getting an earlier product already in the order object */ var selectedPrimaryOffer = ''; } if(selectedPrimaryOffer){ document.write('<input type="hidden" name="gotoURL" value="https://store.juno.com/account/selectOfferController.do?offerId='+selectedPrimaryOffer+'">'); } else{ document.write('<input type="hidden" name="gotoURL" value="'+location.href+'">'); } </script> <input type="hidden" name="captchaId" value="" /> <input type="hidden" name="client" value="" /> <input type="hidden" name="operation" value="login"> <tr> <td width="20"> </td> <td width="85" class="signin-text" align="left">Member ID</td> <td><input class="text" name="memberId" type="text" size="10" style="width: 153px;" maxlength="64"></td> <td style="padding-right:5px;"> </td> </tr> <tr valign="bottom"> <td style="padding-top:10px;"> </td> <td class="signin-text" align="left">Password</td> <td><input class="text" name="password" type="password" autocomplete="off" size="10" style="width: 153px;" maxlength="64"></td> <td style="padding-right:5px;"> </td> </tr> <tr valign="bottom"> <td> </td> <td colspan="2"> <div style="float:left;padding-top:3px;"> <a class="forgot" target="_top" href="http://account.juno.com/s/resetpassword" onclick="window.abandonFlag=false;" style="text-decoration:none;color:#004182;" >Forgot your ID or password?</a> </div> <div style="float:right;padding-bottom:10px;padding-top:3px;"> <input type="submit" id="signin" name="submit" style=" background:#589110; color:#fff; font-weight:bold; font-family:arial, sans-serif; border:1px #ccc outset; font-size:8pt; width:33px; height:19px; " value="GO" type="submit" onclick="window.abandonFlag = false;"> </div> </td> <td> </td> </tr> </form> </table> </td> </tr> </table> </div> </div> </div> </div> <script> function hideSignInButtonExceptions(){ /* isolate the name space */ var suppressionList = 'free-email'; var offerId = ''.replace(/^(nz|ju)-/,''); /* normalize */ var obj = document.getElementById('sign_button_div'); //alert(suppressionList+'\n'+offerId+'\n'+offerId.match(suppressionList)); if(offerId.length>0 && offerId.match(suppressionList)){ obj.style.display = 'none'; } //prompt('','/view/juno/signup/includes/offer.jsp'); var page = '/view/juno/signup/includes/offer.jsp'; var suppressionList = 'confirmation|download|captcha' if(page.match(suppressionList)){ obj.style.display = 'none'; } }; hideSignInButtonExceptions(); </script></div> </td> <td width="19"><img src="/account/view/img/spacer.gif" width="19" height="68"></td> </tr> <tr style="background:#295A97;" valign="top"> <td colspan="4"><img src="/account/view/img/spacer.gif" width="1" height="4"></td> </tr> </table> </div><!-- start: friendly urls --><!-- NOTES: -build a data structure using the customer-friendly (non-parameterized) urls -during UI generation, the data-driven CPData structure will look for and use customer-friendly url equivalent whenever one is available -these aren't done directly in CPdata because the application requires the parameters to drive decision-making -<UL> and <A> ids here need to match their CPData counterpart for the logic to find and use these details for the data-driven UI --> <style> .productFree{} .product{} .category{} .store_main{} #productLinksData{ display:none; /* the data fragment in this DOM element is used to populate a UI template for presentation */ } </style> <ul id="productLinksData"> <li><a class="store_main" href="http://www.juno.com/products" >Products & Services</a> <li><a id="iso_category" class="category" alt="Wireless/Mobile Broadband, DSL Broadband or Dial-up Internet service for all budgets" title="Wireless/Mobile Broadband, DSL Broadband or Dial-up Internet service for all budgets" href="http://www.juno.com/products/internet" >Internet Access</a> <ul id="iso_links"> <li><a class="product" alt="Unlimited dial-up Internet service and email at a great price" title="Unlimited dial-up Internet service and email at a great price" href="http://www.juno.com/products/internet/unlimited" >Basic Dial-Up</a> <li><a class="product" alt="Fastest dial-up Internet service with antivirus protection & more" title="Fastest dial-up Internet service with antivirus protection & more" href="http://www.juno.com/products/internet/accelerated" >Accelerated Dial-Up</a> <li><a class="product" alt="Broadband high-speed Internet service" title="Broadband high-speed Internet service" href="http://www.juno.com/products/internet/dsl" >DSL Broadband</a> <li><a class="product" alt="Mobile Broadband high-speed Internet service" title="Mobile Broadband high-speed Internet service" href="http://www.juno.com/stay" >Mobile Broadband</a> </ul> <li><a id="securitysuite_category" class="category" href="http://www.juno.com/products/pctools" >Security / PC Tools</a> <ul id="securitysuite_links"> <li><a class="product" alt="Core protection from viruses, Trojan horses & other online threats" title="Core protection from viruses, Trojan horses & other online threats" href="http://www.juno.com/products/pctools/antivirus" >Norton™ AntiVirus</a> <li><a class="product" alt="Advanced protection from viruses, ID theft & the latest online threats" title="Advanced protection from viruses, ID theft & the latest online threats" href="http://www.juno.com/products/pctools/norton" >Norton™ Internet Security</a> <li><a class="product" alt="Norton 360 - Online Antivirus Security" title="Norton 360 - Online Antivirus Security" href="http://www.juno.com/products/pctools/norton360" >Norton 360™</a> <li><a class="product" alt="One-click computer maintenance tool for PC performance and safety" title="One-click computer maintenance tool for PC performance and safety" href="http://www.juno.com/products/pctools/pc" >PC Tune-Up</a> </ul> <li><a id="entertainment_category" class="category" alt="Premium services – fun for the whole family" title="Premium services – fun for the whole family" href="http://www.juno.com/products/entertainment" >Entertainment</span> <ul id="entertainment_links"> <li><a class="product" alt="Games, sports, education and more for all ages" title="Games, sports, education and more for all ages" href="http://www.juno.com/products/entertainment/epack" >Entertainment Pack</a> <li><a class="product" alt="Hundreds of games of all types updated monthly" title="Hundreds of games of all types updated monthly" href="http://www.juno.com/products/entertainment/games" >Games Unlimited</a> </ul> <li><span id="learning_category" class="category" >Educational Fun</span> <ul id="learning_links"> <li><a class="product" alt="Fun educational games and study help for kids and teens" title="Fun educational games and study help for kids and teens" href="http://www.juno.com/products/education/learning" >Learning Edge</a> </ul> <li><span id="pc_category" class="category" >Premium Packages</span> <ul id="pc_links"> <li><a class="product" alt="Three services in one package: Entertainment Pack, Learning Edge, and PC Tune-Up" title="Three services in one package: Entertainment Pack, Learning Edge, and PC Tune-Up" href="http://www.juno.com/products/premium/value" >Value Pack</a> </ul> <li><a id="mm_category" class="category" title="Premium email with extra storage and enhanced features" alt="Premium email with extra storage and enhanced features" href="http://www.juno.com/products/emailextra" >Email Extras</a> <ul id="mm_links"> <li><a class="product" alt="Premium email with 5GB of storage and other enhanced features" title="Premium email with 5GB of storage and other enhanced features" href="http://www.juno.com/products/emailextra/megamail" >MegaMail</a> <li><a class="product" alt="Premium email with 5GB of storage, enhanced features & more mail tools" title="Premium email with 5GB of storage, enhanced features & more mail tools" href="http://www.juno.com/products/emailextra/megamailplus" >MegaMail Plus</a> </ul> <li><span class="none" >Free Services <br>Quick, easy signup and no obligation</span> <ul id="free_links"> <li><a class="productFree" alt="Ten hours a month of reliable dial-up Internet access." title="Ten hours a month of reliable dial-up Internet access." target="_blank" href= "/account/viewOffers.do?offerId=ju-free&leftRail=true" >Free Dial-Up</a> <li><a class="productFree" alt="Free web-based email with mobile access." title="Free web-based email with mobile access." target="_blank" href= "/account/viewOffers.do?offerId=ju-free-email&leftRail=true" >Free Email</a> </ul> </ul> <!-- end: friendly urls --> <div style="background-color:#ffffff;"> <table cellpadding="0" cellspacing="0" width="100%"><tr valign="top"><td style=" background-image:url(/account/view/img/webreg/2009/menu-graphics/gradient-leftrail-bottom.gif); background-repeat: repeat-y; "><script>window.railIsOn=1;</script> <!-- start: left rail --> <script> /* data structure to drive the categories and products appearing in the store and leftrail centrally */ var brand = 'JU'.toLowerCase(); /* used for name-mangling */ var CPData = {}; /* Categories, and their associated default Products data structure */ /* category hashes: catImg is location of the image relative to /account/view/img/webreg/2009/store-graphics/ (used in the store) catTxt is the text to display in the header (used in store and rail) catUrl is the relative url to the category view (store and rail) (if you use '' for the url, the text will appear, but will not be created as a link) catHeight is to specify which height from the store mockup you want used (store) 27 (the primary offer) 22 (secondary offers) catAlt is for showing alternative text (instead of the url) */ /* products arrays: [0] is the text you want displayed on the product link [1] is the url to the product view (if you use '' for the url, the text will appear, but will not be created as a link) [2] is the optional "target" property for the link (in case you want to open a child window or target a specific frame) [3] is alternate text to show (tooltip) */ function getDefaultOfferId(dealid){ /* need to convert deal id into an offer id so we can make a plan reference note: the deal, offers, and defaults are all managed in resourcesX. */ var offerId = null; var tmparr = default_offers[dealid]; var brand = env.brand.toLowerCase(); for(var i=0; i<tmparr.length; i++){ /* we need to scan the array and find the first match who's brand prefix matches the current session */ if(tmparr[i].indexOf(brand)==0){ offerId = tmparr[i]; i=tmparr.length; } } return offerId; } function getPackageArray(obj){ /* for getting "default" offerIds for a given category, from the centralized category/product object (CPData) as an array */ var arr = obj['products'] var arrItems = []; for(var i=0; i<arr.length; i++){ if(arr[i][1]){ var tmp = arr[i][1]; arrItems[arrItems.length] = tmp.match(/offerId=(nz|ju)-([^\&]+)/)[2]; /* extract the generalized portion of the offerId parameter */ } } return arrItems; } CPData['iso'] = { 'catImg':'iso.gif', 'catTxt':'Internet Access', 'catUrl':'/account/viewCategory.do?categoryId=iso', 'catHeight':'10x27', 'catAlt':'Wireless/Mobile Broadband, DSL Broadband or Dial-up Internet service for all budgets', 'products':[ ['Accelerated Dial-Up', '/account/viewOffers.do?offerId='+getDefaultOfferId(default_offers_by_category['iso-acc'][brand]), '','Fastest dial-up Internet service with antivirus protection & more' ], ['Free Dial-Up', '/account/viewOffers.do?offerId=' + brand + '-free', '','Unlimited dial-up Internet service and email at a great price' ], ['DSL Broadband','/account/viewOffers.do?offerId='+brand+'-iso-dsl','', 'Broadband high-speed Internet service' ], []] } var accUser = false; /* accelerated users get a price break on some items */ var nis = brand+'-ss-nis-6-95-1monthfree'; if(accUser) nis = brand+'-ss-nis-6-95-1monthfree'; var n360 = brand+'-ss-n360-9-95-fmf'; if(accUser) n360 = brand+'-ss-n360-9-95-fmf'; CPData['securitysuite'] = { 'catImg':'ss.gif', 'catTxt':'Security', 'catUrl':'/account/viewCategory.do?categoryId=securitysuite', 'catHeight':'10x22', 'catAlt':'Internet security and computer maintenance', 'products':[ ['Norton 360™','/account/viewOffers.do?offerId='+n360,'', 'Advanced protection from viruses, ID theft & the latest online threats' ], ['Norton™ Internet Security','/account/viewOffers.do?offerId='+nis,'', 'Advanced protection from viruses, ID theft & the latest online threats' ], ['Norton™ AntiVirus','/account/viewOffers.do?offerId='+brand+'-ss-nav-3-95-1monthfree','', 'Core protection from viruses, Trojan horses & other online threats' ], /* ['PC Tune-Up','/account/viewOffers.do?offerId='+brand+'-pc-tuneup-6-95-fmf','', 'One-click computer maintenance tool for PC performance and safety' ], */ []] } CPData['entertainment'] = { 'catImg':'entertainment.gif', 'catTxt':'Games Unlimited', 'catUrl':'/account/viewCategory.do?categoryId=entertainment', 'catHeight':'10x22', 'catAlt':'Premium services - fun for the whole family', 'products':[ ['Games Unlimited','/account/viewOffers.do?offerId='+brand+'-games895fmf','', 'Hundreds of games of all types updated monthly' ], []] } CPData['learning'] = { 'catImg':'education.gif', 'catTxt':'Educational Fun', 'catUrl':'', 'catHeight':'10x22', 'catAlt':'', 'products':[ ['Learning Edge','/account/viewOffers.do?offerId='+brand+'-pc-learning-fmf','', 'Fun educational games and study help for kids and teens' ], []] } CPData['pc'] = { 'catImg':'premium.gif', 'catTxt':'Premium Packages', 'catUrl':'', 'catHeight':'10x22', 'catAlt':'', 'products':[ ['Value Pack','/account/viewOffers.do?offerId='+brand+'-pc-valpack-15-95-fmf','', 'Three services in one package: Entertainment Pack, Learning Edge, and PC Tune-Up' ], []] } CPData['mm'] = { 'catImg':'email.gif', 'catTxt':'Email Extras', 'catUrl':'/account/viewCategory.do?categoryId=mm', 'catHeight':'10x22', 'catAlt':'Premium email with extra storage and enhanced features', 'products':[ ['MegaMail','/account/viewOffers.do?offerId='+brand+'-mmo-tier1-21-95-annual','', 'Premium email with 2GB of storage and other enhanced features','3018' ], ['Ad-Free Megamail-monthly','/account/viewOffers.do?offerId='+brand+'-mmo-tier1-adfree-monthly-2-95','', 'Premium email with Adfree feature','3022' ], ['Ad-Free Megamail-yearly','/account/viewOffers.do?offerId='+brand+'-mmo-tier1-adfree-Annual-34-95','', 'Premium email with Adfree feature','3024' ], ['MegaMail Plus','/account/viewOffers.do?offerId='+brand+'-mmo-tier2-34-95-annual','', 'Premium email with 5GB of storage, enhanced features & more mail tools','3019' ], ['Ad-Free MegaMail Plus-monthly','/account/viewOffers.do?offerId='+brand+'-mmo-tier2-adfree-monthly-5-00','', 'Premium email with Adfree feature','3021' ], ['Ad-Free MegaMail Plus-yearly','/account/viewOffers.do?offerId='+brand+'-mmo-tier2-adfree-annual-60-00','', 'Premium email with Adfree feature','3020' ], ['Ad-Free Megamail Plus-monthly','/account/viewOffers.do?offerId='+brand+'-mmo-tier2-adfree-bundle-monthly-1-95','', 'Premium email with Adfree feature','3023' ], ] } CPData['free'] = { 'catImg':'free.gif', 'catTxt':'Free Services', 'catUrl':'', 'catHeight':'10x22', 'products':[ ['Free Dial-Up','http://www.juno.com/start/landing.do?page=www/free/index&offerId='+brand+'-free','_blank', /* problem: /free behavior is different for JN. Also, we need the offerID to map for platform exclusion */ 'Ten hours a month of reliable dial-up Internet access.' ], /* existing app_start landing page */ ['Free Email','/account/viewOffers.do?offerId='+brand+'-free-email','_blank', 'Free web-based email with mobile access.' ], /* existing app_start landing page */ /* if they change their mind, here are the links to the product stubs in webreg */ //['Free Dial-Up','/account/viewOffers.do?offerId='+brand+'-free'], //['Free Email','/account/viewOffers.do?offerId='+brand+'-free-email'], []] } </script> <style> .railHeader{ background:#777; color:#fff; margin:0; padding:6px; text-align:center; _eight:32px; border-bottom:1px #A8A8A8 solid; } .railCategory{ background:#E8E8E8; color:#4E4E4E; margin:0; padding:5px; font-weight:bold; margin-top:1px; } .railCategory a{ text-decoration:none; color:#004182; } .railProductBox{ margin:0; padding:0; padding-top:5px; } .railProduct{ color:#004182; margin:0; padding:1px; padding-left:10px; } .railProduct a{ text-decoration:none; } .railProduct a:hover{ text-decoration:none; } .railCategoryBox{ margin:0; padding:0; padding-bottom:5px; background:#F4F4F4; border-bottom:1px #C8C8C8 solid; } .railContainer{ font-family:arial; font-weight:normal; font-size:10px; color:#004182; background-image:url(/account/view/img/webreg/2009/menu-graphics/gradient-leftrail-right.gif); background-repeat:repeat-y; background-position:100%; text-align:left; } .freeServicesBox{ margin:0; padding:0; background-image:url(/account/view/img/webreg/2009/menu-graphics/gradient-button-tab-middle-leftrail.gif); background-repeat:repeat-y; } </style> <div id="leftRailHTML" class="railContainer" style="float:left; margin:0; padding:0; margin-top:2px; z-index:999; width:182px; padding-right:5px; "> <div id="leftRailHeader" style="margin:0;padding:0;"> <div class="fontBb railHeader"> <a href="/" style="text-decoration:none; color:#fff;">Products & Services</a> </div> </div> <script> var brand = 'JU'.toLowerCase(); var isAdFreeDealAllowed = true; var hasMegaMail,hasMegamailPlus,hasAnyIsp = false; function makeRailHeader(img,text,url,height,alt,catType){ /* note: img and height args are throwaway in this context, adding them to allow simple cut/paste between makeRailHeader and makeHeader both of which use the same data struct (arguments str) */ /* determine which category line gets the "this page" right arrow graphic, if any */ var testUrl = url.replace(/\?/,'.'); /* regex match doesn't like the "?" */ var thisPage = (testUrl?location.href.match(testUrl):''); /* add-on: use the seo DOM components inside of productLinksData in the UI instead of the data structure when they exist */ var tobj = document.getElementById(catType+'_category') || new Object(); if(tobj.href){ url = tobj.href; } else if(url.length>0){ /* otherwise use CPData */ url += (url.match(/\?/)?'&':'?')+'leftRail=true'; } var a = '<span alt="'+alt+'" title="'+alt+'">'+text+'</span>'; if(url.length>0 & !thisPage){ a='<a href="'+url+'">'+a+'</a>'; } var html='' +'<div class="fontT railCategory">' +'<img src="/account/view/img/webreg/2009/' +(thisPage && url.length>0 ? 'menu-graphics/arrow-right.gif':'spacer.gif') +'" width="7" height="11" style="margin:0 5px 0 0;">' +a +'</div>' return html } function makeRailProductLinks(list,catType){ if(typeof(plan)=='undefined'){ hError('\nerror: plan failed to resolve'); } hasMegaMail = Boolean(); hasMegaMailPlus = Boolean(); hasAnyIsp = Boolean() || Boolean() || Boolean(); var html='' if(catType == "mm" ){ if(isAdFreeDealAllowed){ if(Boolean(false) && Boolean(false)){ if(hasAnyIsp && hasMegaMailPlus){ for(var i=0;i<list.length;i++){ if(list[i][4] == "3022" || list[i][4] == "3024" || list[i][4] == "3020" || list[i][4] == "3021"){ list.splice(i,1); i=i-1; } } } else{ for(var i=0;i<list.length;i++){ if(list[i][4] == "3023"){ list.splice(i,1); } } } }else{ for(var i=0;i<list.length;i++){ if(list[i][1].indexOf("adfree") != -1){ list.splice(i,1); i--; } } } }else{ for(var i=0;i<list.length;i++){ if(list[i][1].indexOf("adfree") != -1){ list.splice(i,1); i--; } } } } for(var i=0; i<list.length; i++){ if(list[i].length>0){ /* padding the last array item so each row dev will interact with can end with a "," for simple cut/paste changes */ /* bugz: 266352, check the package system to make sure the requested offer isn't unavailable for this platform */ var platform = 'win' var showItem = true; /* assume it's ok by default */ var offerUri = list[i][1]; /* this is a uri currently, we need to scan for the offerId */ var offerId = ''; var paramOfferId = 'ju-mmo-tier1-21-95-annual'; if(offerUri.match(/offerId=/)){ /* just want the actual offerId, ie. "nz-free" */ offerId = offerUri.match(/offerId=[^\&]+/).toString().replace(/offerId=/,''); if(plan[offerId].excludePlatform && plan[offerId].excludePlatform.match(platform)){ showItem = false; /* exclude this one */ } } var disallow = false; if(paramOfferId.match(/^..\-(free|free-email)$/)){ /* hide the arrow-right-small graphic for these in case the user gets to the non-app_start version of the product page */ disallow = true; } if(showItem){ html+='' +'<div class="fontH railProduct">' /* also handle the individual product pages */ +'<img src="/account/view/img/webreg/2009/' +((offerId.length && (offerId == paramOfferId) && !disallow) ? 'menu-graphics/arrow-right-small.gif':'spacer.gif') +'" width="6" height="9" style="margin:0 5px 0 0;">' var href = list[i][1]+(list[i][1].match(/\?/)?'&':'?')+'leftRail=true'; /* add-on: use the seo DOM components inside of productLinksData in the UI instead of the data structure when they exist */ var tobj = document.getElementById(catType+'_links') || new Object(); if(tobj && tobj.getElementsByTagName){ var tarr = tobj.getElementsByTagName('a'); for(var j=0; j<tarr.length; j++){ /* get rid of entities and ext ascii */ var tmp1 = trimExtChars(tarr[j].innerHTML); var tmp2 = trimExtChars(list[i][0]); var nonfmfAndIso = (!fmf && tmp1.match(/Accelerated|Basic/)) || 0; /* for RT 220879 only use the friendly url if it's not the B split */ if(tmp1 == tmp2 && !nonfmfAndIso){ /* if the text in the SEO structure matches the text in the CPData structure, use the anchor properties from the SEO structure */ href = tarr[j].href; } } } if(offerId.length && offerId == paramOfferId){ /* current product being viewed */ html += '' +'<span class="fontJ">'+list[i][0]+'</span>' } else{ /* regular product link */ html += '' +'<a class="fontH" href="'+href+'" ' +(list[i][2]?' target="'+list[i][2]+'"':'') /* if target argument is present include it */ +(list[i][3]?' title="'+list[i][3]+'" alt="'+list[i][3]+'"':'') /* if "alt" is provided include it */ +'>'+list[i][0]+'</a>' } html += '' +'</div>' } } } return html } </script> <!-- start: category + products --> <div class="railCategoryBox"> <script> var catType = 'iso'; var cObj = CPData[catType]; /* tmp ref to the centralized category */ document.write(makeRailHeader(cObj.catImg,cObj.catTxt,cObj.catUrl,cObj.catHeight,cObj.catAlt,catType)); //document.write(makeRailHeader('Internet Access','/account/viewCategory.do?categoryId=iso')); </script> <div class="railProductBox"> <script> var arr=cObj.products; /* tmp ref to the centralized category's products */ //var arr=[ // ['Basic Dial-Up','/account/viewOffers.do?offerId='+brand+'-iso-pt-monthly'], // ['Accelerated Dial-Up','/account/viewOffers.do?offerId='+brand+'-iso-acc-monthly'], // ['DSL Broadband','/account/landing.do'], //[]]; document.write(makeRailProductLinks(arr,catType)); </script> </div> </div> <!-- end: category + products --> <!-- start: category + products --> <div class="railCategoryBox"> <script> var catType = 'securitysuite'; var cObj = CPData[catType]; /* tmp ref to the centralized category */ document.write(makeRailHeader(cObj.catImg,cObj.catTxt,cObj.catUrl,cObj.catHeight,cObj.catAlt,catType)); //document.write(makeRailHeader('Security / PC Tools','/account/viewCategory.do?categoryId=securitysuite')); </script> <div class="railProductBox"> <script> var arr=cObj.products; /* tmp ref to the centralized category's products */ //var arr=[ // ['Norton™ AntiVirus','/account/viewOffers.do?offerId='+brand+'-ss-nav-3-95-1monthfree'], // ['Norton™ Internet Security','/account/viewOffers.do?offerId='+brand+'-ss-nis-6-95-monthly'], // ['PC Tune-Up','/account/viewOffers.do?offerId='+brand+'-pc-tuneup-6-95-fmf'], //[]]; document.write(makeRailProductLinks(arr,catType)); </script> </div> </div> <!-- end: category + products --> <!-- start: category + products --> <div class="railCategoryBox"> <script> var catType = 'entertainment'; var cObj = CPData[catType]; /* tmp ref to the centralized category */ document.write(makeRailHeader(cObj.catImg,cObj.catTxt,cObj.catUrl,cObj.catHeight,cObj.catAlt,catType)); //document.write(makeRailHeader('Entertainment','/account/viewCategory.do?categoryId=entertainment')); </script> <div class="railProductBox"> <script> var arr=cObj.products; /* tmp ref to the centralized category's products */ //var arr=[ // ['Entertainment Pack','/account/viewOffers.do?offerId='+brand+'-pc-entertainment-7-95-fmf'], // ['Games','/account/landing.do?page=index-games'], //[]]; document.write(makeRailProductLinks(arr,catType)); </script> </div> </div> <!-- end: category + products --> <!-- start: category + products --> <div class="railCategoryBox"> <script> var catType = 'mm'; var cObj = CPData[catType]; /* tmp ref to the centralized category */ document.write(makeRailHeader(cObj.catImg,cObj.catTxt,cObj.catUrl,cObj.catHeight,cObj.catAlt,catType)); //document.write(makeRailHeader('Email Extras','/account/viewCategory.do?categoryId=mm')); </script> <div class="railProductBox"> <script> var arr=cObj.products; /* tmp ref to the centralized category's products */ //var arr=[ // ['MegaMail','/account/viewOffers.do?offerId='+brand+'-mmo-tier1-1monthfree'], // ['MegaMail Plus','/account/viewOffers.do?offerId='+brand+'-mmo-tier2-1monthfree'], //[]]; document.write(makeRailProductLinks(arr,catType)); </script> </div> </div> <!-- end: category + products --> <!-- start: category + products --> <div class="freeServicesBox"> <img src="/account/view/img/webreg/2009/menu-graphics/gradient-button-tab-top-leftrail.gif"> <div _lass="railCategoryBox" style="padding:0px 10px 3px 20px; margin:0;"> <script> var catType = 'free'; var cObj = CPData[catType]; /* tmp ref to the centralized category */ var arr=cObj.products; /* tmp ref to the centralized category's products */ </script> <span class="fontT" style="color:#4E4E4E; font-size:12px;"> <script>document.write(cObj.catTxt)</script> </span> <div class="fontT" style="color:#4E4E4E; font-weight:normal; margin:0; font-size:11px; margin-bottom:5px;"> Quick, easy signup and no obligation </div> <div style="margin:0; padding:0; position:relative; left:-17px;"> <script> var html = makeRailProductLinks(arr,catType); html = html.replace(/Free/g,'» Free'); /* ugh */ document.write(html); </script> </div> </div> <img src="/account/view/img/webreg/2009/menu-graphics/gradient-button-tab-bottom-leftrail.gif" ></div> <!-- end: category + products --> <div style=" background-image:url(/account/view/img/webreg/2009/menu-graphics/gradient-leftrail-bottom.gif); background-repeat: repeat-y; height:10px; "></div></div> <!-- end: left rail --> </td><td width="100%"> <table cellspacing="0" cellpadding="0" width="100%"> <tr class="headerTable"> <td width="20"><img src="/account/view/img/spacer.gif" width="20" height="42"></td> <td nowrap> <h1 class="pghd1" id="pghd1" style="margin:0; padding:0; position:relative; left:-2px; padding-top:3px;" role="heading" >Webmail - Internet Email Access - Email Only - Juno</h1> </td> <td width="100%" align="right"> <div style="padding-top:3px; padding-right:12px; "> <span id="pageHelpText"></span> </div> </td> <td width="19"><img src="/account/view/img/spacer.gif" width="19" height="42"></td> </tr> </table> <div style="margin:0; padding:0; clear:both; background:#FFF;"><img src="/account/view/img/spacer.gif" width="20" height="2"></div> <div style="margin:0; padding:0; clear:both; background:#E9E9E9"><img src="/account/view/img/spacer.gif" width="20" height="1"></div> <!-- end: header --> <!-- start: dynamic help --> <script> /* this is in shared-global-header.jsp */ var helplink = document.getElementById('helplink') helplink.target = ''; /* need to clear the target so it doesn't try to do this in a blank page */ helplink.href = 'javascript:void(DoHelp(\'product\'));'; /* view/page based */ </script> <!-- end: dynamic help --> <script src="https://webmail.uolstatic.com/js_c/l/jq/3.6.0/jQuery.js"></script> <script> jQuery.ajaxPrefilter( function( s ) { if ( s.crossDomain ) { s.contents.script = false; } }); </script><script> var offerId = 'ju-mmo-tier1-21-95-annual'; var myPlan = plan[offerId]; if(!myPlan){ location.href='/account/viewCategory.do?categoryId=iso&invalidOffer=1&bdof=ju-mmo-tier1-21-95-annual'; //hError('Plan definition for ju-mmo-tier1-21-95-annual is missing or incomplete.'); //myPlan = new iso_undef; } var isRequestSent = false; function hClickSubmitAddToOrder(overlay){ if(isRequestSent == true){ return false; } isRequestSent = true; if(((overlay == 'moreInfo') || (overlay == 'addToOrder'))){ document.upsellForm.submit(); } else if(overlay == 'replaceOffer'){ document.changeForm.submit(); } else if('ju-mmo-tier1-21-95-annual'.match(/wls-free/)){ document.wlsForm.submit(); } else if('ju-mmo-tier1-21-95-annual'.match(/vpn/)){ document.vpnForm.submit(); } else { document.offerForm.submit(); } } function handleErrSwitchToDefaultForCategory(){ /* when an offerId is rejected by the offers engine AND it's an ISO(-pt|-acc) offer, bounce to the default offer for that category (defined in resources.js) */ if('' == 'offerInvalidForMember'){ var brandPrefix = (nz?'nz':'ju'); var isPlatOffer = 'ju-mmo-tier1-21-95-annual'.match(/iso-pt/); var isAccOffer = 'ju-mmo-tier1-21-95-annual'.match(/iso-acc/); var isoType = isPlatOffer || isAccOffer || ''; var defaultOfferIdArr = default_offers[default_offers_by_category[isoType][brandPrefix]] var defaultOfferId = ''; for(var i in defaultOfferIdArr){ if(defaultOfferIdArr[i].indexOf(brandPrefix)==0) defaultOfferId = defaultOfferIdArr[i]; } var orgURL = location.href; var newURL = location.href; /* eat some qs params */ newURL = newURL.replace(/&?group=[^\&]*/,''); newURL = newURL.replace(/&?cf=[^\&]*/,''); newURL += (newURL.match(/\?/)?'&':'?')+'ofrj=ju-mmo-tier1-21-95-annual'; /* what offer was rejected? */ newURL = newURL.replace('ju-mmo-tier1-21-95-annual',defaultOfferId); if(newURL != orgURL && defaultOfferId.length>0) location.href = newURL; /* bounce to the "switched" offerId */ } } handleErrSwitchToDefaultForCategory(); </script> <div class="content" role="dialog" style="padding:10px 20px 20px 20px;"> <!-- start: content --> <!-- TODO: if needed on the service pgs to connect deal id to offer in pkg system --> <!-- start: offer block --> <div style="white-space:nowrap;" role="dialog"> <script> var max = 70; var text = ('' ? myPlan.name : myPlan.description2); text = text.replace(/<[^>]+>/gim,''); if(text.length>max){ text = text.substr(0,max-3)+'...'; } if(text){ try{ document.write('<div class="fontFf" style="margin-bottom:10px;">'+text+'</div>'); } catch(e){ hError(e); } } </script> </div> <table><tr valign="top"><td width="100"> <!-- start: ornate pricing --> <script> var regex = myPlan.price.match(/([^\.]+)\.(.+)/); var dollars = regex[1]; var cents = regex[2]; window.debugIdx=-1; function debug(){ var arr = ['ffc','fcf','ffc','cfc','ccf','ccc']; window.debugIdx+=1; if(window.debugIdx>arr.length) window.debugIdx=0; return; // "border:1px "+arr[window.debugIdx]+" solid;" } function makeOrnatePricing(){ /* approximate left alignment better, based on the number of digits in the dollar amount */ var pWidth = '170px;' if(!offerId.match(/iso-dsl/) && !myPlan.callout4){ /* don't do this for exceptions like dsl or when the marketing text may spill over to the left */ switch(dollars.toString().length){ case 3: pWidth = '170px'; break; /* $xxx.xx */ case 2: pWidth = '150px'; break; /* $xx.xx */ case 1: pWidth = '130px'; break; /* $x.xx */ default: pWidth = '170px'; break; } } var html = '' if(myPlan.callout3){ html += '<div class="fontO">'+myPlan.callout3+'</div>' } if(myPlan.callout){ html += '' +'<div class="fontDd" style="text-align:center; white-space:nowrap; margin-top:-2px;">'+myPlan.callout+'</div>' } var ctrlsYa = { /* be more graphic-like (allow character level control) */ '0':'margin:0px -2px;'+debug(), '1':'margin:0px -4px;'+debug(), '2':'margin:0px -1px;'+debug(), '3':'margin:0px -1px;'+debug(), '4':'margin:0px 0px 0px -1px;'+debug(), '5':'margin:0px -1px;'+debug(), '6':'margin:0px -1px;'+debug(), '7':'margin:0px -1px;'+debug(), '8':'margin:0px -2px;'+debug(), '9':'margin:0px -1px;'+debug() }; html += '' +'<div id="myPrice" style="position:relative; width:'+pWidth+'; height:90px; margin:0; padding:0;">' +' <div style="position:absolute; top:0px; right:60px; white-space:nowrap; margin:0; padding:0;">' +' <span class="fontJj" style="position:relative; left:0px; top:-27px;">$</span>' +'<span class="fontLl" style="position:relative; top:-8px;">' for(var i=0; i<dollars.length; i++){ var n = dollars.charAt(i); html += '<span style="'+ctrlsYa[n]+';">'+n+'</span>' } html += '' +'</span>' +' </div>' +' <div style="position:absolute; top:0px; margin-left:1px; right:0px; width:60px;">' +'<span class="fontJj" style="letter-spacing:-1px;">' for(var i=0; i<cents.length; i++){ var n = cents.charAt(i); html += '<span style="'+ctrlsYa[n]+'">'+n+'</span>' } html += '' +'<span style="position:relative; top:-15px;font-size:20px;font-weight:bold;">*</span></span>' +' </div>' +' <div style="position:absolute; bottom:30px; right:0px; width:60px; text-align:center;">' +' <span class="fontY" style="margin-left:-10px;letter-spacing:-1px;">'+myPlan.recurrence+'</span>' +' </div>' if(myPlan.callout4){ html += '' +' <div style="position:absolute; bottom:0px; right:0px; left:0px; text-align:center; width:100%;">' +' <span class="fontDd" style="white-space:nowrap;">'+myPlan.callout4+'</span>' +' <div>' } html += '' +'</div>' // This area below is the custom copy area on the mobile broadband landing page if(!parseInt(myPlan.price)){ html = '' +'<div class="fontDd" style="font-size:18px; width:140px;">Plans as low as</div>' +'<div id="myPrice" style="position:relative; width:130px; height:90px; margin:0; padding:0;">' +'<div style="position:absolute; top:0px; right:60px; white-space:nowrap; margin:0; padding:0;">' +'<span class="fontJj" style="position:relative; left:0px; top:-27px;">$</span>' +'<span class="fontLl" style="position:relative; top:-8px;">' +'<span style="margin:0px -1px;undefined;">' + dollars + '</span>' +'</span></div>' +'<div style="position:absolute; top:0px; margin-left:1px; right:0px; width:60px;">' +'<span class="fontJj" style="letter-spacing:-1px;">' +'<span style="margin:0px -1px;undefined">' + cents.substr(0,1) + '</span>' +'<span style="margin:0px -1px;undefined">' + cents.substr(1,2) + '</span>' +'</span></div>' +'<div style="position:absolute; bottom:30px; right:0px; width:60px; text-align:center;">' +'<span class="fontY" style="margin-left:-10px;letter-spacing:-1px;">a month</span>' +'</div></div>' +'<div style="margin-left:14px; margin-top:-24px;"><span class="fontDd" style="white-space:nowrap;"><span style="font-size:70%; white-space:nowrap;">No contract required</span></span></div>' } if(!parseInt(myPlan.name.match(/datashield/))) { //alert(myPlan.name); } document.write(html); } makeOrnatePricing(); </script> <!-- end: ornate pricing --> </td><td width="500" style="padding:0 10px 10px 10px;"> <div id="planDescriptionText" class="fontL"> <script> var isUpsell = ''; if(myPlan.description5 && !isUpsell){ document.write('<div class="fontZ">'+myPlan.description5+'</div>'); } try{ document.write(myPlan.description); } catch(e){ hError(e); } </script> </div> <script> function resizeDescription(){ var obj = document.getElementById('planDescriptionText') var isDSL = false; var isUpsellContext = false; if(obj && !isDSL && !isUpsellContext){ /* "try to wrap at the 1- in the phone number" */ obj.style.width = '435px'; /* note: NIS description5 wraps below 435 */ } }; resizeDescription(); </script> <div style="padding:15px 10px 10px 100px;"> <script> if (false) { obj = document.write('<div class="fontP warnBox" align="center">'+"You own this product."+'</div>'); } </script> <!-- start: button code ("NORMAL" CASE) --> <table cellpadding="0" cellspacing="0"><tr><td align="center"> <!-- button mockup creative variation 1 --> <script> function Qs2Inputs(){ /* parse query string and include key/value pairs in hidden inputs to preserve for next step */ var tmp = location.search.substr(1,location.search.length).split(/&/) for(var i=0; i<tmp.length; i++){ var kv = tmp[i].split(/=/); document.write('<input type="hidden" name="'+kv[0]+'" value="'+kv[1]+'">'); } } var errMsg = { 'offerInMember':'You own this product.', 'offerInMemberHigher':'You own this product.', 'offerInvalidForMember':'This product is not available to you.', 'offerNotAvailableForMember':'This product is not available to you.', 'offerNotFound':'Invalid product.', 'platformNotSupported':'This product is not supported on your operating system.', '':'' }; </script> <!-- context 1: product --> <form name="offerForm" id="offerForm" method="POST" action="/account/selectOfferController.do" style="margin:0;"> <input type="hidden" name="offerId" value="ju-mmo-tier1-21-95-annual" /> <script>Qs2Inputs()</script> </form> <!-- context 2: upsell (the upsell form must use POST) Free to Paid--> <form name="upsellForm" id="upsellForm" target="_top" method="POST" commandName="order" action="/account/selectUpsellOffers.do?upsell=false&isFreeUpsell=true" style="margin:0;"> <input type="hidden" name="offerId" value="ju-mmo-tier1-21-95-annual" /> </form> <!-- context 3: change selection (switch plans from the billing page) --> <form name="changeForm" id="changeForm" target="_top" method="POST" commandName="order" action="/account/selectOfferController.do" style="margin:0;"> <input type="hidden" name="offerId" value="ju-mmo-tier1-21-95-annual" /> </form> <!-- context 4: change selection (changing the controller for the wireless plans to be taken to the view offers page) --> <form name="wlsForm" id="wlsForm" target="_top" method="POST" commandName="order" action="/account/viewWirelessOffers.do" style="margin:0;"> </form> <script> var ovl = ''; var href='return hClickSubmitAddToOrder(ovl);'; function hClickSubmitAddToOrder(overlay){ if(isRequestSent == true){ return false; } isRequestSent = true; if(((overlay == 'moreInfo') || (overlay == 'addToOrder')) && (!'ju-mmo-tier1-21-95-annual'.match(/vpn/))){ document.upsellForm.submit(); } else if(overlay == 'replaceOffer'){ document.changeForm.submit(); } else if('ju-mmo-tier1-21-95-annual'.match(/wls-free/)){ document.wlsForm.submit(); } else if('ju-mmo-tier1-21-95-annual'.match(/vpn/)){ document.vpnForm.submit(); } else { document.offerForm.submit(); } } var text = 'Order Now'; if(ovl=='replaceOffer') text = 'Update Service'; /* revisions to EYI change selection */ var html = getButtonHTMLstyle1(text,href,'10x26',125,'center',false,true); if('ju-mmo-tier1-21-95-annual'.match(/games/)){ /* strange one-offs */ var tmp = html; html = '' +'<table><tr valign="top"><td nowrap class="fontL" width="75" style="padding-top:7px;">' +'<a href="http://games.juno.com" target="_blank">' +'Play for Free' +'</a> </td><td align="center" id="elBTN1">' +tmp +'</td></tr></table>'; setTimeout(function(){ /* fix "centering issue" this one-off creates on verbiage that comes later in the upsell context */ var s1=document.getElementById('elBTN1'); var s2 = document.getElementById('elNothanks'); if(s1 && s2){ s1.innerHTML += ''+s2.innerHTML; s2.innerHTML = ''; } },1000); } if('ju-mmo-tier1-21-95-annual'.match(/wls/)){ /* strange one-offs */ var tmp = html; html = '' +'<table><tr valign="top"><td nowrap class="fontL" width="75" style="padding-top:7px;">' +'<a style="cursor:pointer; text-decoration:none; width:125; padding:0; display:block;" href="http://store.juno.com/account/viewWirelessOffers.do">' +'<table width="125" cellspacing="0" cellpadding="0" style="cursor:pointer;margin:0;">' +'<tr><td>' +'<img border="0" src="/account/view/img/webreg/2009/buttons/10x26/button-left-10x26-n.gif">' +'</td>' +'<td align="center" width="100%" style="background-image:url(/account/view/img/webreg/2009/buttons/10x26/button-middle-10x26-n.gif);">' +'<a href="http://store.juno.com/account/viewWirelessOffers.do"><span class="fontU" style="color:#fff;">Choose a Plan</span></a>' +'</td><td>' +'<img border="0" src="/account/view/img/webreg/2009/buttons/10x26/button-right-10x26-n.gif">' +'</td></tr></table>' +'</a> </td>' +'</td></tr></table>'; } /* bugz: 266352, check the package system to make sure the requested offer isn't unavailable for this platform */ var platform = 'win' if(plan['ju-mmo-tier1-21-95-annual'].excludePlatform && plan['ju-mmo-tier1-21-95-annual'].excludePlatform.match(platform)){ /* exclude this one */ var html = '' +'<div class="fontP warnBox" style="width:150px;">' +errMsg['platformNotSupported'] +'</div>' document.write(html); } else{ /* show the button */ document.write(html); } </script> </td></tr></table> <!-- end: button code ("NORMAL" CASE) --> </div> </td><td align="center" width="500"> </td></tr></table> <!-- end: offer block --> <!-- start: reuse page elements with specific package context --> <script defer="defer"> try{ var obj = document.getElementById('pghd1'); var text = (myPlan.name3?myPlan.name3:myPlan.categoryName); obj.innerHTML = text.replace(/<[^>]+>/gim,''); /* don't allow HTML, such as "<br>" or you'll break the heading */ } catch(e){} </script> <!-- end: reuse page elements with specific package context --> <div style="margin:10px; margin-left:0;"> <!-- start: tabs --> <style> .tabEnd{ border-top:1px solid #D6D6D6; background:#FFFFFF; float:left; height:32px; border-right:1px solid #D6D6D6; margin:1px 0 0 0; } .onstate{ border-top:1px solid #D6D6D6; background:#FFFFFF; float:left; height:32px; border-right:1px solid #D6D6D6; margin:1px 0 0 0; } .onstatein{ background:#FFFFFF; text-align:center; height:29px; padding-top:4px; /* and use font T */ font-family:arial; font-weight:bold; font-size:13px; color:#747474; } .offstate{ cursor:pointer; background:#E9E9E9; margin:2px 0px 0 0px; border-top:1px solid #D6D6D6; border-right:1px solid #D6D6D6; float:left; text-align:center; height:32px; margin:1px 0 0 0; } .offstatein{ border:1px solid #FFFFFF; height:25px; _height:30px; padding-top:4px; /* and use font W */ font-family:arial; font-weight:bold; font-size:13px; color:#004182; } .simple_overlay { display:none; z-index:10000; background-color:#191919; width:686px; min-height:284px; border:4px solid #FDFDFD; border-radius: 5px 5px 5px 5px; -moz-box-shadow:0 0 90px 5px #000; -webkit-box-shadow: 0 0 90px #000; } .simple_overlay .close { background-image:url(/static/start/view/img/frontdoorblack/close.png); position:absolute; right:-18px; top:-18px; cursor:pointer; height:35px; width:35px; z-index:10000; opacity:1; } .simple_overlay .content { margin: 30px 0px 30px 30px; color: #ffffff; font-size: 16px; } .simple_overlay .oos { font-size:26px; } .simple_overlay .email { font-size:12px; font-style:italic; } .simple_overlay .leftContent { float: left; width: 378px; } .simple_overlay .rightContent { float: left; margin-left:30px; } </style> <script type="text/javascript"> //alert(document.documentElement.clientWidth); function doLoad(obj,context){ /* make the HTTP requests for the tabs iframe */ var key = obj.innerHTML; var src = ''; var isUpsell = ''; if(isUpsell) isUpsell = '&upsell='+isUpsell; var wrlsTab = false; if (typeof context != 'undefined') { var wrlsTab = context; } var tObj = tObj || document.getElementById('chartContent'); switch(key){ case 'Features': src = '/account/landing.do?page=webreg/offer-features&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'FAQs': src = '/account/landing.do?page=webreg/offer-faqs&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'Compare': src = '/account/landing.do?page=webreg/offer-compare&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'Coverage': src = '/account/landing.do?page=webreg/offer-coverage&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'More Info': src = '/account/landing.do?page=webreg/offer-moreinfo&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'Devices': src = '/account/landing.do?page=webreg/offer-devices&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; case 'Plans & Pricing': src = '/account/landing.do?page=webreg/offer-planspricing&offerId=ju-mmo-tier1-21-95-annual'+isUpsell; break; } switch(wrlsTab) { case 'plansPricing': src = 'https://www.juno.com?tab=planspricing'+isUpsell; break; case 'devices': src = 'https://www.juno.com?tab=devices'+isUpsell; break; case 'info': src = 'https://www.juno.com?tab=moreinfo'+isUpsell; break; } try { if (wrlsTab != false) { tObj.contentWindow.parent.location.replace(src); } else { tObj.contentWindow.location.replace(src); } } catch(e){ tObj.src = src; /* if replace fails, use the old method */ } } function swapUI(){ /* do the visual part of "selecting" the tab UI */ var tab = window.currentlyActiveTab; for(i=1; i<6; i++) { /* note: because we're assuming an arbitrary number of tabs, we need to get object refs before trying to operate on them */ var v1="t"+i; var obj1 = document.getElementById(v1+"d"); var obj2 = document.getElementById(v1); if(obj1 && obj2){ if(i==tab){ obj1.className= "onstate"; obj2.className= "onstatein"; } else{ obj1.className="offstate"; obj2.className="offstatein"; } } } } function swap(tab,name,obj,auto) { /* iframe w/urls from zulu_account, on click, change the src */ window.currentlyActiveTab = ''; swapUI(); /* unhighlight the active tab during the switch */ window.currentlyActiveTab = tab; /* store this for "later" (after the iframe onload event fires) */ setTimeout('swapUI()',3000); /* if something is too slow loading, force the tab to highlight anyway after n seconds */ var context = false; if (obj.innerHTML.match(/Pricing/)) { context = 'plansPricing' } else if (obj.innerHTML.match(/Devices/)) { context = 'devices' } else if (obj.innerHTML.match(/Info/)) { context = 'info' } if (typeof auto != 'undefined') context = false; doLoad(obj, context); return false; } function closeOverlay(index) { document.getElementById('deviceOverlay'+index).style.display='none'; document.getElementById('overlayDiv').style.display='none'; } </script> <div style="height:32px; padding:0; margin:0; position:relative; top:1px;" id="productTabs"><!-- dynamic --></div> <script> /* build tabs based on the tabs array associated with the current product view and whether we're in an upsell context */ /* global, in order to allow various components to use this */ function buildCustomProductTabs(_tabs){ var mapTabs = { /* allow tabs to be controlled per mockups */ 'compare':['Compare','width:93px;'], 'faqs':['FAQs','width:76px;'], 'features':['Features','width:99px;'], 'planspricing':['Plans & Pricing','width:130px;'], 'moreinfo':['More Info','width:99px;'], 'devices':['Devices','width:85px;'], 'coverage':['Coverage','width:99px;'] }; var html = '' +'<div class="tabEnd"></div>' for(var i=0; i<_tabs.length; i++){ html += '' +'<div class="offstate" id="t'+(i+1)+'d">' +' <div style="'+mapTabs[_tabs[i]][1]+'" class="offstatein"' +' onclick="return swap(\''+(i+1)+'\',\'panel'+(i+1)+'\',this);" id="t'+(i+1)+'"' +' >'+mapTabs[_tabs[i]][0]+'</div>' +'</div>' } /* put the HTML into the static container */ var obj = document.getElementById('productTabs'); obj.innerHTML = html } </script> <div class="simple_overlay" id="deviceOverlay1"><div class="content"> <a class="close" onclick="closeOverlay(1);"> </a> <img src="/static/store/view/img/wireless/nz4g_small.gif" width="90" height="29" /> <img src="/static/store/view/img/wireless/stick.gif" width="90" height="21" /> <span class="oos">Temporarily Out of Stock</span> <div class="leftContent"> <br /> Due to high demand, this device will be available for shipment in 6-8 weeks. Select "Continue" to order this device now or close this window to choose another device. <br /><br /> <span class="email"> We will email you when the device is shipped. Your account will only be charged when the device is shipped. </span> <img src="/static/store/view/img/btn_continue_device.gif" style="cursor:pointer; margin-top:10px;" border="none" onclick="closeOverlay(1);window.location='/account/selectWirelessDevice.do?deviceId=nz-wls-device-usb-01';"> </div> <div class="rightContent"> <img src="/static/start/view/img/frontdoorblack/reg_usb_alpha.png" border="0" alt="NetZero Stick" /> </div> </div></div> <div class="simple_overlay" id="deviceOverlay2"><div class="content"> <a class="close" onclick="closeOverlay(2);"> </a> <img src="/static/store/view/img/wireless/nz4g_small.gif" width="90" height="29" /> <img src="/static/store/view/img/wireless/hotspot.gif?v=1" width="144" height="21" /> <span class="oos">Temporarily Out of Stock</span> <div class="leftContent"> <br /> Due to high demand, this device will be available for shipment in 6-8 weeks. Select "Continue" to order this device now or close this window to choose another device. <br /><br /> <span class="email"> We will email you when the device is shipped. Your account will only be charged when the device is shipped. </span> <img src="/static/store/view/img/btn_continue_device.gif" style="cursor:pointer; margin-top:10px;" border="none" onclick="closeOverlay(2);window.location='/account/selectWirelessDevice.do?deviceId=nz-wls-device-mifi-02';"> </div> <div class="rightContent"> <img src="/static/start/view/img/frontdoorblack/reg_mifi_alpha.png" border="0" alt="NetZero HotSpot" /> </div> </div></div> <iframe id="chartContent" allowtransparency="yes" frameborder="0" scrolling="auto" onload="swapUI();" align="top" width="100%" src="/account/view/img/spacer.gif" style="margin:0; padding:0; height:350px; overflow-x:hidden; border:1px solid #D6D6D6; "></iframe> <script> /* iframe needs to exist in the dom before here */ var tabs = myPlan.tabs; buildCustomProductTabs(tabs); /* bring up the initial tab */ swap(1,'panel1',document.getElementById('t1'),'onload'); </script> <!-- end: tabs --> </div> <script> function modifyLayoutBasedOnLeftRailReqChange(){ /* solve an issue reqs changes in rt 213938 introduce... the description and button section width is reduced--which leaves a large empty white-space in the wrapper design when the leftRail isn't present. Refactor the widths (the problem is that we don't know all of the details affecting presence/absense of the leftRail until this point). Here, we'll discover how that presence/absense played out, and change the layouts to accommodate */ var newWidth = 700; /* should only need to tweak this */ var isProductStep = false; var tmp = '/view/juno/signup/includes/offer.jsp'; if(tmp.match && tmp.match(/\/offer.jsp/)){ isProductStep = true; } var obj = document.getElementById('leftRailHTML'); if(isProductStep && obj && obj.style.display == 'none'){ /* deal with the tabs iframe */ var tobj = document.getElementById('chartContent'); if(tobj){ tobj.style.width = newWidth+'px'; } newWidth += 60; /* need to let the wrappers accommodate margins/padding */ var tobj = document.getElementById('paletteMain'); if(tobj){ tobj.style.width = newWidth+'px'; tobj.style.tableLayout = 'fixed'; } var tobj = document.getElementById('wrapper'); if(tobj){ tobj.style.width = newWidth+'px'; } var tobj = document.getElementById('palette'); if(tobj){ tobj.style.width = newWidth+'px'; } } }; modifyLayoutBasedOnLeftRailReqChange(); </script> <!-- start: fine_print example --> <p><div id="actualFinePrint" style="display:none;clear:both;"><div class="disclaimer" style="text-align:left;"> * <span class="fontH" id="toggle_default" onclick="return myToggle(this);" onfocus="blur();" style="border-bottom:1px #004182 dashed; color:#004182; cursor:pointer;" >More details and limitations</span> <span class="fontH" id="toggle_toggle" onclick="return myToggle(this);" onfocus="blur();" style="border-bottom:1px #004182 dashed; color:#004182; cursor:pointer; display:none;" >More details and limitations</span> <img id="toggle_arrow" src="/account/view/img/webreg/2009/toggle-down.gif"> </div> <div style="display:none; padding-left:7px; text-align:left;" id="fine_print" class="disclaimer"> <!-- This container needs to be filled dynamically by the disclaimer system --> <script> /* use the disclaimers array defined with the product object */ function getProductDisclaimer(pkg){ if(pkg.disclaimer){ var html = '' for(var i=0; i<pkg.disclaimer.length; i++){ html += (i>0?'<p>':'')+'<b>'+pkg.disclaimer[i]['header']+'</b>' +'<br>'+pkg.disclaimer[i]['text'] } document.write(html); } } getProductDisclaimer(myPlan); </script></div> </div> <script> if(parent && parent.document){ window.isOverlay = parent.document.getElementById('overlayL'); if(window.isOverlay){ /* remember the initial height */ window.isOverlay.orgHeight = window.isOverlay.style.height; /* also, resize the fine print to fit the overlay */ var w = window.isOverlay.offsetWidth if(w && w>30){ document.getElementById('fine_print').style.width = w-50; } } } </script> <script type="text/javascript"> function myToggle(obj){ /* un|hide the disclaimer container and associated UI */ tobj_link_default = document.getElementById('toggle_default'); tobj_link_toggle = document.getElementById('toggle_toggle'); tobj = document.getElementById('fine_print'); grobj = document.getElementById('toggle_arrow'); if(obj.togglestate){ tobj_link_default.togglestate = 0; tobj_link_toggle.togglestate = 0; tobj.style.display = 'none'; grobj.src='/account/view/img/webreg/2009/toggle-down.gif'; if (tobj_link_default.style.display == 'none') { tobj_link_default.style.display = 'inline'; tobj_link_toggle.style.display = 'none'; } else { tobj_link_default.style.display = 'none'; tobj_link_toggle.style.display = 'inline'; } if(window.isOverlay && window.isOverlay.orgHeight){ /* if we don't know the original height, don't attempt to reset this */ window.isOverlay.style.height = window.isOverlay.orgHeight; } } else{ tobj_link_default.togglestate = 1; tobj_link_toggle.togglestate = 1; tobj.style.display = ''; grobj.src='/account/view/img/webreg/2009/toggle-up.gif'; if (tobj_link_default.style.display == 'none') { tobj_link_default.style.display = 'inline'; tobj_link_toggle.style.display = 'none'; } else { tobj_link_default.style.display = 'none'; tobj_link_toggle.style.display = 'inline'; } if(window.isOverlay){ window.isOverlay.style.height = '1000px'; } } return false; } </script> <p><div id="inPageFinePrintPlaceholder" class="disclaimer" style="width:700px; clear:both;"></div> <script type="text/javascript" defer="defer"> window.moveFinePrintIntoTemplate = function(){ /* move this into the template for this use case */ if(!this.moveFinePrintDone){ this.moveFinePrintDone = 1; } else{ return; } var sObj = document.getElementById('actualFinePrint'); // var tObj = document.getElementById('templateFinePrintPlaceholder'); var tObj = document.getElementById('inPageFinePrintPlaceholder'); tObj.innerHTML = sObj.innerHTML; sObj.innerHTML = ''; } if(window.addEventListener){ window.addEventListener('load',window.moveFinePrintIntoTemplate,false); } else if(window.attachEvent){ window.attachEvent('onload',window.moveFinePrintIntoTemplate); } else{ window.onload = window.moveFinePrintIntoTemplate; } </script> <!-- end: fine_print example --> <script> /* looks like front door contexts have a much narrower view. So we need to go through and resize any hard-coded elements when called from front door (or any other non-left rail, standard header) contexts. We will do on page load to make sure we have dom elements we need. */ fixWidthForNoLeftRail = { width : '820px', pname : '/view/juno/signup/includes/offer.jsp', leftRail : 'true', resizeList : ['bordertrim','boltheader','keyline'], init: function() { if (window.addEventListener) { window.addEventListener('load',fixWidthForNoLeftRail.resize(),false)} else if (window.attachEvent) { window.attachEvent('onload',fixWidthForNoLeftRail.resize())} else { window.onload = window.fixWidthForNoLeftRail.resize()} }, fixElement : function(elementID) { var obj = document.getElementById(elementID); if (typeof obj != undefined) { obj.style.width = this.width; } }, resize : function() { var railDisplay = document.getElementById('leftRailHTML').style.display; var testObj = document.getElementById('boltheader'); var inOverlay = parent.document.getElementById('overlayIframe') || null; if (this.pname.match(/offer/) && (this.leftRail != 'true') && (typeof testObj != 'undefined') && (inOverlay == null) && (railDisplay == 'none')) { document.getElementsByTagName('body')[0].style.width=this.width; for (var i=0; i<this.resizeList.length; i++) { document.getElementById(this.resizeList[i]).style.width=this.width; } var removalObj = document.getElementById('topgray'); removalObj.parentNode.removeChild(removalObj); document.getElementById('logo').style.marginRight = '150px'; } } }; fixWidthForNoLeftRail.init(); </script> <!-- start: support upsell overlay --> <script> function doResizeOverlay(){ /* detect whether this page is rendered through the upsell overlay mechanism and -if so- resize the container based on the mockup pdf spec sizing based on whether it's the moreInfo or addToOrder context it defines */ if(parent && parent.document){ var obj = parent.document.getElementById('overlayIframe') || null; if(obj){ // obj.style.height = 212; obj.style.height = '80%'; /* problem: when the toggle link resizes the overlay, it would also need to resize this (by sticking with a % value, it expands/contracts acceptably) */ } } } doResizeOverlay(); </script> <!-- start: support upsell overlay --> <!-- end: content --> </div> <!-- start: preload resources --> <script> document.write('<sc'+'ript type="text/javascript" src="https://'+location.host+'/account/view/js/webreg-preload.js?v=1"></sc'+'ript>') </script> <!-- end: preload resources --> <script> function popup(url,target,settings){ win=window.open(url,target,settings); return false; } function rights () { var popURL = "https://www.juno.com/start/landing.do?page=www/popup/yourprivacyrights" popup(popURL,'Rights','toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=auto,left=10,top=100,width=425,height=400'); } </script> </td></tr></table></td></tr><tr valign="bottom"><td style="padding:0;"></td></tr></table><!-- start: wrapper footer --> <table align="center" width="100%" cellpadding="0" cellspacing="0" style="margin-top:10px;"> <tr> <td><div id="templateFinePrintPlaceholder" class="disclaimer" style="width:700px;"></div></td> </tr> <tr valign="top"> <td> <div id="descriptionNewUI" class="fontC"><!-- need the contextual data here --></div> <script> function updateDescriptionDataUI(){ var sobj = document.getElementById('descriptionData'); var tobj = document.getElementById('descriptionNewUI'); if(sobj && tobj) tobj.innerHTML = sobj.innerHTML; }; updateDescriptionDataUI(); </script> </td> </tr> <tr> <td class="footer"> <table align="center" style="margin-top:10px;"> <tr> <td class="footer"> <a class="footerLink" href="https://www.juno.com/start/landing.do?page=www/legal/privacy" target="_blank" >Privacy Policy</a> | <a class="footerLink" href="https://www.juno.com/start/landing.do?page=www/legal/yourprivacyrights">Your Privacy Rights: Do Not Sell My Info</a></a> | <a class="footerLink" href="https://www.juno.com/start/landing.do?page=www/legal/terms" target="_blank" >Terms of Service</a> </td> </tr> <tr><td height="5"></td></tr> </table> <div align="center"> © 1995-2024 Juno Online Services, Inc. Juno is a registered trademark, and the Juno logo is a trademark of Juno Online Services, Inc. </div> </td> </tr> </table> <!-- end: wrapper footer --> </td></tr></table></div> </center> <!-- start: end-of-page handling --> <script> function addErrorPhone(){ var obj = document.getElementById('pageError') if(obj){ obj.innerHTML = obj.innerHTML.replace("$errorMsgPhone", "1-800-654-5866"); obj.innerHTML = obj.innerHTML.replace("$helpPhone", "1-800-654-5866"); } } addErrorPhone(); </script> <!-- end: end-of-page handling --> <!-- start: shared-tracking --> <script> /***************************************************************************** Couple of generic cookie functions, initailly used for google tracking on the wireless flows. *****************************************************************************/ function Set_Cookie( name, value, expires, path, domain, secure ) { // set time, it's in milliseconds var today = new Date(); today.setTime( today.getTime() ); /* if the expires variable is set, make the correct expires time, the current script below will set it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24 */ if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } // this function gets the cookie, if it exists function Get_Cookie( name ) { //console.log(document.cookie); var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) ); } </script><div id="reqParams" style="display:none;">leftRail=true&offerId=ju-mmo-tier1-21-95-annual&</div> <script> if (!env.registerServer) { if (minisite == 'true') { env.registerServer = "setup.netzerowireless.com"; } else{ env.registerServer = "store.juno.com"; } } if (!session || !session.tid) { var session = { 'tid':function(){ var transferid = unescape(document.cookie).match(/tid=[^;]+/); /* some cases don't have a jsession, avoid triggering an error by testing after match */ if(transferid) transferid = transferid.toString().replace(/tid=/,''); return transferid }, 'sid':function(){ var jsession = unescape(document.cookie).match(/JSESSIONID=[^;]+/); /* some cases don't have a jsession, avoid triggering an error by testing after match */ if(jsession) jsession = jsession.toString().replace(/JSESSIONID=/,''); return jsession; }, 'aid':function(){ /* asessionid survives ssl bounce whereas jsessionid doesn't working with... unescaped: asessionid%211662264%7C escaped: asessionid!1662264| */ var asession = unescape(document.cookie).match(/asessionid![^|]+/); if(asession) asession = asession.toString().replace(/asessionid!/,''); return asession; }, 'cf':function(){ /* RT 221964 - need to preserve and retrieve cf */ var cf = unescape(''); if(cf == 'null'){ cf = ''; } if(!cf){ /* no? try from cookie */ cf = unescape(document.cookie).match(/cf=[^;]+/); if(cf){ cf = cf.toString().replace(/cf=/,''); if(cf == 'null'){ cf = ''; } } if(!cf){ /* no?, try from previously set value */ cf = unescape(document.cookie).match(/scf=[^;]+/); if(cf){ cf = cf.toString().replace(/scf=/,''); if(cf == 'null'){ cf = ''; } } if(!cf){ /* sorry, no cf */ } } } if(cf == 'null'){ cf = ''; } if(cf){ setCookieValue('scf',cf,'session'); /* remember it for a later step */ } else{ cf = ''; /* we don't want "null" */ } return cf; } }; } </script> <script> window.trkEvent = function(eventType,pagename,notes){ /* event tracking */ if(!notes) notes=''; var jsession = unescape(document.cookie).match(/tid=[^;]+/); /* some cases don't have a jsession, avoid triggering an error by testing after match */ if(jsession) jsession = jsession.toString().replace(/tid=/,''); if(!pagename) pagename = window.pagename; if(env.brand != 'BL'){ var url = ''+location.protocol+'//'+env.registerServer +'/account/event.do' +'?jsessionidVal='+jsession +'&refcd='+window.myRefcd +'&pagename='+escape(pagename) +'&event='+(eventType?eventType:'pageview') +'&brand='+env.brand +'&memberId='+window.memberId +'&requestParams='+escape(location.href) /* params2Str */ +'&referrer='+escape(document.referrer) +'&paymentType='+order.paymentType +'&promocd='+order.promocd +'¬es='+notes +'&random='+Math.random()*1000; var el=document.createElement('img'); el.src=url; el.width = '1'; el.height='1'; el.style.display='none'; var obj = document.getElementById('forMSIE927917'); if(obj && obj.appendChild) obj.appendChild(el); /* work around msie dom issue */ } } /* end: event tracking */ /* global tracking vars */ var params2Str = escape(document.getElementById('reqParams').innerHTML.replace(/\s/gim,'')); /* using the div to normalize any chars that might not be syntax friendly */ var temp="/viewOffers.do"; temp = temp.match(/([a-zA-Z]+)\.do/); var servlet='unknown'; if(temp.length) servlet = temp[1]; var pagename = '/view/juno/signup/includes/offer.jsp'; pagename = pagename.replace(/\.jsp/,''); if(pagename.length<1) pagename='unknown'; /* retain in case we want to reuse */ var refcd=window.myRefcd; var cf=unescape(""); var flowid="" var serverType=""; var omEnv="production"; </script> <script> var trackSpecialID = (typeof mySpecialCode != 'undefined'?'-wls-'+mySpecialCode:''); </script> <script> var trackWirelessProviderId = "", trackHomePlans = ""; </script> <script> /* */ var pname = '/view/juno/signup/includes/offer.jsp'; var track = false; var pagesToTrack = ['wirelessDevices','wirelessOffers','confirmation']; for (var i=0; i<pagesToTrack.length;i++) { if (pname.indexOf(pagesToTrack[i]) != -1) { track = true; } } if (trackSpecialID.length > 0) { // console.log('tracking new page view...') window.trkEvent('pageview',pname + trackWirelessProviderId + trackHomePlans + trackSpecialID); } else if (track == true) { // console.log('lets track '+pname); var offer = ''; var device = ''; var notes = ''; notes = offer + (device.length>0?'|':'') + device; window.trkEvent('pageview',pagename + trackWirelessProviderId + trackHomePlans,notes); } else { // console.log('tracking generic page name'); window.trkEvent('pageview',pagename + trackWirelessProviderId + trackHomePlans); } </script> <!-- start: logpv --> <script> /* based on pageview.js functionality -update to create img pixel calls via appendChild, (also taking into account MSIE 927917) -include function inline to avoid dev/QA env errors due to self-signed ssl certs */ function testForMSIE927917(){ var obj = document.getElementById('forMSIE927917'); /* app-store */ if(!obj){ document.write('<div id="forMSIE927917" style="display:none;"></div>'); } }; testForMSIE927917(); /* make sure there's a container */ function logPageView(application, page, sid, server, comefrom) { if(typeof server == "undefined") server = 'http://track.untd.com'; if(typeof sid == "undefined") sid = 'default'; if(!sid) sid = 'default'; /* defined (aka, passed as an argument) but null */ if(typeof comefrom == "undefined") comefrom = ''; var url = server+'/s/pv?s=999999&a='+application+'&p='+page+'&d=unknown&i='+sid+'&cf='+comefrom+'&srt=0&crt=0&'; var el=document.createElement('img'); el.src=url; el.width = '1'; el.height='1'; el.style.display='none'; var obj = document.getElementById('forMSIE927917'); if(obj && obj.appendChild) obj.appendChild(el); /* work around msie dom issue */ } logPageView(servlet,pagename+trackWirelessProviderId + trackHomePlans,session.tid(),'https://track.juno.com',session.cf()); /* session.(sid|cf) defined in shared-packages-isp-ALTERNATE */ </script> <!-- end: logpv --> <!-- start: google analytics --> <script language="JavaScript"> var gpname = '/view/juno/signup/includes/offer.jsp'; gpname = gpname.replace(/\.jsp/,''); if(gpname.length<1) gpname='unknown'; var selectedPlan = '-' + ''; var selectedDevice = '-' + ''; var isWireless = selectedPlan; var wlsDSF = 'a'; if (gpname.match(/confirmation/)) { gpname = '/view/juno/signup/includes/offer.jsp'; gpname = gpname.replace(/\.jsp/,''); if ("" == "false") { gpname += '-test2'; } } if (isWireless.match(/wls/) && (gpname.match(/billing/) || gpname.match(/confirmation/))) { isWireless = '-wireless'; } else { isWireless = ''; selectedDevice = ''; } if (isWireless.match(/wireless/)) { gpname+=isWireless; gpname+=trackWirelessProviderId; gpname+=trackHomePlans; gpname+=selectedDevice; gpname+=selectedPlan; // gpname+= '-' + wlsDSF; } else { // not one of the pages we are matching for, but still could be wireless flow gpname+=trackWirelessProviderId; gpname+=trackHomePlans; } gpname+=trackSpecialID; /* we will assign an integer value to each path for wireless. This will be written / read from cookie and then appended to the page name on the google tracking. */ var selectedOffer = ''; if (gpname.match(/wireless/) || (selectedOffer.match(/wireless/))) { var wirelessFlow = Get_Cookie('wFlow'); if (wirelessFlow != null) { gpname+= ('-' + wirelessFlow ); } else { // don't have any value here, so let's assume it is a direct link to plans page Set_Cookie('wFlow','10','','/','netzero.net',''); wirelessFlow = Get_Cookie('wFlow'); //alert(wirelessFlow); gpname+= ('-' + wirelessFlow ); } } </script> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try{ var pageTracker = _gat._getTracker("UA-7101665-2"); pageTracker._setDomainName(".juno.com"); pageTracker._setAllowLinker(true); var o = ''; o = (o.length==0?'null':o); pageTracker._setCustomVar(3,"planId",o,3); pageTracker._trackPageview(servlet+":"+gpname); pageTracker._setVar("NonMember"); } catch(err) { } </script> <!-- end: google analytics --> <!-- begin google analytics code for NZ confirmation page 9/14/2011 --> <!-- end google analytics code for NZ confirmation page 9/14/2011 --> <!-- end: shared-tracking --></body></html>