// JavaScript Document
// framework javascript
//	Modifications:
//		DBW	(DS080504) Modify doEntry for new Inbox logic
//		DBW (DS110105) Modify doEntry for non-updateable form from Inbox
//		DBW (DS041806) (TT#693) Add rev_num logic for Agenda Item to enable the 'copy' function
//		DBW (DS082707) (TT#1520) Status popup window needs to be larger. Add options to popup function
//						to see if height and width were passed. And if so use those values. Otherwise
//						default to the original values
//
// doEntry(iAction)
// getSelectedButton(buttonGroup)
// chgSort(iSort)
// doSubmit(iAction)
// getEntry(iAction)

// Added this function since it's missing and needed by this file.
function getSelected(opt) {
	var selected = [];
	if (opt.length) {
		for (var i=0, iOpt; iOpt = opt[i]; i++) {
			if (iOpt.selected || iOpt.checked)
				selected.push({ 'value': iOpt.value, 'index': i });
		}
	} else {
		if (opt.selected || opt.checked)
			selected.push({ 'value': opt.value, 'index': 1 });
	}
	return selected;
}

function doEntry(iAction) {
	var vgoto = "",
		f1 = document.form1; //convenience
	
	switch (iAction) {
		case "inbox":
		case "inboxApply":
		case "inboxNoUpdate":
		case "savereturn":
			vgoto  = (f1.inboxpage) ? f1.inboxpage.value : "../fas/que_work.cfm";
			vgoto += f1.inboxvars.value;
			
			if (f1.inboxpage.value == "../timesheets/ts_inbox.cfm") {
				var fields = ['tsmonth','ts_type','ee_type','ts_loc','ts_selloc','ts_display'];
				for (var i = 0, field; field = fields[i]; i++) {
					vgoto += "&" + field + "=" + f1[field].value;
				}
			}
			
			if (f1.applid) vgoto += "&applid=" + f1.applid.value;
			
			f1.gotopage.value = vgoto;
			f1.formaction.value = iAction;
			
			if (iAction == "inboxApply") {
				f1.inbox_approve.value = "Y";
				f1.formaction.value = "inbox";
			}
		break;
		
		case "../fas/review2.cfm":
		case "../agenda/agenda_filecab.cfm":
		case "../agenda/adv_search_results.cfm":
		case "../agenda/ag_memo_view.cfm":
		case "../school/hrtf_filecab2.cfm":
		case "../prr/pubrecs_filecab.cfm":
			vgoto = iAction + "?" + f1.refpg.value;
			f1.gotopage.value = vgoto;
			f1.formaction.value = "false";
		break;
		
		default:
			f1.formaction.value = iAction;
		break;
	}
	
	return f1.submit();
	/*
	if (iAction == "inbox" || iAction == "inboxApply" || iAction == 'inboxNoUpdate' || iAction =='savereturn') 
	{
		//alert("spot #2");
		//f1.gotopage.value = iAction;
		if (f1.inboxpage) {									// (DS080504)
			f1.gotopage.value = f1.inboxpage.value;
		} else {													// should never happen, but ...
			f1.gotopage.value = "../fas/que_work.cfm";
		}		
		//alert("spot #2");
		f1.gotopage.value += f1.inboxvars.value;
		if (f1.inboxpage.value == '../timesheets/ts_inbox.cfm') {
			f1.gotopage.value += '&tsmonth=' + f1.tsmonth.value;
			f1.gotopage.value += '&ts_type=' + f1.ts_type.value;
			f1.gotopage.value += '&ee_type=' + f1.ee_type.value;
			f1.gotopage.value += '&ts_loc=' + f1.ts_loc.value;
			f1.gotopage.value += '&ts_selloc=' + f1.ts_selloc.value;
			f1.gotopage.value += '&ts_display=' + f1.ts_display.value;
		}
		if (f1.applid) {
			f1.gotopage.value += '&applid=' + f1.applid.value;
		}
		f1.formaction.value = "false";
	} // this really should be done like inbox (DS060105)	//(DS071107) add advanced search results
	else if (iAction == "../fas/review2.cfm" || iAction == "../agenda/agenda_filecab.cfm" || iAction == '../agenda/adv_search_results.cfm') 
	{		
		f1.gotopage.value = iAction;
		f1.gotopage.value += '?' + f1.refpg.value;
		//f1.gotopage.value += '&formstat=' + f1.formstat.value;
		f1.formaction.value = "false";
		//alert("gotopage is " + f1.gotopage.value);
	}
	
	if (errmsg == true) {
		alert ("Please fill out all fields on this form before continuing");
		return false;
	} else if (iAction == "inboxApply") {
		f1.inbox_approve.value = "Y";
		f1.formaction.value = "inbox";
		f1.submit();
	} else {
		f1.formaction.value = iAction;
		f1.submit();
	}
	return true;
	*/
}

/*	instead of this, use getSelected(form.blah)[0].index 
	(it amounts to the same thing) */
function getSelectedButton(buttonGroup){
	for (var i = 0; i < buttonGroup.length; i++) {
		if (buttonGroup[i].checked) {
			return i;
		}
	}
	return null;
}

function popup(mylink, windowname, iwidth, iheight) {
	if (! window.focus) return true;
    var href, f1 = document.form1, winAttr;
    href = mylink + '?seq=' + f1.seq.value + '&form=' + f1.formid.value;
	if (f1.rev_num && (f1.rev_num.value != ''))
		href += "&rev_num=" + f1.rev_num.value;
	//(DS082707)
	winAttr = 'width=' + ((iwidth  && iwidth  != '') ? iwidth  : '500');
	winAttr+=',height='+ ((iheight && iheight != '') ? iheight : '400');
	winAttr+=',scrollbars=yes,resizable=yes,left=50,top=50';
	
	window.open(href, windowname, winAttr);
    return false;
}

function chgSort(iSort) {
	document.form1.sortby.value = iSort;
	document.form1.submit();
	return false;
}

function doSubmit(iAction) {
	var f1 = document.form1;
	if (iAction == "DelForm"){
		f1.gotopage.value = iAction;
	} else {
		f1.formaction.value = iAction;
	}		
	if (iAction == "DelForm"){
		var sel = getSelected(f1.delform);
		var strSel = "";
		for (var item in sel) {
			if (strSel == "" || strSel == null) {
				strSel = sel[item].value
			} else if (sel[item].value != "" || sel[item].value == null) {
				strSel += "," + sel[item].value;
			}
		}
		if (strSel == "") {
			alert ("No items have been selected for delete");
			return false;
		} else {
			f1.del_form.value = strSel;
		}
	}
	return f1.submit();
}

function getEntry(iAction) {
	var f1 = document.form1;
	f1.formaction.value = iAction + '?seq=';
	if (f1.seq.value != ""){
		f1.formaction.value += f1.seq.value;
	}
	
	//(DS041806)
	if (f1.rev_num) {
		f1.formaction.value += '&rev_num=';
		if (f1.rev_num.value != "") f1.formaction.value += f1.rev_num.value;
	}
		
	f1.gotopage.value = f1.formaction.value;
	f1.submit();
}