/*<![CDATA[*/
function handleError() {
  return true;
}
window.onerror = handleError;
function getWindowHeight() {
var windowHeight = 0;
if (typeof (window.innerHeight) == 'number') {
    windowHeight = window.innerHeight;
 } else {
   if (document.documentElement && document.documentElement.clientHeight) {
       windowHeight = document.documentElement.clientHeight;
   } else {
        if (document.body && document.body.clientHeight) {
           windowHeight=document.body.clientHeight;
        }
   }
}
var nmenu = document.getElementById('news_menu').offsetHeight;
var nhgt = nmenu + 153; //  54px for padding spaces
var ws = (windowHeight - nhgt);
  if (ws < 360) {
     ws = 360;
  }
document.getElementById('news_stories').style.height=ws+'px';
}
//// START CSS SWITCH
function setActiveStyleSheet(title) {
var i = 0, elm, links = document.getElementsByTagName("link");
auto_refresh(title);
 while (elm = links.item(i++)) {
    if (elm.getAttribute("rel").indexOf("style") != -1 && elm.getAttribute("title")) {
              elm.disabled = true;
              if (elm.getAttribute("title") === title) {
                  elm.disabled = false;
              }
    }
 }
}
function getActiveStyleSheet() {
var i = 0, elm, links = document.getElementsByTagName("link");
 while (elm = links.item(i++)) {
    if (elm.getAttribute("rel").indexOf("style") != -1
        && elm.getAttribute("title")
        && !elm.disabled) return elm.getAttribute("title");
    }
return null;
}
function getPreferredStyleSheet() {
var i = 0, elm, links = document.getElementsByTagName("link");
 while (elm = links.item(i++)) {
    if (elm.getAttribute("rel").indexOf("style") != -1
        && elm.getAttribute("rel").indexOf("alt") == -1
        && elm.getAttribute("title")) return elm.getAttribute("title");
  }
return null;
}
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toUTCString();
  }
  else expires = "";
  document.cookie = name + "=" + value+expires + "; path=/";
}
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
       c = c.substring(1,c.length);
    }
    if (c.indexOf(nameEQ) == 0) {
     return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}
// control for cookied style
     // window.onload = function(e) {
function showStyle() {
  var cookie = readCookie("style");
  var title = cookie? cookie: getPreferredStyleSheet();
  setActiveStyleSheet(title);
}
     // window.onunload = function(e) {
