function link(u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
   window.open(u,n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function linkwithposition(u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
    window.open(u,n,"width="+w+",height="+h+",left=0,top=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function linkToSelection(selObj,u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
  var url=u+selObj.options[selObj.selectedIndex].value;
  window.open(url,n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function linkToDynamicSelection(selObj,u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
  var url= makeDynamicPageURL(u + selObj.options[selObj.selectedIndex].value);
  window.open(url,n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function linkToDynamicPage(u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
  window.open(makeDynamicPageURL(u),n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function linkTo(u,n,w,h) {
  if( w == null ) w = "600";
  if( h == null ) h = "540";
  window.open(addUseBVCookie(u),n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function hlink(u,n,w,h) {
  if (w==null) w = 700;
  if (h==null) h = 350;
  window.open(u,n,"width="+w+",height="+h+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function jumpToSelection(targ,selObj,restore) {
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function jumpToSelectionName(targ,selObj,restore) {
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].name+"'");
  if (restore) selObj.selectedIndex=0;
}
function jumpToRelativeSelection(targ,url,selObj,restore) {
  eval(targ+".location='"+url+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function jumpToDynamicPageSelection(targ,selObj,restore) {
   var url= makeDynamicPageURL(selObj.options[selObj.selectedIndex].value);
   eval(targ+".location='" + url + "'");
  if (restore) selObj.selectedIndex=0;
}
function jumpToDynamicPage(u) {
  window.location.href = makeDynamicPageURL(u);
  return false;
}
function jumpTo(url) {
  window.location.href = addUseBVCookie(url);
  return false;
}
function clickandClose(url) {
  if( opener != null ) {
    opener.location.href = url;
    window.close();
  }
  else {
    window.location.href = url;
  }
}
function openDuplicateWin(n,w,h)
{
  if( w == null ) w = "600";
  if( h == null ) h = "540";
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 2;
//  var newWinUrl = "/cgi-bin/ipm/utils/new_window.jsp?type=" + 
//	getUserType() +"&BV_UseBVCookie=no";
  var newWinUrl = addUseBVCookie(getHomepage());
  newWin = window.open(newWinUrl,"","width="+w+",height="+h+",top="+wint+",left="+winl+",toolbar=1,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,alwaysRaised=1");
  window.newWin.opener=null;
  newWin.focus();
}
function clickandCloseDynamicPage(u) {
  if( opener != null ) {
    opener.location.href = makeDynamicPageURL(u);
    window.close();
  }
  else {
    window.location.href = makeDynamicPageURL(u);
  }
}
function clicknotCloseDynamicPage(u) {
  opener.location.href = makeDynamicPageURL(u);
}
function makeDynamicPageURL(u)
{
  return addUseBVCookie("/cgi-bin/ipm" + u);
}
function addUseBVCookie(u)
{
  if( getCookie("PerilloUserType") != null ) // session inited
    return u.indexOf('?') >= 0 ? u + "&BV_UseBVCookie=yes" : u + "?BV_UseBVCookie=yes";
  else
    return u;
}
function getCookie(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            var endstr = document.cookie.indexOf(";", j);
            if (endstr == -1)
                endstr = document.cookie.length;
            return unescape(document.cookie.substring(j, endstr));
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0)
            break;
    }
    return null;
}
function getUserType()
{
    var userType = getCookie("PerilloUserType");
    if (userType == null)   // no sign in
        userType = "WU";    // web user
    return userType;
}
function getHomepage()
{
    var url = "/index.html";    // default
    switch (getUserType()) {
        case "CC":
            url = "/cc_home.html";
            break;
        case "TA":
            url = "/ta_home.html";
            break;
        case "WU":
        default:
          var promoType = getCookie("PerilloUserTypePromo");
          if(promoType=="PROMOTA")
            url = "/welcome.html";
		  else
            url = "/wu_home.html";
            break;
    }
    return url;
}
function jumpToHomepage()
{
    return jumpTo(getHomepage());
}
function jumpToNextCall()
{
    return jumpTo(getHomepage());
}
function emailCurrentPage()
{
  emailPage(window.location.href);
}
function emailRelativePage(relativeUrl)
{
    var absoluteUrl = window.location.href;
    var index = absoluteUrl.indexOf('?');
    if( index >= 0 ) // dump the arguments in url
      absoluteUrl = absoluteUrl.substr(0, index);
    if (relativeUrl.charAt(0) != '/') {
        index = absoluteUrl.lastIndexOf("/");
        absoluteUrl = absoluteUrl.substr(0, index + 1) + relativeUrl;
    }
    else {
        index = absoluteUrl.indexOf("//");
        absoluteUrl = absoluteUrl.substr(0, absoluteUrl.indexOf("/", index + 2)) + relativeUrl;
    }
    emailPage(absoluteUrl);
}
function emailPage(absoluteUrl)
{
  // if properly escaped url that has been passed to has a + in it (originally a blank in unescaped form),
  // then when we escape it again the + is (imho) not getting re-escaped as it should
  // solution: replace + by %20
  absoluteUrl = absoluteUrl.replace(/\+/g, "%20");
  var emailUrl="/cgi-bin/ipm/docdelivery/email_page.jsp?url=" + escape(absoluteUrl);
  window.open(emailUrl,"email","width=750,height=250,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,alwaysRaised=1").focus();
}
function leftnav_wu()
{
    var iTag = "";
    var userName = getCookie("PT_UserName");
    var usrEmail = getCookie("PT_User");
    var loggedIn = usrEmail!=null && usrEmail.indexOf("guestwebuser@perillotours.com") < 0  ;
    
    
    if(userName ==null || !loggedIn ) {
      userName = "";
      iTag = "><img src=\"/images/leftnav_ta_mybookings2_disabled.gif\" width=\"134\" height=\"28\" border=\"0\" alt=\"Login to view your bookings\">";
    }
    else {
      loggedIn = true;
      userName = "            <div align=\"center\"><b>Hello "+ userName + "!</b></div><p>\n";
      iTag = "><img src=\"/images/leftnav_ta_mybookings2.gif\" width=\"134\" height=\"28\" border=\"0\" alt=\"View your Bookings\">";
    }

    var str = "";
    str += "        <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">\n";
    str += "          <tr>\n<td width=\"5\" valign=\"top\">&nbsp;</td>\n";
    str += "            <td width=\"134\" valign=\"top\">\n";
    str += userName;
    if( loggedIn )
      str += "              <a href=\"javascript:jumpToDynamicPage('/book/booking_search_for_user.jsp')\"" + iTag + "</a><p>\n\n";
    else
      str += "              <a href=\"#\" disabled title=\"Login to use this function\"" + iTag + "</a><p>\n\n";
    if( loggedIn )
      str += "                &nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/custmgmt/update_webuser.jsp')\">My Profile</a><p>\n";
    else
      str += "                &nbsp;&nbsp;&nbsp;<a href=\"#\" disabled title=\"Login to use this function\">My Profile</a><p>\n";
    str += "                &nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToHomepage()\">Home Page</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;<a href=\"/static/about_italy/about_italy.html\">About Italy</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;<a href=\"/static/about_hawaii/about_hawaii.html\">About Hawaii</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/tour/ta_tour_selector.jsp?category=All%20Italy%20and%20Europe')\">Italy Vacations</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/tour/ta_tour_selector.jsp?category=Hawaii')\">Hawaii Vacations</a><p>\n";
    if( loggedIn )
      str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/ta_brochure_request.jsp','Brochure','700','550')\">Brochure Request</a><br>\n";
    else
      str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#\" disabled title=\"Login to use this function\">Brochure Request</a><br>\n";
    if( loggedIn )
      str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/wu_buildabrochure.jsp','eBrochure','800','600')\">Request e-brochure</a><p>\n";
    else
      str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#\" disabled title=\"Login to use this function\">Request e-brochure</a><p>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/perillo_protectionplan.html','PPP','750','500')\">Protection Plan</a><p>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/distance_charts.html','Charts','600','500')\">Italy\n";
    str += "              Distance Chart</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/about_italy/currency.html','Currency','600','500')\">EURO Currency Info</a><p>\n";
    str += "              <a href=\"javascript:jumpToDynamicPage('/book/booking_phase1.jsp')\"><img src=\"/images/hometa_star_expbook2_h75.gif\" width=\"125\" height=\"75\" border=\"0\"></a><br>\n";
    str += "              <br>\n"; str += " <a href=\"javascript:link('/static/misc/cannotfind.html','Help','500','350')\"><img src=\"/images/hometa_collage_assistance1.gif\" width=130 height=50 align=\"absmiddle\" border=\"0\"></a><br><br>\n";
    str += "              <font size=\"1\">Powered by</font><div align='center'><a href=\"javascript:link('/static/misc/popup_hts.html','HTS','500','250')\"><img src=\"/images/logo_HTS_w85.gif\" width=85 height=26 align=\"middle\" border=\"0\"></a></div>\n";
    str += "            </td>\n";
    str += "            <td width=\"1\" valign=\"top\" align=\"left\"><img src=\"/images/vertical_line.gif\" width=\"1\" height=\"500\" align=\"top\"></td>\n";
    str += "            <td width=\"3\" valign=\"top\" align=\"left\">&nbsp;</td>\n";
    str += "          </tr>\n";
    str += "        </table>\n";
    document.write(str);
}
function leftnav_cc()
{
    var str = "";
    str += "        <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">\n";
    str += "          <tr>\n<td width=\"5\" valign=\"top\">&nbsp;</td>\n";
    str += "            <td width=\"134\" valign=\"top\"><br>\n";
    str += "              <a href=\"javascript:jumpToDynamicPage('/book/booking_search_for_user.jsp')\"><img src=\"/images/icon_mybookings.gif\" width=\"125\" height=\"30\" border=\"0\" alt=\"View your Bookings\"></a><br>\n";
    str += "              <br>\n";
    //str += "              <img src=\"/images/button_tours_ta.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "                <font face=\"Arial, Helvetica, sans-serif, Comic Sans MS\" size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToDynamicPage('/utils/resetCustomer.jsp')\">Next Call</a><p>\n";
    str += "                <font  size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToHomepage()\">Home Page</a><p>\n";
    str += "                <font  size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToDynamicPage('/j/sabre_session.jsp')\">Sabre Commands</a><p>\n";
    str += "                <font  size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:openDuplicateWin('newWin','650','450')\">Open New Window</a><p>\n";
    str += "                <font  size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToDynamicPage('/book/booking_display.jsp?SHOW_LAST_BOOKING=true')\">Recall Last Booking</a><p>\n";
    //str += "                <font  size=\"2\">&nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToDynamicPage('/custmgmt/update_travelagent.jsp')\">Edit My Profile</a><p>\n";
    //str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"ta_availability_ataglance.html\">Availability\n";
    //str += "                at a Glance</a><br>\n";
    //str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"ta_booking_phase1.html\">Book in Easy\n";
    //str += "                Steps </a><br><br>\n";
    //str += "              <img src=\"/images/button_tour_information.gif\" width=\"130\" height=\"20\">\n";
    //str += "              <br>\n";
    //str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_hotel_list.html','ta_popup')\">Hotel\n";
    //str += "                Information</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_popup_airfare.html','ta_popup')\">Air\n";
    //str += "              Information</a> <br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:hlink('ta_popup_airport_transfers.html','ta_popup','600','250')\">Airport\n";
    //str += "              Transfers</a> <br>\n";
    //str += "              &nbsp;&nbsp;&nbsp; <a href=\"javascript:hlink('ta_popup_meals.html','ta_popup','600','300')\">Meal\n";
    //str += "              Information<br>\n";
    //str += "              </a> </b></font><br>\n";
    //str += "              <font face=\"Arial, Helvetica, sans-serif, Comic Sans MS\" size=\"1\"><b><img src=\"/images/button_policies.gif\" width=\"130\" height=\"20\">&nbsp;&nbsp;&nbsp;&nbsp;</b></font><font face=\"Arial, Helvetica, sans-serif, Comic Sans MS\" size=\"1\"><b><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp; <a href=\"javascript:link('ta_popup_commission_policy.html','ta_popup')\">Commission\n";
    //str += "              Policy</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_popup_cancellation_policy.html','ta_popup')\">Cancellation\n";
    //str += "              Policy</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_popup_insurance_policy.html','ta_popup')\">Insurance\n";
    //str += "              Policy</a><br>\n";
    //str += "                <br>\n";
    //str += "              <img src=\"/images/button_brochures.gif\" width=\"130\" height=\"20\"><br>\n";
    //str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:hlink('ta_brochure_request.html','ta_popup','750','400')\">Brochure\n";
    //str += "                Request</a><br>\n";
    //str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:hlink('ta_buildabrochure.html','ta_popup','750','450')\">Build\n";
    //str += "                Your e-Brochure</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:hlink('ta_email_information.html','ta_popup','750','450')\">Email\n";
    //str += "              Tour Information<br>\n";
    //str += "              </a> </b></font><br>\n";
    //str += "              <font face=\"Arial, Helvetica, sans-serif, Comic Sans MS\" size=\"1\"><b><img src=\"/images/button_moreinfo.gif\" width=\"130\" height=\"20\"><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_popup_faq.html','ta_popup')\">FAQ's</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('ta_popup_distance_charts.html','ta_popup')\">Distance\n";
    //str += "              Charts</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"ta_about_us.html\">About Us</a><br>\n";
    //str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"ta_about_italy.html\">About Italy</a>\n";
    //str += "              <br><br>\n";
    //str += "              <a href=\"javascript:jumpToDynamicPage('/book/booking_phase1.jsp')\"><img src=\"/images/button_expressbooking3.gif\" width=\"111\" height=\"57\" border=\"0\"></a><br>\n";
    //str += "              </b></font>\n";
    //str += "\n";
    str += "            </td>\n";
    str += "            <td width=\"1\" valign=\"top\" align=\"left\"><img src=\"/images/vertical_line.gif\" width=\"1\" height=\"500\" align=\"top\"></td>\n";
    str += "            <td width=\"3\" valign=\"top\" align=\"left\">&nbsp;</td>\n";
    str += "          </tr>\n";
    str += "        </table>\n";
    document.write(str);
}
function leftnav_ta()
{
    var str = "";
    str += "        <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">\n";
    str += "          <tr>\n<td width=\"5\" valign=\"top\">&nbsp;</td>\n";
    str += "            <td width=\"134\" valign=\"top\">\n";
    str += "              <a href=\"javascript:jumpToDynamicPage('/book/booking_search_for_user.jsp')\"><img src=\"/images/leftnav_ta_mybookings2.gif\" width=\"134\" height=\"28\" border=\"0\" alt=\"View your Bookings\"></a><p>\n";
    str += "              \n";
    str += "                &nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToHomepage()\">Home Page</a><br>\n";
    str += "                &nbsp;&nbsp;&nbsp<a href=\"javascript:jumpToDynamicPage('/book/booking_display.jsp?SHOW_LAST_BOOKING=true')\">Recall Last Booking</a><p>\n";
    str += "                &nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/custmgmt/update_travelagent.jsp')\">My Profile</a><br>\n";
    str += "                &nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/custmgmt/ta_login.jsp')\">Sign in as Other User</a><p>\n";
    str += "              <img src=\"/images/leftnav_ta_brochure.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/ta_brochure_request.jsp','Brochure','600','500')\">Brochure Request</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/ta_buildabrochure.jsp','Brochure','800','600')\">Request e-brochure</a><p>\n";
    str += "              <img src=\"/images/leftnav_ta_vitalinfo.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/policy_commission.html','Commission','500','400')\">Commissions</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/perillo_protectionplan.html','PPP','750','500')\">Protection Plan</a><p>\n";
    str += "              <img src=\"/images/leftnav_ta_moreinfo.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/distance_charts.html','Charts','600','500')\">Italy\n";
    str += "              Distance Chart</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/about_italy/currency.html','Currency','600','500')\">EURO Currency Info</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"/static/about_italy/about_italy.html\">About Italy</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"/static/about_hawaii/about_hawaii.html\">About Hawaii</a>\n";
    str += "              <br><br><br>\n"; str += " <a href=\"javascript:link('/static/misc/cannotfind.html','Help','500','350')\"><img src=\"/images/hometa_collage_assistance1.gif\" width=130 height=50 align=\"absmiddle\" border=\"0\"></a><br><br>\n";
    str += "              <font size=\"1\">Powered by</font><div align='center'><a href=\"javascript:link('/static/misc/popup_hts.html','HTS','500','250')\"><img src=\"/images/logo_HTS_w85.gif\" width=85 height=26 align=\"middle\" border=\"0\"></a></div>\n";
    str += "            </td>\n";
    str += "            <td width=\"1\" valign=\"top\" align=\"left\"><img src=\"/images/vertical_line.gif\" width=\"1\" height=\"500\" align=\"top\"></td>\n";
    str += "            <td width=\"3\" valign=\"top\" align=\"left\">&nbsp;</td>\n";
    str += "          </tr>\n";
    str += "        </table>\n";
    document.write(str);
}

function leftnav_promota()
{
    var str = "";
    str += "        <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">\n";
    str += "          <tr>\n<td width=\"5\" valign=\"top\"></td>\n";
    str += "            <td width=\"134\" valign=\"top\">\n";
	
	str+="				<p><img src=\"/images/heart_valentinesday.gif\" width=\"134\" height=\"28\"></p> ";
    str+="                <p><br>&nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToDynamicPage('/custmgmt/new_travelagent.jsp')\">Register Now</a><br>";
    str+="                <p>&nbsp;&nbsp;&nbsp;<a href=\"javascript:jumpToHomepage()\">Home Page</a></p>";
	
    str += "              <p><img src=\"/images/leftnav_ta_brochure.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/ta_brochure_request.jsp','Brochure','600','500')\">Brochure Request</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:linkToDynamicPage('/docdelivery/ta_buildabrochure.jsp','Brochure','800','600')\">Request e-brochure</a><p>\n";
    str += "              <img src=\"/images/leftnav_ta_vitalinfo.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "                &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/policy_commission.html','Commission','500','400')\">Commissions</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/perillo_protectionplan.html','PPP','750','500')\">Protection Plan</a><p>\n";
    str += "              <img src=\"/images/leftnav_ta_moreinfo.gif\" width=\"130\" height=\"20\"><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/misc/distance_charts.html','Charts','600','500')\">Italy\n";
    str += "              Distance Chart</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:link('/static/about_italy/currency.html','Currency','600','500')\">EURO Currency Info</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"/static/about_italy/about_italy.html\">About Italy</a><br>\n";
    str += "              &nbsp;&nbsp;&nbsp;&nbsp;<a href=\"/static/about_hawaii/about_hawaii.html\">About Hawaii</a>\n";
    str += "              <br><br><br>\n"; str += " <a href=\"javascript:link('/static/misc/cannotfind.html','Help','500','350')\"><img src=\"/images/hometa_collage_assistance1.gif\" width=130 height=50 align=\"absmiddle\" border=\"0\"></a><br><br>\n";
    str += "              <font size=\"1\">Powered by</font><div align='center'><a href=\"javascript:link('/static/misc/popup_hts.html','HTS','500','250')\"><img src=\"/images/logo_HTS_w85.gif\" width=85 height=26 align=\"middle\" border=\"0\"></a></div>\n";
    str += "            </td>\n";
    str += "            <td width=\"1\" valign=\"top\" align=\"left\"><img src=\"/images/vertical_line.gif\" width=\"1\" height=\"500\" align=\"top\"></td>\n";
    str += "            <td width=\"3\" valign=\"top\" align=\"left\">&nbsp;</td>\n";
    str += "          </tr>\n";
    str += "        </table>\n";
    document.write(str);
}




function generateLeftNavigation()
{
    switch (getUserType()) {
        case "CC":
            leftnav_cc();
            break;
        case "TA":
            leftnav_ta();
            break;
        default:
	var promoType = getCookie("PerilloUserTypePromo");
	if(promoType=="PROMOTA")	
            leftnav_wu();
	else 
             leftnav_wu();
	 break ;
    }
}

/***********  Code Added By Alok Shukla on 21st Aug, 2002 For the calendar ***********/


// GLOBAL variables

var scIE=((navigator.appName == "Microsoft Internet Explorer") || ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5)));
var scNN6=((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5));
var scNN=((navigator.appName == "Netscape")&&(document.layers));

var img_Del=new Image();
var img_Close=new Image();

img_Del.src="/images/btn_del_small_gif";
img_Close.src="/images/btn_close_small_gif";

var scBTNMODE_DEFAULT=0;
var scBTNMODE_CUSTOMBLUE=1;
var scBTNMODE_CALBTN=2;

var focusHack;

/*================================================================================
 * Calendar Manager Object
 */
 
function spiffyCalManager() 
{
  this.showHelpAlerts = false;
  this.defaultDateFormat='MM/dd/yyyy';
  this.lastSelectedDate=new Date();
  this.calendars=new Array();  
  this.matchedFormat="";
  this.DefBtnImgPath='/images/';
  
  // methods   ----------------------------------------------------------------------
  this.getCount= new Function("return this.calendars.length;");
    
  function addCalendar(objWhatCal) {
    var intIndex = this.calendars.length;
    this.calendars[intIndex] = objWhatCal;
  }
  this.addCalendar=addCalendar;  
  
    
  function hideAllCalendars(objExceptThisOne) {
    var i=0;
    for (i=0;i<this.calendars.length;i++) {
      if (objExceptThisOne!=this.calendars[i]) {
        this.calendars[i].hide();
      }
    }

  }
  this.hideAllCalendars=hideAllCalendars;
  
  function swapImg(objWhatCal, strToWhat, blnStick) {
    if (document.images) {
      // this makes it so that the button sticks down when the cal is visible
      if ((!(objWhatCal.visible) || (blnStick))&& (objWhatCal.enabled)) {
        document.images[objWhatCal.btnName].src = eval(objWhatCal.varName+strToWhat + ".src");
      }
    }
    window.status=' ';
  //  return true;  
  }
  this.swapImg=swapImg;
  

  // DATE FUNCTIONS -----------------------


  this.AllowedFormats = new Array('MM/dd/yyyy');
  var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

  this.lastBoxValidated=null;

  function validateDate(eInput, bRequired, dStartDate, dEndDate){
    var i = 0; var strTemp=''; var formatMatchCount=0; var firstMatchAt=0;var secondMatchAt=0;
    var bOK = false; var bIsEmpty=false; 
    this.lastBoxValidated=eInput;
    this.matchedFormat="";
    bIsEmpty=(eInput.value=='' || eInput.value==null);
    if (!(bRequired && bIsEmpty)) {
      for(i=0;i<this.AllowedFormats.length;i++){
        if (isDate(eInput.value, this.AllowedFormats[i])==true){
          bOK = true;
          formatMatchCount+=1;
          if (formatMatchCount==1) {firstMatchAt=i;}
          if (formatMatchCount>1) {secondMatchAt=i; break;}
        }
      }
    }
    
    if (formatMatchCount>1) {

      if (this.showHelpAlerts) {    

        var date1=getDateFromFormat(eInput.value,this.AllowedFormats[firstMatchAt]);
        var choice1 = MONTH_NAMES[date1.getMonth()]+'-'+date1.getDate()+'-'+date1.getFullYear(); 
        var date2=getDateFromFormat(eInput.value,this.AllowedFormats[secondMatchAt]);
        var choice2 = MONTH_NAMES[date2.getMonth()]+'-'+date2.getDate()+'-'+date2.getFullYear(); 

        if (date1.getTime()!=date2.getTime()) {
          var Msg='You have entered an ambiguous date.\n\n Click OK for:\n'+ choice1 +'\n\nor Click Cancel for:\n'+choice2;  
          if (confirm(Msg)) {
            bOK=true;
          }
          else {
            firstMatchAt=secondMatchAt;
            bOK=true;
            //return false;
          }
          eInput.focus();
          eInput.select();
        }
      }
      else {
        // continue and take first match in list        
        bOK=true;
      }
    }
    
    if (bOK==true) {
      eInput.className = "";
      //Check for Start/End Dates

      if (dStartDate!=null) {
        //Required MM/dd/yyyy  
        var dStart = getDateFromFormat(dStartDate,"MM/dd/yyyy");
        var dThis = getDateFromFormat(eInput.value,this.AllowedFormats[i]);
        if (dStart>dThis){
          eInput.className = "cal-TextBoxInvalid";
          if (this.showHelpAlerts) { alert('Please enter a date no earlier than ' + dStartDate + '.');}
          eInput.focus();
          eInput.select();        
          return false;
        }
      }
      if (dEndDate!=null) {
        //Required MM/dd/yyyy  
        var dEnd = getDateFromFormat(dEndDate,"MM/dd/yyyy");
        var dThis = getDateFromFormat(eInput.value,this.AllowedFormats[i]);
        if (dEnd<dThis) {
          eInput.className = "cal-TextBoxInvalid";
          if (this.showHelpAlerts) { alert('Please enter a date no later than ' + dEndDate + '.');}
          eInput.focus();
          eInput.select();
          return false;
        }
      }
      this.matchedFormat=this.AllowedFormats[firstMatchAt];
      
      this.lastBoxValidated = null;
    }
    else {   
      
      if (bRequired && bIsEmpty) {
        eInput.className = "cal-TextBoxInvalid";
        if (this.showHelpAlerts) {
          alert('This date field is required.\n\nPlease enter a valid date before proceeding.');
        }
      }
      else {
        if (!bRequired && bIsEmpty) {
          eInput.className = "cal-TextBox";
        }
        else { 
          eInput.className = "cal-TextBoxInvalid";
          if (this.showHelpAlerts) {
            for(i=0;i<this.AllowedFormats.length;i++){
              strTemp+=this.AllowedFormats[i]+'\t';
            }
            alert('Please enter a valid date.\n\nExample 12/02/2002\n\nValid formats are:\n\n'+strTemp);
          }
        }
      }
      eInput.focus();
      eInput.select();
      focusHack=eInput;
      
      setTimeout('focusHack.focus();focusHack.select();');
      return false;
    }
  }
  this.validateDate = validateDate;
  

  function formatDate(eInput, strFormat) {
    //Always called directly following validateDate  - put validate in onchange and format in onblur.
    if(this.matchedFormat!="") {
      var d = getDateFromFormat(eInput.value,this.matchedFormat);
      if(d!=0){
        eInput.value = scFormatDate(d, strFormat);
      }
    }
  }
  this.formatDate=formatDate;

  function isDate(val,format) {
    var date = getDateFromFormat(val,format);
    if (date == 0) { return false; }
    return true;
  }
  this.isDate=isDate;
  

  function scFormatDate(date,format) {
    format = format+"";
    var result = "";
    var i_format = 0;
    var c = "";
    var token = "";
    var y = date.getFullYear()+"";
    var M = date.getMonth()+1;
    var d = date.getDate();
    var h = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    var yyyy,yy,MMM,MM,dd;
    // Convert real date parts into formatted versions
    // Year
    if (y.length < 4) {
      y = y-0+1900;
      }
    y = ""+y;
    yyyy = y;
    yy = y.substring(2,4);
    // Month
    if (M < 10) { MM = "0"+M; }
      else { MM = M; }
    MMM = MONTH_NAMES[M-1+12];
    // Date
    if (d < 10) { dd = "0"+d; }
      else { dd = d; }
    // Now put them all into an object!
    var value = new Object();
    value["yyyy"] = yyyy;
    value["yy"] = yy;
    value["y"] = y;
    value["MMM"] = MMM;
    value["MM"] = MM;
    value["M"] = M;
    value["dd"] = dd;
    value["d"] = d;

    while (i_format < format.length) {
      // Get next token from format string
      c = format.charAt(i_format);
      token = "";
      while ((format.charAt(i_format) == c) && (i_format < format.length)) {
        token += format.charAt(i_format);
        i_format++;
        }
      if (value[token] != null) {
        result = result + value[token];
        }
      else {
        result = result + token;
        }
      }
    return result;
  }
  this.scFormatDate=scFormatDate;

  function _isInteger(val) {
    var digits = "1234567890";
    for (var i=0; i < val.length; i++) {
      if (digits.indexOf(val.charAt(i)) == -1) { return false; }
      }
    return true;
  }

  function _getInt(str,i,minlength,maxlength) {
    for (x=maxlength; x>=minlength; x--) {
      var token = str.substring(i,i+x);
      if (_isInteger(token)) { 
        return token;
        }
      }
    return null;
  }

  function getDateFromFormat(val,format) {
    val = val+"";
    format = format+"";
    var i_val = 0;
    var i_format = 0;
    var c = "";
    var token = "";
    var token2= "";
    var x,y;
    var year  = 0;
    var month = 0;
    var date  = 0;
    var bYearProvided = false;
    while (i_format < format.length) {
      // Get next token from format string
      c = format.charAt(i_format);
      token = "";
      
      while ((format.charAt(i_format) == c) && (i_format < format.length)) {
        token += format.charAt(i_format);
        i_format++;
      }
      
      // Extract contents of value based on format token
      if (token=="yyyy" || token=="yy" || token=="y") {
        if (token=="yyyy") { x=4;y=4; }// 4-digit year
        if (token=="yy")   { x=2;y=2; }// 2-digit year
        if (token=="y")    { x=2;y=4; }// 2-or-4-digit year
        year = _getInt(val,i_val,x,y);
        bYearProvided = true;
        if (year == null) {
          return 0; 
          //Default to current year 
        }    
        if (year.length != token.length){
          return 0;
        }

        i_val += year.length;
      }
      else if (token=="MMM") { // Month name
        month = 0;
        for (var i=0; i<MONTH_NAMES.length; i++) {
          var month_name = MONTH_NAMES[i];
          if (val.substring(i_val,i_val+month_name.length).toLowerCase() == month_name.toLowerCase()) {
            month = i+1;
            if (month>12) { month -= 12; }
            i_val += month_name.length;
            break;
          }
        }
        
        if (month == 0) { return 0; }
        if ((month < 1) || (month>12)) {
          return 0
        }
      }
      else if (token=="MM" || token=="M") {
        x=token.length; y=2;
        month = _getInt(val,i_val,x,y);
        if (month == null) { return 0; }
        if ((month < 1) || (month > 12)) { return 0; }
        i_val += month.length;
      }
      else if (token=="dd" || token=="d") {
        x=token.length; y=2;
        date = _getInt(val,i_val,x,y);
        if (date == null) { return 0; }
        if ((date < 1) || (date>31)) { return 0; }
        i_val += date.length;
      }
      else {
        if (val.substring(i_val,i_val+token.length) != token) {
          return 0;
        }
        else {
          i_val += token.length;
        }
      }
    }
    // If there are any trailing characters left in the value, it doesn't match
    if (i_val != val.length) {
      return 0;
    }
    // Is date valid for month?

    if (month == 2) {
      // Check for leap year
      if ( ( (year%4 == 0)&&(year%100 != 0) ) || (year%400 == 0) ) { // leap year
        if (date > 29){ return false; }
      }
      else {
        if (date > 28) { return false; }
      }
    }
    if ((month==4)||(month==6)||(month==9)||(month==11)) {
      if (date > 30) { return false; }
    }

    //JS dates uses 0 based months.
    month = month - 1;

    if (bYearProvided==false) {
      //Default to current
      var dCurrent = new Date();
      year = dCurrent.getFullYear();
    }

    var lYear = parseInt(year);
    if (lYear<=20) {
      year = 2000 + lYear;
    }
    else if (lYear >=21 && lYear<=99) {
      year = 1900 + lYear;  
    }

    var newdate = new Date(year,month,date,0,0,0);

    return newdate;
  }
  this.getDateFromFormat=getDateFromFormat;


}

var calMgr = new spiffyCalManager();



//================================================================================
// Calendar Object

function ctlSpiffyCalendarBox(strVarName, strFormName, strTextBoxName, strBtnName, strDefaultValue, intBtnMode) {

  var msNames     = new makeArray0('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  var msDays      = new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  var msDOW       = new makeArray0('S','M','T','W','T','F','S');


  var blnInConstructor=true;
  var img_DateBtn_UP=new Image();
  var img_DateBtn_OVER=new Image();
  var img_DateBtn_DOWN=new Image();
  var img_DateBtn_DISABLED=new Image();

  var strBtnW;
  var strBtnH;
  var strBtnImg;
  
  var dteToday=new Date;
  var dteCur=new Date;

  var dteMin=new Date;
  var dteMax=new Date;
  
  var scX=4; // default where to display calendar
  var scY=4;
  
  // Defaults
  var strDefDateFmt='MM/dd/yyyy';
  
  var intDefBtnMode=0;
  var strDefBtnImgPath=calMgr.DefBtnImgPath;
  /* PROPERTIES =============================================================
   *
   */
  // Generic Properties
  this.varName=strVarName;
  this.enabled=true;
  this.readonly=false;
  this.visible=false;
  this.displayLeft=false;
  this.displayTop=false;
  // Name Properties
  this.formName=strFormName;
  this.textBoxName=strTextBoxName;
  this.btnName=strBtnName;
  this.required=false;
  
  this.imgUp=img_DateBtn_UP;
  this.imgOver=img_DateBtn_OVER;
  this.imgDown=img_DateBtn_DOWN;
  this.imgDisabled=img_DateBtn_DISABLED;
  
  // look
  this.textBoxWidth=160;
  this.textBoxHeight=20;
  this.btnImgWidth=strBtnW;
  this.btnImgHeight=strBtnH;
  if ((intBtnMode==null)||(intBtnMode<0 && intBtnMode>2)) {
    intBtnMode=intDefBtnMode
  }
  switch (intBtnMode) {
    case 0 :
      strBtnImg=strDefBtnImgPath+'btn_date_up.gif';
      img_DateBtn_UP.src=strDefBtnImgPath+'btn_date_up.gif';
      img_DateBtn_OVER.src=strDefBtnImgPath+'btn_date_over.gif';
      img_DateBtn_DOWN.src=strDefBtnImgPath+'btn_date_down.gif';
      img_DateBtn_DISABLED.src=strDefBtnImgPath+'btn_date_disabled.gif';
      strBtnW = '18';
      strBtnH = '20';
      break;
    case 1 :
      strBtnImg=strDefBtnImgPath+'btn_date1_up.gif';
      img_DateBtn_UP.src=strDefBtnImgPath+'btn_date1_up.gif';      
      img_DateBtn_OVER.src=strDefBtnImgPath+'btn_date1_over.gif';      
      img_DateBtn_DOWN.src=strDefBtnImgPath+'btn_date1_down.gif';
      img_DateBtn_DISABLED.src=strDefBtnImgPath+'btn_date1_disabled.gif';
      strBtnW = '22';
      strBtnH = '17';
      break;
    case 2 :
      strBtnImg=strDefBtnImgPath+'btn_date2_up.gif';
      img_DateBtn_UP.src=strDefBtnImgPath+'btn_date2_up.gif';      
      img_DateBtn_OVER.src=strDefBtnImgPath+'btn_date2_over.gif';      
      img_DateBtn_DOWN.src=strDefBtnImgPath+'btn_date2_down.gif';
      img_DateBtn_DISABLED.src=strDefBtnImgPath+'btn_date2_disabled.gif';
      strBtnW = '34';
      strBtnH = '21';
      break;
  }  
  // Date Properties
  this.dateFormat=strDefDateFmt;
  this.useDateRange=false;
  
  this.minDate=new Date;
  this.maxDate=new Date(dteToday.getFullYear()+1, dteToday.getMonth(), dteToday.getDate());

  this.minDay = function() {
    return this.minDate.getDate();
  }
  this.minMonth = function() {
    return this.minDate.getMonth();
  }
  this.minYear = function() {
    return this.minDate.getFullYear();
  }
  
  this.maxDay = function() {
    return this.maxDate.getDate();
  }
  this.maxMonth = function() {
    return this.maxDate.getMonth();
  }
  this.maxYear = function() {
    return this.maxYear.getFullYear();
  }
    

  function setMinDate(intYear, intMonth, intDay) {
    this.minDate = new Date(intYear, intMonth-1, intDay);
  }
  this.setMinDate=setMinDate;


  function setMaxDate(intYear, intMonth, intDay) {
    this.maxDate = new Date(intYear, intMonth-1, intDay);
  }
  this.setMaxDate=setMaxDate;

  this.minYearChoice=dteToday.getFullYear()-10;  
  this.maxYearChoice=dteToday.getFullYear()+10;
  this.textBox= function() {
    if (!blnInConstructor) {  
      return eval('document.'+this.formName+'.'+this.textBoxName);
    }
  }
  
  this.getSelectedDate = function () {
    var strTempVal=''; var objEle;
    if ((typeof this.formName !='undefined') && (typeof this.textBoxName!='undefined')) {    
      objEle=eval('document.'+this.formName+'.'+this.textBoxName);
      if (objEle && !blnInConstructor) {
        strTempVal=eval('document.'+this.formName+'.'+this.textBoxName+'.value');
      }
      else {
        strTempVal=strDefaultValue;
      }
    }
    else {
      strTempVal=strDefaultValue;
    }
    return strTempVal;
  }

  function setSelectedDate(strWhat) {
    var strTempVal=''; var objEle;
    eval('document.'+this.formName+'.'+this.textBoxName).value=strWhat;
    
    if (!calMgr.isDate(quote(strWhat),quote(this.dateFormat))) {
      eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid";
    }
    else {
      eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox";
    }
  }
  this.setSelectedDate=setSelectedDate;

  
  function disable() {
    this.hide();
    calMgr.swapImg(this,'.imgDisabled',false);    
    this.enabled=false;
    eval('document.'+this.formName+'.'+this.textBoxName).disabled=true;
        eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxDisabled";
    if (scNN) {
      eval('document.'+this.formName+'.'+this.textBoxName).onFocus= function() {this.blur();};
    }       
  }
  this.disable=disable;
  
  function enable() {
    this.enabled=true;
    calMgr.swapImg(this,'.imgUp',false);    
    eval('document.'+this.formName+'.'+this.textBoxName).disabled=false;
        eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox";
    if (scNN) {
      eval('document.'+this.formName+'.'+this.textBoxName).onFocus= null;
    }
    
    if (!calMgr.isDate(quote(this.getSelectedDate()),quote(this.dateFormat))) {
      eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid";
    }
  }
  this.enable=enable;
  

  
  // behavior Properties
  this.JStoRunOnSelect='';
  this.JStoRunOnClear='';
  this.JStoRunOnCancel='';
  this.hideCombos=true;
  
  
  /* METHODS ===============================================================
   *
   */
  
  function makeCalendar(intWhatMonth,intWhatYear,bViewOnly) {
    if (bViewOnly) {intWhatMonth-=1;}
    var strOutput = '';
    var intStartMonth=intWhatMonth;
    var intStartYear=intWhatYear;
    var intLoop;
    var strTemp='';
    var strDateColWidth;  

    if (!(bViewOnly)) {
      strTemp='<form name="spiffyCal"';
    }
    // special case for form not to be inside table in Netscape 6
    if (scNN6) {
      strOutput += strTemp +'<table width="185" border="3" class="cal-Table" cellspacing="0" cellpadding="0"><tr>';
    }
    else {
      strOutput += '<table width="185" border="3" class="cal-Table" cellspacing="0" cellpadding="0">'+strTemp+'<tr>';
    }

    if (!(bViewOnly)) {
      strOutput += '<td class="cal-HeadCell" align="center" width="100%"><a href="javascript:'+this.varName+'.goToToday();"><img name="calbtn1" src="'+strDefBtnImgPath+'btn_del_small.gif" border="0" width="12" height="10"></a>&nbsp;&nbsp;<a href="javascript:'+this.varName+'.scrollMonth(-1);" class="cal-DayLink">&lt;</a>&nbsp;<SELECT class="cal-ComboBox" NAME="cboMonth" onChange="'+this.varName+'.changeMonth();">';


      for (intLoop=0; intLoop<12; intLoop++) {
        if (intLoop == intWhatMonth) strOutput += '<OPTION VALUE="' + intLoop + '" SELECTED>' + msNames[intLoop] + '<\/OPTION>';
        else  strOutput += '<OPTION VALUE="' + intLoop + '">' + msNames[intLoop] + '<\/OPTION>';
      }


      strOutput += '<\/SELECT><SELECT class="cal-ComboBox" NAME="cboYear" onChange="'+this.varName+'.changeYear();">';

      for (intLoop=this.minYearChoice; intLoop<this.maxYearChoice; intLoop++) {
        if (intLoop == intWhatYear) strOutput += '<OPTION VALUE="' + intLoop + '" SELECTED>' + intLoop + '<\/OPTION>';
        else strOutput += '<OPTION VALUE="' + intLoop + '">' + intLoop + '<\/OPTION>';
      }

      strOutput += '<\/SELECT>&nbsp;<a href="javascript:'+this.varName+'.scrollMonth(1);" class="cal-DayLink">&gt;</a>&nbsp;&nbsp;<a href="javascript:'+this.varName+'.hide();"><img name="calbtn2" src="'+strDefBtnImgPath+'btn_close_small.gif" border="0" width="12" height="10"></a><\/td><\/tr><tr><td width="100%" align="center">';
    }
    else {
      strOutput += '<td class="cal-HeadCell" align="center" width="100%">'+msNames[intWhatMonth]+'-'+intWhatYear+'<\/td><\/tr><tr><td width="100%" align="center">';    
    }


    firstDay = new Date(intWhatYear,intWhatMonth,1);
    startDay = firstDay.getDay();

    if (((intWhatYear % 4 == 0) && (intWhatYear % 100 != 0)) || (intWhatYear % 400 == 0))
      msDays[1] = 29;
    else
      msDays[1] = 28;

    strOutput += '<table width="185" cellspacing="1" cellpadding="2" border="0"><tr>';

    for (intLoop=0; intLoop<7; intLoop++) {
      if (intLoop==0 || intLoop==6) {
        strDateColWidth="15%"
      }
      else
      {
        strDateColWidth="14%"
      }
      strOutput += '<td class="cal-HeadCell" width="' + strDateColWidth + '" align="center" valign="middle">'+ msDOW[intLoop] +'<\/td>';
    }

    strOutput += '<\/tr><tr>';

    var intColumn = 0;
    var intLastMonth = intWhatMonth - 1;
    var intLastYear = intWhatYear;
    
    if (intLastMonth == -1) { intLastMonth = 11; intLastYear=intLastYear-1;}

    for (intLoop=0; intLoop<startDay; intLoop++, intColumn++) {
      strOutput += this.getDayLink(true,(msDays[intLastMonth]-startDay+intLoop+1),intLastMonth,intLastYear,bViewOnly);
    }

    for (intLoop=1; intLoop<=msDays[intWhatMonth]; intLoop++, intColumn++) {
      strOutput += this.getDayLink(false,intLoop,intWhatMonth,intWhatYear,bViewOnly);
      if (intColumn == 6) {
        strOutput += '<\/tr><tr>';
        intColumn = -1;
      }
    }

    var intNextMonth = intWhatMonth+1;
    var intNextYear = intWhatYear;
    
    if (intNextMonth==12) { intNextMonth=0; intNextYear=intNextYear+1;}

    if (intColumn > 0) {
      for (intLoop=1; intColumn<7; intLoop++, intColumn++) {
        strOutput +=  this.getDayLink(true,intLoop,intNextMonth,intNextYear,bViewOnly);
      }
      strOutput += '<\/tr><\/table><\/td><\/tr>';
    }
    else {
      strOutput = strOutput.substr(0,strOutput.length-4); // remove the <tr> from the end if there's no last row
      strOutput += '<\/table><\/td><\/tr>';
    }

    if (scNN6) {
      strOutput += '<\/table><\/form>';
    }
    else {
      strOutput += '<\/form><\/table>';
    }
    dteCur.setDate(1);
    dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0);

    dteCur.setMonth(intStartMonth);
    dteCur.setFullYear(intStartYear);
    return strOutput;
  }  
  this.makeCalendar=makeCalendar;
  

  // writeControl -------------------------------------
  //
  function writeControl() {
    var strHold='';
    var strTemp='';
    var strTempMinDate='';
    var strTempMaxDate='';
    
    // specify whether you can type in the date box and validate them as well
    // or whether you must use the calendar only to select a date
    if (this.readonly) {
      strTemp=' onFocus="this.blur();" readonly ';
    }

    if (!(this.useDateRange)) { 
      strTemp+=' onChange="calMgr.validateDate(document.'+this.formName+'.'+this.textBoxName+','+this.varName+'.required);" onBlur="calMgr.formatDate(document.'+this.formName+'.'+this.textBoxName+','+this.varName+'.dateFormat);" ';
    }
    else {
      strTempMinDate=this.minDate.getDate()+'-'+msNames[this.minDate.getMonth()]+'-'+this.minDate.getFullYear();
      strTempMaxDate=this.maxDate.getDate()+'-'+msNames[this.maxDate.getMonth()]+'-'+this.maxDate.getFullYear();
      strTemp+=' onChange="calMgr.validateDate('+'document.'+this.formName+'.'+this.textBoxName+','+this.varName+'.required,'+quote(strTempMinDate)+','+quote(strTempMaxDate)+');" onBlur="calMgr.formatDate(document.'+this.formName+'.'+this.textBoxName+','+this.varName+'.dateFormat);" ';
    }

    strHold='<input type="text" name="' + this.textBoxName + '"' + strTemp + 'size="12" value="' + this.getSelectedDate() + '">';
    if (!scIE) {
      strTemp=' href="javascript:calClick();return false;" ';
    }
    else {
      strTemp='';
    }
    strHold+='<a class="so-BtnLink"'+strTemp;

    strHold+=' onmouseover="calMgr.swapImg(' + this.varName + ',\'.imgOver\',false);" ';

    strHold+='onmouseout="calMgr.swapImg(' + this.varName + ',\'.imgUp\',false);" ';

    strHold+='onclick="calMgr.swapImg(' + this.varName + ',\'.imgDown\',true);';

    strHold+=this.varName+'.show();">';

    strHold+='<img align="absmiddle" border="0" name="' + this.btnName + '" src="' + strBtnImg +'" width="'+ strBtnW +'" height="'+ strBtnH +'"></a>';
    document.write(strHold);
  }
  this.writeControl=writeControl;
  
  
  // show -------------------------------------
  //
  function show() {
    var strCurSelDate = calMgr.lastSelectedDate;

    if (!this.enabled) { return }
    calMgr.hideAllCalendars(this);            
    if (this.visible) {
      this.hide();
    }
    else {
// put these next 2 lines in when the tiny cal btns seem to randomly disappear    
       if (document.images['calbtn1']!=null ) document.images['calbtn1'].src=img_Del.src;
       if (document.images['calbtn2']!=null ) document.images['calbtn2'].src=img_Close.src;

      // get correct position of date btn
      if ( scIE ) {
        if (this.displayLeft) {
          scX = getOffsetLeft(document.images[this.btnName])- 192+ document.images[this.btnName].width ;    
        }
        else {
          scX = getOffsetLeft(document.images[this.btnName]) + document.images[this.btnName].width + 2;    
        }
        if (this.displayTop) {
          scY = getOffsetTop(document.images[this.btnName]) - 138 ;
        }
        else {
          scY = getOffsetTop(document.images[this.btnName]) ;
        }
      }
      else if (scNN){
        if (this.displayLeft) {
          scX = document.images[this.btnName].x - 192+  document.images[this.btnName].width; 
        }
        else {
          scX = document.images[this.btnName].x + document.images[this.btnName].width + 2; 
        }
        if (this.displayTop) {
          scY = document.images[this.btnName].y -134;
        }
        else {
          scY = document.images[this.btnName].y ;
        }
      }
      // hide all combos underneath it
      if (this.hideCombos) {toggleCombos('hidden');}

      // pop calendar up to the correct month and year if there's a date there
      // otherwise pop it up using today's month and year
      if (this.getSelectedDate()==''){
        if (!(dteCur)) {
          domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteToday.getMonth(),dteToday.getFullYear()));       
        }
        else {
          domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
        }
      }
      else {
        if (calMgr.isDate(quote(this.getSelectedDate()),quote(this.dateFormat))) {
            dteCur = calMgr.getDateFromFormat(quote(this.getSelectedDate()),quote(this.dateFormat));      
          dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0);
            dteToday = calMgr.getDateFromFormat(quote(this.getSelectedDate()),quote(this.dateFormat));      
          dteToday.setHours(0);dteToday.setMinutes(0);dteToday.setSeconds(0);dteToday.setMilliseconds(0);

        }
        else {
          dteCur=calMgr.lastSelectedDate;
        }
        domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
      }

      this.visible=true;
    }
    
  }
  this.show=show;
  
    
  // hide -------------------------------------
  //
  function hide() {
  
    domlay('spiffycalendar',0,scX,scY);
    this.visible = false;
    calMgr.swapImg(this,'.imgUp',false);    
    if (this.hideCombos) {toggleCombos('visible');}
  }
  this.hide=hide;
  
  
  // set to today -------------------------------------
  //
  function goToToday() {
        var dtToday = new Date();
    eval('document.' + this.formName + '.' + this.textBoxName).value = calMgr.scFormatDate(dtToday,this.dateFormat);
    this.hide();
    if (this.JStoRunOnClear!=null)
      eval(unescape(this.JStoRunOnClear)); 

    eval('document.'+this.formName+'.'+this.textBoxName).className = "";
    if (this.required) {
      eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid";  
    }
  }
  this.goToToday=goToToday;
  

  // changeDay -------------------------------------
  //
  function changeDay(intWhatDay) {
    dteCur.setDate(intWhatDay);
    dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0);

    this.textBox().value=calMgr.scFormatDate(dteCur,this.dateFormat);
    this.hide();
    if (this.JStoRunOnSelect!=null)
      eval(unescape(this.JStoRunOnSelect)); 

    eval('document.'+this.formName+'.'+this.textBoxName).className = "";
  
  }
  this.changeDay=changeDay;

  // scrollMonth -------------------------------------
  //
  function scrollMonth(intAmount) {
    var intMonthCheck;
    var intYearCheck;

    if (scIE) {
      intMonthCheck = document.forms["spiffyCal"].cboMonth.selectedIndex + intAmount;
    }
    else if (scNN) {
      intMonthCheck = document.spiffycalendar.document.forms["spiffyCal"].cboMonth.selectedIndex + intAmount;    
    }
    if (intMonthCheck < 0) {
      intYearCheck = dteCur.getFullYear() - 1;
      if ( intYearCheck < this.minYearChoice ) {
        intYearCheck = this.minYearChoice;
        intMonthCheck = 0;
      }
      else {
        intMonthCheck = 11;
      }
      dteCur.setFullYear(intYearCheck);
    }
    else if (intMonthCheck >11) {
      intYearCheck = dteCur.getFullYear() + 1;
      if ( intYearCheck > this.maxYearChoice-1 ) {
        intYearCheck = this.maxYearChoice-1;
        intMonthCheck = 11;
      }
      else {
        intMonthCheck = 0;
      }
      dteCur.setFullYear(intYearCheck);
    }

    if (scIE) {
      dteCur.setMonth(document.forms["spiffyCal"].cboMonth.options[intMonthCheck].value);
    }
    else if (scNN) {
      dteCur.setMonth(document.spiffycalendar.document.forms["spiffyCal"].cboMonth.options[intMonthCheck].value );
    }
    domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
  }
  this.scrollMonth=scrollMonth;


  // changeMonth -------------------------------------
  //
  function changeMonth() {
    if (scIE) {        
      dteCur.setMonth(document.forms["spiffyCal"].cboMonth.options[document.forms["spiffyCal"].cboMonth.selectedIndex].value);
      domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
    }
    else if (scNN) {
      dteCur.setMonth(document.spiffycalendar.document.forms["spiffyCal"].cboMonth.options[document.spiffycalendar.document.forms["spiffyCal"].cboMonth.selectedIndex].value);
      domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
    }
  }
  this.changeMonth=changeMonth;


  // changeYear -------------------------------------
  //
  function changeYear() {
    if (scIE) {
      dteCur.setFullYear(document.forms["spiffyCal"].cboYear.options[document.forms["spiffyCal"].cboYear.selectedIndex].value);
      domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
    }
    else if (scNN) {
      dteCur.setFullYear(document.spiffycalendar.document.forms["spiffyCal"].cboYear.options[document.spiffycalendar.document.forms["spiffyCal"].cboYear.selectedIndex].value);
      domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear()));
    }
  }  
  this.changeYear=changeYear;
  
  function getDayLink(blnIsGreyDate,intLinkDay,intLinkMonth,intLinkYear,bViewOnly) {
    var templink;
    if (!(this.useDateRange)) {
      if (blnIsGreyDate) {
        templink='<td align="center" class="cal-GreyDate">' + intLinkDay + '<\/td>';
      }
      else {
        if (isDayToday(intLinkDay)) {
          if (!(bViewOnly)) {
            templink='<td align="center" class="cal-DayCell">' + '<a class="cal-TodayLink" onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a><\/td>';
          }
          else {
            templink='<td align="center" class="cal-DayCell"><span class="cal-Today">' + intLinkDay +'<\/span><\/td>';
          }
        }
        else {
          if (!(bViewOnly)) {
            templink='<td align="center" class="cal-DayCell">' + '<a class="cal-DayLink" onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>';
          }
          else {
            templink='<td align="center" class="cal-DayCell"><span class="cal-Day">' + intLinkDay + '<\/span><\/td>';
          }
        }
      }
    }
    else {
      if (this.isDayValid(intLinkDay,intLinkMonth,intLinkYear)) {

        if (blnIsGreyDate){
          templink='<td align="center" class="cal-GreyDate">' + intLinkDay + '<\/td>';
        }
        else {
          if (isDayToday(intLinkDay)) {
            if (!(bViewOnly)) {
              templink='<td align="center" class="cal-DayCell">' + '<a class="cal-TodayLink" onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>';
            }
            else {
              templink='<td align="center" class="cal-DayCell"><span class="cal-Today">' + intLinkDay + '<\/span><\/td>';
            }
          }
          else {
            if (!(bViewOnly)) {
              templink='<td align="center" class="cal-DayCell">' + '<a class="cal-DayLink" onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>';
            }
            else {
              templink='<td align="center" class="cal-DayCell"><span class="cal-Day">' +  intLinkDay  +'<\/span><\/td>';
            }
          }
        }
      }
      else {
        templink='<td align="center" class="cal-GreyInvalidDate">'+ intLinkDay + '<\/td>';
      }
    }
    return templink;
  }
  this.getDayLink=getDayLink;


  // EXTRA Private FUNCTIONS ===============================================================

  function toggleCombos(showHow){
    var i; var j;
    var cboX; var cboY;
    for (i=0;i<document.forms.length;i++) {
      for (j=0;j<document.forms[i].elements.length;j++) {
        if (document.forms[i].elements[j].tagName == "SELECT") {
          if (document.forms[i].name != "spiffyCal") {
            cboX = getOffsetLeft(document.forms[i].elements[j]);
            cboY = getOffsetTop(document.forms[i].elements[j]);
              if ( ((cboX>=scX-15) && (cboX<=scX+200)) && ((cboY>=scY-15) && (cboY<=scY+145)) )                 
                document.forms[i].elements[j].style.visibility=showHow;
              //Check for right hand side overlapping.
              cboX = cboX + parseInt(document.forms[i].elements[j].style.width);
              cboY=cboY+15;//cbo height (default)
              if ( ((cboX>=scX+15) && (cboX<=scX+200)) && ((cboY>=scY-15) && (cboY<=scY+145)) )                 
                document.forms[i].elements[j].style.visibility=showHow;
          }
        }
      }
    }
  }


  function isDayToday(intWhatDay) 
  {
    if ((dteCur.getFullYear() == dteToday.getFullYear()) && (dteCur.getMonth() == dteToday.getMonth()) && (intWhatDay == dteToday.getDate())) 
      return true;
    else 
      return false;
  }


  function isDayValid(intWhatDay, intWhatMonth, intWhatYear){
    dteCur.setDate(intWhatDay);
    dteCur.setMonth(intWhatMonth);
    dteCur.setFullYear(intWhatYear);
    dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0);
    if ((dteCur>=this.minDate) && (dteCur<=this.maxDate)) {
      return true;
    }
    else {
      return false;
    }
  }
  this.isDayValid=isDayValid;
  
  calMgr.addCalendar(this);
  
  blnInConstructor=false;
}


// Utility functions----------------------------------


function quote(sWhat) {
  return '\''+sWhat+'\'';
}


function getOffsetLeft (el) {
  var ol = el.offsetLeft;
  while ((el = el.offsetParent) != null)
    ol += el.offsetLeft;
  return ol;
}


function getOffsetTop (el) {
  var ot = el.offsetTop;
  while((el = el.offsetParent) != null)
    ot += el.offsetTop;
  return ot;
}

function calClick() 
{
  window.focus();
}

function domlay(id,trigger,lax,lay,content) {
  // Layer visible
  if (trigger=="1"){
    if (document.layers) document.layers[''+id+''].visibility = "show"
    else if (document.all) document.all[''+id+''].style.visibility = "visible"
    else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible"                
    }
  // Layer hidden
  else if (trigger=="0"){
    if (document.layers) document.layers[''+id+''].visibility = "hide"
    else if (document.all) document.all[''+id+''].style.visibility = "hidden"
    else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"             
    }
  // Set horizontal position  
  if (lax){
    if (document.layers){document.layers[''+id+''].left = lax}
    else if (document.all){document.all[''+id+''].style.left=lax}
    else if (document.getElementById){document.getElementById(''+id+'').style.left=lax+"px"}
    }
  // Set vertical position
  if (lay){
    if (document.layers){document.layers[''+id+''].top = lay}
    else if (document.all){document.all[''+id+''].style.top=lay}
    else if (document.getElementById){document.getElementById(''+id+'').style.top=lay+"px"}
    }
  // change content

  if (content){
  if (document.layers){
    sprite=document.layers[''+id+''].document;
    // add father layers if needed! document.layers[''+father+'']...
    sprite.open();
    sprite.write(content);
    sprite.close();
    }
  else if (document.all) document.all[''+id+''].innerHTML = content;  
  else if (document.getElementById){
    rng = document.createRange();
    el = document.getElementById(''+id+'');
    rng.setStartBefore(el);
    htmlFrag = rng.createContextualFragment(content)
    while(el.hasChildNodes()) el.removeChild(el.lastChild);
    el.appendChild(htmlFrag);
    }
  }
}


function makeArray0() {
  for (i = 0; i<makeArray0.arguments.length; i++)
    this[i] = makeArray0.arguments[i];
}

function trim(str){

 var i = str.length, x = 0;

 while (str.substring(x,x+1) == ' ') x++;
 while (str.substring(i-1,i) == ' ') i--;

 if(x == str.length && i == 0) {
  return '';
 } else { return str.substring(x,i);
 }
}


function validateZipCode(textObject , countryCode )
{
 var value = textObject.value ;
 var code = countryCode.toUpperCase();
 value = trim(value);
 if( (value.length != 5 || isNaN(value) ) && code=="USA"   ) {
   alert("Invalid zip Code ");
   textObject.focus();
   return false ;
   }
 else if( (value.length !=6 || !isNaN(value) ) && code=="CANADA" )
 {
   alert("Invalid zip Code ");
   textObject.focus();
   return false ;
 }

 return true;
}


//---------------------------------------

/*******************  Code Added By Alok Shukla on 21st Aug, 2002  *******************/
