//:phillyref.js
var expDays = 30;
var expires = new Date(); 
var parameterReplaced = 0;
var states = ["AL","AK","AR","AZ","CA","CO","CT","DC","DE","FL","GA",
 "HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA",
 "MI","MN","MO","MS","MT","NE","NV","NH","NJ","NM","NY",
 "NC","ND","OH","OK","OR","PA","PR","RI","SC","SD","TN",
 "TX","UT","VT","VA","WA","WV","WI","WY"]; 
expires.setTime(expires.getTime() + (expDays*24*60*60*1000));
String.prototype.reverse = function() {
 var out = '';
 for(var i = this.length-1; i >=0; i--){
  out += this.substr(i, 1);
 }
 return out;
}
function addOption(selectbox,text,value) {
 var optn = document.createElement("OPTION");
 optn.text = text;
 optn.value = value;
 selectbox.options.add(optn);
}



function addOptionWithClass(selectbox,text,value, cname) {
 var optn = document.createElement("OPTION");
 optn.className = cname;
 optn.text = text;
 optn.value = value;
 selectbox.options.add(optn);
}


function areLetters(txtIn) {
   for (var di=0; di <txtIn.length; di++) {
      if ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(txtIn.charAt(di)) == -1) {return false;}
   }
   return true;

}
function areDigits(txtIn) {
   for (var di=0; di <txtIn.length; di++) {
      if ("0123456789".indexOf(txtIn.charAt(di)) == -1) {return false;}
   }
   return true;

}

