function sendRequest(){

  url  = encodeURI(arguments[0]);

	f    = (arguments.length == 1) ? 'showResults' : arguments[1];
	
	if (window.XMLHttpRequest) {
		xmlr[f] = new XMLHttpRequest();
		xmlr[f].onreadystatechange = new Function(f+'(xmlr[f])');
		xmlr[f].open("GET", url, true);
		xmlr[f].send(null);
	} else if (window.ActiveXObject) {
		xmlr[f] = new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlr[f]) {
			xmlr[f].onreadystatechange = new Function(f+'(xmlr[f])');
			xmlr[f].open("GET", url, true);
			xmlr[f].send();
		}
  }
	return false;
}


function showCal(r){
	if(r.readyState == 4){
    if(r.status == 200){
			hd           = document.getElementById('cal');
			var ar       = r.responseXML.getElementsByTagName('prev');
			var html     = (ar.length>0) ? '<a href="#" id="prev_cal" onclick="this.blur();return sendRequest(\'/cal-xml.php?db=barnaby&table=rlog&day='+ar[0].firstChild.nodeValue+'\',\'showCal\');">previous month</a>' : '';
			html        += r.responseXML.getElementsByTagName('thisMonth')[0].firstChild.nodeValue+' '+r.responseXML.getElementsByTagName('thisYear')[0].firstChild.nodeValue;
			ar           = r.responseXML.getElementsByTagName('next');
			html        += (ar.length>0) ? '<a href="#" id="next_cal" onclick="this.blur();return sendRequest(\'/cal-xml.php?db=barnaby&table=rlog&day='+ar[0].firstChild.nodeValue+'\',\'showCal\');">next month</a>' : '';
			hd.innerHTML = html;
			
			tbl          = document.getElementById('rlogByDay').getElementsByTagName('TBODY')[0];
			ar           = r.responseXML.getElementsByTagName('week');

			while(tbl.rows.length > ar.length){
				tbl.deleteRow(tbl.rows.length-1);
			}
			
			while(tbl.rows.length < ar.length){
				tbl.insertRow(tbl.rows.length);
				for(var i=0;i<7;i++){
					tbl.rows[tbl.rows.length-1].insertCell(i);
				}				
			}

			for(var i=0;i<ar.length;i++){
				cells = ar[i].getElementsByTagName('cell');
				for(var j=0;j<tbl.rows[i].cells.length;j++){
				
					if(cells[j].lastChild.nodeName == 'date'){
						html = '<a href="#" onclick="return sendRequest(\'/searchRlog.php?day='+cells[j].lastChild.firstChild.nodeValue+'\',\'showByDate\');">'+cells[j].firstChild.firstChild.nodeValue+'</a>';
					}
					else {
						html = cells[j].firstChild.hasChildNodes() ? cells[j].firstChild.firstChild.nodeValue : '';
					}
					
					tbl.rows[i].cells[j].innerHTML = html;
				}
			}
		}
	}
}

function showCal1(r){
	if(r.readyState == 4){
    if(r.status == 200){
			var right   = document.getElementById('right');
			right.innerHTML = r.responseText + right.innerHTML;
		}
	}
}

function showByDate(r){
	if(r.readyState == 4 && r.status == 200){
		var title = r.responseXML.getElementsByTagName('title')[0].firstChild.nodeValue;
		var ar    = r.responseXML.getElementsByTagName('run');
		var field = new Array('time','distance','comments');
		var fVal  = new Array(false,false,false);
				
		var html  = '<tr>';
		if(r.responseXML.getElementsByTagName('time').length>0){
			html   += '<td></td>';
			fVal[0] = true;
		}
		if(r.responseXML.getElementsByTagName('distance').length>0){
			html   += '<th>miles</th>';
			fVal[1] = true;			
		}		
		if(r.responseXML.getElementsByTagName('comments').length>0){
			html   += '<th>comments</th>';
			fVal[2] = true;			
		}		
		html     += '</tr>';


		for(var i=0;i<ar.length;i++){
			html += '<tr>';		
		  for(var j=0;j<field.length;j++){
				if(ar[i].getElementsByTagName(field[j]).length>0){	
				  html += '<td class="tdByDateC'+j+'">'+ar[i].getElementsByTagName(field[j])[0].firstChild.nodeValue+'</td>';
				}
				else {
					html = fVal[j] ? (html+'<td></td>') : html;
				}
			}
			html += '</tr>';			
		}		
		
		if(r.responseXML.getElementsByTagName('week').length>0){
			var w = r.responseXML.getElementsByTagName('week')[0];
			var a = '<a class="arrow" href="/main/rlog?'+w.getAttribute('date')+'">view the entire week of '+w.firstChild.nodeValue+'</a>';
		}
	
		// extra div for ie, naturally
		var tbl         = document.createElement('div');
		tbl.innerHTML   = '<table class="byDate">'+html+'</table>'+a;
		
		var mvdTrue = false;
		var ar = document.getElementsByTagName('div');
		for(var i=0;i<ar.length;i++){
			if(ar[i].className.indexOf('mvd') != -1){
				mvdTrue = true;
			}
		}
		
		if(mvdTrue){
			var mvdtop    = (mvdar[mvdar.length-1].top)+5;
			var mvdleft   = (mvdar[mvdar.length-1].left)+5;		
		}
		else{
			var content   = document.getElementById('content');
			var mvdtop    = content.offsetTop;
			var mvdleft   = content.offsetLeft;		
		}
		
		mvdar[mvdar.length] = new mvd(mvdar.length,title,mvdtop,mvdleft,100,400,tbl);
		mvdar[mvdar.length-1].setCurrent();
  }
}