var netscape=(document.all?false:true);// determines whether Netscape or Internet Explorer
var nf='';

function keyDown(DnEvents) { // handles keypress
	k=(netscape?DnEvents.which : window.event.keyCode);
	if(k==13){ // enter key pressed
		if (nf=='') return true; // submit, we finished all fields
		else { // we're not done yet, send focus to next box
			eval('document.forms["f1"].'+nf+'.focus()');
			eval('document.forms["f1"].'+nf+'.select()');
			return false;
	   }
  }
}
	document.onkeydown = keyDown; // work together to analyze keystrokes
	
	
//Loads Value from Search form to window.opener
function loadValue(sField,sFieldValue, sPage, sFieldName, sID, sIDField, sTable){
	switch(sField){
		case 	"NewAccountID"	:
			window.opener.document.forms["f1"].hNewAccountID.value=sFieldValue;
			window.opener.document.forms["f1"].hValue.value='';
			window.opener.document.forms["f1"].submit();
		break;
		case	"ComponentID"	:
			window.opener.document.forms["f1"].hComponentID.value=sFieldValue;
			window.opener.document.forms["f1"].hValue.value='';
			window.opener.document.forms["f1"].submit();
		
		break;
		default:		
		if(sField.substr(0,1)=="x"){
			window.opener.document.forms["f1"].elements[sField].value=sFieldValue;
			window.opener.document.forms["f1"].hTSV.value='';
		}else{
			window.opener.document.forms["f1"].hEditLine.value="returnServerInfo";
			window.opener.document.forms["f1"].hValue.value=sFieldValue;
			window.opener.document.forms["f1"].submit();
		}
		
	}
	if(sPage=='scl'){
		liveupdate(sFieldName, sID, sIDField, sFieldValue, sTable);
	}
	window.close();
}