function setStyle() {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}
// end STYLE CONTROL, begin PRELOAD
if (document.images) {
  pic0 = new Image(12,20); 
  pic0.src = "includes/ajax-loader.gif";
  pic1 = new Image(35,35); 
  pic1.src = "swf/earth_bk.swf";
  pic2 = new Image(35,35); 
  pic2.src = "swf/earth_wh.swf"; 
} // begin FLASH LOADER - black or white bgcolor
function floader() {
loader = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" id="small_earth_bk" width="35" height="34">';
if (ac == 'Dark') {
  loader += '<param name="movie" value="swf/earth_bk.swf"><param name="bgcolor" value="#000000">';
 } else {
    loader += '<param name="movie" value="swf/earth_wh.swf"><param name="bgcolor" value="#ffffff">';
 }
loader += '<param name="quality" value="high"><param name="allowscriptaccess" value="samedomain">';
if (ac == 'Dark') {
    loader += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="small_earth_bk" width="35" height="34" src="swf/earth_bk.swf" bgcolor="#000000" quality="high" swliveconnect="true" allowscriptaccess="samedomain">';
 } else {
    loader += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="small_earth_bk" width="35" height="34" src="swf/earth_wh.swf" bgcolor="#ffffff" quality="high" swliveconnect="true" allowscriptaccess="samedomain">';
 }
loader += '<noembed></noembed></embed></object>';
return loader;
}
// begin XMLHTTPREQUEST
var xmlhttp;
var isOldIE = (document.all && !window.opera)? true:false;
// var isOldIE = (document.all && !window.XMLHttpRequest)? true:false; 
function setReqOldIE() {
 if (window.ActiveXObject) {
  try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch(e) {
       try {   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
       } catch(ee) {
          xmlhttp = false;
        }
    }
 }
return xmlhttp;
}
if (!isOldIE) {
   xmlhttp = new XMLHttpRequest();
}
var ck, newsDiv, musicDiv;
function loadXMLDoc(url) {
if (isOldIE) { xmlhttp=setReqOldIE(); }
ck = url;
newsDiv = document.getElementById("news_stories");
musicDiv = document.getElementById("music");
if (ck == 'content/stations.xml') {
 // link to load stations from loading image if it fails to work on page load
  musicDiv.innerHTML = '<a href="#" onclick="stations(); return false;" border="0"><img src="includes/ajax-loader.gif" id="pic0" width="16" height="16" border="0" alt="Loading..."  /></a>';
 } else {
    floader();
    newsDiv.innerHTML = loader;
 }
if (xmlhttp)  {
   xmlhttp.onreadystatechange = state_Change;
   xmlhttp.open("GET",url,true);
   xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
   xmlhttp.send(null);
 } else {
     alert(navigator.appName+' Does Not Seem To Support HttpRequest');
 }
}
function state_Change() {
 if (xmlhttp.readyState == 4) {
   if (xmlhttp.status == 200)  {
     parseXml(xmlhttp.responseXML);
   } else {
     alert("Problem retrieving XML data:" + xmlhttp.statusText);
   }
 }
}
// PARSE XML RESPONSE
function parseXml(responseXML) {
  var xmlStr = '', story, leng;
  var response = responseXML.documentElement;
// RADIO STATIONS
if (ck == 'content/stations.xml') {
  var nn = response.getElementsByTagName('title')[0].firstChild.data;
  var nl = response.getElementsByTagName('link')[0].firstChild.data;
      nl = nl.replace(/^\s+/g, '').replace(/\s+$/g, '');
      xmlStr ='<a class="ns" href="'+nl+'" title="'+nn+'" target="_blank">'+nn+'</a><br />';
  var stations = response.getElementsByTagName('item');
      leng = stations.length;
      xmlStr += '<span class="sl">'+leng+' Items</span><br /><br />';
    for (var i=0;i<leng;i++) {
          var sn = stations[i].getElementsByTagName('title')[0].firstChild.data;
          var sl = stations[i].getElementsByTagName('link')[0].firstChild.data;
              sl = sl.replace(/^\s+/g, '').replace(/\s+$/g, '');
         xmlStr += '<a class="ms" href="'+sl+'" title="'+sn+'" target="_blank">'+sn+'</a><br />';
          var de =  stations[i].getElementsByTagName('description')[0].firstChild.data;
         xmlStr += '<p style="margin\: 0px\;padding\: 0px\;">'+de+'</p><br />';
    }
musicDiv.innerHTML=xmlStr;
response = '';
xmlStr = '';
} // FLICKR
else if (ck == 'xml/flickr.xml') {
xmlStr = '<a class="sl" href="http://www.flickr.com/photos/">Flickr: Everybody\'s Photos</a><br /><br />';
    story = response.getElementsByTagName('entry');
     leng = story.length;
  xmlStr += '<span class="sl">'+ leng +' Items</span><br /><br />';
   for (var i=0;i<story.length;i++) {
     if ((story[i].getElementsByTagName('content')[0])&&(story[i].getElementsByTagName('content')[0].firstChild)) {
          var content =  story[i].getElementsByTagName('content')[0].firstChild.data;
          xmlStr += '<div class="flickr">'+content+'</div>';
     }
  }
newsDiv.innerHTML = xmlStr;
response='';
}  // GENERAL CONTENT
 else {
  var nname = response.getElementsByTagName('title')[0].firstChild.data;
  var nlink = response.getElementsByTagName('link')[0].firstChild.data;
      nlink = nlink.replace(/^\s+/g, '').replace(/\s+$/g, '');
  xmlStr += '<a class="ns" href="'+nlink+'" title="'+nname+'" target="_blank">'+nname+'</a><br />';
     if (response.getElementsByTagName('lastBuildDate').length == 1) {
          var nbuild = response.getElementsByTagName('lastBuildDate')[0].firstChild.data;
          xmlStr += '<span class="pd">lastBuildDate: '+nbuild+'</span><br />'; 
     }
  // handle HEADER IMAGE
 if (response.getElementsByTagName('image').length == 1) {
     var simg = response.getElementsByTagName('image');
       if ((simg[0].getElementsByTagName('title')[0])&&(simg[0].getElementsByTagName('title')[0].firstChild.data)) {
            var ititle = simg[0].getElementsByTagName('title')[0].firstChild.data;
       }
       if ((simg[0].getElementsByTagName('width')[0])&&(simg[0].getElementsByTagName('width')[0].firstChild.data)) {
            var width = simg[0].getElementsByTagName('width')[0].firstChild.data;
       }
       if ((simg[0].getElementsByTagName('height')[0])&&(simg[0].getElementsByTagName('height')[0].firstChild.data)) {
            var height = simg[0].getElementsByTagName('height')[0].firstChild.data;
       }
       if ((simg[0].getElementsByTagName('url')[0])&&(simg[0].getElementsByTagName('url')[0].firstChild.data)) {
            var url = simg[0].getElementsByTagName('url')[0].firstChild.data;
       }
       if (url) { xmlStr += '<img src="'+url+'" ';
             if ((width)&&(height)) {
             xmlStr += 'width="'+width+'" height="'+height+'" ';
             }
             if (ititle) { xmlStr += 'alt="'+ititle+'" ';
             } else { xmlStr += 'alt="" ';
         }
        xmlStr += ' /><br />';
  }
 } else if (ck == 'xml/slashdot.xml') {  // LOCAL IMAGE FOR SLASHDOT
        url = 'includes/slashdot.gif';
        xmlStr += '<img src="'+url+'" style="margin-top: 4px" /><br />';
 } // end HEADER IMAGE
  story = response.getElementsByTagName('item');
  leng = story.length;
  xmlStr += '<span class="sl">'+ leng +' Items</span><br /><br />';
  newsDiv.innerHTML = xmlStr;
  // newsDiv.onclick = function () { this.parentNode.removeChild(this); };
  for (var i=0;i<story.length;i++) {
    var sname='';
    if ((story[i].getElementsByTagName('title')[0])&&(story[i].getElementsByTagName('title')[0].firstChild)) {
        sname = story[i].getElementsByTagName('title')[0].firstChild.data;
    } else { sname = '.';  // TO CATCH ERROR WITH ROLLINGSTONE FEED
    }
    if ((story[i].getElementsByTagName('link')[0])&&(story[i].getElementsByTagName('link')[0].firstChild)) {
        var slink = story[i].getElementsByTagName('link')[0].firstChild.data;
        slink = slink.replace(/^\s+/g, '').replace(/\s+$/g, '');
    }
    if (sname) { xmlStr = '<a class="ns" href="'+slink+'" title="'+sname+'" target="_blank">'+sname+'</a><br />';
    }
    if ((story[i].getElementsByTagName('guid')[0])&&(story[i].getElementsByTagName('guid')[0].firstChild)) {
       var permaLink = story[i].getElementsByTagName('guid')[0].firstChild.data;
       xmlStr += '<a href="'+permaLink+'"><small class="pw">permaLink</small></a><br />';
    }
    if ((story[i].getElementsByTagName('pubDate')[0])&&(story[i].getElementsByTagName('pubDate')[0].firstChild)) {
       var pubDate = story[i].getElementsByTagName('pubDate')[0].firstChild.data;
       xmlStr += '<small class="ww">published: '+pubDate+'</small><br />';
    }
    if ((story[i].getElementsByTagName('description')[0])&&(story[i].getElementsByTagName('description')[0].firstChild)) {
       var description =  story[i].getElementsByTagName('description')[0].firstChild.data;
       xmlStr += '<p>'+description+'</p><br />';
    }
      // for SLASHDOT
    if ((story[i].getElementsByTagName('content:encoded')[0])&&(story[i].getElementsByTagName('content:encoded')[0].firstChild)) {
       var content =  story[i].getElementsByTagName('content:encoded')[0].firstChild.data;
       xmlStr += '<p>'+content+'</p><br />';
    }
   newsDiv.innerHTML += xmlStr;
   }
}
}
// begin CALENDAR
function fixYear(theDate) {
	var x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}
