var scripts = document.getElementsByTagName('script');
var myScript = scripts[ scripts.length - 1 ];
var params = parseQuery( myScript.src.replace(/^[^\?]+\??/,'') );
var unit=params['unit'];
var title=params['title'];
var tt='Public Education Course Schedule';

if(title) {
  if(title=='0') {
    st=false;
  } else if(title == '' || title=='1') {
    tt='Public Education Course Schedule';
    st=true;
  } else {
    tt=title;
    st=true;    
  }
} else {
  tt='Public Education Course Schedule';
  st=true;
}

  
var cols = 9;
if(params['yg']=='1') yg=1;
else yg=0;
if(params['mg']=='1') mg=1;
else mg=0;
if(params['ug']=='0') ug=0;
else ug=1;
if(params['cg']=='1') cg=1;
else cg=0;

if(params['ys']=='1') ys=1;
else ys=0;
if(params['ms']=='1') ms=1;
else ms=0;
if(params['us']=='1') us=1;
else us=0;
if(params['cs']=='1') cs=1;
else cs=0;

if(params['cf']=='0') cf=0;
else cf=1;
if(params['sf']=='1') sf=1;
else sf=0;
if(params['af']=='1') af=1;
else af=0;
if(params['rf']=='1') rf=1;
else rf=0;
if(params['lf']=='0') lf=0;
else lf=1;
if(params['pf']=='1') pf=1;
else pf=0;

w('<table border="0" cellpadding="0" cellspacing="0" align="center"><tr><td>');
if(st) w('<div id="scheduleTitle">'+tt+'</div>');
w('  <table border="0" cellpadding="0" cellspacing="1" align="center" bgcolor="navy"><tr><td>');
w('    <table border="0" cellpadding="2" cellspacing="0" align="center width="100%">');

var cls = '';
var rs = 0;
var _u = "*";
var _y = "*";
var _m = "*";
var _c = "*";
var fy=true;
var fm=true;
var fu=true;
var fc=true;
var fr=true;
var dt = new Date()
lmd=0;
if(!lf) cols--;
if(!pf) cols--;  
if(!cf) cols--;
if(!sf) cols--;
if(!af) cols--;
if(!rf) cols--;
if (rss) {
  for (var i=0; i<rss.length; i++) { 
      if (rss[i].updatedate > lmd) lmd = rss[i].updatedate;
      u = rss[i].unit;
      div = u.substr(0,5);
      dist = u.substr(0,3);
      if ((unit==u || unit==div || unit==dist) && unit != '') {
        hp = false;
        dt = rss[i].startdate;
        y = parseInt(dt.substr(0,4),10);
        m = parseInt(dt.substr(4,2),10)-1;  
        c = rss[i].name;
        tu = u;
        tm = m;
        ty = y;
        tc = c; 
        if(cls=='scheduleAlternateA') cls = 'scheduleAlternateB';
        else cls = 'scheduleAlternateA';
        if(yg && _y!=y) {
    	  pg(fy, "Year", 'Year: '+y, ys, y);
          fy = false;
          fr = false;
    	  hp = true;
	      tm = "";
      	  tu = "";
	      tc = "";
        }
        if(mg && _m!=m) {
      	  pg(fm, "Month", mn(m) + ' ' + y, ms, m);
  	      fm = false;
	      fr = false;
	      hp = true;
	      tu = "";
	tc = "";
  } 
  if(ug && _u!=u) {
  	pg(fu, "Unit", 'UNIT: '+u, us, u);
    fu = false;
	fr = false;
    hp = true;
	tc = "";
  }
  if(cg && _c!=c) {
    pg(fc, "Course", 'COURSE: '+c, cs, c);
    fc = false;
	fr = false;
    hp = true;
  }
  if(fr || hp) {
	fr = false;
	hp = false;  
	cls = 'scheduleAlternateA';
	rh();
  }
    
    pc(rss);
    _u = tu;
    _y = ty;
    _m = tm;  
    _c = tc;
  }  
}
var dt = new Date()
dt.setTime(lmd*1000);
}
else
{   
    w('<div id="scheduleNone">' );
    w('<tr id="scheduleNone">');
    w('<td id="scheduleNone" colspan="'+cols+'">&nbsp;No upcoming classes have been scheduled at this time, Please check back at a later date.&nbsp;</td>');
    w('</tr>');
    w('</div>');  
}