//Live update after a search
function liveupdate(sFieldName, sID, sIDField, Value, sTable){
	window.opener.document.forms["f1"].hEditLine.value="edit";
	window.opener.document.forms["f1"].hValue.value=sID;
	window.opener.document.forms["f1"].hField.value=sFieldName;
	window.opener.document.forms["f1"].hIDField.value=sIDField;
	window.opener.document.forms["f1"].hFieldValue.value=Value;
	window.opener.document.forms["f1"].hTable.value=sTable;
	window.opener.document.forms["f1"].submit();
	window.close();
}
//Checks to see if search % character and returns selected record
function onChangeText(sPage,sTSV,sSearchField,sFocus,sSearchTSV, Type, sFieldName, sID, sField2, sTable){
	//this is specific to Asset tracking only
	if((sPage=="rte"||sPage=="cl") && sSearchField=="SerialNumber"){
		var equipID =String(window.document.forms["f1"].elements["EquipmentID"].value);
		sTSV +=" '"+equipID+"', "
		sSearchTSV+=" '"+equipID+"', "
		if(equipID==''&& sPage=="cl"){
			sTSV ="triokey_cl_s_sninfo";
			sSearchTSV="triokey_cl_s_snlist";
		}else if(equipID==''&& sPage=="rte"){
			sTSV ="triokey_cl_s_sninfobyzone";// these will only allow serialnumbers where stockzone=5 or 7
			sSearchTSV="triokey_cl_s_snlistbyzone";
		}
	}
	if(document.forms["f1"].hEditType.value=="browse"){
			window.alert("Cannot make changes Browse mode.");
	}else{	
		
		var sSearch=String(window.document.forms["f1"].elements[sSearchField].value);
		
		if(sSearchField=='ComponentID'){
		window.document.forms["f1"].hnB.value='1';
		window.document.forms["f1"].hB.value='1';
				if((sSearchField!='ComponentID')||(sSearch.indexOf("?")!=-1)){
				//var sSearch=String(window.document.forms["f1"].elements[sSearchField].value);
				}else{
				window.document.forms["f1"].hComponentID.value=sSearch;
				sSearch='';
				}
		}
		
		if(sSearchField=='NewAccountID'){
		window.document.forms["f1"].hnB.value='1';
		window.document.forms["f1"].hB.value='1';
			if((sSearchField!='NewAccountID')||(sSearch.indexOf("?")!=-1)){
				//var sSearch=String(window.document.forms["f1"].elements[sSearchField].value);
			}else{
				window.document.forms["f1"].hComponentID.value=sSearch;
					sSearch='';
			}
		}
		if(String(onChangeText.arguments[5])!="undefined"){
			window.document.forms["f1"].hEditLine.value=onChangeText.arguments[5];
		} //Note noreturnServerInfo is used when a search of the field is required but can then be changed when entered e.g. Item Description
		window.document.forms["f1"].hTSV.value=sTSV; //Table,sp, or View to be searched 
		window.document.forms["f1"].hField.value=sSearchField;//Field within TSV
		window.document.forms["f1"].hValue.value=sSearch;
		document.forms["f1"].hFocus.value=sFocus;
		if( sSearch.indexOf("?")!=-1){
			sSearch=sSearch.replace(/\?/g,"%");
		}
		if( sSearch.indexOf("%")==-1){
			if(String(onChangeText.arguments[5])=="noreturnServerInfo"){
				window.document.forms["f1"].hTSV.value="";
			}else{
				window.document.forms["f1"].submit();
			}
		}else{
			if(sPage=='webpromos'){
				sSearch=escape(sSearch);//escape needed to use % char
			    sSearchTSV=escape(sSearchTSV);//escape needed to use ' char
			    var SearchWindow=window.open("./Search.asp?sSearchTSV=" + sSearchTSV + "&sSearch=" + sSearch + "&sIDField=" + sSearchField +"&sFieldName=" + sFieldName +"&sID=" + sID +"&sField2=" + sField2 +  "&sPage=" + sPage+  "&sTable=" + sTable,"SearchWindow","width=400,height=400,status=yes,scrollbars=yes,resizeable=yes");
			    SearchWindow.focus();
			
			}else{
			    sSearch=escape(sSearch);//escape needed to use % char
			    sSearchTSV=escape(sSearchTSV);//escape needed to use ' char
			    var SearchWindow=window.open("../Search.asp?sSearchTSV=" + sSearchTSV + "&sSearch=" + sSearch + "&sIDField=" + sSearchField +"&sFieldName=" + sFieldName +"&sID=" + sID +"&sField2=" + sField2 +  "&sPage=" + sPage+  "&sTable=" + sTable,"SearchWindow","width=400,height=400,status=yes,scrollbars=yes,resizeable=yes");
			    SearchWindow.focus();
			}
		}
	}
	
}
//Edit Form For Default pages
function defaultEditForm(sPage){
var valid=1;
	if(document.forms["f1"].hEditType.value!="new2"){
		switch(sPage){
		case "subProdSearch" :
				window.document.forms["f1"].hFocus.value="SubLocationID";
				valid=1;
		default :
			if(valid==1){
				if (window.confirm("Edit Document?")==true){
					window.document.forms["f1"].hEditType.value="edit";
					window.document.forms["f1"].submit();
				}
			}
		}
	}else{
		window.alert("Cannot edit Incomplete Transactions.");
	}
}
//clickCheck for Default Pages
function clickCheck(sPage,sField){
	switch(sPage){
	case "ec" :
	case "ect" :
		window.document.forms["f1"].hEditLine.value="edit";
		window.document.forms["f1"].hField.value=sField;
		window.document.forms["f1"].hFocus.value=tabTable(sField);
		window.document.forms["f1"].hProcess.value="check";
		window.document.forms["f1"].submit();
	break;
	case "DefaultSearch":
	case "defsearch" :
		window.document.forms["f1"].hEditLine.value="edit";
		window.document.forms["f1"].hField.value=sField;
		window.document.forms["f1"].hFocus.value=tabTable(sField);
		window.document.forms["f1"].hProcess.value="check";
		window.document.forms["f1"].submit();
	break;
	case "ledger" :
		window.document.forms["f1"].hFocus.value="TaxNumber";
	break;
	default :
	}
}

//****************Line Functions***************
// add Function for Default Pages
function defAddClick(sPage, sInsertValues)
{
	if(window.document.forms["f1"].hEditType.value=="edit" ||window.document.forms["f1"].hEditType.value=="edit2"){
		if(window.confirm("Do you wish to add this new entity ?")==true)
		{	
			SelFieldsArray = sInsertValues.split(",");
			for(n=1; SelFieldsArray[n]!="/0" && n<50 ; n=n+2)
			{
				sSearchField = SelFieldsArray[n];
				SelFieldsArray[n+1]=(String(window.document.forms["f1"].elements[sSearchField].value));
			}
		
			sInsertValues = "insert";
			for(n=1; SelFieldsArray[n]!="/0" ; n++)
			{
				sInsertValues += ","+SelFieldsArray[n];
			}
			sInsertValues += ",/0"
			window.document.forms["f1"].hInsertValues.value=sInsertValues;
			window.document.forms["f1"].hEditLine.value="new";
			window.document.forms["f1"].hValue2.value=sInsertValues;
			if(sPage=='subProdSearch')
				window.document.forms["f1"].elements["SubLocationID"].focus();
			window.document.forms["f1"].submit();
		}
	}else{
		  window.alert("Not in edit mode !");
		  window.document.forms["f1"].submit();
		  
	}
}


