/*
main
makeTimeend
submitData
td (two decimals)
submitCallback
loaderCallback
*/
var giBlinkMeCt=0;

imgPreload('jarvis_cleanup_.png');


//index.js:external_windowonload()
function main(){
	blinkMe();
	document.getElementById('submit').onclick=submitData;
	document.getElementById('chkset').onclick=function(){
		if(this.checked){
			document.getElementById('chkremove').checked=false;
		}
	}
	document.getElementById('chkremove').onclick=function(){
		if(this.checked){
			document.getElementById('chkset').checked=false;
		}
	}
	document.getElementById('selTimestart').onchange=makeTimeend;
	postDataReturnText('machine_shop_remote_loader_.php','data=data',loaderCallback);
	return;
}//main

function loaderCallback(txt){
	clearRoster();
	if(txt!=''){
		var aTds=txt.split('|');
		for(var i=0;i<aTds.length;++i){
			var aRecs=aTds[i].split(':');
			var id=aRecs.shift();
			sRecs = aRecs.join('<br />');
			var regEx = new RegExp (', ', 'gi') ; 
			sRecs = sRecs.replace(regEx, '<br /><span class="padl">&nbsp;</span>') ;
try{ // dates previous to those in month list on functions file will not have corresponding td's in the roster table
			var obj=document.getElementById(id);
			obj.innerHTML=sRecs;
}
catch(e){}
		}
	}
	document.getElementById('chkset').checked=true;
	document.getElementById('chkremove').checked=false;
	return;
}//loaderCallback

function makeTimeend(){
	var obj=document.getElementById('selTimeend');
	if(obj.childNodes.length>0){
		for(var k=0;k<4;++k){
			for(var i=0;i<obj.childNodes.length;++i){
				obj.removeChild(obj.options[i]);
			}
		}
	}
	var oFragment = document.createDocumentFragment();
	var ts=document.getElementById('selTimestart');
	var timestart=ts.options[ts.selectedIndex].innerHTML;
	var aTimestart=timestart.split(':');
	var thisHour=(aTimestart[0]*1+2)%12;
	thisHour=thisHour!=0?thisHour:12;
	var thisMin=aTimestart[1];
	var ct=0;
	while(thisHour!=5){
		var opt=document.createElement('OPTION');
		opt.innerHTML=new Array(thisHour,':',thisMin).join('');
		opt.value=new Array(td(thisHour),thisMin).join('');
		oFragment.appendChild(opt);
		if(thisMin=='00'){
			thisMin='30';
		}else{
			thisMin='00';
			thisHour=(thisHour+1)%12;
			thisHour=thisHour!=0?thisHour:12;
		}
		++ct;
	}
	obj.appendChild(oFragment);
	return;
}//makeTimeend

function td(ip){
	return ip<10?new Array('0',ip).join(''):ip;
}//td two decimals

function submitCallback(txt){
	if(txt=='over'){
		alert("One or more of the half-hour periods for which you have volunteered are closed.\nThe maximum number of students per each half-hour is four.\nPlease select another period that has less than four students registered in each half-hour segment.\nThank you.");
	}
	postDataReturnText('machine_shop_remote_loader_.php','data=data',loaderCallback);
}


//index.js:external_windowonload()->document.getElementById('submit').onclick=submitData;

function submitData(){
	var email=document.getElementById('txtEmail').value;
	if(email.length<4){
		alert('Please enter email address');
		document.getElementById('txtEmail').focus();
	}else{
		var setremove=document.getElementById('chkset').checked?'set':'remove';
		var name=document.getElementById('txtName').value;
		var oTimestart=document.getElementById('selTimestart');
		var timestart=oTimestart.options[oTimestart.selectedIndex].value;
		var oTimeend=document.getElementById('selTimeend');
		var timeend=oTimeend.options[oTimeend.selectedIndex].value;
		var selClub=document.getElementById('selClub');
		var clubid=selClub.options[selClub.selectedIndex].value;
		var clubname=selClub.options[selClub.selectedIndex].innerHTML;
		var selDte=document.getElementById('selDate');
		var dte=selDte.options[selDte.selectedIndex].value;

		var data=new Array('setremove=',setremove,'&name=',name,'&email=',email,'&clubid=',clubid).join('');

		var ctr=new Array('dte','timestart').join('');
		var tdstart=new Array('td',dte,timestart).join('');
		var tdend=new Array('td',dte,timeend).join('');
		var oStart=document.getElementById(tdstart);
		var ct=0;
		var theseTimes=new Array(); // collect times to be sent to the server
		var newName='';oldHTML='';
	// update the roster and load the times array to be sent to the server
		while(ct!=-1){
			theseTimes.push(oStart.id);
			++ct;
/*			newName=new Array(name,'<br /> ',clubname).join('');
			oldHTML=oStart.innerHTML;
			oStart.innerHTML=new Array(oldHTML,'<br />',newName).join('');*/
			//move to next row, last td
			oStart=oStart.parentNode.nextSibling.lastChild;
			tdstart=oStart.id;
			if(tdstart==tdend){
				ct=-1;
			}
		}
		data=new Array(data,'&sTimes=',theseTimes.join('|')).join('');
		var url='machineshop_remote_.php';
		postDataReturnText(url,data,submitCallback);
	}
	return;
}// submitData

function getElementsByClass(node,searchClass,tag) {
	var classElements = new Array();
	var els = node.getElementsByTagName(tag); // use "*" for all elements
	var elsLen = els.length;
	var pattern = new RegExp("\\b"+searchClass+"\\b");
	for (i = 0, j = 0; i < elsLen; i++) {
 		if ( pattern.test(els[i].className) ) {
 			classElements[j] = els[i];
 			j++;
 		}
	}
	return classElements;
}

function clearRoster() {
	var el = getElementsByClass(document.getElementById('volroster'),'numstu','TD');
	for(i=0;i<el.length;++i){
		el[i].innerHTML='';
	}
}

// blinking for money alert
function blinkMe(){

	if(++giBlinkMeCt<14){
		document.getElementById('promo').style.color=(giBlinkMeCt%2)==0?'#f00':'#fff';
		setTimeout('blinkMe()',300);
	}else{
		giBlinkMeCt=0;
		setTimeout('blinkMe()',30000);
		document.getElementById('promo').style.color='#00f';
	}
	return;
}