function createMultiArray(rowCnt, colCnt, def) { 
 var mainArr = new Array(rowCnt); 
 for (var i = 0; i < rowCnt; i++) { 
  mainArr[i] = new Array(colCnt); 
  for (var j = 0; j < colCnt; j++) { mainArr[i][j] = def;  }
 } 
 return(mainArr); 
} 
function createArray(rowCnt, def) { 
 var mainArr = new Array(rowCnt); 
 for (var i = 0; i < rowCnt; i++) { mainArr[i] = def; } 
 return(mainArr); 
} 
function getCookie (name) { 
 if (document.cookie.length == 0) { return null; }
 name += "=";
 var i = 0; 
 var j =0;
 while (i > 0 || j == 0) { 
  var j = i + name.length; 
  if (document.cookie.substring(i, j) == name) {
   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; 
 } 
 return null;
}
function $import(src){
 var scriptElem = document.createElement('script');
 scriptElem.setAttribute('src',src);
 scriptElem.setAttribute('type','text/javascript');
 document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
// import with a random query parameter to avoid caching
function $importNoCache(src){
 var ms = new Date().getTime().toString();
 var seed = "?" + ms; 
 $import(src + seed);
}

function setCookie (name, value) { 
 document.cookie = name + "=" + escape(value) +  "; expires=" + expires.toGMTString();
}

function trim(str) { return str.replace(/^\s*/, "").replace(/\s*$/, ""); }

function trimString (str) {
 if (str.length == 0) { return ""; }  
 while (str.charAt(0) == ' ') { str = str.substring(1); }
 while (str.charAt(str.length - 1) == ' ') {
  str = str.substring(0, str.length - 1);
 }
 return str;
}
function normalizeString (str) {
 return str.replace(/^\s+|\s+$/g, '').replace(/\s{2,}/g, ' ');
}
function createSelectList(defaultSelect, entries) {
 var newSelect = document.createElement("select");
 var entryList = entries.split(";");
 var selectOn = false;
 for (var i = 0; i < entryList.length; i++) {
  selectOn = (i == defaultSelect);
  //example: new Option(text, value, defaultSelected, selected)
  newSelect.options[0] = new Option(entryList[i], i, selectOn, selectOn);
 }
 return newSelect;
}
function setParameters(container, id, containerKeys, replacements) {
 var at = 0;
 for (var i = 0; i < containerKeys.length; i++) {
  at = container.indexOf("#" + id + containerKeys[i] + "#");
  if (at == -1) { continue; }
  if (replacements[i].length > 0) {
   container = container.replace("#" + id + containerKeys[i] + "#", replacements[i]);
   ++parameterReplaced;
   if (parameterReplaced == 1) {
    var firstAt =  container.indexOf("?"); 
    for (--at; at > 0; at--) {
     if (container.charAt(at) == '?' || container.charAt(at) == '&') {
      if (container.charAt(at) == '&' && (firstAt == -1 || firstAt > at)) {
       container = container.substring(0, at) + "?" + container.substr(at + 1);
      }              
      break;
     }
    }    
   }
  } else {
   var pref = "";
   if (container.charAt(at - 1) == "/") { pref = "/";
   } else {    
    for (--at; at > 0; at--) {
     pref = container.charAt(at) + pref;
     if (container.charAt(at) == '?' || container.charAt(at) == '&') { break; }
    }
   }   
   //Windows live exception handling to keep rtp= when from missing
   if (pref.length == "?rtp=adr.".length && pref.substring(1) == "rtp=adr.") {
    pref = pref.substring(5);
   }
   container = container.replace(pref + "#" + id + containerKeys[i] + "#", "");
  }
 }
 return container.replace("&noName=","");
}

//:audio.js
function Audio() {
 this.urls=[
  ["altaVista","http://www.altavista.com/audio/results?q=",""],
  ["webCrawler","http://msxml.webcrawler.com/info.wbcrwl/search/audio/",""],
  ["yahoo","http://audio.search.yahoo.com/search/audio?p=",""]
 ];
}

//:ads.js
function Ads() {
 this.useDefaultInput = false;
 this.urls=[
  ["adQuest","http://www.adquest3d.com","*"],
  ["american","http://www.americanclassifieds.com/search.cfm?criteria=",""],
  ["bargain","http://www.bargaintraderonline.com/adsearch.html","*"],
  ["buySellBid","http://www.buysellbid.com","*"],
  ["craig's list","http://newjersey.craigslist.org","*"],
  ["live expo","http://expo.live.com/ListingSearch.aspx?q=&SSID_=0&"
   + "TYPE_=keyword&keywords=",""],
  ["lycos","http://lycos.oodle.com/cities/?r=/browse","*"],
  ["oodle","http://www.oodle.com","*"]
 ];
}

//:business.js
function Business() {
 var busDistance = '["0","1","2","3","4","5","10","15","20","25","30","40","50","60","75","100","200","300"]';
 var wpTypes = '["name","type","phone","addr."]';
 this.labels = ["search by","name","","","","","",
  ' street, #, (city,state or <a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>)',
  '&nbsp; miles ', "",  "",""];
 this.sizes = ["5","10","1","1","1","1","1","20","1","1","1","1"];
 this.useDefaultInput = false;
 this.valueDefaults = ["0","","","","","","","","","","",""];
 this.searchLists = [wpTypes, null, null, null, null, null, null,
   null, busDistance, null, null, null];
 var wpUrl = "whitepages.com/10001/log_feature/adv_search_w_email/search/"
  + "FindPerson?firstname_begins_with=1&firstname=#First#"
  + "&name=#Last#&housenumber=#StreetNo#&street=#Street#"
  + "&city_zip=#Csz#&state_id=#State#&metro_area=1"
  + "&default_listing=phone&extra_listing=mixed";
 var wpAddr = "whitepages.com/search/ReverseAddress?housenumber="
  + "#StreetNo#&location=#Street#&city_zip=#Csz#&state_id=#State#&metro_area=1";
 var wpType = "yellowpages.superpages.com/listings.jsp?SRC=comwp&STYPE=D"
  + "&CB=&R=D&RADR=&OO=&C=#Full#&N=&RR=#Miles#&AL=&RE=#Address#"
  + "&L=#Csz#&PS=15&search=Find+It";
 var infoBase =  "kevdb.infospace.com/home/white-pages/kevdb?";
 var infoType = "ypng.infospace.com/home/yellow-pages/cat.htm?&kcfg=ypus"
  + "&fromform=near&qh=#Full#t&wqhqn=1&qhqn=#Full#&qa=#Address#"
  + "&qc=#City#&qs=#State#&qz=#Zip#&qdist=#Miles#&top=internal";
 var infoPhone = infoBase + "kcfg=wpus&searchtype=revphone&otmpl=/"
  + "white-pages/results.htm&qfm=p&qp=#Phone#"
  + "&qpa=#Area#&qpx=#Exch#&qpp=#LastFour#&qcat=revphone"; 
 var infoAddr = infoBase + "qhn=#StreetNo#&qst=#Street#&qc=#City#&kcfg=wpus"
  + "&otmpl=white-pages%2Fresults.htm&etmpl=white-pages%2Freverse%2"
  + "Findex_address.htm.etl&fromform=revaddress&searchtype=revaddress"
  + "&qcat=reverse&qsubcat=revaddr&qc=#City#&qs=#State#";
 var yahooBase = "phone.people.yahoo.com/py/"; 
 var yahooMain = yahooBase + "psPhoneSearch.py?srch=bas&FirstName=#First#"
  + "&LastName=#Last#&City=#City#&State=#State#&Search=Phone+and+Address+Search";
 var yahooType = "local.yahoo.com/results?stx=#Full#&csz=#Csz#"
  + "&sortby=topresults&radius=#Miles#";
 var yahooPhone = yahooBase + "psReverseLookUp.py?srch=bas&D=1&Phone=#Phone#"
  + "&Search=Reverse+Phone+Search";
 this.urls = [
  ["address","addresses.com","*","","",""],
  ["anywho","anywho.com","*","","",""],
  ["bigfoot","bigfoot.com","*","","",""],
  ["infospac",
   "local.infospace.com/insp/local/results.htm?what=#Full#&where=#Query#",
   "local.infospace.com", infoType, infoPhone, infoAddr],
  ["pages",wpUrl,"whitepages.com/search/FindPerson",
   wpType,"whitepages.com/search/ReversePhone?phone=#Phone#",wpAddr],
    ["yahoo",yahooMain,"phone.people.yahoo.com",yahooType,yahooPhone,"*"]
  ];
 Business.prototype.invoke = function(ptr, curVals) {
  var locator = null;
  if (this.urls[ptr][2] == "*") { locator = this.urls[ptr][1];
  } else {
   if (curVals[0] == "1") {
    // by business type
    var radius = parseInt(eval(busDistance)[parseInt(curVals[8])]);
    //Dice
    //if (ptr == 3) { radius = Math.round(radius * 166)/100; }
    var loc = trim(curVals[7]);
    curVals[0] =  trim(curVals[0]);                     
    if (loc.length > 0 && curVals[0].length > 0) {
     parseLocation(loc);
     locator = this.urls[ptr][3];
     locator = setLocation(locator, "");
     locator = locator.replace("#Miles#", radius);
     locator = locator.replace("#Full#", trim(curVals[1])); 
     locator = locator.replace("#Full#", trim(curVals[1])); 
    }
   } else {
    if (curVals[0] == "2") {
     var phoneNo = trim(curVals[4]);
     if (phoneNo.length > 0) {
      locator = this.urls[ptr][4];
      parsePhone(phoneNo);
      locator = setPhone(locator);
     }
    } else {
     if (curVals[0] != "3" || this.urls[ptr][5] != "*") { 
      var loc = trim(curVals[7]);
      var personName =  curVals[0] == "3" ? "*" : trim(curVals[1]);
      if (loc.length > 0 && personName.length > 0) {
       parseLocation(loc);
       locator = this.urls[ptr][curVals[0] == "0" ? 1 : (curVals[0] == "1" ? 3 : 5)];
       locator = setLocation(locator, "");
       if (personName != "*") {
        parseName(personName);
        locator = setName(locator);
       }
      }
     }    
    }
   }   
   if (locator == null) { locator = this.urls[ptr][2];
   } else {
    if (curVals[0] != "2") {
     locator = locator.replace(/Avenue/gi, "ave").replace(/Ave[.]/gi, "ave");
     locator = locator.replace(/Road/gi, "rd").replace(/Rd[.]/gi, "rd");;
     locator = locator.replace(/Street/gi, "st").replace(/St[.]/gi, "st");
     if (ptr == 4) { locator = locator.replace(/location=/, "street="); }
    } 
   }   
  }
  locator = "http://" + locator;
  if (ptr == 4) {
   // for whitepages, replace space with +
   locator = normalizeString(locator);
   locator = locator.replace(/ /g, "+");
  }   
  window.location = locator;
 }
 Business.prototype.setControls = function(ptr, curVals) {
  if (ptr <3)  {
   //these options do not support entry of criteria
   this.sizes[1] = "10";
   this.labels[0] = "";
   this.labels[1] = "";
   this.sizes[4] = "1";
   this.labels[4] = "";
   this.sizes[7] = "20";
   this.labels[7] = "";
   this.labels[8] = "";
  } else {
   this.labels[0] = "search by";
   if (curVals[0] == "0" || curVals[0] == "1") { 
    this.sizes[4] = "1";
    this.labels[4] = "";
    if (curVals[0] == "1") {
     this.sizes[7] = "20";
     this.labels[8] = "&nbsp; miles";
     this.sizes[1] = "10";
     this.labels[1] = "bus. type";
    } else {
    //this.sizes[1] ="10";
    // this.sizes[2] ="10";
     this.sizes[7] = "23";
     this.labels[8] = "10";
     this.labels[1] = "name";
    }
    if (ptr == 5 && curVals[0] != "1") {
     // yaoo uses city and state)
     this.labels[7] = ' where: Yahoo uses city, state';
    } else { 
     this.labels[7] = ' street, #, (city,state or <a href="'
       + 'http://zip4.usps.com/zip4/welcome.htm"> zip</a>)';
    }               
   } else {
    this.sizes[1] = "1";
    this.labels[1] = "";
    if (curVals[0] == "2") {
     this.sizes[4] = "15";
     this.sizes[7] = "1";
     this.labels[4] = "phone";
     this.labels[7] = "";
    } else {
     this.sizes[4] = "1";
     this.labels[4] = "";
     if (ptr == 5) {
      // no address lookup for yahoo
      this.sizes[7] = "1";
      this.labels[7] = "";
     } else { 
      this.sizes[7] = "45";
      if (ptr ==  3) {
       //info space uses city, state/ not zip for addr. lookup
       this.labels[7] = ' where: street, #, city, state';
      } else {   
       this.labels[7] = ' where: street, #, (city,state or <a href="'
        + 'http://zip4.usps.com/zip4/welcome.htm"> zip</a>)';
      }             
     }              
    }
    this.labels[8] = "";
   }
  }
 }       
       
 Business.prototype.setSizes = function(ptr, curVals) {
  this.setControls(ptr, curVals);
 }

 Business.prototype.customize = function(ptr, curVals, labels, inputs, lists,
  typeBut, moreBut, addons) {
  this.setControls(ptr, curVals);
  inputs[1].size = this.sizes[1];
  inputs[1].style.display = this.sizes[1] == "1" ? "none" : "";
  inputs[4].size = this.sizes[4];
  inputs[4].style.display = this.sizes[4] == "1" ? "none" : "";
  inputs[7].size = this.sizes[7];
  inputs[7].style.display = this.sizes[7] == "1" ? "none" : "";
  labels[1].innerHTML = this.labels[1];
  labels[4].innerHTML = this.labels[4];
  labels[7].innerHTML = this.labels[7];
  labels[8].innerHTML = this.labels[8];
   lists[8].style.display = (ptr > 2 && curVals[0] == "1") ? "" : "none";
   }                              
}

//:convert.js
var convertit0 = [
"calculators","currency","date/time","distance","measurement","references"];
var convertit1 = [
[["atmosphere","Calculators/Science/Atmosphere_Calc.ASP"],
["bases","Calculators/Math/Base_Converter.ASP"],
["body mass index","Calculators/Science/Body_Mass_Index_Calc.ASP"],
["circle equation","Calculators/Math/Circle_Equation_Solver.ASP"],
["expressions","Calculators/Math/Expression_Calc.ASP"],
["loan","Calculators/Finance/Loan_Calc.ASP"],
["math","Calculators/Math/Basic_Math_Calc.ASP"],
["periodic table","Calculators/Science/Periodic_Table.ASP"],
["roman numeral","Calculators/Math/Roman_Numerals_Converter.ASP"],
["sales tax",   "Calculators/Finance/Sales_Tax_Calc.ASP"]],
[["choices","Currency"],["converter","Currency/Converter_Input.ASP"],
["rate list",   "Currency/Convert_All_Input.ASP"],
["cross table","Currency/Cross_Table_Input.ASP"]],
[["choices","Calculators/Date_and_Time/"],
["calendar generator","Calculators/Date_and_Time/Calendar.ASP"],
["date difference","Calculators/Date_and_Time/Date_Time_Diff_Calc.ASP"],
["time zone map","World_Time/Time_Zones_Map_Small.ASP"],
["world time zones","World_Time"]],
[["driving","Calculators/Geography/Driving_Distance_Calc.ASP"],
["flying","Calculators/Geography/Flying_Distance_Calc.ASP"]],
[["choices","Measurement"],["converter","Measurement/Converter.ASP"],
["converter currency use","Measurement/Use_Currency_Help.ASP"],
["custom tables","Measurement/Table_Input.ASP"],
["unit abbreviations","Measurement/Units.ASP"]],
[["choices","Reference"],["country list","Reference/Countries.ASP"],
["math functions","Reference/AMS55.ASP"],
["missing data codes","Reference/Missing_Info.ASP"],
["states/provinces","Reference/States.ASP"],
["place to country","Reference/Country_Cross_Reference.ASP"]]];
var online0 = [
"clothing","computer/electronic","cooking","date/time", 
"energy/light/power","finance","flow","force","length/distance",
"miscellaneous","numbers","space","speed","vol./weight/mass"];
var online1 = [
[["choices","clothing.htm"],["men clothing","clothing_mens.htm"],
["men shoes",   "clothing_shoes_mens.htm"],["ring sizes","ring_size.htm"],   
["women clothing","clothing_womens.htm"],
["women shoes",  "clothing_shoes_womens.htm"]],
[["choices","computer.htm"],["ascii engine","asciiengine.htm"],
["chmod calculator","html_chmod_calculator.htm"],
["download speed","downloadspeed.htm"],
["elec. capacitance","electric_capacitance.htm"],
["electric current","electric_current.htm"],
["elec. motor power","motor_horsepower.htm"],["html tools","html.htm"],
["meta tag generator","html_meta_tags.htm"],
["meta tags tutorial","html_meta_tags_tutorial.htm"],["ohm's law","ohms_law.htm"],
["typography","typography.htm"]],
[["choices","cooking.htm"],["butter","cooking_butter.htm"],
["common","cooking_volume.htm"],["oven temperature","cooking_gasmark.htm"]],
[["choices","date_time.htm"],["adv. time calc","advanced_time_calculator.htm"],
["calendar creator","calendar.htm"],
["date/time diff.","days_between_advanced.htm"],
["day/week number","day_week_number.htm"],
["days difference","days_between.htm"],["julian date","julian_date.htm"],
["lead time","lead_time.htm"],["leap year","leapyear.htm"],
["time calculator","timecalc.htm"],["time conversion","time.htm"],
["time zone","timezone.htm"],["unix time","unix_time.htm"]],
[["energy choices","energy.htm"],["fuel economy","fuel_consumption.htm"],
["illuminance","illuminance.htm"],["light","light.htm"],
["luminance","luminance.htm"],["power","power.htm"],
["temperature","temperature.htm"]],
[["choices","finance.htm"],["adjusted cost basis","adjusted_cost_base.htm"],
["advanced pay calc","advanced_paycheck_calculator.htm"],
["income calculator","incomecalc.htm"],["money counter","moneycounter.htm"],
["paycheck calc","paycheck.htm"],["phone bill","phonebill.htm"],
["sales tax","salestax.htm"],["savings estimator","savingsestimate.htm"],
["stock price calc","stock_price.htm"],["tip calculator","tip_calculator.htm"]],
[["choices","flow_rate.htm"],["dynamic viscosity","viscosity_dynamic.htm"],
["flow rate mass","flow_rate_mass.htm"],["flow rate mole","flow_rate_mole.htm"],
["flow rate volume","flow_rate_volume.htm"],
["kinematic viscosity","viscosity_kinematic.htm"],
["oil, water viscosity","viscosity_oil.htm"],["viscosity","viscosity.htm"]],
[["force","force.htm"],["pressure","pressure.htm"],["torque","torque.htm"]],
[["choices","length.htm"],["all length","length_all.htm"],
["astronomical","astronomical.htm"],["common length","length_common.htm"],
["metric length","length_metric.htm"]],[["weight choices","weight.htm"],
["all weights","weight_all.htm"],["common weights","weight_common.htm"],
["density","density.htm"],["metric weight","weight_metric.htm"],
["object Volume","object_volume.htm"],["volume","volume.htm"],   
["water weight","waterweight.htm"]],
[["choices","numbers.htm"],["adv. roman num.","roman_numerals_advanced.htm"],
["binary digit","computer_base2.htm"],
["decimal prefixes","decimal_number_system.htm"],
["large numbers","large_numbers.htm"],["number base","base.htm"],
["percent calculator","percentcalc.htm"],["prime number calc","prime.htm"],   
["roman numerals","romannumerals.htm"]],
[["angles","angles.htm"],["area","area.htm"],["shape area","shape_area.htm"]],
[["speed choices","speed.htm"],["acceleration","acceleration.htm"],
["all speeds","speed_all.htm"],["common speeds","speed_common.htm"],
["frequency","frequency.htm"]],
[["volume","volume.htm"],["weight/mass","weight.htm"]]];
var yahoo0 = ["Finance"];
var yahoo1 = [
[["auto loan calculator","http://partners.leadfusion.com/tools/yahoo_auto/auto03/tool.fcs"],
["bi-weekly mortgage calcu.","http://www.bankrate.com/yclc/calc/biweekly-mortgage/biweekly.asp"],
["choices","http://finance.yahoo.com/calculator/index"],
["currency","http://finance.yahoo.com/currency"],
["mortgage calculator","http://finance.yahoo.com/calculator/family-home/hom-03"]]];
var convertme0 = ["Convert"];
var convertme1 = [
[["area","area"], ["Capacity/Volume","volume"],["circular measure","circular"],
["Computer Storage","computer"],["cooking","cooking"],
["Distance/length","length"],["energy/work","energy"],
["Fractions/Percent","percent"],["fuel consumption","fuel"], ["Power","power"],
["pressure","pressure"], ["Speed","speed"],["temperature","temperature"],
["Time","time"],["torque","torque"]]];
var placecds0 = ["Convert"];
var placecds1 = [
[["address unit","usps.com/ncsc/lookups/usps_abbreviations.html#secunitdesig"],
["internet domain",  "norid.no/domenenavnbaser/domreg.html"],
["iso country","www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html"],
["state","usps.com/ncsc/lookups/usps_abbreviations.html"],   
["street",  "usps.com/ncsc/lookups/usps_abbreviations.html#suffix"],
["telephone area ","bennetyee.org/ucsd-pages/area.html"],
["telephone country",   "countrycodes.com/call.php"],
["zip","zip4.usps.com/zip4/"]]];
var mainConvertOpts = [convertme0,  convertit0, "", online0, placecds0, "", yahoo0];
var subConvertOpts = [convertme1,  convertit1, "", online1, placecds1, "", yahoo1];
var curConvertSub  = new Array();
function Convert() {
 for (var i = 0; i < online1[0].length; i++) {
  curConvertSub[i] = online1[0][i][0];
 }
 this.searchLists = [online0, curConvertSub, null, null, null, null, null,
    null, null, null, null, null];
 this.sizes = ["1","1","1","1","1","1","1","1","1","1","1","1"];
 this.useDefaultInput = false;
 this.valueDefaults = ["0","0","","","","","","","","","",""];
 Convert.prototype.invoke = function(ptr, curVals) {
  var locator = this.urls[ptr][1];
  if (this.urls[ptr][2] != "*") {
   locator = locator + subConvertOpts[ptr][parseInt(curVals[0])][parseInt(curVals[1])][1];
  }  
  window.location = locator;
}
Convert.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
 if (!mainConvertOpts[ptr]) { 
  lists[0].style.display = "none";
  lists[1].style.display = "none";
 } else {
  var subArray = subConvertOpts[ptr][parseInt(curVals[0])];
  if (parseInt(curVals[1]) > (subArray.length -1)) { curVals[1] = "0"; }
  loadSingleArray(mainConvertOpts[ptr], parseInt(curVals[0]), lists[0]);
  loadArray(subConvertOpts[ptr][parseInt(curVals[0])], parseInt(curVals[1]), lists[1]);
  lists[0].style.display = "";
  if (ptr == 0 || ptr ==4 || ptr == 6) {
   lists[0].style.display = "none";
  } else { lists[0].style.display = ""; }
  if (ptr == 2 || ptr ==5) {
   lists[1].style.display = "none";
  } else {
   lists[1].style.display = "";
  }
 }
}                              
this.urls=[
 ["convert-me","http://www.convert-me.com/en/convert/",""],
 ["convertIt","http://www.convertit.com/Go/ConvertIt/",""],
 ["oanda currency","http://www.oanda.com/convert/classic","*"],
 ["online convert","http://www.onlineconversion.com/",""],
 ["place codes","http://",""],
 ["xe currency","http://www.xe.com/ucc/","*"],
 ["yahoo finance","",""]
   ];
}

//:dictionary.js
function Dictionary() {
 this.urls=[
  ["american", "http://www.bartleby.com/cgi-bin/texis/webinator/ahdsearch?search_type=enty&query=", ""],
  ["cambridge", "http://dictionary.cambridge.org/results.asp?dict=B&searchword=", ""],
  ["dictionary",  "http://dictionary.reference.com/search?q=", ""],
  ["encarta", "http://encarta.msn.com/dictionary_/", ".html"],
  ["infoplease", "http://www.infoplease.com/dictionary/", ""],
  ["merriam", "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=", ""],
  ["oneLook", "http://www.onelook.com/?loc=pub&w=", ""],
  ["oxford compact", "http://www.askoxford.com/results/?view=dict&textsearchtype=exact&freesearch=", ""],
  ["rhymeZone", "http://www.rhymezone.com/r/rhyme.cgi?Word=", ""],
  ["wiktionary", "http://en.wiktionary.org/wiki/", ""]
 ];
 // ["wordsmyth", "http://www.wordsmyth.net/live/home.php?script=search&matchent=", ""]
}

//:encyclopedia.js
function Encyclopedia() {
 this.urls=[
  ["britannica","http://www.britannica.com/search?query=",""],
  ["columbia","http://www.bartleby.com/cgi-bin/texis/webinator/"
     + "65search?search_type=full&query=",""],
  ["encarta","http://encarta.msn.com/encnet/refpages/search.aspx?q=",""],
  ["infoplease","http://www.infoplease.com/search?in=encyclopedia&query=",
   ""],
  ["world history","http://www.bartleby.com/cgi-bin/texis/webinator/"
     + "sitesearch?FILTER=col67&query=",""]
 ];
 //  ["encyclopedia","http://www.encyclopedia.com/SearchResults.aspx?Q=",""],
}

//:feeds.js
var feedIds = ["News", "Sports"];
var feedHeadIds = ["Left", "Right"];


//function changeFeed(feedIdIn, feedHeadIdIn) {
function changeFeed(feedIdIn, feedHeadIdIn) {
   var toplist = document.getElementById("oTop" + feedIdIn);
   var toprss = (feedIdIn == "Sports" ? rssSports : rssNews);
   var topbody = (feedIdIn == "Sports" ? "sportsBodyList" : "newsBodyList");
//   var topbody = "newsBody" + feedHeadIdIn;
   getRss(toplist, toprss, topbody);
}


function loadFeed(parentDiv) {
 var feedHtml = "<div id=" + parentDiv.id + "Head>";
 feedHtml += "</div><div id=" + parentDiv.id  + "Body>";
  feedHtml += ("<div id=" + parentDiv.id  + "BodyList class=announceList></div></div>");
 parentDiv.innerHTML = feedHtml;
}

//:fix.js
var ptrLinkFix = 0;
var ptrAnnounceFix = 1;
var ptrFixTitle= 0;
var ptrFixCaption = 1;
var ptrFixUrl = 2;
var linkContent = [
["March Madness Video from CBS","",
"http://ncaasports.com/mmod?refcode=saag_spln_ar"],
["CBOA - College Basketball Officials Assoc.","","http://cboaofficial.org/"],
["IAABO - Int'l Assoc. of Approved BB Officials","","http://iaabo.org/"],
["NJSIAA - NJ State Athletic Intersch. Assoc.","","http://njsiaa.org/"],
["PIAA  - Penn. Interscholastic Athletic Assoc.","","http://piaa.org/"]];
var announceContent = [  
["philly m.s. baseball umpires needed ","contact Ed Davis, 215-456-3002, ecdavis@phila.k12.pa.us","mailto:ecdavis@phila.k12.pa.us"],
["philly m.s. softball umpires needed ","contact James McKelvey, 215-327-1730, james.mckelvey@navy.mil","mailto:james.mckelvey@navy.mil"],
["Rudolph, others in Basketball Hall of Fame","","http://nba.com/news/hof_announcement_070402.html"],
["Next PIAA Officials Exam on 6/4/2007","","http://piaa.org/assets/web/documents/Officials'%20Application%20for%20Registration.pdf"]
];
var linkAnnounce = [linkContent, announceContent];

//:horoscope.js
function Horoscope() {
 this.useDefaultInput = false;
 this.valueDefaults = ["0","0","0","0","0","0","0","0","0","0","0","0"];
 this.ids = ["aries","taurus","gemini","cancer","leo","virgo","libra",
  "scorpio","sagittarius","capricorn","acquarius","pisces"]; 
 this.sizes = ["5","1","1","1","1","1","1","1","1","1","1","1"];
 this.searchLists = [[
  "aries (mar. 21 - apr. 20)","taurus (apr. 21 - may 21)",
  "gemini (may 22 - june 20)","cancer (june 22 - july 22)",
  "leo (july 23 - aug. 21)","virgo (aug. 22 - sep. 23)",
  "libra (sep. 24 - oct. 23)","scorpio (oct. 24 - nov. 22)",
  "sagittarius (nov. 23 - dec. 22)",
  "capricorn (dec. 23 - jan. 20)",
  "acquarius (jan. 21 - feb. 19)","pisces (feb. 20 - mar. 29)"]
 ];
 this.urls=[
  ["horoscope","http://my.horoscope.com/getHoroscope.asp?sign=",""],
  ["horoscopes","http://horoscopes.astrology.com/daily",""],
  ["yahoo","http://astrology.yahoo.com/astrology/general/dailyoverview/",""]
 ];
 Horoscope.prototype.invoke = function(ptr, curVals) {
  var horoLocator = this.urls[ptr][1];
  switch(ptr) {
   case 0:
    var date = new Date();
    horoLocator += ("" + (1 + parseInt(curVals[0]))
     + "&day=" + date.getDate() 
     + "&month=" + (date.getMonth() + 1)
     + "&year=" + date.getYear());
    break;         
   case 1: horoLocator += (this.ids[curVals[0]] + ".html");
    break;
   case 2: horoLocator += this.ids[curVals[0]];
  }    
  window.location = horoLocator;
 }
}

//:images.js
function Images() {
 this.urls=[
  ["altaVista","http://www.altavista.com/image/results?q=",""],
  ["ask","http://images.ask.com/pictures?q=",""],
  ["dogpile","http://www.dogpile.com/info.dogpl/search/images/",""],
  ["flickr","http://www.flickr.com//search/?q=",""],
  ["google","http://images.google.com/images?q=",""],
  ["istock photo","http://www.istockphoto.com/","*"],
  ["msn","http://search.msn.com/images/results.aspx?q=",""],
  ["photo bucket","http://www.photobucket.com/images/",""],
  ["search","http://www.search.com/images?tag=.main.search&q=",""],
  ["webcrawler","http://msxml.webcrawler.com/info.wbcrwl/search/images/",""],
  ["yahoo","http://images.search.yahoo.com/search/images?p=",""]
 ];
}

//:jobs.js
var jobParams = [""];
var jobKeys = ["Miles"];
var jobCols = 6;
var jobLocator;
var monsterStates = [
2,3,4,5,11,17,18,19,20,23,24,27,29,30,31,32,34,35,36,
37,39,40,42,44,45,46,47,50,51,53,54,55,57,59,60,68,69,71,
72,75,80,86,87,91,92,94,96,98,101,102,105,106];
var jobUrls=[
["career builder",
"http://careerbuilder.com/jobseeker/jobs/jobresults.aspx?&SB:AdvSearch:s_freeloc=#ZipCity#",""],
["computer jobs",
"http://www.search.computerjobs.com/guest/powersearch.aspx","*"],
["craigs list","http://craigslist.org","*"],
["dice","http://seeker.dice.com/jobsearch/servlet/JobSearch?LOCATION_OPTION=2&op=300&ZIPCODE=#Zip#&RADIUS=#Miles#",""],
["employment","http://www.employmentguide.com","*"],
["fed world","http://www.fedworld.gov/jobs/jobsearch.html","*"],
["hot jobs","http://hotjobs.yahoo.com/jobseeker/jobsearch/search_results.html?ulm_input1=#Zip#&metro_area=1&city1=#City#&state1=#State#",""],
["indeed","http://www.indeed.com/jobs?radius=#Miles#&l=#Zip#",""],
["job central","http://www.jobcentral.com/advanced_search.asp","*"],
["web (grads)","http://www.jobweb.com","*"],
["monster","http://monster.com","*"],
["net temps","http://www.net-temps.com/jobs/advanced_search.htm","*"],
["oodle","http://usa.oodle.com/job?results=1&loc=zip_#Zip#:#Miles#",""],
["simply hired",
"http://www.simplyhired.com/index.php?ds=sr&cy=#City#&z=#Zip#&mi=#Miles#&ow=",""],
["snag (hourly)",  "http://www.snagajob.com/jobseeker/search/searchresults.aspx?city=#City#&state=#State#&zipcode=#Zip#&radius=#Miles#",""],
["usa jobs (fed.)","http://jobsearch.usajobs.opm.gov/index.asp","*"],
["wsj",  "http://cj.careercast.com/js.php?qCity=#ZipCity#&qState=#State#&qMiles=#Miles#",""]
];
var jobOpts = ["*key entry:","any words","all words","",
"*type:","any","contract","employee","full time employee",
"part time employee","per diem","permanent","intern","summer","temporary",
"*publish date:","anytime","within 60 days","within 30 days",
"within 15 days","within 7 days","within 3 days","since yesterday",
"today"];
var careerMap = ["","SB:AdvSearch:s_rawwords=#Key#&SB:AdvSearch:s_use=ANY",
"SB:AdvSearch:s_rawwords=#Key#&SB:AdvSearch:s_use=ALL","",
"","","SB:AdvSearch:s_emptype=JTCT","","SB:AdvSearch:s_emptype=JTFT",
"SB:AdvSearch:s_emptype=JTPT","","","SB:AdvSearch:s_emptype=JTIN","","",
"","",  "","SB:AdvSearch:s_freshness=30","SB:AdvSearch:s_freshness=15","SB:AdvSearch:s_freshness=7","SB:AdvSearch:s_freshness=3","SB:AdvSearch:s_freshness=1",""];
var diceMap = ["","FREE_TEXT=#Key#&Ntx=mode+matchany", 
"FREE_TEXT=#Key#&Ntx=mode+matchall","","",
"TAXTERM=0","TAXTERM=1002&TAXTERM=1003&TAXTERM=1004&TAXTERM=1005&TAXTERM=1006&TAXTERM=1007","TAXTERM=1001","",
"","","","","","", 
"","",  "","DAYSBACK=30",
"DAYSBACK=15","DAYSBACK=7","DAYSBACK=3","DAYSBACK=2","DAYSBACK=1"];
var employmentMap = ["","keyword_string/#Key#/search_logical/OR",
"keyword_string/#Key#/search_logical/AND","",
"","","","","","","","","","","",
"","datesearch/365","datesearch/60","datesearch/30",
"datesearch/15","datesearch/7","datesearch/3","datesearch/1",
"datesearch/0"];
var hotJobsMap = ["","keywords_any=#Key#","keywords_all=#Key#","", 
"","","","","",
"","","","","","", 
"","updated_since=anytime",  "updated_since=sixtydays","updated_since=month",
"","updated_since=week","","updated_since=twodays","updated_since=today"];
var indeedMap = ["","as_any=#Key#","as_and=#Key#","",
"","","jt=contract","","jt=fulltime",
"jt=parttime","","","jt=internship","","jt=temporary",
"","fromage=any",  "","",
"fromage=15","fromage=7","fromage=3","fromage=1","fromage=0"];
var jobWebMap = ["","keywords=#Key#","","",
"","","","","","","","","","","",
"","",  "","","","","","",""];
var monsterMap = ["","q=#Key#","","",
"","","jtyp=2","jtyp=1",
"jsta=4","jsta=5","jsta=26","","jtyp=3","","", 
"","",  "tm=60","tm=30","tm=15","tm=7","tm=3","tm=2","tm=1"];
var nettempsMap = ["","JobType=+&Bool=or&QText=#Key#","", 
"JobType=+&Bool=and&QText=#Key#",
"","","JobType=C","JobType=D","","","","","","","", 
"","",  "daysback=60","daysback=30",
"daysback=15","daysback=7","daysback=3","daysback=2","daysback=1"];
var oodleMap = ["","q=#Key#","","",
"","","","","",
"","","","","","", 
"","",  "","","","","","",""];
var simplyMap = ["","q=#Key#","","", 
"","","jt=contract","","jt=full-time",
"jt=part-time","","jt=permanent","jt=internship","","jt=temporary",
"","","db=60","db=30","db=15","db=7","db=3","db=2","db=1"];
var snagMap = ["","jobtitle=#Key#","","",
"","","","","","","","","","","", 
"","",  "db=60","db=30","db=15","db=7","db=3","db=2","db=1"];
var wsjMap = ["","qMatch=any&q=#Key#","qMatch=all&q=#Key#","",
"","","","","","","","","","","", 
"","",  "","","","","","",""];
var jobsMaps = [careerMap,"","",diceMap,employmentMap,"",hotJobsMap,
indeedMap,"","","", nettempsMap, oodleMap,simplyMap,snagMap,"",wsjMap];
//"","","",monsterMap
var jobDistance = '["0","1","2","3","4","5","10","15","20","25","30","40","50","60","75","100","200","300"]';
function Jobs() {
 this.useDefaultInput = false;
 this.valueDefaults = ["","","","","","","0","0","","","",""];
 this.labels = ["","","","","", 
  ' <a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a> or city',
  " state","miles","key words","","",""];
 this.sizes = ["1","1","1","1","1","12","5","5","12","1","1","1"];
 this.searchLists = [null, null,  null, null, null, null, states, jobDistance,
  null, null, null, null];
 this.optionDefaults = this.buildOptionsMap(jobOpts); 
 this.addonOptions = new createMultiArray(jobOpts.length, 6, "");
 this.addonList = this.createAddons(jobOpts, this.addonOptions, jobCols);
 this.urls= jobUrls;
 Jobs.prototype.getOptionUse = function(ptr) {
  var uses = "";
  for (var i = 0; i < jobsMaps[ptr].length; i++) {
    uses += (jobsMaps[ptr][i].length == "0" && jobOpts[i].substring(0,3) != "any" ? "0" : "1");
  }
  return uses;
 }
 Jobs.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
  var spaces = "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp;  &nbsp;";
  var labelCell = labels[1].parentNode.cells[0];
  switch(ptr) {
   case 11:  labelCell.innerHTML = spaces + "(for new grads)"; break;
   case 17:  labelCell.innerHTML = spaces +  "(hourly)"; break;
   default:  labelCell.innerHTML = "";
  }
  if (ptr == 3) {
   // for dice
   labels[1].parentNode.cells[6].innerHTML =
    ' only <a href="http://zip4.usps.com/zip4/welcome.htm">zip</a> for Dice';
  } else {  
   labels[1].parentNode.cells[6].innerHTML =
    ' <a href="http://zip4.usps.com/zip4/welcome.htm">zip</a> or city';
  }
 }                              
 Jobs.prototype.invoke = function(ptr, curVals) {
  var radius = parseInt(eval(jobDistance)[parseInt(curVals[7])]);
  //Dice
  if (ptr == 3) { radius = Math.round(radius * 166)/100; }
  jobParams[0] = "" + radius;
  if (this.urls[ptr][2] == "*") {
   jobLocator = this.urls[ptr][1];
  } else {
   var jobCityZip = trim(curVals[5]);
   if (jobCityZip.length == 0) { jobLocator = this.urls[ptr][2];
   } else {
    jobLocator =  this.setCityZip(ptr, curVals[6], jobCityZip, this.urls[ptr][1]);
    jobLocator += this.getMappings(jobsMaps[ptr]);
    jobLocator = setParameters(jobLocator, "", jobKeys, jobParams);
    jobLocator = jobLocator.replace(/#Key#/, curVals[8]);
    var atQues = jobLocator.indexOf("?");
    var atAnd =  jobLocator.indexOf("&");
    if (atAnd > -1 && jobLocator.indexOf("?") == -1) {
     jobLocator = jobLocator.replace(/&/,"?");
    }
   }
   jobLocator += this.urls[ptr][2];
  }

  switch(ptr) {
   case 4:
    //special processing for employment.com
    jobLocator = jobLocator.replace(/&/g, "/").replace(/\?/, "/");
    break;
   case 15:
    // special oodle processing
    var atDash = jobLocator.indexOf("&/-/");
    if (atDash > -1) {
     var atIns = jobLocator.indexOf("?");
     jobLocator = jobLocator.substring(0, atIns)
       + jobLocator.substring(atDash + 1)
       + jobLocator.substring(atIns, atDash);
    }                 
   }
   window.location = jobLocator;
  }
}

//:jokes.js
function Jokes() {
 this.useDefaultInput = false;
 this.sizes = ["1","1","1","1","1","1","1","1","1","1","1","1"];
 this.urls=[["aha jokes","ahajokes.com","*"],
  ["comedy central","jokes.comedycentral.com","*"],
  ["cool funny jokes","coolfunnyjokes.com","*"],
  ["humor","humor.com","*"],
  ["huumor","huumor.com","*"],
  ["joke pier","jokepier.com","*"],
  ["jokes galore","jokesgalore.com","*"],
  ["lots of jokes","lotsofjokes.com","*"],
  ["profession jokes","workjoke.com/projoke.htm","*"],
  ["science jokes","xs4all.nl/~jcdverha/scijokes","*"],
  ["the-jokes","the-jokes.com","*"],
  ["yahooligans (kids)","yahooligans.yahoo.com/content/jokes","*"]];
 Jokes.prototype.invoke = function(ptr, curVals) {
  window.location = "http://" + this.urls[ptr][1];
 }
}

//:kids.js
var kidSubNames = [
 ["almanac","aspca","geocities","insectopedia","kids go wild",
 "kids planet","kids farm","kid sites","national geographic",
 "nutty birdwatcher","wildlife federation","zoo books"], 
 ["all crafts","amazing moms","artists helping children",
 "clipart for educators","coloring","crayola","cyber kids",
 "enchanted learning","kidz page clip art","kidz page coloring","room 108"],
 ["almanac","fun brain","fema","fun school","gameGoo","kids games",
 "kidscom","kidz page","nasa","national geographic","pbs",
 "play kids games","pop cap","room 108","scholastic","yahooligans","zeeks"],
 ["yahooligans (kids)"],
 ["play kids games","room 108 writing","room 108 stories"],
 ["cyber kids","fun brain","kid sites","play kids games","room 108"],
 ["room 108"],
 ["cyber Kids","discovery","enchanted learning","kid sites","kid zone",
 "kids com","kids domain","kids-space","kidz page","nasa","room 108",
 "scholastic","surf net kids","national geographic","yahooligans"],
 ["enchanted learning", "noggin"],
 ["kidz page puzzles","room 108 puzzles","room 108 crossword"],["almanac"],
 ["room 108"],["room 108","for kids"],["sports illustrated"],["pbs"]];
var kidSubUrls = [
 ["worldalmanacforkids.com/explore/animals.html","animaland.org",
 "geocities.com/athens/1850/listanimals.html",  "insectclopedia.com",
 "kidsgowild.com","kidsplanet.org","www.kidsfarm.com/wheredo.htm",
 "kidsites.com/sites-edu/animals.htm",    
 "www.nationalgeographic.com/kids/creature_feature/archive"  ,
 "nuthatch.birdnature.com","nwf.org/kids/",
 "zoobooks.com/gatewayPages/gateway1Kids.html"],
 ["allcrafts.net/kids.htm","amazingmoms.com/htm/kidsart.htm",
 "artistshelpingchildren.org/artscraftsideaskids",
 "awesomeclipartforeducators.com",
 "www.coloring.com/pictures/choose.cdc","crayola.com",
 "cyberkids.com/cw/art",  "enchantedlearning.com/crafts",
 "thekidzpage.com/freekidsclipart","thekidzpage.com/colouring_menus",
 "scugog-net.com/room108/Paint/paint1.html"],
 ["worldalmanacforkids.com/fun-games/gamecenter.html",
 "funbrain.com","fema.gov/kids/games1.htm",
 "funschool.kaboose.com","cogcon.com/gamegoo/gooey.html",
 "kidsgames.org","kidscom.com/games/games.html",
 "thekidzpage.com/freekidsgames","www.nasa.gov/audience/forkids/games",
 "www.nationalgeographic.com/kids/games",
 "pbskids.org/games.html","playkidsgames.com","popcap.com",
 "scugog-net.com/room108/starflight/games1.html",
 "scholastic.com/kids/games.htm","yahooligans.yahoo.com/content/games",
 "zeeks.com"],
 ["yahooligans.yahoo.com/content/jokes"],
 ["playkidsgames.com/mathGames.htm",  "netrover.com/~kingskid/hanglist.html",
 "netrover.com/~kingskid/108b.html"],
 ["cyberkids.com","funbrain.com/brain/MathBrain/MathBrain.html",
 "kidsites.com","playkidsgames.com/mathGames.htm",
 "netrover.com/~kingskid/Math/math.htm"],["netrover.com/~kingskid/dinsing.html"],
 ["cyberkids.com","kids.discovery.com","enchantedlearning.com",
 "kidsites.com","kidzone.ws","kidscom.com","kidsdomain.com",
 "kids-space.org/","thekidzpage.com","www.nasa.gov/audience/forkids",
 "netrover.com/~kingskid/108.html","scholastic.com/kids",
 "surfnetkids.com","www.nationalgeographic.com/kids",
 "yahooligans.yahoo.com"], ["enchantedlearning.com/crafts/toddler", "noggin.com"],   
 ["thekidzpage.com/onlinejigsawpuzzles",
  "netrover.com/~kingskid/Puzzle/puzzles108.html",
  "scugog-net.com/room108/crossdiff/crossmain.html"],
 ["worldalmanacforkids.com/explore"], ["netrover.com/~crose/science/science.htm"],
 ["netrover.com/~kingskid/social.htm","socialstudiesforkids.com"],
 ["sikids.com"],["pbskids.org"]];
var animals = [
 ["almanac","worldalmanacforkids.com/explore/animals.html"],
 ["aspca","animaland.org"],
 ["geocities","geocities.com/athens/1850/listanimals.html"],
 ["insectopedia","insectclopedia.com"],
 ["kids go wild","kidsgowild.com"],
 ["kids planet","kidsplanet.org"],
 ["kids farm","kidsfarm.com/wheredo.htm"],
 ["kid sites","kidsites.com/sites-edu/animals.htm"],
 ["national geographic",
  "www.nationalgeographic.com/kids/creature_feature/archive"],
 ["nutty birdwatcher","nuthatch.birdnature.com"],
 ["wildlife federation","nwf.org/kids/"],
 ["zoo books","zoobooks.com/gatewayPages/gateway1Kids.html"]];
var arts = [
 ["all crafts","allcrafts.net/kids.htm"],
 ["amazing moms","amazingmoms.com/htm/kidsart.htm"],
 ["artists helping children",
  "artistshelpingchildren.org/artscraftsideaskids"],
 ["clipart for educators","awesomeclipartforeducators.com"],
 ["coloring","coloring.com/pictures/choose.cdc"], ["crayola","crayola.com"],
 ["cyber kids","cyberkids.com/cw/art"],
 ["enchanted learning","enchantedlearning.com/crafts"],
 ["kidz page clip art","thekidzpage.com/freekidsclipart"],
 ["kidz page coloring","thekidzpage.com/colouring_menus"],
 ["room 108","scugog-net.com/room108/Paint/paint1.html"]];
var games = [
 ["almanac","worldalmanacforkids.com/fun-games/gamecenter.html"],
 ["fun brain","funbrain.com"],["fema","nfema.gov/kids/games1.htm"],
 ["fun school","funschool.kaboose.com"],
 ["gameGoo","cogcon.com/gamegoo/gooey.html"]
 ["kids games","kidsgames.org"],["kidscom","kidscom.com/games/games.html"],
 ["kidz page","thekidzpage.com/freekidsgames"],
 ["nasa","www.nasa.gov/audience/forkids/games"],
 ["national geographic","www.nationalgeographic.com/kids/games"],
 ["pbs","pbskids.org/games.html"],["play kids games","playkidsgames.com"],
 ["pop cap","popcap.com"],
 ["room 108","scugog-net.com/room108/starflight/games1.html"],
 ["scholastic","scholastic.com/kids/games.htm"],
 ["yahooligans","yahooligans.yahoo.com/content/games"],["zeeks","zeeks.com"]];
var jokes = [["yahooligans (kids)","yahooligans.yahoo.com/content/jokes"]];
var language = [
 ["play kids games","playkidsgames.com/mathGames.htm"],
 ["room 108 writing","netrover.com/~kingskid/hanglist.html"],
 ["room 108 stories","netrover.com/~kingskid/108b.html"]];
var math = [
 ["cyber kids","cyberkids.com"],
 ["fun brain","funbrain.com/brain/MathBrain/MathBrain.html"],
 ["kid sites","kidsites.com"],
 ["play kids games","playkidsgames.com/mathGames.htm"],
 ["room 108","netrover.com/~kingskid/Math/math.htm"]];
var music = [["room 108","netrover.com/~kingskid/dinsing.html"]];
var portals = [
 ["cyber Kids","cyberkids.com"], ["discovery","kids.discovery.com"],
 ["enchanted learning","enchantedlearning.com"],
 ["kid sites","kidsites.com"], ["kid zone","kidzone.ws"],
 ["kids com","kidscom.com"], ["kids domain","kidsdomain.com"],
 ["kids-space","kids-space.org/"], ["kidz page","thekidzpage.com"],
 ["nasa","www.nasa.gov/audience/forkids"],
 ["room 108","netrover.com/~kingskid/108.html"],
 ["scholastic","scholastic.com/kids"], ["surf net kids","surfnetkids.com"],
 ["national geographic","www.nationalgeographic.com/kids"],
 ["yahooligans","yahooligans.yahoo.com"]];
var puzzles = [
 ["kidz page puzzles","thekidzpage.com/onlinejigsawpuzzles"],
 ["room 108 puzzles","netrover.com/~kingskid/Puzzle/puzzles108.html"],
 ["room 108 crossword","scugog-net.com/room108/crossdiff/crossmain.html"]];
var reference = [["almanac","worldalmanacforkids.com/explore"]];
var science = [["room 108","netrover.com/~crose/science/science.htm"]];
var socialstudies = [
 ["room 108","netrover.com/~kingskid/social.htm"],
 ["for kids","socialstudiesforkids.com"]];
var sports = [["sports illustrated","sikids.com"]];
var toddlers = [
 ["enchanted learning","enchantedlearning.com/crafts/toddler"]];
var tv = [["pbs","pbskids.org"]];
var kidCatNames =
 ["animals","arts/crafts","games","jokes","language arts",
 "math","music","portals","pre-k/kindergarten",
 "puzzles",  "reference","science","social studies","sports","tv"];
var kidSubCats = [animals,arts,games,jokes,language,math,music,
 portals,toddlers,puzzles,reference,science,
 socialstudies,sports,tv];
var curKidSub  = new Array();
var  lastPtr = 0;

function Kids() {
 curKidSub = kidSubNames[0];
 this.searchLists = [curKidSub, null, null, null, null, null, null,
  null, null, null, null, null];
 this.sizes = ["1","1","1","1","1","1","1","1","1","1","1","1"];
 this.useDefaultInput = false;
 this.valueDefaults = ["0","0","","","","","","","","","",""];

 Kids.prototype.invoke = function(ptr, curVals) {
  var locator = "http://" + kidSubUrls[ptr][parseInt(curVals[0])];
  window.location = locator;
 }


 Kids.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
  if (lastPtr == ptr) { return; }
  if (parseInt(curVals[0]) > (kidSubNames[ptr].length -1)) { curVals[0] = "0"; }
  curKidSub = kidSubNames[ptr];
  loadSingleArray(curKidSub, parseInt(curVals[0]), lists[0]);
  lastPtr = ptr;
 }                              
 this.urls=[["animals","",""],
  ["arts/crafts","",""],
  ["games","",""], 
  ["jokes","",""],
  ["language arts","",""],
  ["math","",""],
  ["music","",""],
  ["portals","",""],
  ["pre-k/kindergarten","",""],
  ["puzzles","",""],
  ["reference","",""],
  ["science","",""],
  ["social studies","",""],
  ["sports","",""],
  ["tv","",""]];
}	

//:local.js
function Local() {
 this.labels = ["","","","bus. name, category, key","","", 
  ' location (city,state or <a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>)',
  '', "",""];
 this.useDefaultInput = false;
 this.sizes = ["1","1","1","22","1","1","20","1","1","1","1"];
 this.urls=[
  ["aol","cityguide.aol.com","*"],
  ["city data","city-data.com","*"],
  ["city search","citysearch.com/search?query=#Key#&where=#Where#",""],
  ["infoSpace","infospace.com/info.inn/redirs_all.htm?pgtarg=ctyi","*"],
  ["on line city guide","olcg.com","*"],
  ["world city guides","cityguide.travel-guides.com","*"],
  ["yahoo","local.yahoo.com/results?stx=#Key#&csz=where=#Where#",""]
 ];
 //   ["aol","cityguide.aol.com/philadelphia/search/search.adp?query=pizza&zip=#Where#",""],
 Local.prototype.invoke = function(ptr, curVals) {
  var localKeys = ["Key","Where"]; 
  var localParams = [curVals[3], trim(curVals[6])];
  var loc = setParameters(this.urls[ptr][1], "", localKeys, localParams);
  window.location = "http://" + loc;
 }
}