// create a string of values when an individual value is changed, needed for default pages
function changeSelValue(sPage, sSearchField, fieldName, sSelectedFields)
{
	if(window.document.forms["f1"].hEditType.value=="edit" || window.document.forms["f1"].hEditType.value=="edit2"){
		if(window.confirm("Do you wish to modify this field ?")==true)
		{
			var fieldValue=String(window.document.forms["f1"].elements[sSearchField].value);
			SelFieldsArray = sSelectedFields.split(",");
			for(n=1; SelFieldsArray[n]!="/0" && n<50 ; n++)
			{
				if(SelFieldsArray[n]==fieldName)
				{
					if(fieldName=='Valid'||fieldName=='UpdateOH'||fieldName=='Budget')
					{
						SelFieldsArray[n+1]=sSearchField;
					}else
					{
						SelFieldsArray[n+1]=fieldValue;
					}
				}
			}
			sSelectedFields = "start";
			for(n=1; SelFieldsArray[n]!="/0" ; n++)
			{
				sSelectedFields += ","+SelFieldsArray[n];
			}
			sSelectedFields += ",/0"
			window.document.forms["f1"].hSelectedFields.value=sSelectedFields;
			window.document.forms["f1"].elements[sSearchField].value=fieldValue;
			window.document.forms["f1"].hEditLine.value="edit";
			window.document.forms["f1"].hValue.value=sSelectedFields;
			window.document.forms["f1"].submit();
		}
	}else{
		  window.alert("Not in edit mode !");
		  window.document.forms["f1"].submit();
		  
	}
}


//check valid date and re-enter into input to refresh
//i.e. 31 Sep 2000 -> 1 Oct 2000
function checkDate(sInput){
	var dTest
	dTest=document.forms["f1"].elements[sInput].value;
	document.forms["f1"].elements[sInput].value=''
	dTest=new Date(dTest);
	if (isNaN(dTest)) {
		window.alert("Not a valid date - please re-select!");	
		document.forms["f1"].elements[sInput].focus();	
	}	else {
		document.forms["f1"].item(sInput).value=dTest.getDate()+ " " + getMonthString(dTest.getMonth()) + " " + dTest.getYear();
	}
}

//check valid date and re-enter into input to refresh
//i.e. 31 Sep 2000 -> 1 Oct 2000
function checkDateEndDate(sInput){
    if(sInput=='EndDate' && document.forms["f1"].elements[sInput].value==''){
        //do nothing
    }else{
	    var dTest
	    dTest=document.forms["f1"].elements[sInput].value;
	    document.forms["f1"].elements[sInput].value=''
	    dTest=new Date(dTest);
	    if (isNaN(dTest)) {
		    window.alert("Not a valid date - please re-select!");	
		    document.forms["f1"].elements[sInput].focus();	
	    }	else {
		    document.forms["f1"].item(sInput).value=dTest.getDate()+ " " + getMonthString(dTest.getMonth()) + " " + dTest.getYear();
	    }
	}
}


function checkNo(sField){
	if(isNaN(document.forms["f1"].elements[sField].value)) {
		window.alert("Invalid value for " + sField +  ". Please re-enter.");
		window.document.forms["f1"].elements[sField].value=0;
		window.document.forms["f1"].elements[sField].focus();
	}
}
function setLCValue(sInput, LCField)
{
	if((document.forms["f1"].elements["ExchRate"].value)==0){
		window.alert("Error!! No exchange rate selected");
		document.forms["f1"].elements[sInput].value = '';
	}else{
		document.forms["f1"].elements[LCField].value =(document.forms["f1"].elements[sInput].value)*(document.forms["f1"].elements["ExchRate"].value);
	}
}

//check valid date and re-enter into input to refresh
//i.e. 31 Sep 2000 -> 1 Oct 2000
function checkDateSubmit(sInput){
	var dTest
	dTest=document.forms["f1"].elements[sInput].value;
	dTest=new Date(dTest);
	if (isNaN(dTest)) {
		window.alert("Not a valid date - please re-select!");	
		document.forms["f1"].elements[sInput].value='';
		document.forms["f1"].elements[sInput].focus();	
	}	else {
		document.forms["f1"].elements[sInput].value=dTest.getDate()+ " " + getMonthString(dTest.getMonth()) + " " + dTest.getYear();
		document.forms["f1"].submit();
	}
}

//check values 
function checkValue(sField){
var	valid=1;
	sValue=numberFormat(document.forms["f1"].elements[sField].value);
	if(isNaN(sValue)){
		window.alert("Invalid Amount. Please re-enter.");		
		valid=0;
		document.forms["f1"].elements[sField].value=0	;
	}
	return valid;
}