var now = new Date();
var nowYear = fixYear(now);
// var nowYear = now.getYear();
// if (nowYear < 2000) nowYear = 1900 + nowYear;
var nowMonth = now.getMonth();
var nowDay = now.getDate();



function stationDelay() {
setTimeout('stations()', 1200);
}
function stations() {
loadXMLDoc('content/stations.xml');
}
function displayCalendar() {
var i, d = document;
var month = d.calControl.month.selectedIndex;
var year = d.calControl.year.selectedIndex;
var y = d.calControl.year.options[year].value;
var days = getDaysInMonth(month+1,y);
var firstOfMonth = new Date (y, month, 1);
var startingPos = firstOfMonth.getDay() + 7;
days += startingPos;
mon = [['January'],['February'],['March'],['April'],['May'],['June'],
       ['July'],['August'],['September'],['October'],['November'],['December']];
m = mon[month];
d.getElementById('date').innerHTML = '<h2>'+m+' '+y+'<\/h2>';
d.getElementById('calendar').innerHTML = '<span class="hcal">S<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">M<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">T<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">W<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">T<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">F<\/span>';
d.getElementById('calendar').innerHTML += '<span class="hcal">S<\/span><br clear="all" />';
var j = 1;
for (i = 7;i < startingPos;i++) {
 if (j % 7 == 0)  d.getElementById('calendar').innerHTML += '<br clear="all" />';
 else d.getElementById('calendar').innerHTML += '<span class="cal"> &#160\; <\/span>';
 j++;
}
for (i = startingPos;i < days;i++) {
if (((i-startingPos+1) == nowDay) && (nowYear == y) && (nowMonth == month)) { d.getElementById('calendar').innerHTML += '<span class="day">'+(i-startingPos+1)+'<\/span>';  }
else {
 d.getElementById('calendar').innerHTML += '<span class="cal">'+(i-startingPos+1)+'<\/span>'; }
 if (j % 7 == 0)  d.getElementById('calendar').innerHTML += '<br clear="all" />';
 j++;
}
for (i = days;i < 49;i++) {
if (i % 7 != 0) { d.getElementById('calendar').innerHTML += '<span class="emp"> &#160\; <\/span>';
 }
else if (i % 7 == 0) { // d.getElementById('calendar').innerHTML += '<br />';
  return;
  }
 }
}
function leapYear (Year) { 
if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) return (1);
else
return (0);
}   
function getDaysInMonth(month,year)  {
var days;
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)  days=31;
else if (month==2)  {
if (leapYear (year)==1)  days=29;
else days=28;
}
else days=30;
return (days);
}
// DROP AND DRAG FUNCTION, modified rwedge 9-11-07
// OK Moz IE - require style top, left, position - class=drag
var savedTarget = null,
    orgCursor = null,
    dragOK = false,
    dragXoffset = 0,
    dragYoffset = 0;