//:locator.js
var locs = ["","","","","","","",""];
var locatorKeys = ["StreetNo","Street","Address","City","State","Zip","Csz","Query"];
var locStreetNo = 0;
var locStreet = 1;
var locAddress = 2;
var locCity = 3;
var locState = 4;
var locZip = 5;
var locCsz = 6;
var locQuery = 7;
var locationReplaced = 0;
function setLocation(locator, id) {
 parameterReplaced = locationReplaced;
 var newLocator = setParameters(locator, id, locatorKeys, locs);
 locationReplaced = parameterReplaced;
 return newLocator;
}
function clearLocation() {
 locs[locStreetNo] = "";
 locs[locStreet] = "";
 locs[locAddress] = "";
 locs[locCity] = "";
 locs[locState] = "";
 locs[locZip] = "";
 locs[locCsz] = "";
 locs[locQuery] = "";
}
function parseLocation(loc) {
 clearLocation();
 locs[locQuery] = loc;
 if (loc.length == 0) { return; }
 var i = loc.length - 1;
 for (; i > -1; i--) {
  if("01234567890-".indexOf(loc.charAt(i)) == -1) { break; }    
 }
 var parts = [""];    
 if (i < (loc.length - 1) && (i == -1 || loc.charAt(i) == " " || loc.charAt(i) == ",")) {
  locs[locZip] = loc.substr(i + 1);
  if (i > -1)  {
      parts = (loc.substring(0, i +1)).split(","); 
  }
 } else { parts = loc.split(","); }
 if (parts.length > 2) {
  parts[1] = trimString(parts[1]);
  if (parts[1].length > 0
   && "0123456789".indexOf(parts[1].charAt(0)) > -1) {
   locs[locAddress] =  parts[1] + " " + trimString(parts[0]);
   locs[locCity] = trimString(parts[2]);
   locs[locQuery] = locs[locAddress];
   if (locs[locCity].length > 0) {
     locs[locQuery] = locs[locQuery] + "," + locs[locCity];
   }   
   if (parts.length > 3 && trimString(parts[3]).length > 0) {
    locs[locState] = trimString(parts[3]);
    locs[locQuery] = locs[locQuery] + "," + locs[locState];
   }
   if (locs[locZip].length > 0) {
    locs[locQuery] = locs[locQuery] + "," + locs[locZip];
   }
  } else {
   locs[locAddress] = trimString(parts[0]);
   locs[locCity] = trimString(parts[1]);
   locs[locState] = trimString(parts[2]);
  }   
 } else {
  if (parts.length > 1 && parts[1].length > 0 && "0123456789".indexOf(parts[1].charAt(0)) > -1) {
   locs[locAddress] =  parts[1] + " " + trimString(parts[0]);
   locs[locQuery] = locs[locAddress]; 
   if (locs[locZip].length > 0) {
    locs[locQuery] = locs[locQuery] + "," + locs[locZip];
   }
  } else { 
   if (trimString(parts[parts.length - 1]).length == 2) {
    locs[locState] = trimString(parts[parts.length - 1]);
   }  
   if (parts.length == 2 && locs[locState].length == 0) {
    locs[locAddress] = trimString(parts[0]);
    locs[locCity] = trimString(parts[1]);
   } else {
    var j=0;
    parts[0] = trimString(parts[0]);
    for (; j < parts[0].length; j++) {
     if ("0123456789".indexOf(parts[0].charAt(j)) > -1) {
      break;
     }    
    }
    if (j ==  parts[0].length) {
     locs[locCity] = parts[0];
    } else { locs[locAddress] = parts[0]; }
   }
  }   
 }
 if (locs[locAddress].length == 0) {
  locs[locCsz] = loc;
 } else {
  locs[locCsz] = locs[locCity];
  if (locs[locState].length > 0) {
   locs[locCsz] = locs[locCsz] + "," + locs[locState];
  }                 
  if (locs[locZip].length > 0) {
   locs[locCsz] = locs[locCsz] + " " + locs[locZip];
  }                 
 }
 var atSpace = locs[locAddress].indexOf(" ");
 if (atSpace > -1  && "0123456789".indexOf(locs[locAddress].charAt(0)) > -1) {
  locs[locStreetNo] = locs[locAddress].substring(0, atSpace); 
  locs[locStreet] = trim(locs[locAddress].substring(atSpace + 1)); 
 }
}

//:maps.js
var directions=[	
 ["Google","http://maps.google.com/maps?saddr=#fQuery#&daddr=#tQuery#",
 "http://maps.google.com/"],
 ["Maporama","http://world.maporama.com/idl/maporama/itinerary.aspx?"
  + "ITI_START_address=#fAddress#&ITI_START_city=#fCity#"
  + "&ITI_START_state=#fState#&ITI_START_zip=#fZip#"
  + "&ITI_START_country=US&ITI_START_type=address"
  + "&ITI_START_name=From:&ITI_END_address=#tAddress#"
  + "&ITI_END_city=#tCity#&ITI_END_state=#tState#"
  + "&ITI_END_zip=#tZip#&ITI_END_country=US&ITI_END_name=To"
  + "&ITI_END_type=address","http://world.maporama.com"],
 ["Mapquest","http://www.mapquest.com/directions/main.adp?1a=#fAddress#"
  + "&1c=#fCity#&1s=#fState#&1z=#fZip#&2a=#tAddress#"
  + "&2c=#tCity#&2s=#tState#&2z=#tZip#","http://www.mapquest.com/directions"],
 ["Rand McNally","http://www.randmcnally.com/rmc/directions/"
  + "dirGetDirections.jsp?sStartAddr=#fAddress#"
  + "&sStartCity=#fCity#&sStartState=#fState#&sStartZip=#fZip#"
  + "&sDestAddr=#tAddress#"
  + "&sDestCity=#tCity#&sDestState=#tState#&sDestZip=#tZip#",
  "http://www.randmcnally.com/rmc/directions/dirGetDirections.jsp"],
 ["Yahoo","http://maps.yahoo.com/dd_result?newaddr=#fAddress#&csz=#fCsz#"
  + "&taddr=#tAddress#&tcsz=#tCsz#","http://maps.yahoo.com/dd_result"],
 ["Windows Live","http://local.live.com/default.aspx?rtp=adr.#fQuery#~"
  + "adr.#tQuery#","http://local.live.com"],
 ["World Atlas","http://worldatlas.com","*"]];
function Maps() {
 this.labels = ["","","","","","",
  ' street, #, (city,state or <a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>)',
  ' to street, #, (city,state or <a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>)',
  "","","",""];
 //   this.addonOptions = new createMultiArray(housingOpts.length, 6, "");
 this.sizes = ["1","1","1","1","1","1","25","25","1","1","1","1"];
 this.useDefaultInput = false;
 this.urls=[
  ["google","http://www.google.com/maphp?&q=#fQuery#",
   "http://www.google.com/maphp"],
  ["maparoma","http://world.maporama.com/drawaddress.aspx?"
   + "GC_address=#fAddress#&GC_city=#fCity#"
   + "&GC_state=#fState#&GC_zip=#fZip#"
   + "&GC_country=US","http://world.maporama.com"],
  ["mapquest","http://www.mapquest.com/maps/map.adp?address=#fAddress#"
   + "&city=#fCity#&state=#fState#&zipcode=#fZip#",
   "http://www.mapquest.com"],
  ["mcNally","http://www.randmcnally.com/rmc/directions/dirGetMap.jsp"
   + "?txtMapAddress==#fAddress#"
   + "&txtMapCity=#fCity#&txtMapSt=#fState#&txtMapZip=#fZip#",
   "http://www.randmcnally.com/rmc/directions/dirGetMap.jsp"],
  ["yahoo","http://maps.yahoo.com/maps_result?addr=#fAddress#&csz=#fCsz#",
   "http://maps.yahoo.com"],
  ["win. live","http://local.live.com/default.aspx?where1=#fQuery#",
   "http://local.live.com"],
  ["world atlas","http://worldatlas.com","http://worldatlas.com"]];
 Maps.prototype.invoke = function(ptr, curVals) {
  var locator;
  var from = trim(curVals[6]);
  var to = trim(curVals[7]);
  if (from.length + to.length == 0) {
   locator = this.urls[ptr][2];
  } else {
   parseLocation(from);
   locationReplaced = 0;
   if (to.length == 0) {
    locator = this.urls[ptr][1];
    locator = setLocation(locator, "f");
   }  else {
    locator = directions[ptr][1];
    locator = setLocation(locator, "f");
    parseLocation(to);
    locator = setLocation(locator, "t");
   }    
  }
  window.location = locator;
 }
}
   
//:movies.js
var movieAddOns = "";
var movieEntry = '[" tickets/times"," general"," reviews"," trailers"]';
var movieCols = 6;
var movieLocator;
var movieSite;
var movieOpts = [
"key entry:","any","actor","cast/crew","character",  "company","director",
"name","plot","quote","title","genre:","any","Action/Adventure",
"Classic",  "Comedy","Documentary","Drama","Family","Foreign","Horror",
"Musical","Mystery/Thriller","Romance","SciFi/Fantasy",  "Western",
"rating:","any","G","PG","PG-13","R","NC-17","NR",
"release:","any","this week","last 3 months","2000s",
"1990s","1980s","1970s","1960s","1950s","1940s","1930s"];

var hollywoodMap = ["","","","&dd=s_7&w=","&dd=s_8&w=","","",
"","","","&af=c1_featurefilm&w=","","","",
"","","","","","","",
"","","","","",
"","","","","","","","",
"","","","","",
"","","","","","",""];                   
var imdbMap = [
"","find?s=all&q=#Key#","","Find?select=Bios&for=#Key#",
"Find?select=Characters&for=#Key#","find?s=co&q=#Key#","",
"find?s=nm&q=#Key#","Find?select=Plots&for=#Key#","Find?select=Quotes&for=#Key#",
"find?s=tt&q=#Key#","","","",
"","","","",  "","","",
"","","","","",
"","","","","","","","",
"","","","","",
"","","","","","",""];                   
var moviesMap = ["","","actor=#Key#","","","","director=#Key#",
"","","","","","","genre=act",
"","genre=com","genre=doc","genre=dra","genre=fam",
"genre=for","genre=hor",
"genre=mus","genre=mys","","genre=sci","genre=wes",
"","","mpaa=G","mpaa=PG","mpaa=PG13","","","mpaa=NR",
"","","release=thisweek","release=last3months",
"release=2000",
"release=1990","release=1980","release=1970","release=1960",
"release=1950","release=1940","release=1930"];                   
var mrMovieMap = ["","","","","","","",
"","","","search_type=title&search=#Key#","","",
"search_type=genre&search=action",
"search_type=genre&search=classic",
"search_type=genre&search=comedy","", 
"search_type=genre&search=drama",
"search_type=genre&search=family","",
"search_type=genre&search=horror",
"search_type=genre&search=musical",
"search_type=genre&search=suspense",
"search_type=genre&search=romance",
"search_type=genre&search=scifi",
"search_type=genre&search=western",
"","","search_type=rating&search=G", 
"search_type=rating&search=PG",
"search_type=rating&search=PG-13",
"search_type=rating&search=R",
"search_type=rating&search=NC-17",
"search_type=rating&search=NR",
"","","","","",
"","","","","","",""];                   
var movieDefaultMap = ["","","","","","","",""];
//idmb.com customization code
function movies2(srcList) {
 if (srcList[0] == "0") {
  movieLocator = "http://www.imdb.com/showtimes/location/" + movieSite;
 } else {  movieLocator = "http://www.imdb.com/"; }
}
var movieMaps = ["",hollywoodMap,imdbMap,"","",moviesMap,mrMovieMap,"","",""];
function Movies() {
this.urls=[
["fandango","http://www.fandango.com/",
"http://	www.fandango.com/TheaterListings.aspx?source=cityzipsearch&location=#ZipCity#",
"*","http://www.fandango.com/",
"http://www.fandango.com/Trailers.aspx?source=nav_trailers"],
["hollywood","http://www.hollywood.com","*", 
"http://search.hollywood.com/search?p=Q&ts=v2&w=#Key#", 
"http://www.hollywood.com/movies/reviews.aspx",
"http://www.hollywood.com/movies/trailers.aspx"],
["imdb","http://imdb.com/",
"http://www.imdb.com/showtimes/location/#ZipCity#",
"http://imdb.com/",
"http://imdb.com/","http://imdb.com/nowplaying/", 
"http://www.imdb.com/Sections/Trailers"],
["tickets","http://www.movietickets.com",
"http://www.movietickets.com/house_list.asp?SearchZip=#Zip#&SearchCity=#City#&SearchState=#State#",
"*","*","http://www.movietickets.com/movie_trailers.asp"],
["moviefone","http://movies.aol.com",
"http://movies.aol.com/showtimes/closest-theaters?csz=#ZipCity#",
"*","http://movies.aol.com/reviews/main.adp",
"http://movies.aol.com/trailers/main.adp"],
["movies",  "http://movies.com", 
"http://movie-times.movies.go.com/movietimes/theaters?zip=#Zip#",
"http://movies.go.com/flickfinder/stayingin",
"http://movies.go.com/reviews",
"http://movies.go.com/movie_trailers"],
["mr. movie","http://www.mrmovietimes.com",
"http://www.mrmovietimes.com/index2.html?limit=No+limit&zip=#Zip#", 
"http://www.mrmovietimes.com/movies/movie-search.php?",
"http://www.mrmovietimes.com","http://www.mrmovietimes.com"],
["msn","http://movies.msn.com",
"http://movies.msn.com/movies/finda.aspx?famsel=-1&shloc=#ZipCity#",
"http://movies.msn.com/search/movie/?ss=#Key#",
"http://movies.msn.com/movies/lifecycle.aspx?stab=3",
"http://movies.msn.com/movies/lifecycle.aspx?stab=3"],
["yahoo","http://movies.yahoo.com",
"http://movies.yahoo.com/showtimes/?z=#ZipCity#",
"http://movies.yahoo.com/mv/search?p=#Key#",
"http://movies.yahoo.com/mv/boxoffice",
"http://movies.yahoo.com/trailers"],
["zap2It","http://www.zap2it.com/movies",
"http://movies.zap2it.com/movies/browse/movie/0,1259,#Zip#-20--,00.html",
"http://movies.zap2it.com/movies/search/0,1259,---#Key#,00.html",
"http://movies.zap2it.com/search/1,3787, 00.html",
"http://www.zap2it.com/movies/reviews",""]
];
this.useDefaultInput = false;
this.valueDefaults = ["0","","","","","","0","","","","",""];
this.labels = ["search type","","","",""," zip or city"," state","","",
"","",""];
this.sizes = ["5","1","1","1","1","15","5","1","1","1","1","1"];
this.searchLists = [[" tickets/times"," general"," reviews"," trailers"],
null, null, null, null, null, states, null, null, null, null, null];
this.optionDefaults = this.buildOptionsMap(movieOpts); 
this.addonOptions = new createMultiArray(movieOpts.length, 6, "");
this.addonList = this.createAddons(movieOpts, this.addonOptions, movieCols);
Movies.prototype.getOptionUse = function(ptr) {
 var uses = "";
 for (var i = 0; i < movieMaps[ptr].length; i++) {
  uses += (movieMaps[ptr][i].length == "0" && movieOpts[i].substring(0,3) != "any" ? "0" : "1");
 }
 return uses;
}
Movies.prototype.setShowTimeLocator = function(ptr, curVals) {
 var cityZip = trim(curVals[5]);
 if (cityZip.length == 0) { 
  movieLocator = this.urls[ptr][1];
  return;
 }
 movieLocator =  this.setCityZip(ptr, curVals[6], cityZip, this.urls[ptr][2]);
}
Movies.prototype.getAllOptionsDisabled = function(ptr, curVals) {
 var ptr2 = parseInt(curVals[0]) + 2;
 return this.urls[ptr].length > 1 && this.urls[ptr][ptr2] == "*";
}
Movies.prototype.showAddons = function(ptr, curVals) {
    return curVals[0] == "1"; 
}
Movies.prototype.setSizes = function(ptr, curVals) {
 if (curVals[0] == 0) { 
  this.sizes[5]  = "15";
  this.sizes[6]  = "5";
  this.sizes[9]  = "1";
  this.labels[9] = "";
  if (ptr == 5 || ptr == 9) {
      this.labels[5] =
       '<a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>';
      this.labels[6] = ""; 
      this.searchLists[6] = null;
  } else {    
      this.labels[5] = '<a href="http://zip4.usps.com/zip4/'
                      + 'welcome.htm"> zip</a> or city';
      this.labels[6] = "state";
      this.searchLists[6] = states;
  }
 } else {
  this.sizes[5] = "1";
  this.sizes[6] = "1";
  this.labels[7] = ""; 
  this.sizes[9] = "30";
  this.labels[5] = "";
  this.labels[9] = " key entry";
  this.searchLists[6] = null; 
 }
}

Movies.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
 moreBut.style.display = curVals[0] == "1" ? "" : "none";
 addons.style.display = curVals[0] == "1" && moreBut.value == " - " ? "" : "none";
 if (curVals[0] == 0) { 
  this.sizes[5]  = "15";
  this.sizes[6]  = "5";
  this.sizes[9]  = "1";
  this.labels[9] = "";
  if (ptr == 5 || ptr == 9) {
   this.labels[5] = '<a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a>';
   this.labels[6] = ""; 
   lists[6].style.display = "none";
  } else {    
   this.labels[5] = '<a href="http://zip4.usps.com/zip4/welcome.htm"> zip</a> or city';
   this.labels[6] = "state";
   this.searchLists[6] = states;
   lists[6].style.display = "";
  }
  inputs[9].style.display = "none";
  inputs[5].style.display = "";
  inputs[5].size = this.sizes[5];
 } else {
  this.sizes[5] = "1";
  this.sizes[6] = "1";
  this.labels[6] = ""; 
  this.sizes[9] = "30";
  this.labels[5] = "";
  this.labels[9] = " key entry";
  inputs[5].style.display = "none";
  lists[6].style.display = "none";
  inputs[9].style.display = "";
  inputs[9].size = 30;
 }
 labels[5].innerHTML = this.labels[5];
 labels[6].innerHTML = this.labels[6];
 labels[9].innerHTML = this.labels[9];
}                              



Movies.prototype.setGeneralLocator = function(ptr, curVals) {
 // 0-Fandango, 1-Hollywood, 2-IMDB, 3-Movie Tickets, 4-MovieFone
 // 5-Movies,   6-Mr. Movie, 7-MSN,  8-Yahoo, 9-Zap2It
 movieAddOns = this.getMappings(movieMaps[ptr]);
 if (ptr == 2 && movieAddOns.length > 0) {
  movieAddOns = movieAddOns.substring(1);
 }
 movieLocator = (movieLocator + movieAddOns).replace(/#Key#/, curVals[8]);
}
Movies.prototype.invoke = function(ptr, curVals) {
 var movieSrchType = parseInt(curVals[0]) + 2;
 if (this.urls[ptr][movieSrchType] == "*") {
  movieLocator = this.urls[ptr][1];
 } else {
  movieLocator = this.urls[ptr][movieSrchType];
  switch(curVals[0]) {
   case "0": this.setShowTimeLocator(ptr, curVals); break;
   case "1": this.setGeneralLocator(ptr, curVals); break;
   //case "2": case "3": movieLocator = this.urls[ptr][movieSrchType];
  }
 }
 var atQues = movieLocator.indexOf("?");
 var atAnd =  movieLocator.indexOf("&");
 if (atAnd > -1 && movieLocator.indexOf("?") == -1) {
  movieLocator = movieLocator.replace(/&/,"?");
 }
 window.location = movieLocator;
}
}

//:namer.js
var names = ["", "", "", "", "", ""];
var nameKeys = ["Prefix", "First", "Middle", "Last", "Post", "Full"];
var namePrefix = 0;
var nameFirst = 1;
var nameMiddle = 2;
var nameLast = 3;
var namePost = 4;
var nameFull = 5;
function setName(locator) {
 return setParameters(locator, "", nameKeys, names);
}
function clearName() {
 names[namePrefix] = "";
 names[nameFirst] = "";
 names[nameMiddle] = "";
 names[nameLast] = "";
 names[namePost] = "";
 names[nameFull] = "";
}
function parseName(nameIn) {
 clearName();
 names[nameFull] = trimString(nameIn);
 if (nameIn.length == 0 || nameIn.indexOf(',') + nameIn.indexOf(' ') == -1) {
  return;
 }
 if (nameIn.indexOf(',') > -1) {
  var parts = nameIn.split(",");
  names[nameLast] = trim(parts[0]);
  names[nameFirst] = trim(parts[1]);
  if (parts.length > 2) {
   names[nameMiddle] = trim(parts[2]);
   if (parts.length > 3) {
    names[namePost] = trim(parts[3]);
    if (parts.length > 4) {
      names[namePrefix] = trim(parts[4]);
    }
   }
  }
  return;
 }    
 var parts = nameIn.split(" ");
 switch(parts.length) {
  case 2:
   names[nameFirst] = trim(parts[0]);
   names[nameLast] = trim(parts[1]);
   break;
  case 5:
   names[namePrefix] = trim(parts[0]);
   names[nameFirst] = trim(parts[1]);
   names[nameMiddle] = trim(parts[2]);
   names[nameLast] = trim(parts[3]);
   names[namePost] = trim(parts[4]);
   break;
  case 4:
   names[nameFirst] = trim(parts[0]);
   names[nameMiddle] = trim(parts[1]);
   names[nameLast] = trim(parts[2]);
   names[namePost] = trim(parts[3]);
   break;
  case 3:
   names[nameFirst] = trim(parts[0]);
   names[nameMiddle] = trim(parts[1]);
   names[nameLast] = trim(parts[2]);
 }            
}

//:news.js
function News() {
 this.useDefaultInput = false;
 this.urls=[
   ["altaVista","http://www.altavista.com/news/results?q=",""],
   ["ask","http://news.ask.com/news?q=",""],
   ["dogpile","http://www.dogpile.com/info.dogpl/search/news/",""],
   ["google","http://news.google.com/news?hl=en&ned=us&q=",""],
   ["msn","http://search.msn.com/news/results.aspx?	q=",""],
   ["sky news","http://search.sky.com/search/skynews/results?QUERY=",""],
   ["webCrawler","http://msxml.webcrawler.com/info.wbcrwl/search/news/",""],
   ["yahoo","http://news.search.yahoo.com/search/news?p=",""]
 ];
}


//:newsfeeds.js
// ["afp","agency france-presse","www.afp.com/english/rss/stories.xml"],
var rssNews=[
 ["ap","associated press",
  "hosted.ap.org/lineups/TOPHEADS-rss_2.0.xml?SITE=NYWNE&SECTION=HOME"],
 ["bbc","british broadcasting corp",
  "newsrss.bbc.co.uk/rss/sportonline_world_edition/front_page/rss.xml"],
 ["cnn","cable news network","rss.cnn.com/rss/cnn_topstories.rss"],
 ["csm","christian science monitor","rss.csmonitor.com/feeds/top"],
 ["msn","microsoft network", "msn.com/rss/news.aspx"],
 ["nyt","new york times","www.nytimes.com/services/xml/rss/nyt/HomePage.xml"],
 ["reuters","","feeds.feedburner.com/reuters/topNews/"],
 ["usa today","","rssfeeds.usatoday.com/usatoday-NewsTopStories"]
];
/*
 ["google news","","news.google.com/?output=rss"],
 ["Google World","","news.google.com/news?ned=us&topic=w&output=rss"],
 ["Google Argentina","","news.google.com/news?ned=es_ar&output=rss"],
 ["Google Australia","","news.google.com/news?ned=au&output=rss"],
 ["Google België","","news.google.com/news?ned=nl_be&output=rss"],
 ["Google Belgique","","news.google.com/news?ned=fr_be&output=rss"],
 ["Google Brasil","","news.google.com/news?ned=pt-BR_br&output=rss"],
 ["Google Canada English","","news.google.com/news?ned=ca&output=rss"],
 ["Google Canada Français","","news.google.com/news?ned=fr_ca&output=rss"],
 ["Google Chile","","news.google.com/news?ned=es_cl&output=rss"],
 ["Google China","","news.google.com/news?ned=cn&output=rss"],
 ["Google Colombia","","news.google.com/news?ned=es_co&output=rss"],
 ["Google Cuba","","news.google.com/news?ned=es_cu&output=rss"],
 ["Google Deutschland","","news.google.com/news?ned=de&output=rss"],
 ["Google España","","news.google.com/news?ned=es&output=rss"],
 ["Google Estados Unidos","","news.google.com/news?ned=fr&output=rss"],
 ["Google France","","news.google.com/news?ned=fr&output=rss"],
 ["Google Hong Kong","","news.google.com/news?ned=es_ar&output=rss"],
 ["Google India","","news.google.com/news?ned=in&output=rss"],
 ["Google Ireland","","news.google.com/news?ned=en_ie&output=rss"],
 ["Google Italia","","news.google.com/news?ned=it&output=rss"],
 ["Google Japan","","news.google.com/news?ned=ja&output=rss"],
 ["Google Korea","","news.google.com/news?ned=kr&output=rss"],
 ["Google México","","news.google.com/news?ned=es_mx&output=rss"],
 ["Google Nederland","","news.google.com/news?ned=nl_nl&output=rss"],
 ["Google New Zealand","","news.google.com/news?ned=nz&output=rss"],
 ["Google Österreich","","news.google.com/news?ned=de_at&output=rss"],
 ["Google Perú","","news.google.com/news?ned=es_ar&output=rss"],
 ["Google Portugal","","news.google.com/news?ned=pt-PT_pt&output=rss"],
 ["Google Schweiz","","news.google.com/news?ned=de_ch&output=rss"],
 ["Google South Africa","","news.google.com/news?ned=en_za&output=rss"],
 ["Google Suisse","","news.google.com/news?ned=fr_ch&output=rss"],
 ["Google Taiwan","","news.google.com/news?ned=tw&output=rss"],
 ["Google United Kingdom","","news.google.com/news?ned=uk&output=rss"],
 ["Google United States","","news.google.com/news?ned=us&output=rss"],
 ["Google Venezuela","","news.google.com/news?ned=es_ve&output=rss"]
*/
//   ["Google Israel","","news.google.com/news?ned=iw_il&output=rss"],


