var sAgent = navigator.userAgent.toLowerCase() ;

var eForm;

function paginate(form, property, page){
	fireOnPaginate(form);
	var pageNo = eval("document.forms['" + form + "']." + property + ".value");
	eval("document.forms['" + form + "']." + property + ".value=" + page +";");
	eval("document.forms['" + form + "'].submit()");
}

function previous(form, property){
	fireOnPaginate(form);
	var pageNo = eval("document.forms['" + form + "']." + property + ".value");
	eval("document.forms['" + form + "']." + property + ".value=" + (parseInt(pageNo)-1)+";");
	eval("document.forms['" + form + "'].submit()");
}

function next(form, property){
	fireOnPaginate(form);
	var pageNo = eval("document.forms['" + form + "']." + property + ".value");
	eval("document.forms['" + form + "']." + property + ".value=" + (parseInt(pageNo)+1)+";");
	eval("document.forms['" + form + "'].submit()");	
}

function fireOnPaginate(form){
	if(eval("document.forms['" + form + "'].onPaginate")){
		var fnOnPaginate = eval("document.forms['" + form + "'].onPaginate.value");
		if(fnOnPaginate && fnOnPaginate!='' && fnOnPaginate!='null'){
			eForm = form;
			eval(fnOnPaginate);
			eForm = null;
		}
		var frm = eval("document.forms['" + form + "']");
	}
}

function addOrUpdateFormField(name, value){
	var field;
	var form = eval("document.forms['" + eForm + "']");
	for(var i=0; i<form.elements.length; i++){
		if(form.elements[i].name==name){
			form.elements[i].value=value;
			return;	
		}
	}
	field = createField(name);
	field.value=value;
	form.appendChild(field);
}

function createField(name){
	var field;
	if(sAgent.indexOf("msie")!=-1){ //As IE doesn't support setting element name in runtime (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/name_2.asp)
		field = document.createElement("<input name='"+ name + "'>");
	}else{
		field = document.createElement("input");
		field = name;
	}
	field.type="hidden";
	return field;
}

function removeField(name){
	var form = eval("document.forms['" + eForm + "']");
	for(var i=0; i<form.elements.length; i++){
		if(form.elements[i].name==name){
			form.removeChild(form.elements[i]);
		}
	}
}

function paginationKeypress(form, property, obj, maxPage, evt){
	var event = evt==null?window.event:evt;
	var kCode=event.charCode? event.charCode : event.keyCode
	if (kCode == 13){
		if(obj.value==""){
			obj.value="1";
		}
		if(obj.value>maxPage){
			obj.value=maxPage;
		}
		fireOnPaginate(form);
		//var pageNo = eval("document.forms['" + form + "']." + property + ".value");
		
		eval("document.forms['" + form + "']." + property + ".value=" + obj.value +";");
		eval("document.forms['" + form + "'].submit()");	
	}
	if (kCode!=8){ //if the key isn't the backspace key (which we should allow)
		if (kCode<48||kCode>57){ //if not a number
			event.charCode? event.charCode=0 : event.keyCode=0 //disable key press	
		}
	}
}