function moveHandler(e){
if (e == null) { e = window.event; } 
    if (e.button <= 1 && dragOK){
         savedTarget.style.left = e.clientX - dragXoffset+'px';
         savedTarget.style.top = e.clientY - dragYoffset+'px';
         return false;
    }
}
function cleanup(e) {
document.onmousemove = null;
document.onmouseup = null;
savedTarget.style.cursor = orgCursor;
dragOK = false;
}
function dragHandler(e){
var htype = '-moz-grabbing'; // FF grabbing hand
  if (e == null) { e = window.event; htype = 'move';} 
    var target = e.target != null ? e.target : e.srcElement;
    orgCursor = target.style.cursor;
      if (target.className == "drag") {
           savedTarget = target;       
           target.style.cursor = htype;
           dragOK = true;
           dragXoffset = e.clientX-parseInt(target.style.left);
           dragYoffset = e.clientY-parseInt(target.style.top);
           document.onmousemove = moveHandler;
           document.onmouseup = cleanup;
           return false;
      }
}
document.onmousedown = dragHandler;
// NUMBER VALIDATION FOR ZIPCODE ENTRIES
function validateInt(iString) {
if (!iString || iString.length != 5) {
    return false;
 } else if ((("" + parseInt(iString)) == iString) == false) {
      alert("5 Number ZipCode ONLY\n90120, 68465, etc.");
      document.w.zip.value = "";
      return false;
 }  else {
        loadXMLDoc('weather/xml_weather.pl?zip='+iString);
 }
return false;
}
// NEW WINDOW AND ATTRIBUTES
function win(url,width,height) {
     myFloater1 = window.open(url,'Expanding_Head','scrollbars=yes,toolbar=yes,location=yes,menuebar=yes,resizable=yes,status=no,width='+width+',height='+height+',top='+((screen.availHeight/2)-(height/2))+',left='+((screen.availWidth/2)-(width/2))+',directores=no')
     // myFloater1.location.href = url;
}
// FLASH CLOCK-BLACK AND WHITE BGCOLOR
dark_clock = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" id="analog_clock2" width="82" height="67">';
dark_clock += '<param name="movie" value="swf/analog_clock2.swf"><param name="bgcolor" value="#000000"><param name="quality" value="high"><param name="devicefont" value="true"><param name="allowscriptaccess" value="samedomain">';
dark_clock += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="analog_clock2" width="82" height="67" src="swf/analog_clock2.swf" bgcolor="#000000"  quality="high" swliveconnect="true" allowscriptaccess="samedomain"><noembed></noembed></embed></object>';

