function gotopage(viewPackageName, flag, event) { 
	var page;
	if(flag=="keypress") {
		event = event ? event : window.event;
		if(event.keyCode!=13)return;
	}
	if(flag=="next" || flag=="prev" || flag=="last" || flag=="first") {
		doAction(getCurrentAction(), viewPackageName + '.currentViewAction=gotoPage&viewPackageName=' + viewPackageName + "&" + viewPackageName + '.page=' + flag);
	}
	else {
		page = Number(event.srcElement.value);
		if(!isNaN(page)) {
			doAction(getCurrentAction(), viewPackageName + '.currentViewAction=gotoPage&viewPackageName=' + viewPackageName + "&" + viewPackageName + '.page=' + page);
		}
	}
}
function switchDate(viewPackageName, flag) { 
	var mode = document.getElementsByName(viewPackageName + ".calendarMode")[0].value;
	var field = document.getElementsByName(viewPackageName + ".beginCalendarDate")[0];
	if(flag=="prev" || flag=="next") {
		var dateValue = new Date(field.value.replace(new RegExp("-", "g"), "/"));
		if(mode=="month") {
			dateValue = dateValue.setMonth(dateValue.getMonth() + (flag=="next" ? 1 : - 1));
		}
		else if(mode=="week") {
			dateValue = dateValue.setDate(dateValue.getDate() + (flag=="next" ? 7 : - 7));
		}
		else if(mode=="day") {
			dateValue = dateValue.setDate(dateValue.getDate() + (flag=="next" ? 1 : - 1));
		}
		dateValue = new Date(dateValue);
		field.value = dateValue.getFullYear() + "-" + (dateValue.getMonth() + 1) + "-" + dateValue.getDate();
	}
	else {
		field.value = flag;
	}
	doAction(getCurrentAction(), viewPackageName + '.currentViewAction=refreshview');
}
function selectCategory(td, applicationName, viewName) { 
	var previousTd = td.previousSibling;
	if(previousTd.tagName!="TD") {
		previousTd = previousTd.previousSibling;
	}
	var width = previousTd.offsetWidth + 17;
	if(width<180) {
		width = 180;
	}
	var pos = getAbsolutePosition(td);
	var left = pos.left + td.offsetWidth - width;
	var top = pos.top + td.offsetHeight;
	showCategoryBox(document.getElementById("divSelect"), applicationName, viewName, document.getElementsByName("viewPackage.categories")[0].value, left, top, width, 220, "onCategoryChanged");
}
function onCategoryChanged(categories) { 
	if(document.getElementsByName("viewPackage.categories")[0].value!=categories) {
		document.getElementsByName("viewPackage.categories")[0].value = categories;
		doAction(getCurrentAction(), 'viewPackage.currentViewAction=opencategory');
	}
}
function transactCategories(currentQuery) { 
	transactCategoryResult(currentQuery);
}
function customView(viewPackageName) { 
	openurl(document.getElementById("contextPath").value + "/jeaf/view/customView.shtml?prefix=" + document.getElementsByName(viewPackageName + ".applicationName")[0].value + "&viewPackageName=" + viewPackageName + "&viewName=" + document.getElementsByName(viewPackageName + ".viewName")[0].value + (document.getElementsByName(viewPackageName + ".pageState")[0].value=="searchView" ? "&searchMode=true" : ""), "mode=center,width=680,height=450", "customView");
}
function selectAll(viewPackageName) { 
	var selects = document.getElementsByName(viewPackageName + ".select");
	var checked = document.getElementById(viewPackageName + ".selectAllBox").checked;
	var selectedIds = "";
	for(var i=0; i<selects.length; i++) {
		selects[i].checked = checked;
		if(checked) {
			selectedIds += (selectedIds=="" ? "" : ",") + selects[i].value;
		}
	}
	document.getElementsByName(viewPackageName + ".selectedIds")[0].value = selectedIds;
}
function selectRecord(viewPackageName, selected, recordId) { 
	var selectedIds = document.getElementsByName(viewPackageName + ".selectedIds")[0].value;
	if(selected) { 
		selectedIds += (selectedIds=="" ? "" : ",") + recordId;
	}
	else { 
		var index = (selectedIds + ",").indexOf(recordId + ",");
		if(index!=-1) {
			selectedIds = selectedIds.substring(0, index - 1) + selectedIds.substring(index + ("" + recordId).length);
			if(selectedIds.substring(0, 1)==",") {
				selectedIds = selectedIds.substring(1);
			}
		}
	}
	document.getElementsByName(viewPackageName + ".selectedIds")[0].value = selectedIds;
}
function initViewSelectBox(viewPackageName) { 
	var selectedIds = document.getElementsByName(viewPackageName + ".selectedIds")[0].value;
	if(selectedIds && selectedIds!="") {
		selectedIds += ",";
		var selects = document.getElementsByName(viewPackageName + ".select");
		for(var i=0; i<selects.length; i++) {
			if(selectedIds.indexOf(selects[i].value + ",")!=-1) {
				selects[i].checked = true;
			}
		}
	}
}
function refreshView(viewPackageName) { 
	if(!viewPackageName) {
		viewPackageName = "viewPackage";
	}
	doAction(getCurrentAction(), viewPackageName + '.currentViewAction=refreshview');
}