//check ExchRate 
function checkExchRate(sPage,sField){
var	valid=1;
	sValue=document.forms["f1"].elements[sField].value;
	valid=checkValue(sField);
	if(document.forms["f1"].elements[sField].value==0){
		window.alert("ExchRate must be greater than 0. Please re-input");	
		valid=0;
	}
	if(valid==1){
		switch(sPage){
		case "sre" :
			loadLCValue("TranTotal");
		break;
		default :
		}
	}
	return valid;
}
//Delete line Items
function deleteLine(sPage,sID){
var sMessage="";
	if(document.forms["f1"].hEditType.value=="browse"){
			window.alert("Cannot delete Lines in Browse mode.");
	}else{	
		switch(sPage){
		case "soe" :
			sMessage="Inventory changes immediate. ";
		break;
		default :
		}
		if(document.forms["f1"].hEditType.value.substr(0,3)=="new" || document.forms["f1"].hEditType.value.substr(0,4)=="edit"){
			if (window.confirm(sMessage + "Delete Line?")==true){
				document.forms["f1"].hEditLine.value="delete";
				document.forms["f1"].hValue.value=sID;
				document.forms["f1"].submit();
			}	
		}
	}
}
//Calculate Prices
function lineCalcs(sPage,sField,sField1,sResult){
	switch(sPage){
	case "CashReceiptEntry" :
		if(isNaN(document.forms["f1"].elements[sField].value)) {
			window.alert("Invalid Amount. Please re-enter.");
			window.document.forms["f1"].elements[sField].focus();
		}
	break;
	case "poe" :
	case "sie" :
	case "soe" :
	case "cre" :
		if(isNaN(document.forms["f1"].elements[sField].value) || isNaN(document.forms["f1"].elements[sField1].value)) {
			window.alert("Invalid value entered . Please re-enter.");
			window.document.forms["f1"].elements[sField].focus();
		}else{
			document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
		}
	break;
	case "pde" :
		if(isNaN(document.forms["f1"].elements[sField].value) || isNaN(document.forms["f1"].elements[sField1].value)) {
			window.alert("Invalid value entered . Please re-enter.");
			window.document.forms["f1"].elements[sField].focus();
		}else{
			document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
			if(sField='DelQty'){
				document.forms["f1"].elements["TranQty"].value=document.forms["f1"].elements[sField].value
			}
		}
	break;
	case "pie" :
		if(isNaN(document.forms["f1"].elements[sField].value) || isNaN(document.forms["f1"].elements[sField1].value)) {
			window.alert("Invalid value entered . Please re-enter.");
			window.document.forms["f1"].elements[sField].focus();
		}else if(document.forms["f1"].elements[sField].value<0) {
			window.alert("Negative values not allowed. The value will be set positive.");
			document.forms["f1"].elements[sField].value=document.forms["f1"].elements[sField].value*-1
			window.document.forms["f1"].elements[sField].focus();
		}else{
			document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
		}
	break;
	case "sce" :
		if(isNaN(document.forms["f1"].elements[sField].value) || isNaN(document.forms["f1"].elements[sField1].value)) {
			window.alert("Invalid value entered . Please re-enter.");
			window.document.forms["f1"].elements[sField].focus();
		}else{
			if(sField=='UnitPrice' && document.forms["f1"].elements[sField].value>0){
				document.forms["f1"].elements[sField].value=-(document.forms["f1"].elements[sField].value)
				document.forms["f1"].elements[sResult].value=-(numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value)));
			}else{
				document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
			}
		}
	case "pte" :
	case "ste" :
		var fieldType = sField.substr(1, 9)
		
		if(fieldType=="UnitPrice" || fieldType=="nitPrice" )// depending if its a mod on an exsiting line or a new line
		{
			if(isNaN(document.forms["f1"].elements[sField].value)) {
				window.alert("Invalid value entered. Please re-enter.");
				window.document.forms["f1"].elements[sField].focus();
			}else if(document.forms["f1"].elements[sField].value<0){
				window.alert("Unit Cost must be positive.");
				document.forms["f1"].elements[sField].value = (document.forms["f1"].elements[sField].value)*(-1)
				document.forms["f1"].elements[sResult].value= numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
			}else{
				document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
			}
		}else{
			document.forms["f1"].elements[sResult].value=numberFormatFour((document.forms["f1"].elements[sField].value * document.forms["f1"].elements[sField1].value));
		}
	break ;
	default :	
	}
}