light_clock = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" id="analog_clock2" width="82" height="67">';
light_clock += '<param name="movie" value="swf/analog_clock1.swf"><param name="bgcolor" value="#ffffff"><param name="quality" value="high"><param name="devicefont" value="true"><param name="allowscriptaccess" value="samedomain">';
light_clock += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="analog_clock2" width="82" height="67" src="swf/analog_clock1.swf" bgcolor="#ffffff"  quality="high" swliveconnect="true" allowscriptaccess="samedomain"><noembed></noembed></embed></object>';
// SET VAR 'ac' FOR BGCOLOR STATUS AND UPDATE CLOCK
function auto_refresh(obj) {
ac = obj;
fc = (obj == 'Dark')? dark_clock : light_clock;
document.getElementById('clock').innerHTML = fc;
}
// CONTACT FORM - BLACK AND WHITE BGCOLOR
function acontact() {
con = '<div style="text-align: center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" id="ba_max_contact_form" width="371" height="237">';
if (ac == 'Dark') {
con += '<param name="movie" value="swf/ba_max_contact_form0.swf"><param name="bgcolor" value="#000000">';
 }
else {
con += '<param name="movie" value="swf/ba_max_contact_form0w.swf"><param name="bgcolor" value="#ffffff">';
}
con += '<param name="quality" value="high"><param name="allowscriptaccess" value="samedomain">';
if (ac == 'Dark') {
con += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="ba_max_contact_form" width="371" height="237" src="swf/ba_max_contact_form0.swf" bgcolor="#000000" quality="high" swliveconnect="true" allowscriptaccess="samedomain">';
 }
else {
con += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="ba_max_contact_form" width="371" height="237" src="swf/ba_max_contact_form0w.swf" bgcolor="#ffffff" quality="high" swliveconnect="true" allowscriptaccess="samedomain">';
}
con += '<noembed></noembed></embed></object></div>';
document.getElementById("news_stories").innerHTML = con;
}
function ldtime() {
var etime = new Date();
var end_time  = etime.getTime();
var dtime = (end_time - start_time)/1000;
document.getElementById('ldtime').innerHTML=dtime+' sec. ';
}
function iSel() {
var mth = new Array('JAN','FEB','MAR','APR','MAY','JUN',
                    'JUL','AUG','SEP','OCT','NOV','DEC');
  for (var y=0;y<12;y++) {
    document.calControl.month.options[y] = new Option(mth[y],mth[y]);
  }
document.calControl.month.selectedIndex = nowMonth;
var sy = '';
  for (var z = 0, x=1980;x<2026;x++) {
   if (nowYear == x) sy = z;
      document.calControl.year.options[z] = new Option(x,x);
      z++;
  }
document.calControl.year.selectedIndex = sy;
/*  INITIALIZE PAGE */
displayCalendar();
loadXMLDoc('xml/yahoo.xml');
stationDelay();
// lstat();
}
onunload = setStyle;
/*]]>*/