w('      </table>');
w('  </td></tr></table>');
w('</td></tr>');
w('<tr><td align=right id="scheduleUpdateDate" class="scheduleUpdateDate">Schedule Last Updated: '+showDate(dt, true)+' '+showTime(dt, true)+'</td></tr>');
w('</table>');


function parseQuery ( query ) {
   var Params = new Object ();
   if ( ! query ) return Params; // return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) continue;
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function mn(m) {
  var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
  return months[m];
}

function showDate(dt, t) {
  var days= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];

  var monthnum = dt.getMonth();
  var monthname = mn(monthnum);
  var daynum = dt.getDate();
  var weekdaynum = dt.getDay();
  var weekdayname = days[weekdaynum];
  var year        = dt.getFullYear();
  if(t)
    return weekdayname + ' ' + monthname + ' ' + (daynum<10?"0"+daynum:daynum) + ', ' + year;
  else 
    return weekdayname.substr(0,3) + ' ' + monthname.substr(0,3) + ' ' + (daynum<10?"0"+daynum:daynum) + ', ' + year;
} 

function showTime(dt, t) {
  var h = dt.getHours();
  var m = dt.getMinutes();
  var ampm = h<12?"AM":"PM";
  
  h = h==0?12:h;
  h = h > 12?h-12:h;
    
  h = h<10?"0"+h:h;
  m = m<10?"0"+m:m;

  return h+":"+m+"" + ampm;
} 

function printClass(cls, name, dt, st, et) {
  var html = "";

  var y = parseInt(dt.substr(0,4), 10);
  var m = parseInt(dt.substr(4,2), 10)-1;
  var d = parseInt(dt.substr(6,2), 10);           
  var cs = cols - 3;
  if(lf) cs--;
  if(pf) cs--;  
  w('<tr class="ClassRow" id="'+cls+'">');
  w('<td class="ClassCell" nowrap valign="top">&nbsp;&nbsp;&nbsp;'+name+'&nbsp;</td>'); 
  w('<td class="ClassCell" nowrap valign="top">&nbsp;'+showDate(new Date(y,m,d), false)+'&nbsp;</td>'); 
  w('<td class="ClassCell" nowrap valign="top">&nbsp;'+showTime(new Date(y,m,d,st.substr(0,2),st.substr(2,2)), false)+'-'+showTime(new Date(y,m,d,et.substr(0,2),et.substr(2,2)), false)+'&nbsp;</td>'); 
  if (cs > 0)
    w('<td class="ClassCell" colspan="'+cs+'">&nbsp;</td>');       
  w('</tr>'); 
}

function w(s){
  document.write(s);
}

function rh() {
  w('<tr class="scheduleHeader" id="scheduleHeader">');
  w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Session&nbsp;</th>');
  w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Date&nbsp;</th>');
  w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Time&nbsp;</th>');
  if(lf) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Location&nbsp;</th>');
  if(pf) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Contact&nbsp;</th>');  
  if(cf) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Cost&nbsp;</th>');
  if(sf) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Status&nbsp;</th>');
  if(af) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Availability&nbsp;</th>');
  if(rf) w('<th class="scheduleHeader" id="scheduleHeader">&nbsp;Registration&nbsp;</th>');
  w('</tr>');
}

function pg(f, s, txt, sep, l) {
  if (sep) 
    if (!f)
      w('<tr class="scheduleGroup" id="scheduleGroup'+s+'Spacer" ><td class="scheduleGroup" colspan="'+cols+'" id="scheduleGroup'+s+'Spacer">&nbsp;</td></tr>');        
  w('<tr class="scheduleGroup" id="scheduleGroup'+s+'"><td class="scheduleGroup" colspan="'+cols+'" id="scheduleGroup'+s+'" >   <table id="scheduleGroup'+s+'" border=0 cellpadding=3 cellspacing=0 ><tr id="scheduleGroup'+s+'"><td id="scheduleGroup'+s+'"><a name="'+l+'"></a>'+txt+'</td></tr></table>  </td></tr>');
}