//Loads LC values 
function loadLCValue(sField){
var	valid=1;
	sValue=document.forms["f1"].elements[sField].value;
	valid=checkValue(sField);
	if(valid==1){
		document.forms["f1"].elements["LC"+sField].value=sValue / document.forms["f1"].elements["ExchRate"].value ;
		document.forms["f1"].submit();
	}
}

function newLine(sPage){
	if(document.forms["f1"].hEditType.value.substr(0,3)=="new" ||document.forms["f1"].hEditType.value.substr(0,4)=="edit"){
		window.document.forms["f1"].hEditLine.value="new";
		window.document.forms["f1"].submit();
	}else{	
		window.alert("Cannot add Lines in Browse mode.");
	}
}


function editBOM(sPage,sSearch){
	switch(sPage){
		case	"boDel" :
				if (window.confirm("Delete BOM?")==true){
					window.document.forms["f1"].hDelBOM.value="y";
					window.document.forms["f1"].hComponemtName.value=sSearch;
					window.document.forms["f1"].submit();
										
				}
		break;
		case	"boAdd":
				if (window.confirm("Add BOM?")==true){
					window.document.forms["f1"].hComponemtName.value=sSearch;
					window.document.forms["f1"].hAddBOM.value="y";
					window.document.forms["f1"].submit();
				}
		
		break;
		case "boAddConfirm"	:
				window.document.forms["f1"].hB.value='0';
				window.document.forms["f1"].hAddBOM.value="y";
				window.document.forms["f1"].hFocus.value="ComponentID";
				//window.document.forms["f1"].hComponemtID.value=sSearch;
				//window.document.forms["f1"].hComponemtID.value=sSearch;
				window.document.forms["f1"].submit();
		break;
		default:
	}
}

function editLine(sPage,sSearch){
	if(document.forms["f1"].hEditType.value=="browse"){
			window.alert("Cannot edit Lines in Browse mode.");
	}else{	
		var valid=1;//Validate Qtys etc
		switch(sPage){
		case "bo"	:
		break;
		case "Supplier" :
		break;
		case "CashReceiptEntry" :
			if(document.forms["f1"].CashReceiptDetailValue.value.search(/[^0-9.]/)!=-1){
				window.alert("Invalid Amount. Please re-enter.");			
				valid=0;
			}	
		break;
		case "soe" :
			if(isNaN(document.forms["f1"].OQty.value) || isNaN(document.forms["f1"].UnitPrice.value)){
				window.alert("Invalid entry for Price or Qty. Please re-enter.");			
				valid=0;
			}
		break;
		case "RMAEntry" :
		break;
		default:
		}
		if (valid==1){
			window.document.forms["f1"].hEditLine.value="edit";
			window.document.forms["f1"].hValue.value=sSearch;
			window.document.forms["f1"].submit();
		}
	}
}
// Ensure that each number printed as a string 
// is in 0.00 format
function numberFormat(amount) {
	var rawNumStr = round(amount) + '';
	rawNumStr = (rawNumStr.charAt(0) == '.' ? '0' + rawNumStr : rawNumStr);
	if (rawNumStr.charAt(rawNumStr.length - 3) == '.') {
		return rawNumStr
		}
	else if (rawNumStr.charAt(rawNumStr.length - 2) == '.') {
		return rawNumStr + '0';
		}
	else { return rawNumStr + '.00';
  }
}



// Round all passed numbers to two 
// decimal places (hundredths place)
function round(number,decPlace) {
	decPlace = (!decPlace ? 2 : decPlace);
	return Math.round(number * Math.pow(10,decPlace)) / Math.pow(10,decPlace);
}

// Ensure that each number printed as a string 
// is in 0.00 format
function numberFormatFour(amount) {
	var rawNumStr = round(amount, 6) + '';
	rawNumStr = (rawNumStr.charAt(0) == '.' ? '0' + rawNumStr : rawNumStr);
	
	
	if (rawNumStr.charAt(rawNumStr.length - 7) == '.') {
		return rawNumStr 
	}if (rawNumStr.charAt(rawNumStr.length - 6) == '.') {
		return rawNumStr  + '0';
	}if (rawNumStr.charAt(rawNumStr.length - 5) == '.') {
		return rawNumStr  + '00';
	}else if (rawNumStr.charAt(rawNumStr.length - 4) == '.') {
		return rawNumStr + '000';
	}else if (rawNumStr.charAt(rawNumStr.length - 3) == '.') {
		return rawNumStr + '0000'
	}else if (rawNumStr.charAt(rawNumStr.length - 2) == '.') {
		return rawNumStr + '00000';
	}else { 
		return rawNumStr + '.00';
  }
}