//:person.js
function Person() {
 var resDistance = '["0","1","2","3","4","5","10","15","20","25","30","40","50","60","75","100","200","300"]';
 var wpTypes = '["name","email","phone","addr."]';
 this.labels = ["search by","name","","","","","",
  ' street, #, (city,state or <a href="http://zip4.usps'
  + '.com/zip4/welcome.htm"> zip</a>)', "","",  "",""];
 this.sizes = ["5","10","1","1","1","1","1","20","1","1","1","1"];
 this.useDefaultInput = false;
 this.valueDefaults = ["0","","","","","","","","","","",""];
 this.searchLists = [wpTypes, null, null, null, null, null, null, null, null, null, null, null];
 var wpUrl = "whitepages.com/10001/log_feature/adv_search_w_email/search/"
  + "FindPerson?firstname_begins_with=1&firstname=#First#"
  + "&name=#Last#&housenumber=#StreetNo#&street=#Street#"
  + "&city_zip=#Csz#&state_id=#State#&metro_area=1"
  + "&default_listing=phone&extra_listing=mixed";
 var wpAddr = "whitepages.com/search/ReverseAddress?housenumber="
  + "#StreetNo#&location=#Street#&city_zip=#Csz#&state_id=#State#"
  + "&metro_area=1";
 var wpType = "yellowpages.superpages.com/listings.jsp?SRC=comwp&STYPE=D"
  + "&CB=&R=D&RADR=&OO=&C=#Full#&N=&RR=#Miles#&AL=&RE=#Address#"
  + "&L=#Csz#&PS=15&search=Find+It";
 var wpEmail = "whitepages.com/10001/log_feature/email_search_w_phone/"
  + "search/FindPerson?default_listing=email&firstname_begins_with"
  + "=1&firstname=#First#&name=#Last#&street=#Street#&city_zip="
  + "#Csz#&state_id=#State#&default_listing=email&extra_listing="
  + "mixed";          
 var infoBase =  "kevdb.infospace.com/home/white-pages/kevdb?";
 var infoType = "ypng.infospace.com/home/yellow-pages/cat.htm?&kcfg=ypus"
  + "&fromform=near&qh=#Full#t&wqhqn=1&qhqn=#Full#&qa=#Address#"
  + "&qc=#City#&qs=#State#&qz=#Zip#&qdist=#Miles#&top=internal";
 var infoEmail = infoBase + "QN=#Last#&QF=#First#&qc=#Csz#&kcfg=email"
  + "&otmpl=white-pages%2Femail%2Fresults.htm"
  + "&qcat=email&qname=#Full#&qs=#State#&qo=us";
 var infoPhone = infoBase + "kcfg=wpus&searchtype=revphone&otmpl=/"
  + "white-pages/results.htm&qfm=p&qp=#Phone#"
  + "&qpa=#Area#&qpx=#Exch#&qpp=#LastFour#&qcat=revphone"; 
 var infoAddr = infoBase + "qhn=#StreetNo#&qst=#Street#&qc=#City#&kcfg=wpus"
  + "&otmpl=white-pages%2Fresults.htm&etmpl=white-pages%2Freverse%2"
  + "Findex_address.htm.etl&fromform=revaddress&searchtype=revaddress"
  + "&qcat=reverse&qsubcat=revaddr&qc=#City#&qs=#State#";
 var yahooBase = "phone.people.yahoo.com/py/"; 
 var yahooMain = yahooBase + "psPhoneSearch.py?srch=bas&FirstName=#First#"
  + "&LastName=#Last#&City=#City#&State=#State#&Search=Phone+and+Address+Search";
 var yahooEmail = "email.people.yahoo.com/py/psAdvSearch.py?"
  + "FirstName=#First#&LastName=#Last#&City=#City#&State=#State#"
  + "&SmartName=on&OrgType=n&srch=adv&D=1";    
 // var yahooType = "local.yahoo.com/results?stx=#Full#&csz=#Csz#"
 //         + "&state=#State#&zip=&qty=9&uzip=#Zip#&country=US&sortby=topresults"
 //         + "&radius=#Miles#";
 var yahooType = "local.yahoo.com/results?stx=#Full#&csz=#Csz#"
  + "&sortby=topresults&radius=#Miles#";
 var yahooPhone = yahooBase + "psReverseLookUp.py?srch=bas&D=1&Phone=#Phone#"
  + "&Search=Reverse+Phone+Search";
 this.urls = [
  ["address","addresses.com","*","","",""],
  ["anywho","anywho.com","*","","",""],
  ["bigfoot","bigfoot.com","*","","",""],
  ["infospac",
   "local.infospace.com/insp/local/results.htm?what=#Full#&where=#Query#",
   "local.infospace.com", infoEmail, infoPhone, infoAddr],
  ["intellius","find.intelius.com","*","","",""],
  ["pages", wpUrl,"whitepages.com/search/FindPerson",
  wpEmail,"whitepages.com/search/ReversePhone?phone=#Phone#",wpAddr],
  ["yahoo", yahooMain, "phone.people.yahoo.com", yahooEmail, yahooPhone, "*"]];
 Person.prototype.invoke = function(ptr, curVals) {
  var locator = null;
  if (this.urls[ptr][2] == "*") { locator = this.urls[ptr][1];
  } else {
   if (curVals[0] == "2") {
    var phoneNo = trim(curVals[4]);
    if (phoneNo.length > 0) {
     locator = this.urls[ptr][4];
     parsePhone(phoneNo);
     locator = setPhone(locator);
    }
   } else {
    if (curVals[0] != "3" || this.urls[ptr][5] != "*") { 
     var loc = trim(curVals[7]);
     var personName =  curVals[0] == "3" ? "*" : trim(curVals[1]);
     if (loc.length > 0 && personName.length > 0) {
      parseLocation(loc);
      locator = this.urls[ptr][curVals[0] == "0" ? 1 : (curVals[0] == "1" ? 3 : 5)];
      locator = setLocation(locator, "");
      if (personName != "*") {
       parseName(personName);
       locator = setName(locator);
      }
     }
    }    
   }
   if (locator == null) { 
    locator = this.urls[ptr][2];
   } else {
    if (curVals[0] != "2") {
     locator = locator.replace(/Avenue/gi, "ave").replace(/Ave[.]/gi, "ave");
     locator = locator.replace(/Road/gi, "rd").replace(/Rd[.]/gi, "rd");;
     locator = locator.replace(/Street/gi, "st").replace(/St[.]/gi, "st");
     if (ptr == 5) {
      locator = locator.replace(/location=/, "street=");
     }
    } 
   }   
  }
  locator = "http://" + locator;
  if (ptr == 5) {
   // for whitepages, replace space with +
   locator = normalizeString(locator);
   locator = locator.replace(/ /g, "+");
  }   
  window.location = locator;
 }
 Person.prototype.setControls = function(ptr, curVals) {
  if (ptr <3 || ptr ==4)  {
   //these options do not support entry of criteria
   this.sizes[1] = "10";
   this.labels[0] = "";
   this.labels[1] = "";
   this.sizes[4] = "1";
   this.labels[4] = "";
   this.sizes[7] = "20";
   this.labels[7] = "";
  } else {
   //this.labels[0] = "search by";
   if (curVals[0] == "0" || curVals[0] == "1") { 
    this.sizes[4] = "1";
    this.labels[4] = "";
    this.labels[1] = "name";
    if (ptr == 6) {
      // yaoo uses city and state)
      this.labels[7] = ' where: Yahoo uses city, state';
    }  else { 
     this.labels[7] = ' street, #, (city,state or <a href="'
      + 'http://zip4.usps.com/zip4/welcome.htm"> zip</a>)';
    }               
    this.sizes[7] = "25";
    this.sizes[1] = "15";
   } else {
    this.sizes[1] = "1";
    this.labels[1] = "";
    if (curVals[0] == "2") {
     this.sizes[4] = "15";
     this.sizes[7] = "1";
     this.labels[4] = "phone";
     this.labels[7] = "";
    } else {
     this.sizes[4] = "1";
     this.labels[4] = "";
     if (ptr == 6) {
      // no address lookup for yahoo
      this.sizes[7] = "1";
      this.labels[7] = "";
     } else { 
      this.sizes[7] = "45";
      if (ptr ==  3) {
       //info space uses city, state/ not zip for addr. lookup
       this.labels[7] = ' where: street, #, city, state';
      } else {   
       this.labels[7] = ' where: street, #, (city,state or <a href="'
        + 'http://zip4.usps.com/zip4/welcome.htm"> zip</a>)';
      }             
     }              
    }
   }
  }
 }       
 Person.prototype.setSizes = function(ptr, curVals) {
  this.setControls(ptr, curVals);
 }
 Person.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
  this.setControls(ptr, curVals);
  inputs[1].size = this.sizes[1];
  inputs[1].style.display = this.sizes[1] == "1" ? "none" : "";
  inputs[4].size = this.sizes[4];
  inputs[4].style.display = this.sizes[4] == "1" ? "none" : "";
  inputs[7].size = this.sizes[7];
  inputs[7].style.display = this.sizes[7] == "1" ? "none" : "";
  labels[1].innerHTML = this.labels[1];
  labels[4].innerHTML = this.labels[4];
  labels[7].innerHTML = this.labels[7];
  if (ptr < 3) { labels[0].innerHTML = ""; 
  } else {
   if (ptr == 4) { labels[0].innerHTML = "backgrnd.";
   } else {
    if (curVals[0] ==  "1") { labels[0].innerHTML = "retrieve"; 
    } else { labels[0].innerHTML = "search by"; } 
   }   
  }   
 }                              
}
	
//:phoner.js
var phones = ["","","","","",""];
var phoneKeys = ["Area","Exch","LastFour",  "Phone"];
var phoneArea = 0;
var phoneExch = 1;
var phoneLastFour = 2;
var phonePhone = 3;
function setPhone(locator) {
 return setParameters(locator, "", phoneKeys, phones);
}
function clearPhone() {
 phones[phoneArea] = "";
 phones[phoneExch] = "";
 phones[phoneLastFour] = "";
 phones[phonePhone] = "";
}
function parsePhone(phoneIn) {
 clearPhone();
 phoneIn = phoneIn.replace(/ /g, "").replace(/-/g, "");
 phones[phonePhone] = phoneIn;
 if (phoneIn.length == 0) { return; }
 if (phoneIn.length > 6) { 
  phones[phoneLastFour] = phoneIn.substring(6); 
  phones[phoneExch] = phoneIn.substring(3, 6);
  phones[phoneArea] = phoneIn.substring(0, 3);
 } else {
  if (phoneIn.length > 3) {
   phones[phoneExch] = phoneIn.substring(3);
   phones[phoneArea] = phoneIn.substring(0, 3);
  } else { phones[phoneArea] = phoneIn; }
 }
}

//:quotes.js
function Quotes() {
 this.urls=[
  ["bartlett's","http://bartelby.com/cgi-bin/texis/webinator/sitesearch?FILTER=col100&query=",""],
  ["columbia","http://www.bartleby.com/cgi-bin/texis/webinator/66search?search_type=full&query=",""],
  ["creative Quotations","http://creativequotations.com/cgi-bin/sql_search3."
   + "cgi?boolean=and&frank=all&field=all&database=all&keyword=",""],
  ["other pages","http://www.theotherpages.org/.search?query=",""],
  ["respectfully","http://bartelby.com/cgi-bin/texis/webinator/sitesearch?FILTER=col73&query=",""],
  ["simpsons","http://bartelby.com/cgi-bin/texis/webinator/sitesearch?FILTER=col63&query=",""],
  ["quotations Page","http://www.quotationspage.com/search.php3?homesearch=",""],
  ["quoteland","http://www.quoteland.com","*"],
  ["world's orations","http://bartelby.com/cgi-bin/texis/webinator/sitesearch?FILTER=&query=",""]
 ];
}

//:search.js
/** 
 * @fileoverview Contains Search superclass and supporting method and fields.
 *
 * @author Bill Knight
 * @version 0.1 
 */
/** Constructor for Search base superclass.
 *  @constructor
 *  @class abstract search base superclass.               
*/ 
function Search() {
 this.searchLists = [null, null, null, null, null, null, null, null, null,
  null, null, null];
 this.valueDefaults = createArray(srchInputsCount, "");
 this.useDefaultInput = true;
 this.labels = createArray(srchInputsCount, "");
 /** Sizes for display of search text inputs (1 denotes no display).
  *  @type String Array
  */
 this.sizes = ["1", "1", "1", "1", "1", "1", "1", "1", "40", "1", "1", "1"];
 this.addonList = new Array();
 this.addonOptions = new Array();
 this.optionDefaults = "0";
 Search.prototype.invoke = function(ptr, curVals) {
  var locator = this.urls[ptr][1];
  if (this.urls[ptr][2] != "*") {
   locator = locator + curVals[8] + this.urls[ptr][2];
  }  
 
  //window.location = locator;
  window.open(locator);
 }
 /** Load specified array with search add on option default values.
  *  @param target array to populate with default values
  */
 Search.prototype.addValueDefaults = function(target) {
  for (k = 0; k < this.valueDefaults.length; k++) {
   target[target.length] = this.valueDefaults[k];
  }
 }
 Search.prototype.getAllOptionsDisabled = function(ptr, curVals) {
  return this.urls[ptr].length > 1 && this.urls[ptr][2] == "*";
 }
 Search.prototype.setSizes = function(ptr, curVals) {  }
  /** Build default search option flags map from array of option names. 
   *  Set default to on if name starts with "any", otherwise off. Map uses
   *  hexadecimal representation of on/off bits for each group of 8 options.
   *  @param {String Array} src list of search option names
   *  @return hexadecimal map
   *  @type String
   */
 Search.prototype.buildOptionsMap = function(src) {
  var mapOut = "";
  var curVal;
  var j;
  for (var i = 0; i < src.length;) {
   curVal = 0;
   j = i;
   for (; i < j + 8  && i < src.length; i++) {
    if (src[i].substring(0, 3) == "any") {
     curVal +=  Math.pow(2, (i - j)); 
    }
   }
   if (curVal > 15) { mapOut +=   curVal.toString(16);
   } else { mapOut += ("0" +  curVal.toString(16)); }
  }
  return mapOut;
 }
 Search.prototype.customize = function(ptr, curVals, labels,  inputs, lists, typeBut, moreBut, addons) {}
  /** Create search extension by mapping search add on and add on codes lists.
   *  @param {array} map codes to be mapped by position to search add ons
   *  an empty code indicates add on option is not used for search
   *  @return {String} add on codes delimited by "&" for use in search
   */
 Search.prototype.getMappings = function(map) {
  var newMappings = "";
  for (var i = 0; i < map.length; i++) {
   if (map[i].length > 0 && this.addonOptions[i][4] && newMappings.indexOf(map[i]) == -1) {
    newMappings += ("&" + map[i]);
   }
  }
  return newMappings;
 }
 /** Retrieve string of option use flags (0/1) for search class.
  *  default is empty string for no use and subclasses override as needed
  *  @return {String} of option use flags (0/1) for search class.
  */
 Search.prototype.getOptionUse = function(ptr) { return ""; }
 /** Convert option flags from Hexadecimal to binary map.
  *  @param {String} map hexadecimal representation for each group of 8 options.
  *  @return binary map 
  */
 Search.prototype.getOptionsFromMap = function(map) {
  var newMap = "";
  var mapSeg;
  for (var i = 0; i < map.length -1; i += 2) {
   mapSeg = parseInt(map.substring(i, i + 2), 16).toString(2);
   if (mapSeg.length < 8) { 
    mapSeg = "0000000".substring(mapSeg.length - 1) + mapSeg;
   }
   newMap +=  (mapSeg.reverse());
  }
  return newMap;
 }

 /** Retrieve search input value defaults as quoted, comma delimited text
  *  @return {String} search input value defaults as quoted, comma delimited text.
  */
 Search.prototype.getValueDefaults = function() {
  var strOut = '"' + this.valueDefaults[0] + '"';
  for (k = 1; k < this.valueDefaults.length; k++) {
   strOut += (',"' + this.valueDefaults[k] + '"');
  }
  return strOut;
 }
 Search.prototype.showAddons = function(ptr, curVals) {
  return this.addonList.length > 0;
 }
 Search.prototype.showWindow = function(loc) {
  if (loc.indexOf(":") == -1) { loc = "http://" + loc; }
  if (loc.indexOf(".") == -1) { loc += ".com"; }
  window.location = loc;
 }
 Search.prototype.setCityZip = function(ptr, state, cityZip, url) {
  clearLocation();
  var i = cityZip.length - 1;
  for (; i > -1; i--) {
   if("01234567890-".indexOf(cityZip.charAt(i)) == -1) { break; }    
  }
  if (i == -1) { locs[locZip] = cityZip;
  } else {
   if (url.indexOf("#ZipCity#") > -1) {
    locs[locZip] = cityZip + "," + states[parseInt(state)]; 
   } else {
     locs[locCity] = cityZip;
     locs[locState] = states[parseInt(state)];
   }   
  }
  if (url.indexOf("#ZipCity#") > -1) {
      url = url.replace(/ZipCity/, "Zip");
  }
  return setLocation(url, "");
 }
 Search.prototype.createAddons = function(srcOpts, addOpts, cols) {
  var rows = Math.ceil(srcOpts.length / cols);
  var ptr = 0;
  var	 groupId = -1;
  var grpPtr =0;
  var check = false;
  for (var i = 0; i < srcOpts.length; i++) {
   addOpts[i][0] = srcOpts[i];
   if (!srcOpts[i]) { continue; }
   if (srcOpts[i].charAt(srcOpts[i].length - 1) == ':') {
    ++groupId;
    grpPtr = i + 1;
    check = true;
   } else {
    if (srcOpts[i].charAt(0) != '&') {
      addOpts[i][1] = groupId;
      addOpts[i][2] = i;
      addOpts[i][3] = grpPtr;
      addOpts[i][4] = check && addOpts[i][0] != "no";
      addOpts[i][5] = false;
      if (check) { check = false; }
    }
   }
  }
  var addonsList = new createMultiArray(rows, cols, null);
  for (var i = 0; i < rows; i++) {
   ptr = i;
   for (var j = 0; j < cols && ptr < srcOpts.length; j++) {
    addonsList[i][j] = ptr;
    ptr += rows;
   }
  }
  return addonsList;
 }
}

//:searchmanager.js
/** Currently selected search item (e.g. web, dictionary). */
var curSrch;
/** Currently selected search source (e.g. google). */
var curSrchSelect;
/** flag to indicate write cookie for new search parameters before search. */
var pendingCookie = false;
/** flag to indicate  update for new search type before page unload. */
var pendingSrchType = false;
/** Search object reference for each search type. */
var searches = new Array();
/** Reference to HTML table body for search add on options.*
var srchAdds;
/** Start index for current search item input values in list for all items. */
var srchBasePtr;
/** Name of each search type (display spaces to be removed for class name). 
 *  @type String Array
 */
var srchClasses = [
"Ads","Audio","Business","Convert","Dictionary", "Encyclopedia","Horoscope",
"Images","Jobs","Jokes","Kids","Local","Maps","Movies",
"News","Quotes","Shopping","Thesaurus","Translate","Travel","Person",
"Videos","Weather","Web"];
/** Number of display columns for search types  */
var srchColumns = 6;
/** Reference to html hidden input with current search values for each types.
 *  input content evaluates to an array with a column for each search input
 *  first row has content for all search items that use common values for 
 *  default search types,  following rows contain content for each special
 * search types and asterisk in first column for default types
 */
var srchInputs;
/** max # of search value inputs */
var srchInputsCount = 12;
/** Refs to html search value input fields. */ 
var srchInputSources;
/** Refs to html search input label cells. */
var srchLabelCells;
/** Refs to html search input lists. */ 
var srchListSources;
/** Refs to more/less detail toggle button for search add on options. */
var srchMoreButton;
var srchTypeButton;
/** default display more detail (0-no, 1-yes) for each search type. */
var srchMoreFlags = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0];
/** Array of sets of on/off flags for add on options for each search type.
 *  Flags are represented by hexadeximal entries  for each group of 8 or less.
 *  If add ons do not apply a single "0" is entered for the search type set.
 */
var srchOptionFlags;
/** Reference to html hidden input that identifies selected search type */
var srchPtr;
/** Reference to drop down list for search source for current search type */
var srchSelect;
/** default search source selection pointer for each search type. */
var srchSubPtrs =   [4,0,4,3,2,2,0,7,1,0,0,0,5,3,0,0,0,0,0,0,0,0,0,0];
/** Default search type pointer. */
var srchTypeDefault =  23;
/** Reference to HTML table containing search type rows and cells. */
var srchTypes;
var srchTypesList;
var srchTemp;
/** Create html search detail toggle, invoke button, source list and cell.
 *  @return table cell containing created search controls. 
 */
function addsrchSelect(td, formElems) {
 srchTypesList = formElems[0];
 srchTypesList.style.width="65";
 srchTypeButton = formElems[1];
 srchSelect = formElems[2];
 srchMoreButton = formElems[3];
 searchButton = formElems[formElems.length - 1];
 for (var i = 0; i <  srchClasses.length; i++) {
  var opt = document.createElement('option');
  opt.text = srchClasses[i].toLowerCase();
  srchTypesList.options[i] = opt;
 }
}
/** Create HTML search type, selection and addOn tables.
 *  @param {div} searchBox container for created search controls.
 */
function buildSrchTables(formElems) {
 srchLabelCells = new Array();
 srchInputSources = new Array();
 srchListSources = new Array();
 var srchTable = document.getElementById("oSearchSources");
 addsrchSelect(srchTable.rows[0].cells[0], formElems);
 for (var i = 0; i < formElems.length - 5; i +=2) {
  formElems[i + 4].style.display = "none";
  formElems[i + 4].id = "input" + (i/2);
  formElems[i + 4].onblur = function () { searchChange(); };
  formElems[i + 4].onfocus= "oldSrchVal=this.value;";
  formElems[i + 4].onkeypress = function () {
      return srchEnter(oldSrchVal==this.value);
  };
  srchInputSources[i/2] = document.searchForm.elements[i + 4];
  formElems[i + 5].style.display = "none";
  formElems[i + 5].id = "select" + (i/2);
  formElems[i + 5].onchange = function () { srchListChange(); }
  srchListSources[i/2] = formElems[i + 5];
 }
 var labelsRow = document.getElementById("oLabelsRow");
 for (var i = 1; i < srchInputsCount + 1; i++) {
  labelsRow.cells[i].style.color = "black";
  var txt = document.createTextNode("");
  labelsRow.cells[i].appendChild(txt);
  labelsRow.cells[i].vAlign = "TOP";
  srchLabelCells[i - 1] = labelsRow.cells[i];
 }
 srchAdds = document.getElementById("oSearchAdds");
}
/** Cleanup processing for old search type prior to search type change. */
function closeSearchType() {
 if (!pendingSrchType) { return; }
 var opts = curSrch.addonOptions;
 srchOptionFlags[searchPtr.value] = ""; 
 var curVal;
 for (var i = 0; i < opts.length;) {
  curVal = 0;
  j = i;
  for (; i < j + 8  && i < opts.length; i++) {
   if (opts[i][1].length == 0 || !opts[i][4]) { continue; }        
   curVal +=  Math.pow(2, (i - j)); 
  }
  if (curVal > 15) { srchOptionFlags[searchPtr.value] +=   curVal.toString(16);
  } else { srchOptionFlags[searchPtr.value] += ("0" +  curVal.toString(16)); }
 }
 pendingSrchType = false;
}

/** Locate search cookie from file system and use it (if present) for reset.
 *  @return true if search cookie located and used for reset.
 */
function getSearchCookie() {
 var searchCookie = getCookie("phillyrefSearch");
 if (searchCookie == null) { return false; }
 var searchParts = searchCookie.split("|");
 srchInputs = eval(searchParts[1]);
 setSearchPtr(searchParts[0]);
 srchMoreFlags = eval(searchParts[2]);
 srchOptionFlags = eval(searchParts[3]);
 return true;
}


/** Load search HTML components and data objects.
 *  @param {div} searchBox container for search type, selection, addOn controls
 *  @param {hidden input} holder for search text input values
 *  @param {hidden input} ptr current search type identifier
 *  @param {hidden input} subPtrs current source selection for each search type
 *  @param {hidden input} moreFlags detail status (more/less) for search types
 *  @param {hidden input} optionFlags  status (on/off) for search option flags
 */
function loadSearch(srchForm, inputs, ptr, subPtrs, moreFlags, optionFlags) {
 srchPtr = ptr;
 buildSrchTables(srchForm.elements);
 setSearches();
 if (inputs.value) { 
  srchOptionFlags = eval(optionFlags.value);
  srchSubPtrs = eval(subPtrs.value);
  srchInputs = eval(inputs.value);
  srchMoreFlags = eval(moreFlags.value);
  setSearchPtr(ptr.value);
 } else {
  if (!getSearchCookie()) { setSearchInputs(); }
 }  
 curSrch = searches[srchPtr.value];
 setSrchTypes();
 reset(true);
 loadArray(curSrch.urls, curSrchSelect, srchSelect);
 setSearchCurValues();
 setSrchOptionEnable();
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
  srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 for (var i = 0; i < curVals.length; i++) {
  srchInputs[srchBasePtr + i] = curVals[i];
 }
}

/** Setup for newly selected search type. */
function loadSearchType() {
 reset(true);
 setSearchCurValues();
 setSrchOptionEnable();
 loadArray(curSrch.urls, curSrchSelect, srchSelect);    
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
  srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 if(!pendingCookie) { pendingCookie = true; }
}

function srchTypeDetailClick() {
 if (srchTypeButton.value == "+") {
  srchTypes.style.display = ""; 
  srchTypeButton.value = "-";
 } else {  
  srchTypes.style.display = "none"; 
  srchTypeButton.value = "+";
 }
}

/** Detail toggle, option flag setup/display triggered by more button click. */
function moreClick() {
 if (srchMoreButton.value == "+") {
  srchMoreButton.value = "-";
  var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
  srchAdds.style.display = curSrch.showAddons(curSrchSelect, curVals) 
   ? "" : "none"; 
 } else {
  srchMoreButton.value = "+";
  srchAdds.style.display = "none"; 
 }
 srchMoreFlags[srchPtr.value] = Math.abs(srchMoreFlags[srchPtr.value] - 1);
}    

/** Current search inputs, type pointers, source pointers and options update.
 *  @param newType true if current inputs and options must be reset search type
 */