function pc(rss) {
  w('    <tr class="'+cls+'" id="'+cls+'">');  
  w('    <td nowrap colspan="3" id="scheduleCourseName" class="scheduleCourseName" >&nbsp;COURSE: '+rss[i].number+' - ');
  if (rss[i].courseurl != '') {
    w('<a class="scheduleCourseName" id="scheduleCourseName" target="_blank" title="Click for additional details on the course including topics taught." href="'+rss[i].courseurl+'">'+rss[i].name+'</a>')
  } else 
    w(rss[i].name);
  cmt = rss[i].comment;
  if (cmt)
    if (cmt.length > 0)
      w('&nbsp;<img src="http://www.a092.uscgaux.info/wsdl/images/comment.gif" alt="'+cmt+'" width="15">');  
  w('&nbsp;</td>');

  rs = rss[i].sessions;  
  if (rs >= 2) {
    dd = rs;
    dd++;	  
  } else
  	dd=2;

  if (lf) {  	
	  w('<td class="scheduleLocation" id="scheduleLocation" rowspan='+dd+'>&nbsp;');  	    	  
	  if (rss[i].location != '') {
	    if (rss[i].locationurl != '') {
	      w('<a href="'+rss[i].locationurl+'" target="_blank"><font id="scheduleLocationName">'+rss[i].location+'</font></a><br>');
	    } else {
	      w(rss[i].location+'<br>');
	    }
	    w(rss[i].address1+'<br>');
	    if (rss[i].address2 != '') 
		  w(rss[i].address2+'<br>');
	    w(rss[i].city+', '+rss[i].state+'<br>');
	    if (rss[i].directionurl != '') 
		  w('<a href="'+rss[i].directionurl+'" target="_blank">Map</a>');
	  	}
	  	w('</td>');
	  	}
    if(pf) {
    	w('<td class="scheduleContact" id="scheduleContact" rowspan='+dd+'>');
    	if (rss[i].email != '') {
    	  if (rss[i].contact == '') cn = rss[i].email;
    	  else cn = rss[i].contact;
          w('&nbsp;<a href="mailto:'+rss[i].email+'&subject=PE Course Web Request">'+cn+'</a>&nbsp;');
        }
        else if (rss[i].contact != '') 
  		  w('&nbsp;'+rss[i].contact+'&nbsp;');
  		
  		if (rss[i].phone!= '') {
     	  ph= rss[i].phone;
  		  are= ph.substr(0,3);
  		  exc= ph.substr(3,3);
  		  ext= ph.substr(6,4);  	
  		  //ex = ph.substr(10);  		  	  
          w('&nbsp;<br>('+are+') '+exc+'-'+ext+'&nbsp;');
  		}
  		if (rss[i].contacturl != '') {
          w('<br>&nbsp;<a href="'+rss[i].contacturl+'">website</a>&nbsp;');  		
  		}
  		w('<br>&nbsp;</td>'); 
  	}
  	if(cf) w('<td class="scheduleCost" id="scheduleCost">&nbsp;$'+rss[i].cost+'&nbsp;</td>');
  	if(sf) w('<td class="scheduleStatus" id="schedule'+rss[i].status.replace(" ", "")+'">&nbsp;'+rss[i].status+'&nbsp;</td>');   
  	if(af) w('<td class="scheduleAvailability" id="scheduleAvailability">&nbsp;'+rss[i].available+' of '+rss[i].seats+'&nbsp;</td>');   
	if(rf) {
	   w('<td class="scheduleRegistration" id="scheduleRegistration" align="center">&nbsp;')
	   if(rss[i].status=='Open') w('<a href="'+rss[i].registrationurl+'?id='+rss[i].key+'">Register Online</a>');
	   w('&nbsp;</td>');     	
	}
  	w('</tr>');;
  	
    ps(cls, rss[i]);
}

function ps(cls, c) {
   var s = new Array();
   s = c.session;
  	if (s != null) {
  	  if (s.length > 0) {
  	    for (var j=0;j<s.length;j++)
	      printClass(cls, s[j].name, s[j].date, s[j].starttime, s[j].endtime);	    
	  } else {
	    printClass(cls, 'Class', c.startdate, c.starttime, c.endtime);
	  }
    } else {
	    printClass(cls, 'Class', c.startdate, c.starttime, c.endtime);
	}
//	    w('<tr id="'+cls+'"><td colspan=3>&nbsp;</td><td colspan=9>&nbsp;</td></tr>')

}