//lock unlock controls
function LockControls(bState){
	var i;
	for (i=0;i<document.forms["f1"].length;i++){
		if (document.forms["f1"].elements(i).tLock==1) {
			document.forms["f1"].elements(i).readOnly=bState;
		}
	}
}
function getMonthString(num){
	var month;
	switch(num){
	case 0: 
		month="Jan";
		break;
	case 1: 
		month="Feb";
		break;
	case 2: 
		month="Mar";
		break;
	case 3: 
		month="Apr";
		break;
	case 4: 
		month="May";
		break;
	case 5: 
		month="Jun";
		break;
	case 6: 
		month="Jul";
		break;
	case 7: 
		month="Aug";
		break;
	case 8: 
		month="Sep";
		break;
	case 9: 
		month="Oct";
		break;
	case 10: 
		month="Nov";
		break;
	case 11: 
		month="Dec";
		break;
	default:
	}
	return month;
}	
function tabTable(sField){
  for(i=0;i<document.forms["f1"].elements.length-1;i++){
		if(document.forms["f1"].elements[i].name==sField){
			sField=document.forms["f1"].elements[i+1].name;
			return sField;
		}
	}
}

//************************Form Functions*******************************
function cancelForm(sPage,sEditType){
	if (window.confirm((sPage=='bo'?"End Transaction?":"Cancel Transaction?"))==true){
		switch(sPage){
		case "supmain":
			document.forms["f1"].hEditLine.value="cancel";
			document.forms["f1"].hEditType.value="browse";
			document.forms["f1"].submit();
		break;
		case "pje":
		case "sje":
		case "gje":
		case "tje":
		case "soie":
		case "prodmain":
		case "ste":
		case "rte":
		case "cl":
		case "ce":
		case "im":
		case "ge":
		case "se":
		case "sie":
		case "sce":
			document.forms["f1"].hEditLine.value="cancel";
			document.forms["f1"].submit();
		break;
		case "RMAEntry" :
		case "CashReceiptEntry" :
		case "Supplier" :
			if(window.document.forms["f1"].hEditType.value=="new" ||window.document.forms["f1"].hEditType.value=="new2"){
				newForm();
			}else{
				document.forms["f1"].hEditType.value="browse";
				document.forms["f1"].submit();
			}
		break;
		case "soe" :
			if(window.document.forms["f1"].hEditType.value=="new" ||window.document.forms["f1"].hEditType.value=="new2"){
				newForm("soe2");
			}else{
				document.forms["f1"].hEditType.value="browse";
				document.forms["f1"].hProcessed.value="True";
				document.forms["f1"].submit();
			}
		break;
		case "em" :
			document.forms["f1"].hEditLine.value="cancel";
			document.forms["f1"].hMove.value="";
			document.forms["f1"].hEditType.value="browse";
			document.forms["f1"].submit();
		break;
		case "im" :
		case "itemmov" :
			document.forms["f1"].hEditLine.value="cancel";
			document.forms["f1"].submit();
		break;
		case "bo"	:
			if(sEditType=="browse1"){
				alert('Can not cancel in browse mode!');
				}else{
				document.forms["f1"].hAddBOM.value="";
				document.forms["f1"].hCancelBOM.value="y";
				document.forms["f1"].hEditType.value="browse1";
				document.forms["f1"].submit();
				}
		break;
		default :
		}
	}
}
function editForm(sPage,sType){
var valid=1;
	if(document.forms["f1"].hEditType.value!="new2"){
		switch(sPage){
		case "ppe" :
		case "sre" :
			if (window.confirm(" Editing Payment will reverse all transactions \n including reversing any unallocated payment journals. \n The payment will need to be re-processed. \n Do you wish to Continue?")==true){
				window.document.forms["f1"].hEditType.value="edit";
				window.document.forms["f1"].submit();
			}
		break;
		case "bo"	 :
			if(sType=='release'){
				if (window.confirm("Edit Document ?")==true){
					window.document.forms["f1"].hEditType.value="edit";
					window.document.forms["f1"].hFocus.value="undefined";
					window.document.forms["f1"].hStatus.value="y";
					window.document.forms["f1"].hInDev.value="";
					window.document.forms["f1"].submit();
				}	
			}else{
				if (window.confirm("Edit Document ?")==true){
					window.document.forms["f1"].hInDev.value="";
					window.document.forms["f1"].hEditType.value="edit";
					window.document.forms["f1"].hFocus.value="undefined";
					window.document.forms["f1"].submit();
				}
			}
		break;
		case "poe" :
		case "pie" :
		case "pde" :
		case "sqe" :
		case "soe" :
		case "sce" :
		case "sie" :
			if(document.forms["f1"].Status.value=="Posted"){
				window.alert("Cannot edit Posted Transactions.");
				valid=0;
			}
		default :
			if(valid==1){
				if (window.confirm("Edit Document?")==true){
					window.document.forms["f1"].hEditType.value="edit";
					window.document.forms["f1"].submit();
				}
			}
		}
	}else{
		window.alert("Cannot edit Incomplete Transactions.");
	}
}
function invoiceAll(sPage){
	
	if(sPage=="pie"){
		if(window.document.forms["f1"].Status.value!="From Order"){
			window.alert("Invoice Not From Order");
		}else{
			window.document.forms["f1"].hEditType.value="invoiceall";
			window.document.forms["f1"].submit();
		}
	}else{
		window.document.forms["f1"].hEditType.value="invoiceall";
		window.document.forms["f1"].submit();
	}
}
function newForm(sPage){
switch(sPage){

case "bo"	 :
	//if((!(window.document.forms["f1"].hEditType.value=="")) && (window.document.forms["f1"].elements["Status"].value=="New")){
/*	if(!(window.document.forms["f1"].hEditType.value=="")){
			if (window.confirm("This page has not been processed. Continue?")==true){
				window.document.forms["f1"].hEditType.value="new";
				window.document.forms["f1"].hFocus.value="undefined";
				window.document.forms["f1"].submit();
			}
	}else{ */
		if (window.confirm("New Document ?")==true){
		window.document.forms["f1"].hNewAccountID.value='';
		window.document.forms["f1"].hEditType.value="new";
		window.document.forms["f1"].hFocus.value="undefined";
		window.document.forms["f1"].submit();
		}
		
	//}
break;
case "soe" :
	if((!(window.document.forms["f1"].hEditType.value=="")) && (window.document.forms["f1"].elements["Status"].value=="New")){
			if (window.confirm("This page has not been processed. Continue?")==true){
				window.document.forms["f1"].hEditType.value="new";
				window.document.forms["f1"].hFocus.value="undefined";
				window.document.forms["f1"].submit();
			}
	}else{ 
		if (window.confirm("New Document ?")==true){
		window.document.forms["f1"].hEditType.value="new";
		window.document.forms["f1"].hFocus.value="undefined";
		window.document.forms["f1"].submit();
		}
	}
	break;
	case "es":
		 if (window.confirm("New Search ?")==true){
			window.document.forms["f1"].hEditType.value="new";
			window.document.forms["f1"].hFocus.value="undefined";
			window.document.forms["f1"].submit();
		}
	break;	
	default:
		if (window.confirm("New Document?")==true){
			window.document.forms["f1"].hEditType.value="new";
			window.document.forms["f1"].hFocus.value="undefined";
			window.document.forms["f1"].submit();
		}
	}
}