function reset(newType) { 
 curSrch = searches[srchPtr.value]; 
 curSrchSelect = srchSubPtrs[srchPtr.value];
 if (srchMoreFlags[srchPtr.value] == 0) {
  srchMoreButton.value = "+";
 } else {
  srchMoreButton.value = "-";
 }
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 if (!curSrch.showAddons(curSrchSelect, curVals)) {
  srchAdds.style.display = "none";
  srchMoreButton.style.display = "none";
 } else {
  srchAdds.style.display = srchMoreButton.value == "+" ? "none" : "";
  srchMoreButton.style.display = "";
 }
 if (!newType) { return; } 
 setSearch();
 if (srchOptionFlags[srchPtr.value]) {
  var opts = curSrch.addonOptions;
  var curOptFlags = curSrch.getOptionsFromMap(srchOptionFlags[srchPtr.value]);
  for (var i = 0; i < curOptFlags.length && i < opts.length; i++) {
   if (opts[i][1].length == 0) { continue; }
   if ((curOptFlags.charAt(i) == "1" && !opts[i][4])|| (curOptFlags.charAt(i) == "0" && opts[i][4])) {             
    opts[i][4] = curOptFlags.charAt(i) == "1";
    document.getElementById("" + opts[i][1] + ":" + opts[i][2] +
     ":" + opts[i][3]).checked = curOptFlags.charAt(i) == "1";
   }
  }
 }
}
/** Search options update triggered by a search update flag click. */
function searchAddonClick() {
 if (event.srcElement.tagName!="INPUT")  { return; }
  var values = event.srcElement.value.split(":");
  var values = event.srcElement.id.split(":");
  var opts = curSrch.addonOptions;
  if (!event.srcElement.checked) {
   opts[values[1]][4] = false;
   return;
  }
  var forRadio = event.srcElement.type.toUpperCase() =="RADIO";
  opts[values[1]][4] = true;
  var adj = 0;
  var len;
  var chk = parseInt(values[0]);
  if (values[1] == values[2]) {
   for (var i = parseInt(values[1]) + 1; i < opts.length; i++) {
    if (opts[i][1].length == 0) { continue; }
    if (opts[i][1] !=  chk) { break; }
    if (opts[i][4]) {
     opts[i][4] = false;
     if (!forRadio) {
      document.getElementById("" + opts[i][1] + ":" + opts[i][2] + ":" + opts[i][3]).checked = false;
     }                        
    }
   }
  } else {
   for (var i = parseInt(values[1]) - 1; i > 0; i--) {
    if (opts[i][1].length == 0) { continue; }
    if (opts[i][1] != chk) { break; }
    if (opts[i][2] == opts[i][3] && opts[i][4]) {
     opts[i][4] = false;
     if (!forRadio) {
      document.getElementById("" + opts[i][1] + ":" + opts[i][2] + ":" + opts[i][3]).checked = false;
     }                       
    }
   }
  }
  if (!pendingSrchType) { pendingSrchType = true; }
}
/** Record change of search text input value. */
function searchChange() {
 var inputPtr = parseInt(event.srcElement.id.substring(5));
 srchInputs[srchBasePtr + inputPtr] = srchInputSources[inputPtr].value;
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
  srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 for (var i = 0; i < curVals.length; i++) {
  srchInputs[srchBasePtr + i] = curVals[i];
 }
 if (!pendingCookie) { pendingCookie = true; }
}
/** Invoke search triggered by search button click. */
function searchClick() {
 if (pendingCookie) {
  closeSearchType();
  // create common modules
  var inputs = '["' + srchInputs[0] + '"';
  for (var i = 1; i < srchInputs.length; i++) {
   inputs += (',"' + srchInputs[i] + '"');
  }
  inputs += "]";
  var subPtrs = "[" + srchSubPtrs.join(",") + "]";
  var moreFlags  = '[' + srchMoreFlags[0];
  for (var i = 1; i < srchMoreFlags.length; i++) {
   moreFlags += (',' + srchMoreFlags[i]);
  }
  moreFlags += ']';
  var optionFlags  = '["' + srchOptionFlags[0] + '"';
  for (var i = 1; i < srchOptionFlags.length; i++) {
   optionFlags += (',"' + srchOptionFlags[i] + '"');
  }
  optionFlags += ']';
  var cookieOut = srchPtr.value + "|" + inputs + "|" + moreFlags + "|" + optionFlags;
  setCookie("phillyrefSearch", cookieOut);
  pendingCookie = false;
 }    
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 // work around for internet explorer  bug
 // http://support.microsoft.com/default.aspx?scid=kb;en-us;329156
// bk 10/14/10 window.external.AutoCompleteSaveForm(document.searchForm);
// bk 10/14/10 document.searchForm.submit();
 curSrch.invoke(curSrchSelect, curVals);
}
function srchEnter(noChange) {
 // get event object for IE4 or other (e.g. netscape browser)
 var theEvent = window.event || arguments.callee.caller.arguments[0];
 if (theEvent && theEvent.keyCode == 13) {
  if (!noChange) { searchChange(); } 
   searchClick();
 } else { return true; }
}
/** Record change of search input list selection. */
function srchListChange() {
 var inputPtr = parseInt(event.srcElement.id.substring(6));
 srchInputs[srchBasePtr + inputPtr] = "" + event.srcElement.selectedIndex;
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
   srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 for (var i = 0; i < curVals.length; i++) {
  srchInputs[srchBasePtr + i] = curVals[i];
 }
 if (!pendingCookie) { pendingCookie = true; }
}
/** Process change of search type triggered by type click. */
function searchTypeClick() {
 if (event.srcElement.tagName!="TD")  { return; }
 srchTypeChange(event.srcElement);
 rowIn = event.srcElement.parentElement.rowIndex;
 colIn = event.srcElement.cellIndex;
 setSearchPtr((colIn * srchTypes.rows.length) + rowIn);
 if (event.srcElement.className != "optionOff") { return; }
 closeSearchType();
 for(i = 0; i < srchTypes.rows.length; i++) {
  for (var j = 0; j < srchTypes.rows(i).cells.length; j++) {
   if (srchTypes.rows(i).cells(j).className=="optionOn") {
    srchTypes.rows(i).cells(j).className="optionOff";
    srchTypes.rows(i).cells(j).style.color = "black";
   }
  }
 }
 event.srcElement.className = "optionOn";
 // following color set should not be necessary per class set
 event.srcElement.style.color = "#07519A";
 srchTypesList.selectedIndex = srchPtr.value;
 loadSearchType();
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.setSizes(curSrchSelect, curVals);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
  srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 for (var i = 0; i < curVals.length; i++) {
  srchInputs[srchBasePtr + i] = curVals[i];
 }
}
function srchTypeChange(elem) {
 rowIn = elem.parentElement.rowIndex;
 colIn = elem.cellIndex;
 setSearchPtr((colIn * srchTypes.rows.length) + rowIn);
 if (elem.className != "optionOff") { return; }
 closeSearchType();
 for(i = 0; i < srchTypes.rows.length; i++) {
  for (var j = 0; j < srchTypes.rows(i).cells.length; j++) {
   if (srchTypes.rows(i).cells(j).className=="optionOn") {
    srchTypes.rows(i).cells(j).className="optionOff";
    srchTypes.rows(i).cells(j).style.color = "black";
   }
  }
 }
 elem.className = "optionOn";
 elem.style.color = "#07519A";
 if ( srchTypesList.selectedIndex != srchPtr.value) {
  srchTypesList.selectedIndex == srchPtr.value;
 }
 loadSearchType();
 srchTypesList.selectedIndex = srchPtr.value;
}
function setSearch() {
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.setSizes(curSrchSelect, curVals);
 if (srchInputSources[1].size > 1) {
  for (var i = curSrch.labels.length - 1; i > -1; i--) {
   setSearchInput(i, curVals[i]);
  }
 } else {
  for (var i = 0; i < curSrch.labels.length; i++) { 
   setSearchInput(i, curVals[i]);
  }
 }
 for (var i = srchAdds.rows.length; i > 0; i--) { srchAdds.deleteRow(i - 1); }
 var curAdd;
 var inputType;
 var forRadio = false;
 for (var i = 0; i < curSrch.addonList.length; i++) {
  if (i == 0) { forRadio = curSrch.addonOptions[0][0].charAt(0) ==  '*'; }
  var tr = document.createElement("tr");
  for (var j =0; j < curSrch.addonList[i].length; j++) {
   if (curSrch.addonList[i][j] == null) { continue; }
   curAdd = curSrch.addonOptions[curSrch.addonList[i][j]];
   var td = document.createElement("td");
   if (curAdd[1].length == 0) {
    if (curAdd[0].length == 0) {
     td.innerHTML = "";
    } else {    
     if (curAdd[0].charAt(0) ==  '*') {
      td.innerHTML = curAdd[0].substring(1); 
     } else { td.innerHTML = curAdd[0]; }  
    }    
   } else {
    inputType = !forRadio ? "checkbox" : "radio' name='" + "srchOpt" + curAdd[1];
    td.innerHTML += "<input type='" + inputType + "' " + (curAdd[4] ? "checked " : " ")
     + ' id="' + curAdd[1] + ":" + curAdd[2] + ":" + curAdd[3]
     + '">' +  curAdd[0] + "</input>";
   }
   tr.appendChild(td);
  }
  srchAdds.appendChild(tr);
 }  
}
function setSearchInput(ptr, curValue) {
 srchInputSources[ptr].size = curSrch.sizes[ptr];
 srchLabelCells[ptr].innerHTML = curSrch.labels[ptr];
 if (curSrch.searchLists[ptr] != null) {
  srchInputSources[ptr].style.display="none";

  for (var j = srchListSources[ptr].options.length-1; j >= 0; j--) {
   srchListSources[ptr].remove(j);
  }
  var listEntries = eval(curSrch.searchLists[ptr]);
  for (k = 0; k < listEntries.length; ++k) {
   addOption(srchListSources[ptr], listEntries[k], "");
  }
  srchListSources[ptr].selectedIndex = curValue;
  srchListSources[ptr].style.display="";
srchListSources[ptr].size = 2;
srchListSources[ptr].size = 0;

 } else {
  srchListSources[ptr].style.display="none";
  if (curSrch.sizes[ptr] > 1) {
   srchInputSources[ptr].style.display="";
  } else { srchInputSources[ptr].style.display="none"; }
 }
}
/** Initialize and store seach object for each search type. */
function setSearches() {
 for (n = 0; n < srchClasses.length; n++) {
  var evalStr = "new " + srchClasses[n].replace(/ /g, "") + "()";
  eval(srchClasses[n].replace(/ /g, "")).prototype = new Search();
  searches[n] = eval(evalStr);
 }
}
/** Store search current input values. */
function setSearchCurValues() {
 for (var i = 0; i < srchInputsCount; i++) {
  srchInputSources[i].value = srchInputs[srchBasePtr + i];
 }
}
/** Initialize search input values from defaults. */
function setSearchInputs() {
 srchInputs = ["","","","","","","","","","","",""];
 for (var i = 0; i < searches.length; i++) {
  if (searches[i].useDefaultInput) {
   srchInputs[srchInputs.length] = "*";
   for (var j = 0; j < 11; j ++) {
    srchInputs[srchInputs.length] = "";
   }
  } else {
   searches[i].addValueDefaults(srchInputs);
  }
 }
 srchOptionFlags = new Array();
 for (var i = 0; i < searches.length; i++) {
  srchOptionFlags[srchOptionFlags.length] =  searches[i].optionDefaults;
 }
 setSearchPtr(srchTypeDefault);
}
/** Enable/disable each search option flag per current search type usage. */
function setSrchOptionEnable() {
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 var disable = curSrch.getAllOptionsDisabled(curSrchSelect, curVals);
 for (l = 0; l <srchInputsCount; l++) {
  if (srchListSources[l].length > 0) {
   if ((disable && !srchListSources[l].disabled) || (!disable && srchListSources[l].disabled)) {
    srchListSources[l].disabled = disable;  
   }
  } else {
   if ((disable && !srchInputSources[l].disabled) || (!disable && srchInputSources[l].disabled)) {
    srchInputSources[l].disabled = disable;
   }
   if (srchInputSources[l].disabled == true) {
    srchInputSources[l].style.backgroundColor="#EEEEEE";
   } else { srchInputSources[l].style.backgroundColor="white"; }
  }
 }
 var opts = curSrch.addonOptions;
 if (curSrch.addonList.length == 0) { return; }
 var usePtrs;
 if (disable)  {
  for (k = 0; k < curSrch.addonList.length; k++) {
   for (l = 0; l < curSrch.addonList[k].length; l++) {
    usePtr = curSrch.addonList[k][l];
    if (usePtr == null ||opts[usePtr][1].length == 0) { continue; }
    opts[usePtr][5] = true;
    document.getElementById("" + opts[usePtr][1] + ":"
     + opts[usePtr][2] + ":" + opts[usePtr][3]).disabled = true;
   }    
  }        
  return;
 }
 var useFlags = curSrch.getOptionUse(curSrchSelect);
 for (k = 0; k < curSrch.addonList.length; k++) {
  for (l = 0; l < curSrch.addonList[k].length; l++) {
   usePtr = curSrch.addonList[k][l];
   if (usePtr == null ||opts[usePtr][1].length == "0") { continue; }
   if ((useFlags.charAt(usePtr) == "0" && !opts[usePtr][5])
    || (useFlags.charAt(usePtr) != "0" && opts[usePtr][5])) {
    opts[usePtr][5] = !opts[usePtr][5];
    document.getElementById("" + opts[usePtr][1] + ":"
     + opts[usePtr][2] + ":" + opts[usePtr][3]).disabled = opts[usePtr][5];
   }    
  }        
 }
}
/** Set pointers for current search type. */
function setSearchPtr(ptrVal) {
 srchPtr.value = ptrVal;
 srchBasePtr =  ( parseInt(srchPtr.value) + 1) * srchInputsCount;
 if (srchInputs[srchBasePtr] == "*") { srchBasePtr = 0; }
}
/** Process change of search source. */
function setSrchSource() {
 srchSubPtrs[srchPtr.value] = srchSelect.selectedIndex;
 reset(false);    
 var curVals = srchInputs.slice(srchBasePtr, srchBasePtr + srchInputsCount);
 curSrch.customize(curSrchSelect, curVals, srchLabelCells, srchInputSources,
  srchListSources, srchTypeButton, srchMoreButton, srchAdds);
 for (var i = 0; i < curVals.length; i++) {
  srchInputs[srchBasePtr + i] = curVals[i];
 }
 setSrchOptionEnable();
 if (!pendingCookie) { pendingCookie = true; }
}
/** Initial search types display. */
function setSrchTypes() {
 srchTypes = document.getElementById("oSearch");
 var tr, td, txt;
 var rows = Math.ceil(srchClasses.length / srchColumns);
 var cellPtr = 0;
 for (var i = 0; i < rows; i++) {
  tr = document.createElement("tr");
  cellPtr = i;
  for (var j = 0; j < srchColumns && cellPtr < srchClasses.length; j++) {
   td = document.createElement("td");
   if (cellPtr == srchPtr.value) {
    td.setAttribute("class", "optionOn");
    td.className = "optionOn";
    td.style.color = "#07519A";
   } else {
    td.setAttribute("class", "optionOff");
    td.className = "optionOff";
   }   
   txt = document.createTextNode(srchClasses[cellPtr]);
   td.appendChild(txt);
   tr.appendChild(td);
   cellPtr += rows;
  }
  srchTypes.tBodies[0].appendChild(tr);
 }
 srchTypesList.selectedIndex = srchPtr.value;    
}
function srchTypesListChange() {
 var rows = Math.ceil(srchClasses.length / srchColumns);
 var typeRow = srchTypesList.selectedIndex % rows;
 var typeCol = Math.floor(srchTypesList.selectedIndex / rows);
 srchTypeChange(srchTypes.rows(typeRow).cells(typeCol));
}
/** Save selected search values for subsequent reload.
 *  @param {hidden input} holder for search text input values
 *  @param {hidden input} subPtrs current source selection for each search type
 *  @param {hidden input} moreFlags detail status (more/less) for search types
 *  @param {hidden input} optionFlags  status (on/off) for search option flags
 */
function unloadSearch(inputs, subPtrs, moreFlags, optionFlags) {
 inputs.value = '["' + srchInputs[0] + '"';
 for (var i = 1; i < srchInputs.length; i++) {
  inputs.value += (',"' + srchInputs[i] + '"');
 }
 inputs.value += "]";
 subPtrs.value = "[" + srchSubPtrs.join(",") + "]";
 moreFlags.value  = '[' + srchMoreFlags[0];
 for (var i = 1; i < srchMoreFlags.length; i++) {
  moreFlags.value += (',' + srchMoreFlags[i]);
 }
 moreFlags.value += ']';
 closeSearchType();
 optionFlags.value  = '["' + srchOptionFlags[0] + '"';
 for (var i = 1; i < srchOptionFlags.length; i++) {
  optionFlags.value += (',"' + srchOptionFlags[i] + '"');
 }
 optionFlags.value += ']';
}

//:shopping.js
function Shopping() {
artsCrafts = [
["ebay art", "art.ebay.com"], ["Ebay Crafts", "crafts.ebay.com"],
["jerry's artarama", "jerrysartarama.com"],
["jim beans wool", "jimmybeanswool.com"],["joann", "joann.com"],
["oriental trading", "orientaltrading.com"], ["Paper", "paper.com"],
["spirit crafts", "spiritcrafts.net"]];
autoparts = [
["1aauto", "1aauto.com"], ["a-1parts", "a-1parts.com"],
["advance auto", "advanceautoparts.com"],["amazon", "amazon.com/automotive"],
["access. 4less", "autoaccessories4less.com"],
["auto channel", "theautochannel.com/autoparts"],
["auto corner", "autopartscorner.com"],
["auto warehouse", "autopartswarehouse.com"], 
["auto zone", "autozone.com"], ["Drive Wire", "drivewire.com"],
["inner auto", "innerauto.com"], ["JC Whitney", "jcwhitney.com"],
["kanter", "kanter.com"], ["Midway Auto", "midwayautosupply.com"],
["ebay", "motors.ebay.com"], ["Napa", "napaonline.com"],
["northern auto", "northernautoparts.com"],
["overnight auto", "overnightautoparts.com"],
["parts america", "partsamerica.com"], ["Parts Train", "partstrain.com"],
["parts bin", "thepartsbin.com"],["pep boys", "pepboys.com"]];
var avaiationparts = [["Aircraft Spruce", "aircraftspruce.com"]];
var baby = [
["amazon", "amazon.com/baby"], ["Babies 'R Us",  "babiesrus.com"],
["ebay", "baby.ebay.com"], ["Baby Age", "babyage.com"],
["baby Universe", "babyuniverse.com"], ["Dream Time", "dreamtimebaby.com"],
["jc penney", "www2.jcpenney.com/jcp/Department.aspx?DeptID=327&CatID=327&CatTyp=DEP"],
["Nursery Depot", "store.nurserydepot.com"], ["Target", "target.com/baby"]];
var beauty = [
["amazon", "amazon.com/beauty"], ["Drugstore", "drugstore.com"],
["ebay",  "health-beauty.ebay.com"], ["Fragrance Net", "fragrancenet.com"],
["fragrance x", "fragrancex.com"], ["Perfume", "perfume.com"],
["sephora", "sephora.com"]];
var bedbath = [["amazon", "amazon.com/bed-bath"],
["bed, bath", "bedbathandbeyond.com"]];
var boardgames = [["tbd", "tbd"]];
var boatparts = [["anything marine", "anythingmarine.com"],
["boat fix", "boatfix.com"], ["boating store", "boatingstore.com"], 
["boat parts store", "boatpartstore.com"],["boat recycling", "boatrecycling.com"],
["doug russell", "dougrussell.com"], ["Fishing", "fishing.com"],
["go 2 marine", "go2marine.com"], ["Iboats", "iboats.com"],
["marine parts", "marineparts.com"],["marine parts source", "marinepartssource.com"], 
["marine power service", "marinepowerservice.com"],
["marine supermart", "marinesupermart.com"],
["maxrules", "maxrules.com"], ["Ebay", "motors.listings.ebay.com"],
["parts", "parts.com"], ["Salvage Marine", "salvagemarine.com"], 
["seiler marine", "seilermarine.com"],["surplus unlimited", "surplusunlimited.com"],
["the boat dr","theboatdr.com"], ["US Boat Supply", "usboatsupply.com"]];
var bookclubs = [["book of month", "bomcclub.com"], 
["doubleday", "doubledaybookclub.com"],
["dday large print", "doubledaylargeprint.com"],
["literary guild", "literaryguild.com"],
["quality paper", "qpb.com"], ["zooba", "zooba.com"]];
var bookreviews = [["ny times", "nytimes.com/pages/books"]];
var books = [["abe books", "abebooks.com"], ["alibris", "alibris.com"],
["amazon", "amazon.com/books"],["barnes and noble", "barnesandnoble.com"],
["bartelby", "bartleby.com"], ["bookfinder", "bookfinder.com"],
["books a million", "booksamillion.com"],["borders", "bordersstores.com"],
["fetchbook", "fetchbook.info"],
["online books (free)", "onlinebooks.library.upenn.edu"], 
["oreilly", "oreilly.com"], ["powells", "powells.com"],
["scholastic", "scholastic.com"], ["varsity", "varsitybooks.com"]];
var candy = [["tbd", "tbd"]];
var carpet = [["tbd", "tbd"]];
var clothingchild = [["amazon", "amazon.com/apparel"],
["best dress kids", "bestdressedkids.com"],
["best dress child", "bestdressedchild.com"],
["boutique 4 kids", "boutique4kids.com"],["ebay", "clothing.ebay.com"],
["gap kid", "gap.com/browse/division.do"],["gymboree", "gymboree.com"],
["jc penney", "jcp.com"],["kohls", "kohls.com"],["macys", "macys.com"],
["nordstrom", "nordstrom.com"],["1 of a kind kid", "oneofakindkid.com"],
["talbots", "talbots.com"],["target", "target.com"]];
var clothingmen = [["amazon", "amazon.com/apparel"],["ebay", "clothing.ebay.com"],
["jc penney", "jcp.com"],["kohls", "kohls.com"],["macys", "macys.com"],
["nordstrom", "nordstrom.com"],["talbots", "talbots.com"],
["target", "target.com"]];
var clothingwomen = [["amazon", "amazon.com/apparel"],
["ebay", "clothing.ebay.com"],["jc penney", "jcp.com"],["kohls", "kohls.com"],
["macys", "macys.com"],["nordstrom", "nordstrom.com"],["talbots", "talbots.com"],
["target", "target.com"]];
var collectibles = [["shopzilla", "http://www.shopzilla.com/7Y_-_cat_id--1__keyword--Antiques%20Collectibles"]];
var compreviews = [["tbd", "tbd"]];
var computers = [["apple", "apple.com"], ["bestbuy", "bestbuy.com"],
["circuit City", "circuitcity.com"], ["compUSA", "compusa.com"],
["dell", "dell.com"], ["gateway", "gateway.com"],
["laptopsforless", "laptopsforless.com"]];
var coupons = [["1000 free offers", "1000freeoffers.com"],
["4 computer coupons", "4computercoupons.com"],
["4 office coupons", "4officecoupons.com"],["cool savings", "CoolSavings.com"],
["coupon bella", "couponbella.com"],["coupon chief", "couponchief.com"],
["coupon-hero", "coupon-hero.com"],["coupons", "coupons.com"],
["coupons and deals", "couponsanddeals.com"],["deal catcher", "dealcatcher.com"],
["eDealInfo", "edealinfo.com"],["fat wallet", "fatwallet.com"],
["hot coupons", "hotcoupons.com"],["valpak.com", "valpak.com.com"],
["wow-coupons", "wow-coupons.com"]];
var departments = [["jc penney", "jcp.com"],["kohls", "kohls.com"],
["macys", "macys.com"],["nordstrom", "nordstrom.com"],["sears", "sears.com"],
["walmart", "walmart.com"]];
var electronics = [["all electronics", "allelectronics.com"]];
var fitness = [["health and fitness", "healthandfitness.com"]];
var flowers = [["1 800 flowers", "1800flowers.com"],
["800 florals", "800florals.com"],["ftd", "ftd.com"],
["proFlowers", "proflowers.com"],["teleflora", "teleflora.com"],
["virtual flowers", "virtualflowers.com"]];
var freeware = [["my zips", "myzips.com"]];
var general = [["tbd", "tbd"]];
var groceries = [["amazon", "amazon.com/grocery"],
["net grocer", "netgrocer.com"]];
var health = [["amazon","amazon.com/health"], ["Bayho", "bayho.com"],
["ebay", "health-beauty.ebay.com"], ["Herbs Pro", "herbspro.com"],
["lucky vitamin", "luckyvitamin.com"],["vitamin shoppe", "vitaminshoppe.com"]];
var jewelry = [["jewelry", "jewelry.com"]];
var kitchen = [["cooking", "cooking.com"]];
var lawn = [["seed land", "seedland.com"]];
var luggage = [["1-800 luggage", "www.1800luggage.com"],
["altman luggage", "altmanluggage.com"],["eBags", "ebags.com"],
["irvs", "irvs.co"],["luggage", "luggage.com"],
["luggage Online", "luggageonline.com"],
["macys", "www1.macys.com/search/index.ognc?SearchTarget=*&Keyword=luggage"],
["worldtraveler", "worldtraveler.com"]];
var magazines = [["amazon", "amazon.com/magazines"], 
["discount", "discountmagazines.com"],["eNews", "enews.com"],
["mag. city",  "magazinecity.net"],["mag. line", "magazineline.com"],
["mag. price.", "mMagazinePriceSearch.com"],["mag. rack",  "magazine-rack.com"],
["magazines", "magazines.com"],["mag. values", "MagazineValues.com"],
["mag. heaven", "Magheaven.com"],["mags 4 cheap", "mags4cheap.com"],
["mags direct", "magsdirect.com"],["nc buy", "ncbuy.com/shopping/magazines"],
["realtica", "relatica.com"],["speedy mags", "SpeedyMags.com"]];
var meat = [["meat and poultry Online", "meatandpoultryonline.com"]];
var pizza = [["dominos", "dominos.com"],["papa johns", "papajohns.com"],
["pizza hut", "pizzahut.com"]];
var music = [["cd now", "cdnow.com"],["cd universe", "cduniverse.com"]];
var office = [["discount office supplies", "discountofficesupplies.com"],
["office depot", "OfficeDepot.com"],["officeMax", "officemax.com"],
["staples", "staples.com  "]];
var outdoors = [["ll bean", "llbean.com"]];
var personal = [["amazon", "amazon.com/health"]];
var pets = [["petco", "petco.com"]];
var photography = [["calumet photo", "calumetphoto.com"]];
var portals = [["amazon", "amazon.com"],["aol", "shopping.aol.com"],
["froogle", "froogle.google.com"],["ebay",  "ebay.com"],
["msn", "shopping.msn.com/default/shp"],["yahoo", "shopping.yahoo.com"]];
var prices = [["addall (books)", "addall.com"],
["best web buys", "bestwebbuys.com"],["bizrate", "bizrate.com"],
["Nexttag", "nextag.com"],["price grabber", "pricegrabber.com"],
["price scan", "pricescan.com"], ["My Simon", "mysimon.com"],
["street prices", "streetprices.com"],["price watch", "pricewatch.com"],
["CNet", "shopper.cnet.com"],["deal time", "dealtime.com"],
["iBuyer (computers)", "ibuyer.net"],["price comparison", "pricecomparison.com"],
["shopzilla", "shopzilla.com"]];
var reviews = [["epinions", "epinions.com"]];
var shoeschild = [["amazon", "amazon.com/shoes"],["ebay", "clothing.ebay.com"],
["jc penney", "jcp.com"],["kohls", "kohls.com"],["macys", "macys.com"],
["nordstrom", "nordstrom.com"],["talbots", "talbots.com"],
["target", "target.com"]];
var shoesmen = [["amazon", "amazon.com/shoes"],["ebay", "clothing.ebay.com"],
["jc penney", "jcp.com"],["kohls", "kohls.com"],["macys", "macys.com"],
["nordstrom", "nordstrom.com"],["talbots", "talbots.com"],
["target", "target.com"]];
var shoeswomen = [["amazon", "amazon.com/shoes"],["ebay", "clothing.ebay.com"],
["jc penney", "jcp.com"],["kohls", "kohls.com"],["macys", "macys.com"],
["nordstrom", "nordstrom.com"],["talbots", "talbots.com"],
["target", "target.com"]];
var shopclubs = [["bjs","bjs.com"], ["costco", "costco.com"],
["sams club", "samsclub.com"]];
var software = [["apple", "apple.com"], ["bestbuy", "bestbuy.com"],
["circuit city", "circuitcity.com"], ["compUSA", "compusa.com"],
["dell", "dell.com"], ["eDirect Software", "edirectsoftware.com"],
["gateway", "gateway.com"],["laptopsforless", "laptopsforless.com"]];
var sports = [["dicks sporting", "dickssportinggoods.com"],
["sports authority", "sportsauthority.com"]];
var tires = [["discount tire direct", "discounttiredirect.com"],
["tire savings", "TireSavings.com"], ["tire rack", "tirerack.com"]];
var toys = [["toys r us", "toysrus.com"],["kb toys", "kbtoys.com/"]];
var vidgames = [["ebGames", "ebgames.com"]];
var video = [["hollywood video", "hollywoodvideo.com"]];
var watches = [["world of watches", "worldofwatches.com"]];
this.shopCategories = [
[["arts/crafts", artsCrafts], ["collectibles", collectibles]], 
[["auto parts", autoparts], ["auto tires", tires],
["aviation parts", avaiationparts], ["boat parts", boatparts]],[["baby", baby]],
[["beauty", beauty], ["health", health],["personal", personal]],[["books", books],
["book clubs", bookclubs],["reviews", bookreviews], ["magazines", magazines]],
[["clothing, child", clothingchild], ["clothing, men", clothingmen],
["clothing, w.", clothingwomen], ["luggage", luggage],["shoes, child", shoeschild],
["shoes - men", shoesmen],["shoes, w.", shoeswomen]],
[["dept. stores", departments], ["portals", portals],["shop clubs", shopclubs]], 
[["hardware", computers], ["software", software],["free/shareware", freeware],
["photography", photography],["reviews", compreviews]], [["coupons", coupons],
["prices", prices], ["reviews", reviews]],[["fitness", fitness],
["outdoors", outdoors], ["sports", sports]],[["candy", candy],["flowers", flowers],
["groceries", groceries],["meat", meat], ["pizza", pizza]],
[["board games", boardgames], ["toys", toys], ["video games", vidgames]],
[["bed & bath", bedbath], ["carpet/floor", carpet],["general", general],
["kitchen", kitchen],["lawn/garden", lawn]],[["jewlelry", jewelry],
["watches", watches]],[["music", music], ["video", video]],[["office", office]],
[["pets", pets]]];
this.useDefaultInput = false;
this.valueDefaults[0] = "0";
this.valueDefaults[1] = "0";
this.sizes = ["5", "5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"];
this.searchLists[0] = [""];
this.searchLists[1] = [""];
this.lastSearchSelect = -1;
this.lastCatSelect = "-1";
this.urls=[
["arts/crafts/collectibles", "", ""],
["autos/boats/planes",  "", ""],
["baby", "", ""],
["beauty/health/personal", "", ""],
["books/magazines", "", ""],
["clothing/luggage/shoes", "", ""],
["clubs/dept. stores/portals", "", ""],
["computer/electronic/photo", "", ""],
["coupons/prices/reviews", "", ""],
["fitness/sports/outdoors", "", ""],
["food/flowers", "", ""],
["games/toys", "", ""],
["home/garden/lawn", "", ""],
["jewelry/watches", "", ""],
["music/videos", "", ""],
["office", "", ""],
["pets", "", ""]];
Shopping.prototype.setSizes = function(ptr, curVals) {
 this.searchLists[0].length = 0;
 this.searchLists[1].length = 0;
 for (var i = 0; i < this.shopCategories[ptr].length; i++) {
  this.searchLists[0][i] = this.shopCategories[ptr][i][0];
 }
 var catPtr = parseInt(curVals[0]);
 for (var i = 0; i < this.shopCategories[ptr][catPtr][1].length; i++) {
  this.searchLists[1][i] = this.shopCategories[ptr][catPtr][1][i][0];
 }
 if (this.lastSearchSelect == -1) {
  this.lastCatSelect = curVals[0];
  this.lastSearchSelect = ptr;
 }
}
Shopping.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
 if (curVals[0] == this.lastCatSelect && this.lastSearchSelect == ptr) { return; }
 if (this.lastSearchSelect != ptr) { curVals[0] = 0;  }
 this.setSizes(ptr, curVals);
 for(var i = lists[1].options.length - 1; i >= 0; i--) {
  lists[1].remove(i);
 }
 for (var i=0; i < this.searchLists[1].length; ++i){
  addOption(lists[1], this.searchLists[1][i], "");
 }
 lists[1].selectedIndex = 0;
 if (this.lastSearchSelect == ptr) { this.lastCatSelect = curVals[0];
 } else {
  this.lastSearchSelect = ptr;
  this.lastCatSelect = "0";
  for(var i = lists[0].options.length - 1; i >= 0; i--) {
   lists[0].remove(i);
  }
  for (var i=0; i < this.searchLists[0].length; ++i){
   addOption(lists[0], this.searchLists[0][i], "");
  }
  lists[0].selectedIndex = 0;
 }
}
Shopping.prototype.invoke = function(ptr, curVals) {
 window.location = "http://" + this.shopCategories[ptr][curVals[0]][1][parseInt(curVals[1])][1]; 
}
}
//:sportsfeeds.js
var rssSports=[
 ["bbc sports","british.",
 "newsrss.bbc.co.uk/rss/sportonline_world_edition/front_page/rss.xml"],
 ["ESPN","","sports.espn.go.com/espn/rss/news"],
 ["fox sports","","feeds.feedburner.com/foxsports/RSS/headlines"],
 ["SI","sports illustrated","rss.cnn.com/rss/si_topstories.rss"],
 ["USA Today sports","","rssfeeds.usatoday.com/UsatodaycomSports-TopStories"],
 ["ESPN Boxing","","sports.espn.go.com/espn/rss/boxing/news"],
 ["ESPN College Basketball","","sports.espn.go.com/espn/rss/ncb/news"],
 ["ESPN College Football","","sports.espn.go.com/espn/rss/ncf/news"],
 ["ESPN Golf","","sports.espn.go.com/espn/rss/golf/news"],
 ["ESPN Horse Racing","","sports.espn.go.com/espn/rss/horse/news"],
 ["ESPN MLB","baseball",
 "sports.espn.go.com/espn/rss/mlb/news"],
 ["ESPN Motorsports","","sports.espn.go.com/espn/rss/rpm/news"],
 ["ESPN NBA","basketball",
 "sports.espn.go.com/espn/rss/nba/news"],
 ["ESPN NCCA","collegiate",
 "sports.espn.go.com/espn/rss/ncaa/news"],
 ["ESPN NFL","football",
 "sports.espn.go.com/espn/rss/nfl/news"],
 ["ESPN NHL","hockey",
 "sports.espn.go.com/espn/rss/nhl/news"],
 ["ESPN Olympics","",
 "sports.espn.go.com/espn/rss/oly/news"],
 ["ESPN Soccer","","soccernet.espn.go.com/rss/news"],
 ["ESPN Tennis","","sports.espn.go.com/espn/rss/tennis/news"],
 ["USA Today prep sports","",
  "rssfeeds.usatoday.com/UsatodaycomPreps-TopStories"],
 ["Fox WNBA","","feeds.feedburner.com/foxsports/RSS/wnba"]
];