function printForm(sPage,sTranType){
	switch(sTranType){
	case "soe" :
		if (window.confirm("Print document?")==true){
			parent.location=sPrintPage;
		}
	}
}
function processForm(sPage){
var sMessage='';
	if(document.forms["f1"].hEditType.value!="browse" && document.forms["f1"].hEditType.value!="search" ){
		valid=1;
		switch(sPage){
		case "ppe_OLD" :
			if(parseFloat(document.forms["f1"].elements["PaymentAmt"].value)<parseFloat(document.forms["f1"].elements["VirtTotal"].value)){
				window.alert("Allocated Amount exceeds Payment Amount. Please re-enter.");
				valid=0;
			}else{
				if (document.forms["f1"].elements["ReferenceNo"].value==''){
					window.alert("Reference No missing. Please input");
					valid=0;
				}else{
				if(document.forms["f1"].elements["VirtTotal"].value==0){
					sMessage="\n Net allocation at Zero Value.";
				}
				if(parseFloat(document.forms["f1"].elements["PaymentAmt"].value)>parseFloat(document.forms["f1"].elements["VirtTotal"].value)){
					sMessage+="\n New Un-Allocated Payment Journal will be created for this Account."
					document.forms["f1"].hTranType.value='NewUnAllocated';
				}
			}
		}
		break;
		default:
		}
		if(valid==1){
			if (window.confirm(" Process Transaction?" + sMessage)==true){
				if ((sPage=="sie" ||sPage=="ste" || sPage=="sdel")  && window.confirm(" Print Transaction? " )==true){
					document.forms["f1"].hPrint.value=1;
				}
				document.forms["f1"].hProcess.value="process";
				document.forms["f1"].submit();
			}
		}
	}else{
		window.alert("Not in Edit Mode. Transaction not processed.");
	}
}
//Action Documents
function actionDoc(sAction,sID){
	if (window.confirm(sAction +  " Selected Document?")==true){
		document.forms["f1"].hEditType.value=sAction;
		document.forms["f1"].hValue.value=sID;
		document.forms["f1"].submit();
	}	
}
function allocDrill(sCriteria){
var sTable= sCriteria.substr(0,2);
var sSearchValue=sCriteria.substr(2);
var ref;
	switch(sTable){
	case "PI" :
		ref="pie.asp";
	break;
	case "PD" :
		ref="pde.asp";
	break;
	case "PJ" :
		ref="pje.asp";
	break;
	case "SI" :
		ref="sie.asp";
	break;
	case "SC" :
		ref="sce.asp";
	break;
	case "SJ" :
		ref="sje.asp";
	default :
	}
	document.location.href=(ref+"?Criteria='" + sSearchValue+ "'");
}
function docDrill(sCriteria){
var sTable= sCriteria.substr(0,2);
var sSearchValue=sCriteria.substr(2);
var ref;
	switch(sTable){
	case "PI" :
		ref="pie.asp";
	break;
	case "PD" :
		ref="pde.asp";
	break;
	case "PJ" :
		ref="pje.asp";
	break;
	case "SI" :
		ref="sie.asp";
	break;
	case "SC" :
		ref="sce.asp";
	break;
	case "SJ" :
		ref="sje.asp";
	default :
	}
	document.location.href=(ref+"?Criteria='" + sSearchValue+ "'");
}