//:sportsmanager.js
function addOption(selectbox,text,value) {
 var optn = document.createElement("OPTION");
 optn.text = text;
 optn.value = value;
 selectbox.options.add(optn);
}
function loadSports(parentDiv) {
 var sports = document.getElementById("oSport");
 var sport = "";
 var newCell = null;
 var newRow = null;
 parentDiv.innerHTML = '<table id="oSport" class="sportlist" border=0 '
  + 'cellspacing=0 cellpadding=0 vspace=0 '
  + 'onclick="criteriaClick(oSport, 0)"></table>';
 for (var i=0; i < sportList.length; ++i) {
  newRow = oSport.insertRow(i);
  for (var j=0; j < sportList[i].length; ++j) {
   sport = sportList[i][j] + "&nbsp;&nbsp;";
   if (j > 0) { sport = "&nbsp;&nbsp;" + sport; }
   newCell = newRow.insertCell(j);
   if (i + j == 0) { newCell.style.fontWeight="bold"; }
   newCell.innerHTML = sport; 
  } 
 }
}
function loadSingleArray(srcArray, srcPtr, tgtList) {
 for(var i = tgtList.options.length - 1; i >= 0; i--) {
  tgtList.remove(i);
 }
 for (var i=0; i < srcArray.length;++i){
  addOption(tgtList, srcArray[i], "");
 }
 tgtList.selectedIndex = srcPtr;
}

function loadArray(srcArray, srcPtr, tgtList) {
 for(var i = tgtList.options.length - 1; i >= 0; i--) {
  tgtList.remove(i);
 }
 for (var i=0; i < srcArray.length;++i){
  addOption(tgtList, srcArray[i][0], "");
 }
 tgtList.selectedIndex = srcPtr;
}

function loadArr(src, tgt) {
   srcOpts = document.getElementById(src).options;
   tgt = new Array(srcOpts.length);
   for (var i = 0; i < srcOpts.length; i++) {
     tgt[i] = new Array(srcOpts[i].className, srcOpts[i].value, srcOpts[i].innerHTML);

   }
return tgt;
}




function loadSources(selected, srcArray, tgtList, container) {

 for (var i=0; i < srcArray.length;++i){
  if (i < 10) { lead = "0";
  } else { lead = ""; } 
  if (srcArray[i][1].length == 0) { addOption(tgtList, srcArray[i][0], "");
  } else {
    addOption(tgtList, srcArray[i][0] + " (" + srcArray[i][1] + ")", "");
  }
 }
// if (ie) { tgtList.selectedIndex = selected; }
 tgtList.selectedIndex = selected;
 getRss(tgtList, srcArray, container);
 
}

function loadWeather(url, target) {
 ajaxpage(url, target);
}


function loadPersonSearch(url, target) {
 ajaxpage(url, target);
}



function getRss(list, source, target) {
 //var url = "http://" + escape(source[list.selectedIndex][2]);
 var url = "http://" + source[list.selectedIndex][2];
 ajaxpage(url, target);

}
/*
 * Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
 * This notice MUST stay intact for legal use
 * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 */
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)