function releaseForm(sPage,sEditType,sMode){
	switch(sPage){
	case	"bo"	:
			if((sEditType=="browse1")&&(sMode!='yr')){
				alert('Can not release in browse mode!');
			}else{	
				if (window.confirm("Release BOM?")==true){
					document.forms["f1"].hAddBOM.value="";
					document.forms["f1"].hEditType.value="browse1";
					document.forms["f1"].hRelease.value="y";
					document.forms["f1"].submit();
				}
			}
	break;
	default	:
	}
	
}
//Delete line Items
function deleteDoc(sPage,sID, AccID){
	switch(sPage){
	case "sre" :
	case "cre" :
	case "soe" :
	case "poe" :
	case "sq" :
			if (window.confirm("Delete Selected Document?")==true){
				document.forms["f1"].hEditType.value="delete";
				document.forms["f1"].hDelValue.value=sID;
				document.forms["f1"].hValue.value=AccID;
				document.forms["f1"].submit();
			}	
	break;
	default :
	}
}
// updated 13-06-02 by Caroline for Eoin to fix BOM issue
function processBOMForm(sEditType,sMode){
	if((sEditType=="browse1")&&(sMode!="y")){
					alert('Can not process in browse mode!');
	}else if((sEditType=="browse1")&&(sMode=="y")){
				alert('Can not process in browse mode!');
	}else{		
		switch(sEditType){
		case "edit"	:
				if(window.confirm(" Process Transaction?" )==true){
					document.forms["f1"].hAddBOM.value="";
					document.forms["f1"].hEditType.value="browse1";
					document.forms["f1"].hProcessBOM.value="y";
					document.forms["f1"].action='newbo.asp';
					document.forms["f1"].submit();
				}
		break;
		case "new"	:
					document.forms["f1"].hEditType.value="browse1";
					document.forms["f1"].hProcessBOM.value="ynew";	
					document.forms["f1"].action='newbo.asp';
					document.forms["f1"].submit();
		break;
		}
	}
}

function processRecord(){
	//Re enable the screen before processing so that the values of all the fields are sent into the Form.
	//screenEnable();	
	document.f1.hAction.value="Process";
	document.f1.submit();
}


//open a new window which references the page specified by strPage and takes strParam as parameters e.g. of strParam : "Filter=123&EditType='Insert'" etc windowname is the name of the new window
function OpenNewWindow(strPage, strParam, strWindowName){
	var ProdSearchWindow=window.open(strPage + "?" + strParam, strWindowName,"width=800,height=600,status=yes,scrollbars=yes,resizeable=yes");	
}

//open a new window which references the page specified by strPage and takes strParam as parameters e.g. of strParam : "Filter=123&EditType='Insert'" etc windowname is the name of the new window
function OpenURL(strPage, strWindowName){
	var xxWindow=window.open(strPage , strWindowName,"width=800,height=600,status=yes,scrollbars=yes,resizeable=yes");	
    xxWindow.focus();
}

function closewindow(){
	window.close();
}

// new customer based functions
function setRPT(URL){
	document.forms["f1"].hEditType.value="setRPT";
	document.forms["f1"].hValue.value=URL;
	document.forms["f1"].submit();
}

function TOpage(ID, page){
		document.forms["f1"].hEditType.value="TOpage";
		document.forms["f1"].hField.value=page;
		document.forms["f1"].hValue.value=ID;
		document.forms["f1"].submit();
	}