var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var requestTimer = null;
function ajaxpage(url, containerid) {

 var page_request = false;
 if (window.ActiveXObject) {
  try { page_request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try { page_request = new ActiveXObject("Microsoft.XMLHTTP");
   }   catch (e) {}
  }
 }  else {
  if (window.XMLHttpRequest) {
     page_request = new XMLHttpRequest();
//     netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  } else { return false; }
 }


 page_request.onreadystatechange = function() {
  loadpage(page_request, containerid, requestTimer, url);
 }
 
 
 //if bust caching of external page
 if (bustcachevar) {
  var bustcacheparameter=(url.indexOf("?")!=-1)? "&"
      + new Date().getTime() : "?" + new Date().getTime();
 }
 
 if (window.location.hostname.length > 0) {
     if ('newsBodyList|sportsBodyList|busFeed|wnbaNews|wnbaYahoo'.indexOf(containerid) > -1) {
        url = "http://phillyref.com/basketball/rss.php?url=" + url;   
     } else {   
        url = "http://phillyref.com/basketball/getHTML.php?url=" + url;   
     }
 }
 
 //whitepages does not handle cache parameter
 if (containerid.toLowerCase().indexOf("wnbayahoo") >-1 || containerid.toLowerCase().indexOf("personsearch") >-1 || containerid.toLowerCase().indexOf("uspssearch") >-1) {   bustcacheparameter=""; }
 

 page_request.open('GET', url+bustcacheparameter, true);
 page_request.send(null);
 requestTimer = setTimeout(function() {
  page_request.abort();

// fix for multiple alerts
//  alert("feed retrieval has timed out");
 }, 10000);
}


function getQuoted(txt) {
   atEq = txt.indexOf("="); 
   if (atEq == -1 || txt.length < atEq + 3) { return ""; }
   atEnd = txt.indexOf("\"", atEq + 2);
   return txt.substring(atEq + 2, atEnd);
}
function loadWeatherElement(src, skey, tgt, pre, post) {
   if ( src.indexOf(skey) > -1) {
      srcVal = getQuoted(src);
      
      if  (tgt.indexOf("Img") > -1) {
      
         imgSrc = getQuoted(src);
         if (imgSrc == "") { 
            pre = "";
            imgSrc="nocond.jpg";
         }
         document.getElementById(tgt).src = pre + imgSrc;
      } else {   
         document.getElementById(tgt).innerHTML = pre + getQuoted(src).replace(/Scattered Thunderstorm/, "Scattered<br>Thunderstorm") + post;
      }   
   }
}

function getElementContent(txtIn, elemName, attribMatch, contentReturn) {
   elemStartEnd = -1;
   elemStart = txtIn.indexOf("<" + elemName + ">");
   if (elemStart == -1) { elemStart = txtIn.indexOf("<" + elemName + " "); }
   contentReturn[0] = "";
   contentReturn[1] =""
   if (elemStart == -1) { return -1; }
   elemStartEnd = txtIn.indexOf(">", elemStart);
   if (elemStartEnd == -1) { return -1; }
   elemTag = txtIn.substring(elemStart, elemStartEnd +1);
   if (attribMatch != "" && elemTag.indexOf(attribMatch) == -1) { return -1; }
   if (elemTag.charAt(elemTag.length -2) == "/") {
      contentReturn[0] = "";   
    
   } else {
      elemEnd = txtIn.indexOf("</" + elemName + ">", elemStartEnd);
      if (elemEnd == -1) { return -1; }
      contentReturn[0] = txtIn.substring(elemStart + elemTag.length, elemEnd);
   }
   if (elemTag.indexOf(" ") > -1) { contentReturn[1] = elemTag.substring(elemTag.indexOf(" ")); }
   return elemStart;
}

function getAttribute(txtIn, attrName,  attrReturn) {
   attrStart = txtIn.indexOf(" " + attrName + '="');
   attrPtr = attrStart == -1 ? -1 : txtIn.indexOf('"', attrStart + 1) +1; 
   attrEnd = attrPtr == -1 ? -1 : txtIn.indexOf('"', attrPtr);  
   if (attrEnd == -1) { 
       attrReturn[0] = "";
       return -1;
   }
  attrReturn[0] = (attrPtr == attrEnd ? "" : txtIn.substring(attrPtr, attrEnd));
   
   return attrStart + 1;
}

function chkMulti(responseText) {
  multis = "";
  elemVal = ["", ""];
  multiPtr = getElementContent(responseText, 'wp:cityoption', "",  elemVal);
  if (multiPtr == -1) {return false; }
  multiCity = [""];
  multiState = [""];
  multiPtr2 = multiPtr;
  while (multiPtr > -1) {
     getAttribute(elemVal[1], "wp:city", multiCity);
     getAttribute(elemVal[1], "wp:state", multiState);
     multis += (multis == "" ? "" : "&nbsp;&nbsp;&nbsp;")  + '<span class=mp>' + (multiCity[0] + ", " + multiState[0]).toLowerCase() + "</span>";
     multiPtr2 = responseText.indexOf("</wp:cityoption>", multiPtr2 + 1);
     multiPtr = getElementContent(responseText.substring(multiPtr2), 'wp:cityoption', '',  elemVal);
  }
  document.getElementById("multiState").style.display="";
  document.getElementById("multiSt").innerHTML = "<span class=mp>Cancel</span> or Select one of multiple locations:<br>" + multis;
   return true;


}

function chkPersonSearch(responseText) {
   listingElem = ["", ""];
   listingAttrib = [""];
   errMsg ="";
   returnType = "";
   if (getElementContent(responseText, "wp:result", "", listingElem) == -1 ||
      !getAttribute(listingElem[1], "wp:type", listingAttrib) ||
      "|error|success|".indexOf("|"+ listingAttrib[0]+"|") == -1) {
      errMsg = "lookup failed1";
   } else {   
      returnType = listingAttrib[0];
      getAttribute(listingElem[1], "wp:code", listingAttrib);
   } 
   if (errMsg == "" && returnType == "error") {
      errMsg = "lookup failed";

      if (chkMulti(responseText)) { return; }
      
      if (getElementContent(responseText, "wp:errormessages", "", elemVal) > -1) {
         if (getElementContent(elemVal[0], "wp:message", "", elemVal) > -1) {
            errMsg = elemVal[0];
         }
      }
   }
   if (errMsg == "" && listingAttrib[0] != "Found Data") { errMsg = "no matching data found"; }
   
   if (errMsg != "") { showErrMsg(errMsg, "personSearchErr");  }
   return errMsg == "";

}
function loadPersonSearchPage(responseText) {
   listingAttrib = [""];
   if (!chkPersonSearch(responseText)) { return; }

   listingPtr2 = 0;
   listingPtr = getElementContent(responseText, "wp:listing", "", listingElem);
   ctr = -1;
   while (listingPtr > -1) {
         if (!doListing(listingElem[0], ++ctr)) { ctr--; break; }; 
         listingPtr2 = responseText.indexOf("</wp:listing>", listingPtr2 + 1);
         listingPtr =  getElementContent(responseText.substring(listingPtr2), 'wp:listing', '',  listingElem);
   }
   ctr++;
   refTbl = document.getElementById("peopleResults");
   for (; ctr < refTbl.rows.length;  ctr++) { 
      refTbl.rows[ctr].style.display = "none";
   }   
   refTbl.style.display = "";

}   



function getElemText(textIn, elemName) {
   holder = ["", ""];
   if (getElementContent(textIn, elemName, "", holder) > -1) {
       return holder[0];
   }
   return "";
}

function loadUspsSearchPage(responseText) {

   listingElem = ["", ""];
   listingAttrib = [""];
   errMsg ="";
   returnType = "";
   if (getElementContent(responseText, "Error", "", listingElem) > -1) {
      getElementContent(responseText, "Description", "", listingElem);
if(listingElem[0].indexOf("Invalid City") > -1) { listingElem[0] = listingElem[0].replace(/Invalid City/, "Invalid City/State"); }  
       showErrMsg(listingElem[0], "uspsSearchErr");
       return;
   }
   if (getElementContent(responseText, "AddressValidateResponse", "", listingElem) > -1) {
       addr1 = "";
       addr2 ="";
       city = "";
       state ="";
       zip = "";
       addr1 = getElemText(responseText, "Address1");
       addr2 = getElemText(responseText, "Address2");
       city = getElemText(responseText, "City");
       state = getElemText(responseText, "State");
       zip5 = getElemText(responseText, "Zip5");
       zip4 = getElemText(responseText, "Zip4");

       outTxt = (addr1 == "" ? "" : addr1 + "<br>") + (addr2 == "" ? "" : addr2 + "<br>") +
             city + ", " + state + " " + zip5 + "-"  + zip4;
       document.getElementById("uspsResults").style.display="";             
       document.getElementById("uspsResults").rows[1].cells[0].innerHTML =outTxt;
   }
 }   


   
   
function doPerson(personSrc) {
   personName = "";
   firstNameRtn = ["", ""];
   lastNameRtn = ["", ""];
   middleNameRtn = ["", ""];
   suffixRtn = ["", ""];
   getElementContent(personSrc, "wp:firstname", "", firstNameRtn);
   getElementContent(personSrc, "wp:lastname", "", lastNameRtn);
   getElementContent(personSrc, "wp:middlename", "", middleNameRtn);
   getElementContent(personSrc, "wp:suffix", "", suffixRtn);
   return trim(firstNameRtn[0] + " " + trim(middleNameRtn[0] + " " + lastNameRtn[0] +" " + suffixRtn[0]));
}   

   
function doPeople(listingSrc, personNames) {
  elemVal = ["", ""];
  if (getElementContent(listingSrc, 'wp:people', "",  elemVal) == -1) { return; }
  personElem = ["", ""];
  if (getElementContent(elemVal[0], 'wp:person', 'wp:rank="primary"',  personElem) > -1) {
     personNames[0] = doPerson(personElem[0]);
     elemVal[0] = elemVal[0].substring(elemVal[0].indexOf("</wp:person>"));
  }
  personPtr = getElementContent(elemVal[0], 'wp:person', 'wp:rank="secondary"',  personElem);
  personPtr2 = 0;
  while (personPtr > -1) {
     secondaryName = doPerson(personElem[0]);
     personNames[1] += ( personNames[1] == "" ? "" : ", ")  + secondaryName;
     personPtr2 = elemVal[0].indexOf("</wp:person>", personPtr2 + 1);
     personPtr = getElementContent(elemVal[0].substring(personPtr2), 'wp:person', 'wp:rank="secondary"',  personElem);
  }
}


function doPhones(listingSrc) {
  elemVal = ["", ""];
  if (getElementContent(listingSrc, 'wp:phonenumbers', "",  elemVal) == -1) { return "";  }
  phoneNumberRtn = ["", ""];
  phoneTypeRtn = [""];
  phoneFullRtn = [""];
  phoneElem = ["", ""];
  phones = "";
  phonePtr2 = 0;
  phonePtr = getElementContent(elemVal[0], 'wp:phone', '',  phoneElem);
  while (phonePtr > -1) {
     getAttribute(phoneElem[1], "wp:type", phoneTypeRtn);
     getElementContent(elemVal[0], "wp:fullphone", "", phoneFullRtn);
     phoneFullRtn[0] = phoneFullRtn[0].replace(/\(/, "").replace(/\)/, ".").replace(/ /, "").replace(/-/, ".");
     phones += ((phoneTypeRtn[0] == "" || "chw".indexOf(phoneTypeRtn[0].charAt(0)) == -1 ? "" : phoneTypeRtn[0].charAt(0) + ": ") + phoneFullRtn[0]);
     //phones = phoneFullRtn[0];
     phonePtr2 = elemVal[0].indexOf("</wp:phone>", phonePtr2 + 1);
     phonePtr = getElementContent(elemVal[0].substring(phonePtr2), 'wp:phonenumbers', '',  phoneElem);
  }
  return phones;
}


function doLinks(listingSrc) {
  links = "";
  elemVal = ["", ""];
  linkPtr = getElementContent(listingSrc, 'wp:link', "",  elemVal);
  linkTextRtn = [""];
  if (linkPtr > -1) { listingSrc = listingSrc.substring(linkPtr); }
  linkPtr2 = 0;
  while (linkPtr > -1) {
     getAttribute(elemVal[1], "wp:linktext", linkTextRtn);
     linkTextRtn[0] = linkTextRtn[0].substring(linkTextRtn[0].lastIndexOf(" ") + 1);
     links += (links == "" ? "" : ", ")  + '<a target=blank href="' + elemVal[0]  + '">' + linkTextRtn[0]  + "</a>";
     linkPtr2 = listingSrc.indexOf("</wp:link>", linkPtr2 + 1);
     linkPtr = getElementContent(listingSrc.substring(linkPtr2), 'wp:link', '',  elemVal);
  }
  return links;
}

function doAddress(listingSrc) {
   elemVal = ["", ""];
   if (getElementContent(listingSrc, 'wp:address', "",  elemVal) == -1) { return; }
   fullStreetRtn = [""];
   cityRtn = [""];
   stateRtn = [""];
   zipRtn = [""];
   zip4Rtn = [""];
   getElementContent(elemVal[0], 'wp:fullstreet', '',  fullStreetRtn);
   getElementContent(elemVal[0], "wp:city", "", cityRtn);
   getElementContent(elemVal[0], "wp:state", "", stateRtn);
   getElementContent(elemVal[0], "wp:zip", "", zipRtn);
   getElementContent(elemVal[0], "wp:zip4", "", zip4Rtn);
   return fullStreetRtn[0] + ", " + cityRtn[0] + ", " + stateRtn[0] + " &nbsp; " + zipRtn[0].replace(/,/, "") + (zip4Rtn[0] == "" ? "" : "-" + zip4Rtn[0].replace(/,/, ""));
}

   
function doListing(listingSrc, listCtr) {   
   elemVal = ["", ""];
   //attribVal = [""];
   
   
   forCompany = document.getElementById("psrchType1").className == "typeOn";
    
   //if (forCompany) {
   //   alert(listingSrc.substring(200));
   //   return;
   //}
   
   personNames = ["", ""];
   if (forCompany) {
      getElementContent(listingSrc, "wp:businessname", "", personNames);
   } else {
      doPeople(listingSrc, personNames);
      if (personNames[0] == "") {
         showErrMsg("no active match found", "personSearchErr");
         return false;
      }   
      
   }   
   phones = doPhones(listingSrc);

   curAddress = doAddress(listingSrc);
   peopleLinks = doLinks(listingSrc);
   
   dirs ="";
   neighbors = "";
   linkRefs = peopleLinks.split(",");
   for (var li = 0; li < linkRefs.length; li++) {
     if (linkRefs[li].indexOf("Detail</") > -1) {
           personNames[0] = trim(linkRefs[li].substring(0, linkRefs[li].indexOf(">")+1)) + 
                            personNames[0] + "</a>";     
     } else {
       if (linkRefs[li].indexOf("Neighbors</") > -1) { 
          neighbors = trim(linkRefs[li]).replace(/Neighbors</, "neighbors<");
       } else {
          if (linkRefs[li].indexOf("Map</") > -1) { 
             dirs = trim(linkRefs[li].replace(/Map</, "map/directions<"));
          } else {
             if (linkRefs[li].indexOf("Directions</") > -1) { 
                dirs = trim(linkRefs[li].replace(/Directions</, "map/directions<"));
             } 
          }
       }   
     }
   }
   resRow = document.getElementById("peopleResults").rows[listCtr];
   resRow.cells[0].innerHTML = "<span class=prime>"+personNames[0] + "</span>, " + phones +
              "<br>" + curAddress + (personNames[1]=="" ? "" : "<br><strong>Associates</strong>: " +   personNames[1]) +
              "<br>background check ($) &nbsp; &nbsp; &nbsp; " +  dirs + " &nbsp; &nbsp; &nbsp; " + neighbors;
    //          "<br>background check ($) &nbsp; &nbsp; &nbsp; " +  dirs + " &nbsp; &nbsp; &nbsp; " + neighbors;
   resRow.style.display = "";           
  return true;
}	


function loadWeatherPage(responseText) {

//***** fix later
   atCityData = responseText.indexOf("<city data");
   
  if(responseText.indexOf("<problem_cause") > -1 || atCityData == -1) {
//document.getElementById("locale_right").innerHTML = responseText;

      document.getElementById("prwAlert").style.display = "";
      return;
   }
   
   document.getElementById("prwAlert").innerHTML = "No unique match found";
   document.getElementById("prwAlert").style.display = "none";
   weatherParts = responseText.substring(atCityData).split(">");
   loc =  getQuoted(weatherParts[0]);

   postOut="";
   postal =  getQuoted(weatherParts[1]);
   if ((loc+postal).indexOf("United States") > -1 || (loc+postal).indexOf("Canada") > -1 && postal.length > 4) {
      for (zi = 0; zi < postal.length; zi++) {
        if ("0123456789".indexOf(postal.charAt(zi)) > -1) {
           if (zi==0 || !areLetters(postal.charAt(zi-1))) {
               postOut = postal.substring(zi, zi+5);
           } else {
              postOut = postal.substring(zi-1, zi+5);
           } 
           break;
        }
     }
   }
    
   document.getElementById("prwLocation").innerHTML = loc;
   document.getElementById("locale_center").innerHTML = loc + " " + postOut;
   //loadWeatherElement(weatherParts[0], "<city data=", "prwLocation",  "",  "");

   document.getElementById("prwZip").innerHTML = postOut;
  //loadWeatherElement(weatherParts[1], "<postal_code data=", "prwZip",  "",  "");
   wptr = 2;
  
   while (wptr < weatherParts.length && weatherParts[wptr].indexOf("<current_conditions") == -1) {
   
     wptr++;
   }
   while (wptr < weatherParts.length && weatherParts[wptr].indexOf("</current_conditions") == -1) {
      loadWeatherElement(weatherParts[wptr], "<condition data=", "prwCurCondition",  "",  "");
      loadWeatherElement(weatherParts[wptr], "<temp_f data=", "prwCurTempF",  "",  "&deg;f");
      loadWeatherElement(weatherParts[wptr], "<temp_c data=", "prwCurTempC",  "",  "&deg;c");
      loadWeatherElement(weatherParts[wptr], "<humidity data=", "prwHumidity",  "",  "");
      loadWeatherElement(weatherParts[wptr], "<icon data=", "prwCurImg", "http://google.com",  "");
      loadWeatherElement(weatherParts[wptr], "<wind_condition data=", "prwWind",  "",  "");
      wptr++;   
  }
  document.getElementById("locale_right").innerHTML = document.getElementById("prwCurTempF").innerHTML + " / " +
                                                      document.getElementById("prwCurTempC").innerHTML + ", " + 
                                                      document.getElementById("prwCurCondition").innerHTML;
                                                      /*
                                                      "<img src='" + 
                                                      document.getElementById("prwCurImg").src +
                                                      "'/>";*/
  
  
   for (fi=0; fi < 4; fi++) {
      if (wptr >= weatherParts.length ) { break; }
      while (wptr < weatherParts.length && weatherParts[wptr].indexOf("<forecast_conditions") == -1) { wptr++; }

      while (wptr < weatherParts.length && weatherParts[wptr].indexOf("</forecast_conditions") == -1) {
         loadWeatherElement(weatherParts[wptr], "<day_of_week data=", "prwDay"+fi,  "",  "");
         loadWeatherElement(weatherParts[wptr], "<low data=", "prwTempLo"+fi,  "",  "");
         loadWeatherElement(weatherParts[wptr], "<high data=", "prwTempHi"+fi,  "",  "");
        loadWeatherElement(weatherParts[wptr], "<icon data=", "prwImg"+fi, "http://google.com",  "");
         loadWeatherElement(weatherParts[wptr], "<condition data=", "prwCondition"+fi,  "",  "");
         wptr++;
      }
      wptr++;
   }   

}

function loadTestPage(responseText) {
   document.getElementById("testBody").innerHTML = "<pre>" + responseText +"</pre>";
}

function loadRssSearchHub(responseText, containerid) {
   entryStart = responseText.indexOf("feed_item_key");
   if (entryStart != -1) { entryStart = responseText.indexOf("<a ", entryStart);}
   entryEnd = -1;
   entryNow = "";
   htmlOut = "";
   while (entryStart > -1) {
      entryEnd = responseText.indexOf(">", entryStart);
      entryNow = responseText.substring(entryStart, entryEnd);
      entryNow = entryNow.replace(/<a >/gi, "<li class=newsIem><a id=itemLink ").replace(/title=\"/, ">").replace(/\" style.*/, "</a></li>\n");
      htmlOut += entryNow;
      entryStart = responseText.indexOf("<a ", entryEnd);
   }
   document.getElementById(containerid).innerHTML =  "<ul class=tableList>\n" + htmlOut + "\n</ul>";
}



function loadFeedCrawl(responseText, containerid) {
   entryStart = responseText.indexOf("<id gr");
   entryEnd = -1;
   entryNow = "";
   htmlOut = "";
   colorOn =-1;
   while (entryStart > -1) {
      entryEnd = responseText.indexOf("</entry", entryStart);
      entryNow = responseText.substring(entryStart, entryEnd);
      entryNow = entryNow.replace(/<update.*<title type=\"html\">/gi, ", ") ;
      entryNow = entryNow.replace(/T..:.*<\/published>/, "").replace(/<\/title><published>/g, "</a><br>");
      entryNow = entryNow.replace(/tag.*<title type=\"html\">/, "");
      entryNow = entryNow.replace(/<id gr:original-id=/, "<li class='newsIitem" + (colorOn == 1 ? " ac" : "") + "'><a id=newsLink target=blank href=");
      colorOn = colorOn * -1;
      entryNow = entryNow.replace(/<\/title><link.*/, "</li>");
      htmlOut += ("\n" + entryNow);
      entryStart = responseText.indexOf("<id gr", entryEnd);
   }
 document.getElementById(containerid).innerHTML =  "<ul class=tableList>\n" + htmlOut + "\n</ul>";
}

function loadWnbaTrans(responseText) {
   atStart = responseText.indexOf("articleTimeStamp");
   if (atStart > -1) { atStart = responseText.indexOf(">", atStart); }
  
   if (atStart > -1) { atEnd = responseText.indexOf("<", atStart);}
   posted="";
   if (atStart > -1 && atEnd > -1) {
   
      posted =  responseText.substring(atStart + 1, atEnd);
      atStart = responseText.indexOf("articleTimeStamp");
      atStart = responseText.indexOf("<B>", atEnd);
      if (atStart == -1) {atStart = responseText.indexOf("<b>", atEnd); }
      if (atStart > -1) { atEnd = responseText.indexOf("</div>", atStart); }
      if (atStart > -1 && atEnd == -1) { atEnd = responseText.indexOf("</DIV>", atStart); }
   }   

   if (atStart > -1 && atEnd > -1) {
      responseStart = "<span style='font-size:14pt;font-weight:bold'>2011 WNBA Transactions</span><br>" +posted + "<br><br>";
      responseText = responseText.substring(atStart, atEnd);
      responseText=responseText.replace(/<p><B>/gi, "<br><b>");
      responseText=responseText.replace(/<img.*The/gi, "- The");
      document.getElementById("wnbaTrans").innerHTML = responseStart + responseText;
   }
}


function loadLiveScore(responseText, containerid) {
   atDiv = -1;
   if (containerid.indexOf("wnba") > -1)  { atDiv = responseText.indexOf("- WNBA");
   } else { atDiv = responseText.indexOf("- NBA", 1000); }
   if (atDiv > -1) {
      atDiv = responseText.indexOf("<tr", atDiv);
      if (atDiv == -1) {  atDiv = responseText.indexOf("<TR", atDiv); }
      
   }
   if (atDiv == -1) { return; }

   atEnd = responseText.indexOf("<ta", atDiv);
   if (atEnd == -1) {  atEnd = responseText.indexOf("<TA", atDiv); }
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atDiv, atEnd);
   atEnd = responseText.lastIndexOf("<td");
   if (atEnd == -1) {  atEnd = responseText.lastIndexOf("<TD"); }
   if (atEnd == -1) { return; }
   responseStart = "<table class=tableList cellpadding=0 cellspacing=0><tr style='background:#000066; color:white;'><td colspan=10><a target=blank href='http://livescore.com'><img src=livescore.jpg></a></td></tr>";
   responseText = responseText.substring(0, atEnd);
   responseText=responseText.replace(/colspan=\"2\"/gi, "colspan=\"1\"");
   responseText=responseText.replace(/span=\"11\"/gi, "span=\"10\"");

   responseText=responseText.replace(/<td width="45" height="18">&nbsp;<\/td>/gi, "");
   responseText=responseText.replace(/<td width="45" height="18">&nbsp;..<\/td>/gi, "");
   responseText=responseText.replace(/<td width="45" height="18">&nbsp;...<\/td>/gi, "");
   responseText=responseText.replace(/<td width="45" height="18">&nbsp;....<\/td>/gi, "");
   responseText=responseText.replace(/<td width="45" height="18">&nbsp;.....<\/td>/gi, "");
   responseText=responseText.replace(/width="154"/gi, "");
   responseText=responseText.replace(/class="match-light"/gi, "style='color:white'");
   responseText=responseText.replace(/ bgcolor="#dfdfdf"/gi, "");
   responseText=responseText.replace(/cfcfcf/gi, "e1e4f2").replace(/333333/gi, "000066");
   document.getElementById(containerid).innerHTML = responseStart + responseText + "</table>";
}



function loadWnbaStandings(responseText) {
   atDiv = responseText.indexOf("standingsContainer");
   if (atDiv > -1) {
      atDiv = responseText.indexOf("<table", atDiv);
      if (atDiv == -1) { atDiv = responseText.indexOf("<TABLE", atDiv); }
      if (atDiv > -1) { 
         atDivEnd = responseText.indexOf("File created", atDiv);
         if (atDivEnd >-1) {
           responseText = responseText.substring(atDiv, atDivEnd);
           startEnd = responseText.indexOf(">") +1;
           tailAt = responseText.indexOf("</table>");
           if (tailAt == -1) { tailAt = responseText.indexOf("</TABLE>"); }
           if (tailAt > -1) {

              tailAt += 8;
              responseTail = responseText.substring(tailAt);
              responseStart = "<table width='700px' style='font-size:9pt;' border='0' cellpadding='2' cellspacing='0'>";
              responseText = responseText.substring(startEnd, tailAt);
              responseText=responseText.replace(/<div.*>/gi, "").replace(/<\/div>/gi, "");
              responseText=responseText.replace(/<sup.*<\/sup>/gi, "").replace(/class=""/gi, "");
              document.getElementById("wnbaStandings").innerHTML = responseStart + responseText + responseTail;
           }
         }
      }   
   }
}



function loadWnbaStats(responseText) {
   atDiv = responseText.lastIndexOf("stat_subsub_points");
   if (atDiv > -1) { 
      atDivHold = atDiv;
      atDiv = responseText.indexOf("<tr", atDiv);
      if (atDiv == -1) { atDiv = responseText.indexOf("<TR",atDivHold); }
   }   
   if (atDiv > -1) {
    responseText =responseText.substring(atDiv);
     atDivEnd = responseText.lastIndexOf("Last 10 Games");
     if (atDivEnd >-1) { 
       atDivHold = atDivEnd;
       atDivEnd = responseText.indexOf("</table>", atDivEnd);
       if (atDivEnd == -1) { atDivEnd = responseText.indexOf("</TABLE>", atDivHold); }
     }   
            
     if (atDivEnd >-1) {
       atDivEnd += 8;
       responseText = responseText.substring(0, atDivEnd);
       responseStart = "<table class=tableList width='288px'><tr><td><table style='border-collapse:collapse' border=1 bordercolor=gray width='100%'><tr><td colspan=2 style='background:EDF4FE'>WNBA POINTS LEADERS</td></tr>";
       responseText=responseText.replace(/  /g, " ");
       responseText=responseText.replace(/<div.*<\/div>/i, "WNBA REBOUNDS LEADERS").replace(/<div.*<\/div>/i, "WNBA ASSISTS LEADERS");
       responseText=responseText.replace(/href=\"\//gi, "href=\"http://wnba.com/").replace(/href=/gi, "target=blank href=");
       responseText=responseText.replace(/src=\"\//gi, "src=\"http://wnba.com/");
       responseText=responseText.replace(/<table c/gi, "<table border=1 bordercolor=gray style='border-collapse:collapse' c");
       responseText=responseText.replace(/colspan/gi, "style='background:EDF4FE' colspan");
       responseText=responseText.replace(/<td width.*>/gi, "<td>");

       atDivEnd =  responseText.indexOf("</table>");
       if (atDivEnd == -1) { atDivEnd = responseText.indexOf("</TABLE>"); }
       atDivHold = atDivEnd;
       atDivEnd =  responseText.indexOf("<td>", atDivEnd);

       if (atDivEnd == -1) { atDivEnd = responseText.indexOf("<TD>", atDivHold); }
       responseText=responseText.substring(0, atDivEnd) + "</tr><tr>" + responseText.substring(atDivEnd);
       atDivHold = atDivEnd;
       atDivEnd =  responseText.indexOf("</table>", atDivEnd);
       if (atDivEnd == -1) { atDivEnd = responseText.indexOf("</TABLE>", atDivHold); }
       atDivHold = atDivEnd;

       atDivEnd =  responseText.indexOf("<td>", atDivEnd);
       if (atDivEnd == -1) { atDivEnd = responseText.indexOf("<TD>", atDivHold); }
       responseText=responseText.substring(0, atDivEnd) + "</tr><tr>" + responseText.substring(atDivEnd);
       document.getElementById("wnbaStats").innerHTML = responseStart + responseText + "</td></tr></table>";
     }
   }
 
}

function loadDleagueCentral(responseText) {
   atBeg = responseText.indexOf("D-League Headlines<");
   
   atEnd = -1;
   if (atBeg > -1) { 
      responseText = responseText.substring(atBeg);
      atBeg = responseText.indexOf("<a");
      if (atBeg == -1) { atBeg = responseText.indexOf("<A"); }
      if (atBeg > -1) { 
         atEnd = responseText.indexOf("</td", atBeg);
         if (atEnd == -1) { atEnd = responseText.indexOf("</TD", atBeg); }
      }   
   }    
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atBeg, atEnd);
   responseText=responseText.replace(/<a /gi, "<li id=newsItem><a id=newsLink ").replace(/<br>/gi, "</li>\n");
   responseText= responseText.substring(responseText.indexOf("<li"), responseText.lastIndexOf("</li>") +5);
   //responseText=responseText.replace(/rel=.*>/gi, "target=blank>").replace(/> - D-League/gi, "><br>");
   responseText=responseText.replace(/&#8226;/gi, "").replace(/> - D-League/gi, "><br>");
   document.getElementById("dleagueCentral").innerHTML =  "<ul class=tableList>\n" + responseText + "\n</ul>";
}

function parseDate(dateIn) {
  dateOut = "";
  dateParts = dateIn.split(" ");
  if (dateParts.length == 3 && dateParts[0].length > 2) {
     dateMonth = "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf(dateParts[0].substring(0, 3));
     if (dateMonth > -1) { 
        dateMonth = dateMonth/3 + 1;
        dateOut = dateMonth + "." +  dateParts[1] + "." + dateParts[2].substring(2) + ": ";
     }
  }
  return dateOut;
}


function loadNbaPro(responseText) {
   atBeg = responseText.indexOf("<a href=\"/articles");
   atBeg2 = 0;
   atEnd2 = 0
   htmlOut = "";
   while (atBeg > -1) {
     atEnd = -1;
     atEnd = responseText.indexOf("&nbsp;", atBeg);
     if (atEnd == -1) { break; }
     itemNow = responseText.substring(atBeg, atEnd); 
     atBeg2 =itemNow.indexOf("filed\">");
     atEnd2 = -1;
     atBeg2 += 7;
     if (atBeg2 > -1) { atEnd2 = itemNow.indexOf("<", atBeg2); }
     if (atEnd2 == -1) { break; }
     srcNow = itemNow.substring(atBeg2, atEnd2);
     atEnd = responseText.indexOf("</a>", atBeg);
     if (atEnd == -1) { break; }
     itemNow = responseText.substring(atBeg, atEnd +4); 
     itemNow = itemNow.replace(/ id=.*>/gi, ">").replace(/<a href="/gi, "<a id=newsLink href=\"http://prosportsdaily.com");
     htmlOut += ("<li class=newsItem>" + itemNow + " <i> (" + srcNow + ")</li>");
     atBeg = responseText.indexOf("<a href=\"/articles", atEnd);
   }  
   document.getElementById("nbaPro").innerHTML =  "<ul class=tableList>" +htmlOut+ "</ul>"
}


function loadNbaCbs(responseText) {
   atBeg = responseText.indexOf("<h4>");
   atEnd = -1;
   if (atBeg > -1) {  atEnd = responseText.indexOf("</div>", atBeg); }
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atBeg, atEnd);
   atEnd = responseText.indexOf("<h4", 2);
   if (atEnd != -1) { atEnd = responseText.indexOf("<h4", atEnd+1); }
   if (atEnd == -1) { return; }
   responseText = responseText.substring(0, atEnd);
   responseText=responseText.replace(/multiLine flush/gi, "tableList").replace(/<li/gi, "<li class=newsItem");
   responseText=responseText.replace(/<a /gi, "<a id=newsLink ").replace(/&nbsp;(.*)/gi, "");
   responseText=responseText.replace(/<h4>/gi, "<br>").replace(/<\/h4>/gi, "<br>").replace(/<br>/, "");
   document.getElementById("nbaCbs").innerHTML =  responseText;
}

function loadUsaBasketballNews(responseText) {
   atBeg = responseText.indexOf("usabTabbedHeadlines");
   if (atBeg > -1) {  atBeg = responseText.indexOf("<li>", atBeg); }
   atEnd = -1;
   if (atBeg > -1) {  atEnd = responseText.indexOf("</ul>", atBeg); }
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atBeg, atEnd);
   responseText=responseText.replace(/\s/g, " ").replace(/<li/g, "<li id=newsItem").replace(/<a/g, "<a target=_blank id=newsLink ") ;
   alert(responseText);
   document.getElementById("usaBasketballNews").innerHTML =  "<ul class=tableList>" + responseText +"</ul>";
}
 


function loadNbaTrans(responseText) {
   atBeg = responseText.indexOf("<p class=\"style1");
   atEnd = -1;
   if (atBeg > -1) { 
      atEnd = responseText.indexOf("</td", atBeg);
   }  
   if (atEnd == -1) { return; }


   responseText = responseText.substring(atBeg, atEnd);
   responseText=responseText.replace(/<font face=\"Verdana, Arial, Helvetica, sans-serif">/gi, "");
   responseText=responseText.replace(/ class="style1 Estilo1 "/g, "").replace(/ class="style37"/g, "");
   
   responseText=responseText.replace(/<img.*absmiddle\">/g, "");
   responseText=responseText.replace(/<p>&nbsp;<\/p>/gi, "");
   responseText=responseText.replace(/Monday/g, "Mon").replace(/Tuesday/g, "Tue").replace(/Wednesday/g, "Wed").replace(/Thursday/g, "Thu,").replace(/Friday/g, "Fri").replace(/Saturday/g, "Sat").replace(/Sunday/g, "Sun");
   responseText=responseText.replace(/January/g, "Jan").replace(/February/g, "Feb").replace(/September/g, "Sep").replace(/October/g, "Oct").replace(/Novembery/g, "Nov").replace(/December/g, "Dec");
   responseText=responseText.replace(/players\//g, "http://hoopshype.com/players/").replace(/Library\//g, "http://hoopshype.com/Library/");
   responseText=responseText.replace(/<\/font><\/font><\/p>/gi, "**<\/p>");
  atBeg = responseText.indexOf("<p");
   atEnd = -1;
   if (atBeg > -1) { atEnd = responseText.indexOf("</p>", atBeg); }
   htmlTrans = "";
   colorOn = -1;
   lineNow = "";
   lineEnd = 0;
   //yearNow = ", 12: ";
   yearNow = ": ";
   while (atEnd > -1) {
      
      lineNow = responseText. substring(atBeg, atEnd +4);
      //if (lineNow.indexOf("Dec ") > - 1) { yearNow = ", 11: "; }
      lineEnd = lineNow.length;
      if (lineNow.substring( lineEnd-6, lineEnd-4) == "**") {
         atBeg = responseText.indexOf("<p", atEnd) + 3; 
         atEnd = responseText.indexOf("</p>", atBeg);
         lineNow = lineNow.substring(0, lineEnd - 6) + yearNow +  responseText. substring(atBeg, atEnd +4);
      }
      
      if (colorOn == 1) { lineNow = lineNow.replace(/<p/, "<p class=acn"); } 
      htmlTrans += lineNow;
      colorOn = colorOn * -1;
      atBeg =  responseText.indexOf("<p", atEnd);
      atEnd = atBeg == -1 ? -1 : responseText.indexOf("</p>", atBeg);
   }
   
   
//alert(htmlTrans);
   var count = htmlTrans.match(/<p/g).length;   
   var splitAt = count/2;
   atBeg = 0;
//alert(count + ", " + splitAt);
   count =0;
//alert(htmlTrans);   
   while ( count <= splitAt) {
     atBeg = htmlTrans.indexOf("<p", atBeg +1);
     ++count;
   }
   htmlTemp = htmlTrans.substring(0, atBeg);
   atBeg = htmlTemp.lastIndexOf("<p><strong>"); 
   
   document.getElementById("nbaTrans1").innerHTML =  htmlTemp.substring(0, atBeg);
   document.getElementById("nbaTrans2").innerHTML =  htmlTrans.substring(atBeg);
}


function loadNbaHype(responseText) {
   atBeg = responseText.indexOf("<p class=\"date\"");
   if (atBeg == -1) {  atBeg = responseText.indexOf("<P CLASS=\"DATE\""); }
   atEnd = -1;
   if (atBeg > -1) { 
      atEnd = responseText.indexOf("</table", atBeg);
      if (atEnd == -1) { atEnd = responseText.indexOf("</TABLE", atBeg); }
   }  
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atBeg, atEnd);
   responseText=responseText.replace(/rumormedia.*<\/div>/gi, "rumormedia");

   atDate=0;
   dateText =""
   htmlOut = "";
   colorOn = -1;
   
   while (atDate > -1) {
      atDateEnd =  responseText.indexOf("<p class=\"date\"", atDate +1);

      if (atDateEnd == -1) { atDateEnd = responseText.indexOf("<P CLASS=\"DATE\"", atDate +1); }
      if (atDateEnd == -1) { dateText = responseText.substring(atDate);
      } else {dateText = responseText.substring(atDate, atDateEnd); }
      //dateNow = parseDate(dateText.substring(dateText.indexOf(",") + 2, dateText.indexOf("</")));
      atRumor =  dateText.indexOf("rumortext");
    while (atRumor > -1) {
        atRumorEnd = dateText.indexOf("rumormedia", atRumor);
        rumorNow = dateText.substring(atRumor, atRumorEnd);
        rumorNow = rumorNow.substring(rumorNow.indexOf("<"), rumorNow.indexOf("</"));
        rumorNow = rumorNow.replace(/rel=.*>/gi, "target=blank>")
        rumorLead = rumorNow.substring(rumorNow.indexOf(">") + 1);
        rumorNow = rumorNow.substring(0,  rumorNow.indexOf(">")) + ">";
        rumorNow = rumorNow.replace(/<a/gi, "<a id=newsLink");
        htmlOut += "<li class='newsItem" + (colorOn == 1 ? " ac" : "") + "'><span style='cursor:pointer; font-size:8pt' title='" + rumorLead + "'></span>" + 
                  rumorNow + splitTitle(-90, rumorLead) +"</a></li>\n";
        atRumor =  dateText.indexOf("rumortext", atRumorEnd);
        colorOn = colorOn * -1;
      }
      atDate = atDateEnd;
   }
   document.getElementById("nbaHype").innerHTML =  "<ul class=tableList>\n" + htmlOut + "\n</ul>";
}

function loadDleagueHype(responseText) {
   atBeg = responseText.indexOf("<p class=\"date\">");
   if (atBeg == -1) {  atBeg = responseText.indexOf("<P CLASS=\"DATE\">"); }
   atEnd = -1;
   if (atBeg > -1) { 
      atEnd = responseText.indexOf("</table", atBeg);
      if (atEnd == -1) { atEnd = responseText.indexOf("</TABLE", atBeg); }
   }    
   if (atEnd == -1) { return; }
   responseText = responseText.substring(atBeg, atEnd);
   responseText=responseText.replace(/rumormedia.*<\/div>/gi, "rumormedia");

   atDate=0;
   dateText =""
   htmlOut = "";
   while (atDate > -1) {
      atDateEnd =  responseText.indexOf("<p class=\"date\">", atDate +1);

      if (atDateEnd == -1) { atDateEnd = responseText.indexOf("<P CLASS=\"DATE\">", atDate +1); }
      if (atDateEnd == -1) { dateText = responseText.substring(atDate);
      } else {dateText = responseText.substring(atDate, atDateEnd); }
      dateNow = parseDate(dateText.substring(dateText.indexOf(",") + 2, dateText.indexOf("</")));
      atRumor =  dateText.indexOf("rumortext");
    while (atRumor > -1) {
        atRumorEnd = dateText.indexOf("rumormedia", atRumor);
        rumorNow = dateText.substring(atRumor, atRumorEnd);
        rumorNow = rumorNow.substring(rumorNow.indexOf("<"), rumorNow.indexOf("</"));
        rumorNow = rumorNow.replace(/rel=.*>/gi, "target=blank>")
        rumorLead = rumorNow.substring(rumorNow.indexOf(">") + 1);
        rumorNow = rumorNow.substring(0,  rumorNow.indexOf(">")) + ">";
        rumorNow = rumorNow.replace(/<a/gi, "<a id=newsLink");
        htmlOut += "<li class=newsItem><span style='cursor:pointer; font-size:8pt' title='" + rumorLead + "'>" + dateNow + "</span>" + 
                  rumorNow + splitTitle(45, rumorLead) +"</a></li>\n";
        atRumor =  dateText.indexOf("rumortext", atRumorEnd);
      }
      atDate = atDateEnd;
   }
   document.getElementById("dleagueHype").innerHTML =  "<ul class=tableList>\n" + htmlOut + "\n</ul>";
}


function splitTitleAgain(atSplit, title) {
   tptr = 0;
   titleOut = "";
   while (tptr < title.length) {
      if (title.substring(tptr).length < atSplit) {
         titleOut += "<br>&nbsp; &nbsp;&nbsp;" +  title.substring(tptr);
         break;
      } 
      at = atSplit;
      while (at > -1) {
        if (title.charAt(tptr + at) == " ") { break; }
        --at;
     }
     if (at == -1) {
        titleOut += ("<br>&nbsp; &nbsp;&nbsp;" + title.substring(tptr, tptr + atSplit));
        tptr += atSplit;
     } else {
        titleOut += ("<br>&nbsp; &nbsp;&nbsp;" + title.substring(tptr, tptr+at));
        tptr += at;
     }
   }
   return titleOut;
}


function splitTitle(atSplit, title) {

  nolimit = atSplit < 0;
  if (nolimit) { atSplit = atSplit * -1; }

  title1 = "";
  title2 = "";
  if (title.length > atSplit) {
   if (title.indexOf(" -") > -1) {
    title = title.substring(0, title.lastIndexOf(" -"));
   }    
  }
  if (title.length > atSplit) {
   at = atSplit;
   while (at > -1) {
    if (title.charAt(at) == " ") { break; }
     --at;
   }
   if (at == -1) {
    title1 = title.substring(0, atSplit);
    title2 = title.substring(atSplit);
   } else {
    title1 = title.substring(0, at);
    title2 = title.substring(++at);
   }
   if (title2.length > atSplit) {
      if (nolimit) {
        title2 = splitTitleAgain(atSplit, title2);
      } else {
         title2 = "<br>&nbsp; &nbsp;&nbsp;" + title2.substring(0, atSplit);
      }   
   }    
   title = title1 + title2;
  }
  return title; 
}   

function loadAtom(responseText, containerid) {
 var html = "<ul>";

 var begin = responseText.indexOf("<title");
 var end = 0;
 var atomLink = "";
 var at = 0;
 var ptr = 0;
 var title = "";
 var title1 = "";
 var title2 = "";
 if (begin >-1) { ++begin; } // skip first title which is page title
 while (begin > -1) {
  begin = responseText.indexOf("<title", begin);
  if (begin == -1) { break; }
  begin = responseText.indexOf(">", begin) + 1;
  //begin += "<title>".length;
  end = responseText.indexOf("</title>", begin);
  if (end == -1) { break; }
  title = responseText.substring(begin, end);
  if (title.indexOf("ADVERTISEMENT") > -1) { continue; }
  if (title == "AFP.com") { continue; }
  atCData1 = title.indexOf("<!\[CDATA\[");
  if (atCData1 > -1) {
   atCData2 = title.indexOf("\]\]>");
   if (atCData2 == -1) { continue; }
   title = title.replace("<!\[CDATA\[", "");
   title = title.replace("\]\]>", "");
  }
  atSplit = containerid.indexOf("dleague") > -1 ? 45 :
            (containerid.indexOf("nba") == -1 ? 55 : 50);
  if (title.length > atSplit) {
   if (title.indexOf(" -") > -1) {
    title = title.substring(0, title.lastIndexOf(" -"));
   }    
  }
  if (title.length > atSplit) {
   at = atSplit;
   while (at > -1) {
    if (title.charAt(at) == " ") { break; }
     --at;
   }
   if (at == -1) {
    title1 = title.substring(0, atSplit);
    title2 = title.substring(atSplit);
   } else {
    title1 = title.substring(0, at);
    title2 = title.substring(++at);
   }
   if (title2.length > atSplit) {
    title2 = title2.substring(0, atSplit);
   }    
   title = title1 + "<br>&nbsp; &nbsp;&nbsp;" + title2;
  }
  
  begin = responseText.indexOf("<id>", end);
  begin += "<id>".length;
  end = responseText.indexOf("</id>", begin);
  //html += ("<li id=newsItem>&nbsp;&nbsp;&nbsp;- &nbsp;<a  id=newsLink target='_blank' href='" +  responseText.substring(begin, end)
  html += ("<li id=newsItem><a  id=newsLink target='_blank' href='" +  responseText.substring(begin, end)
   + "'>" + title + "&nbsp;</a>");
  html += "</li>";
  if (++ptr > 9) { break; }
 }
 //while (ptr++ < 10) {
 // html += "<li>&nbsp;</li>"; 
 //}
 html += "</ul>";
//alert(html); 
 document.getElementById(containerid).innerHTML = html;


}





function loadpage(page, containerid, requestTimer, url) {
//alert("testing " + window.location.href);


 if (!(page.readyState == 4 && (page.status == 200 || window.location.href.indexOf("http") == -1))) {
  return;
 }

 if (requestTimer != null) { clearTimeout(requestTimer);    }
 var responseText = page.responseText.replace(/\|-/g, "<");


 responseText = responseText.replace(/-\|/g, ">");
 if (containerid.toLowerCase() == "nbanews") {
     loadFeedCrawl(responseText, containerid);
     return;
 } 
 
  if (containerid.toLowerCase() == "usabasketballnews") {
      loadUsaBasketballNews(responseText);
      return;
  } 

 

 if (containerid.toLowerCase().indexOf("nbapro") >-1) {
     loadNbaPro(responseText);
     return;
 } 
 if (containerid.toLowerCase().indexOf("nbatrans") >-1) {
      loadNbaTrans(responseText);
      return;
  } 

 
 if (containerid.toLowerCase().indexOf("nbacbs") >-1) {
     loadNbaCbs(responseText);
     return;
 } 
 
 
// if (containerid.toLowerCase().indexOf("bleacher") >-1) {
//     loadRssSearchHub(responseText, containerid);
//     return;
// } 

 if (containerid.toLowerCase().indexOf("dleaguecentral") >-1) {
      loadDleagueCentral(responseText);
      return;
 } 
 if (containerid.toLowerCase().indexOf("dleaguehype") >-1) {
       loadDleagueHype(responseText);
       return;
  } 
 if (containerid.toLowerCase().indexOf("nbahype") >-1) {
       loadNbaHype(responseText);
       return;
  } 
  
 
  if (containerid.toLowerCase().indexOf("wnbaswish") >-1 || containerid.toLowerCase().indexOf("wnbaslam") >-1  || containerid.toLowerCase().indexOf("ridiculous") >-1) {
      loadAtom(responseText, containerid);
      return;
 } 
 if (containerid.toLowerCase() == "wnbatrans") {
     loadWnbaTrans(responseText);
     return;
 } 

 if (containerid.toLowerCase() == "wnbastandings") {
     loadWnbaStandings(responseText);
     return;
 } 

 if (containerid.toLowerCase() == "wnbastats") {
     loadWnbaStats(responseText);
     return;
 } 

 if (containerid.toLowerCase().indexOf("livescore") > -1) {
     loadLiveScore(responseText, containerid);
     return;
 } 



 if (containerid.toLowerCase().indexOf("weather") > -1) {
     loadWeatherPage(responseText)
     return;
 }

 if (containerid.toLowerCase().indexOf("personsearch") > -1) {
    loadPersonSearchPage(responseText)
     return;
 }
 
  if (containerid.toLowerCase().indexOf("uspssearch") > -1) {
     loadUspsSearchPage(responseText);
      return;
  }
  

 var html = "<ul>";
 var begin = responseText.indexOf("<item");
 var end = 0;
 var at = 0;
 var ptr = 0;
 var title = "";
 var title1 = "";
 var title2 = "";
 var pubDate = "";
 var dateBegin = 0;
 var dateEnd = 0;
 var atCData1 = 0;
 var atCData2 = 0;
 while (begin > -1) {
  begin = responseText.indexOf("<title>", begin);
  if (begin == -1) { break; }
  begin += "<title>".length;
  end = responseText.indexOf("</title>", begin);
  if (end == -1) { break; }
  title = responseText.substring(begin, end);
  if (title.indexOf("ADVERTISEMENT") > -1) { continue; }
  if (title == "AFP.com") { continue; }	
  atCData1 = title.indexOf("<!\[CDATA\[");
  if (atCData1 > -1) {
   atCData2 = title.indexOf("\]\]>");
   if (atCData2 == -1) { continue; }
   title = title.replace("<!\[CDATA\[", "");
   title = title.replace("\]\]>", "");
  }
  while (title.indexOf("&amp;#39;") > -1) { title = title.replace("&amp;#39;", "'"); }
  while (title.indexOf("&amp;quot;") > -1) { title = title.replace("&amp;quot;", "'"); }
  while (title.indexOf("<img") > -1) { title = title.replace("<img*>", "'"); }
  atSplit = containerid.indexOf("dleague") > -1 ? 45 :
            (containerid.indexOf("nba") == -1 ? 55 : 50);
  if (title.length > atSplit) {
   if (title.indexOf(" -") > -1) {
    title = title.substring(0, title.lastIndexOf(" -"));
   }    
  }
  if (title.length > atSplit) {
   at = atSplit;
   while (at > -1) {
    if (title.charAt(at) == " ") { break; }
     --at;
   }
   if (at == -1) {
    title1 = title.substring(0, atSplit);
    title2 = title.substring(atSplit);
   } else {
    title1 = title.substring(0, at);
    title2 = title.substring(++at);
   }
   if (title2.length > atSplit) {
    title2 = title2.substring(0, atSplit);
   }    
   title = title1 + "<br>&nbsp; &nbsp;&nbsp;" + title2;
  }
  itemType = containerid.indexOf("wnba") > -1 ? "listItem" : "newsItem";
  itemType = containerid.indexOf("wnba") > -1 ? "itemLink" : "newsLink";
  begin = responseText.indexOf("<link>", end);
  begin += "<link>".length;
  end = responseText.indexOf("</link>", begin);
  //html += ("<li id=newsItem><a  id=newsLink target='_blank' href='" +  responseText.substring(begin, end)
  //html += ("<li id=" + itemType + "><a  id=newsLink target='_blank' href='" +  responseText.substring(begin, end)
  html += ("<li id=newsItem><a  id=newsLink target='_blank' href='" +  responseText.substring(begin, end)
   + "'>" + title + "&nbsp;</a>");
  html += "</li>";
  if (++ptr > 9) { break; }
 }
// while (ptr++ < 10) {
//  html += "<li>&nbsp;</li>"; 
// }
 html += "</ul>";
 document.getElementById(containerid).innerHTML = html;
}

//:thesaurus.js
function Thesaurus() {
 this.urls=[
   ["thesaurus",  "http://thesaurus.reference.com/search?q=",""],
   ["encarta","http://encarta.msn.com/thesaurus_/",".html"],
   ["infoplease","http://www.infoplease.com/thesaurus?word=",""],
   ["merriam","http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va=",""],
   ["rhymeZone","http://www.rhymezone.com/r/rhyme.cgi?typeofrhyme=syn&Word=",
    ""],
   ["rogets II","http://www.bartleby.com/cgi-bin/texis/webinator/62search?"
               + "search_type=full&query=","http://www.bartleby.com/62"],
   ["rogets International","http://www.bartleby.com/cgi-bin/texis/webinator/"
     + "110search?search_type=full&query=","http://www.bartleby.com/110"],
   ["wiktionary","http://en.wiktionary.org/wiki/","#Synonyms"]
 ];
}

//:translate.js
function Translate() {
 this.sizes = ["1","1","1","1","1","1","1","1","1","1","1","1"];
 this.urls=[
  ["altaVista","http://babelfish.altavista.com","*"],
  ["dictionary","http://dictionary.reference.com/translate/text.html","*"],
  ["free text","http://www.freetranslation.com/free","*"],
  ["free web page",
   "http://www.freetranslation.com/free/web.htm","*"],
  ["google","http://www.google.com/language_tools","*"],
  ["langenberg","http://translation.langenberg.com","*"],
  ["promt-online (text)","http://translation2.paralink.com","*"],
  ["systran","http://www.systransoft.com/index.html","*"],
  ["world lingo","http://www.worldlingo.com/en/products_services/"
   + "worldlingo_translator.html","*"]
 ];
}

//:travel.js
function Travel() {
this.urls=[
["air","",""],["ground","",""],["lodging","",""],
["search","",""],["water","",""]];

var airus= [
["cargo","airlines.html#cargo"],["passenger","airlines.html#us"]];

var airforeign= [
["africa", "airlines.html#africa"],["america, central","airlines.html#centrlam"],
["america, north","airlines.html#northam"],["america, south","airlines.html#southam"],
["asia, east","airlines.html#eastas"],["asia, south","airlines.html#southas"],
["asia, southeast","airlines.html#southeastas"],["australia area","airlines.html#au"],
["caribbean","airlines.html#carib"], ["europe, east","airlines.html#easteu"],
["europe - west","airlines.html#westeu"],["mideast","airlines.html#mideast"]];

var airports = [
["lists", "airports.html"],["alabama","airports.html#al"],
["alaska (a-c)","airports.html#ak"],["arkansas","airports.html#ar"],
["arizonia","airports.html#az"],["california","airports.html#ca"],
["colorado","airports.html#co"],["connecticut","airports.html#ct"],
["delaware","airports.html#de"],["d.c.","airports.html#dc"],
["florida","airports.html#fl"],["georgia","airports.html#ga"],
["hawaii","airports.html#hi"],["idaho","airports.html#id"],
["illinois","airports.html#il"],["indiana","airports.html#in"],
["iowa","airports.html#ia"],["kansas","airports.html#ks"],
["kentucky","airports.html#ky"],["louisiana","airports.html#la"],
["maine","airports.html#me"],["maryland","airports.html#md"],
["massachusetts","airports.html#ma"], ["michigan","airports.html#mi"],
["minnesota","airports.html#mn"],["mississippi","airports.html#ms"],
["missouri","airports.html#mo"],["montana","airports.html#mt"],
["nevada","airports.html#nv"],["new hampshire","airports.html#nh"], 
["new jersey","airports.html#nj"],["new mexico","airports.html#nm"],
["new york","airports.html#ny"], ["north carolina","airports.html#nc"],
["north dakota","airports.html#nd"],["ohio","airports.html#oh"],
["oklahoma","airports.html#ok"], ["oregon","airports.html#or"],
["pennsylvania","airports.html#pa"],["rhode island","airports.html#ri"],
["south carolina","airports.html#sc"],["south dakota","airports.html#sd"],
["tennesee","airports.html#tn"],["texas","airports.html#tx"],
["utah","airports.html#ut"],["vermont","airports.html#vt"],
["virginia","airports.html#vi"],["washington","airports.html#wa"],
["west virginia","airports.html#wv"],["wisconsin","airports.html#wi"],
["wyoming","airports.html#wy"]];

var autorental = [
["alamo","http://alamo.com"],["avis","http://avis.com"],
["budget","http://budget.com"],["dollar","http://dollar.com"],
["enterprise","http://enterprise.com"],["hertz","http://hertz.com"],
["national","http://nationalcar.com"],["thrifty","http://thrifty.com"]];

var cruiselines = [
["american cruise lines","http://americancruiselines.com"],
["carnival cruise line","http://carnivalcruise.com"],
["celebrity cruises", "http://celebritycruises.com"],
["clipper cruise line","http://clippercruise.com"],
["cunard cruise lines","http://cunard.com"],
["crystal cruises","http://crystalcruises.com"],
["disney cruise line","http://disneycruise.disney.go.com"],
["holland america line","http://hollandamerica.com"],
["louis cruise lines","http://louiscruises.com"],["norwegian cruise line","http://ncl.com"],
["princess cruises","http://princess.com"],["royal caribbean","http://royalcaribbean.com"],
["seabourn cruise line","http://seabourn.com"]];

var ferries = [
["national","ferries.html"],["east","ferries.html#east"],
["midwest","ferries.html#midwest"],["west","ferries.html#west"]];

var hotellist = [
["ehotelier","ehotelier.com/browse/chains.php"],["http://hospitality net",
 "http://hospitalitynet.org/list/1-10/154000431.search?query=hotel+chains"],
["hostels","http://hostels.com"],["hostel world","http://hostelworld.com"],
["hostelling international","hiayh.org"],["hostelz (reviews)","http://hostelz.com"],
["hotel chains online",  "http://hotel-chains-online.com"],
["hotel magazine top 300","http://hotelsmag.com/archives/2006/07/sr/giants.pdf"],
["hotel travel","http://hoteltravel.com"],
["pets welcome","http://petswelcome.com/milkbone/hotchains.html"],
["preferred hotels & resorts","http://preferredhotels.com"],
["top 50 hotel companies","http://ahla.com/products_info_center_top50.asp"],
["travel & leisure top 100","http://travelandleisure.com/worldsbest/2006/results.cfm?cat=hotels"],
["trips with pets","http://tripswithpets.com/pet_friendly_hotel_chains.asp"],
["world leading hotels","http://lhw.com"],["world small luxury hotels","http://slh.com"]]; 

var trains = [
["national","trains.html#national"],["midatlantic","trains.html#midat"],
["midwest","trains.html#midwest"],["new england","trains.html#neweng"],
["rocky mountain","trains.html#rocky"],["south","trains.html#south"],
["south atlantic","trains.html#southat"],["southwest","trains.html#southwest"],
["west","trains.html#west"]];

var transit = [
["midatlantic","transit.html#midat"],["midwest","transit.html#midwest"],
["new england","transit.html#neweng"],["south","trainsit.html#south"],
["south atlantic","transit.html#southat"],["southwest","transit.html#southwest"],
["west","transit.html#west"]];


var rush = [
["hotwire","http://hotwire.com"],["last minute travel","http://lastminutetravel.com"],
["site 59","http://site59.com"]];

var portals = [
["Air Gorilla","http://airgorilla.com"],["All Hotels","http://all-hotels.com"],
["Booking Buddy","http://bookingbuddy.com"],
["Booking Wiz","http://bookingwiz.com"],["Cheap Air","http://cheapair.com"],
["Cheap Flights","http://cheapflights.com"],["Cheap Tickets","http://cheaptickets.com"],
["Expedia","http://expedia.com"],["Hotel Guide","http://hotelguide.com"],
["Hotels Travel","http://hotelstravel.com"],["Hotels.com","http://hotels.com"],
["Kayak","http://www.Kayak.com"],["MSN Travel","http://travel.msn.com"],
["Orbit","http://orbitz.com"],["Priceline","http://priceline.com"],
["QIXO","http://qixo.com"],["Sidestep","http://www.sidestep.com"],
["Smarter Travel","http://smartertravel.com"],["Travel Hero","http://travelhero.com"],
["Travel-Websites","http://travel-websites.com"],["Travelocity","http://travelocity"],
["Trip Advisor","http://tripadvisor.com"],["Which Budget","http://www.whichbudget.com"],
["Wholesale Fares","http://wholesale-fares.com"],["Yahoo","http://yahoo travel.yahoo.com"]];
var guides = [
["Lonely Planet","http://lonelyplanet.com"],["Fodor's","http://fodors.com"],
["Frommer's","http://frommers.com"],["World Travel Guide","http://worldtravelguide.net"]];

this.travelCategories = [
[["airports", airports],["airlines - foreign", airforeign],
["airlines - usa", airus]],[["auto rental", autorental],["trains", trains],
 ["transit",transit]],
 [["hotel list", hotellist]],[["guides", guides],["portals", portals], ["last minute", rush]],
 [["cruise lines", cruiselines], ["ferries",ferries]]];

this.useDefaultInput = false;
this.valueDefaults[0] = "0";
this.valueDefaults[1] = "0";
this.sizes = ["5","5","1","1","1","1","1","1","1","1","1","1"];
this.searchLists[0] = [""];
this.searchLists[1] = [""];
this.lastSearchSelect = -1;
this.lastCatSelect = "-1";

Travel.prototype.setSizes = function(ptr, curVals) {
this.searchLists[0].length = 0;
this.searchLists[1].length = 0;
for (var i = 0; i < this.travelCategories[ptr].length; i++) {
this.searchLists[0][i] = this.travelCategories[ptr][i][0];
}
var catPtr = parseInt(curVals[0]);
//kluge

if (ptr >= this.travelCategories.length) {
   ptrr = 0;
}

if (catPtr >= this.travelCategories[ptr].length) {
   catPtr = 0;
}

for (var i = 0; i < this.travelCategories[ptr][catPtr][1].length; i++) {
this.searchLists[1][i] = this.travelCategories[ptr][catPtr][1][i][0];
}
 
if (this.lastSearchSelect == -1) {
this.lastCatSelect = curVals[0];
this.lastSearchSelect = ptr;
}
}

Travel.prototype.customize = function(ptr, curVals, labels, inputs, lists,
typeBut, moreBut, addons) {
if (curVals[0] == this.lastCatSelect
&& this.lastSearchSelect == ptr) { return; }
if (this.lastSearchSelect != ptr) { curVals[0] = 0;  }
this.setSizes(ptr, curVals);

for(var i = lists[1].options.length - 1; i >= 0; i--) {
lists[1].remove(i);
}
for (var i=0; i < this.searchLists[1].length; ++i){
addOption(lists[1], this.searchLists[1][i], "");
}
lists[1].selectedIndex = 0;
if (this.lastSearchSelect == ptr) { this.lastCatSelect = curVals[0];
} else {
this.lastSearchSelect = ptr;
this.lastCatSelect = "0";
for(var i = lists[0].options.length - 1; i >= 0; i--) {
  lists[0].remove(i);
}
for (var i=0; i < this.searchLists[0].length; ++i){
 addOption(lists[0], this.searchLists[0][i], "");
}
lists[0].selectedIndex = 0;
}
}
Travel.prototype.invoke = function(ptr, curVals) {
window.location = this.travelCategories[ptr][curVals[0]][1][parseInt(curVals[1])][1]; 
}
}

//:videos.js
function Videos() {
 var general = [
  ["altaVista","altavista.com/video/results?q=",""],
  ["aol",  "video.aol.com/searchresults?query=",""],
  ["blinkX","searchus.blinkx.com/tv/search.do?query=",""],
  ["dogpile","dogpile.com/info.dogpl/search/multimedia/",""],
  ["goFish","gofish.com/videos.gfp?searchFor=videos&keyword=",""],
  ["google","http://video.google.com/videosearch?q=",""],
  ["live digital","livedigital.com/video","*"],
  ["msn","video.msn.com","*"],
  ["my space","vidsearch.myspace.com/index.cfm?fuseaction=vids.fullsearch","*"],
  ["webcrawler","msxml.webcrawler.com/info.wbcrwl/search/multimedia/",""],
  ["yahoo","video.search.yahoo.com/search/video?p=",""],
  ["youTube","youtube.com/results?search_query=",""],
  ["zippy","zippyvideos.com/video_search.z?q=",""]];
 var humor = [["comedy central","comedycentral.com/motherload","*"],
  ["jibjab","jibjab.com","*"],
  ["stupid videos","stupidvideos.com/search_results.php?category=0&searchTerm=",""]];
 var music = [
  ["music box","sonybmg.com/musicbox/mb2/home.html","*"],   
  ["mtv","mtv.com/overdrive/?launchedFrom=/music/","*"],
  ["vh1","vh1.com/shows","*"],
  ["yahoo music","search.music.yahoo.com/search/?m=video&p=",""]];
 var news = [
  ["ap",  "video.ap.org/v/en-ap/v.htm","*"],
  ["cbs news",  "cbsnews.com/stories/2005/09/26/search/main886284.shtml?source=cbsvideo&type=any&searchString=",""],
  ["cnn",  "cnn.com/video","*"], ["msnbc","msnbc.msn.com/id/8004316","*"],
  ["reuters","today.reuters.com/tv/videoChannel.aspx","*"],
  ["sky news","search.sky.com/search/skynews/results/1,,,00.html?TYPE_REF=video&QUERY=",""],
  ["yahoo news","news.search.yahoo.com/news/search?c=av&p=",""]];
 var sports = [
  ["basketball spotlight",  "basketballspotlight.net/Website/Html/Highlight%20Index(HSSM).html","*"],
  ["cbs sportsline","sportsline.com/video","*"],
  ["cnn/si almanac","sportsillustrated.cnn.com/almanac/video","*"],
  ["live sports","www.livesportsvideo.com","*"],["nba","www.nba.com/video","*"],
  ["ncaa","www.ncaasports.com/video","*"]];
 var tv = [["vh1","vh1.com/shows","*"]];
 this.videoCategories = [general, humor, music, news, sports, tv];
 this.useDefaultInput = false;
 this.valueDefaults[0] = "0";
 this.sizes = ["5","1","1","1","1","1","1","1","40","1","1","1"];
 this.searchLists[0] = [""];
 this.lastSearchSelect = -1;
 this.lastCatSelect = "-1";
 this.urls=[
    ["General",  "",""], ["Humor",  "",""], ["Music",  "",""],
    ["News",  "",""],    ["Sports",  "",""],    ["TV",  "",""]];
 Videos.prototype.setSizes = function(ptr, curVals) {
  this.searchLists[0].length = 0;
  for (var i = 0; i < this.videoCategories[ptr].length; i++) {
   this.searchLists[0][i] = this.videoCategories[ptr][i][0];
  }
  var catPtr = parseInt(curVals[0]);
  if (this.lastSearchSelect == -1) {
   this.lastCatSelect = curVals[0];
   this.lastSearchSelect = ptr;
  }
 }
 Videos.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
  if (curVals[0] == this.lastCatSelect && this.lastSearchSelect == ptr) { return; }
  if (this.lastSearchSelect != ptr) { curVals[0] = 0;  }
  this.setSizes(ptr, curVals);
  if (this.lastSearchSelect == ptr) { this.lastCatSelect = curVals[0];
  } else {
   this.lastSearchSelect = ptr;
   this.lastCatSelect = "0";
   for(var i = lists[0].options.length - 1; i >= 0; i--) {
    lists[0].remove(i);
   }
   for (var i=0; i < this.searchLists[0].length; ++i){
    addOption(lists[0], this.searchLists[0][i], "");
   }
   lists[0].selectedIndex = 0;
  }
 }
 Videos.prototype.invoke = function(ptr, curVals) {
     var catPtr = parseInt(curVals[0]);
     var locator = this.videoCategories[ptr][catPtr][1];
     if (this.videoCategories[ptr][catPtr][2] != "*") { locator += curVals[8]; }
     window.location = "http://" + locator;
 }
}

//:weather.js
function Weather() {
 this.useDefaultInput = false;
 this.valueDefaults = ["","","","","","","0","","","","",""];
 this.labels = ["","","","","", '<a href="http://zip4.usps.com/zip4/'
  + 'welcome.htm"> zip</a> or city', " state","","","","",""];
 this.sizes = ["1","1","1","1","1","17","5","1","1","1","1","1"];
 this.searchLists = [null, null, null, null, null, null, states,
  null, null, null, null];
 this.urls=[
  ["accuweather",  "http://accuweather.com/index-forecast.asp?" 
                   + "zipcode=#ZipCity#","http://accuweather.com"],
  ["cnn","http://www.cnn.com/WEATHER/","*"],
  ["intellicast",  "http://www.intellicast.com","*"],
  ["national weather service","http://www.weather.gov/","*"],
  ["usa today",  "http://asp.usatoday.com/weather","*"],
  ["weather channel","http://www.weather.com/weather/local/#ZipCity#",""],
  ["wunderground","http://www.wunderground.com/cgi-bin/findweather/"
                + "getForecast?query=#ZipCity#",""],
  ["yahoo","http://weather.yahoo.com","*"]
 ];
 Weather.prototype.invoke = function(ptr, curVals) {
  var weatherLocator;
  if (this.urls[ptr][2] == "*") { weatherLocator = this.urls[ptr][1];
  } else {
   var cityZip = trim(curVals[5]);
   if (cityZip.length == 0) { weatherLocator = this.urls[ptr][2];
   } else {
    weatherLocator =  this.setCityZip(ptr, curVals[6], cityZip, this.urls[ptr][1]);
   }
  }
  window.location = weatherLocator;
 }
}

//:web.js
function Web() {
 this.urls=[
   ["address:","",""],
   ["altaVista","altavista.com/web/results?itag=ody&q=",""],
   ["ask",  "ask.com/web?q=",""],
   ["business.com",  "business.com/search/rslt_default.asp?"
                + "vt=all&type=web&query=",""],
   ["google","google.com/search?hl=en&q=",""],
   ["lookSmart","search.looksmart.com/p/search?free=1&qta=1&qt=",""],
   ["lycos",
    "search.lycos.com/default.asp?loc=searchbox&tab=web&query=",""],
   ["msn","search.msn.com/results.aspx?q=",""],
   ["search","search.com/search?tag=se.fd.box.main.search&q=",""],
   ["webCrawler","webcrawler.com/info.wbcrwl/search/web/",""],
   ["yahoo","search.yahoo.com/search?p=",""]
 ];
 this.sizes = ["50","1","1","1","1","1","1","1","1","1","1","1"];
 Web.prototype.setSizes = function(ptr, curVals) {
  if (ptr == 0) { 
   this.sizes[0]  = "50";
   this.sizes[8]  = "1";
  } else {
   this.sizes[0] = "1";
   this.sizes[8] = "50";
  }
 }
 Web.prototype.customize = function(ptr, curVals, labels, inputs, lists, typeBut, moreBut, addons) {
  if (ptr == 0) { 
   this.sizes[0]  = "50";
   this.sizes[8]  = "1";
   inputs[8].style.display = "none";
   inputs[0].size = "50"; 
   inputs[0].style.display = "";
  } else {
   this.sizes[0] = "1";
   this.sizes[8] = "50";
   inputs[0].style.display = "none";
   inputs[8].size = "50"; 
   inputs[8].style.display = "";
  }
 }                              
 Web.prototype.invoke = function(ptr, curVals) {
  var locator = this.urls[ptr][1];
  if (this.urls[ptr][2] != "*") {
   locator = locator + curVals[ptr == 0 ? 0 : 8] + this.urls[ptr][2];
  } 
  this.showWindow(locator);
 }
}

function padout(number) {
   return (number < 10) ? '0' + number : number;
}

String.prototype.toProperCase = function() {
  return this.toLowerCase().replace(/^(.)|\s(.)/g, 
      function($1) { return $1.toUpperCase(); });
}

function toProperCase(str) {
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

function showToggle(setOn, divId) {
   document.getElementById(divId).style.display =  setOn ? "" : "none";
}

function shoHide(caller, imgOn, imgOff, divId) {

   atSplit = divId.indexOf("|");
   divId2 = atSplit == -1 ? "" : divId.substring(atSplit + 1);
   if (atSplit > -1) { divId = divId.substring(0, atSplit); }
   divNow = document.getElementById(divId);
   if (divNow.style.display == "") {
      divNow.style.display = "none";
      if (atSplit > -1) { document.getElementById(divId2).style.display = "none"; }
      caller.src = imgOn;
      caller.title = caller.title.replace(/hide/, "show");
   } else {
      divNow.style.display = "";
      if (atSplit > -1) { document.getElementById(divId2).style.display = ""; }
      caller.src = imgOff;
      caller.title = caller.title.replace(/show/, "hide");
   }
}
