function submitbutton(pressbutton)
{
	var form = document.adminForm;
	if (pressbutton == 'cancel') {
		submitform( pressbutton );
		return;
	}

	// do field validation
	if (McValidate()) {
		submitform( pressbutton );
	} else {
		return false;
	}
}

function submitform(pressbutton){
	if (pressbutton) {
		document.adminForm.task.value=pressbutton;
	}
	if (typeof document.adminForm.onsubmit == "function") {
		document.adminForm.onsubmit();
	}
	document.adminForm.submit();
}

function McConf(msg)
{
var chktext;
if ( arguments.length == 1) chktext = msg;
else chktext = "You have chosen to Delete a record. Please confirm that this is correct.";
return(confirm(chktext));
}

/* Thomas Powell Javascript Validation ( from HTML & XHTML 4th Edition
enhanced Malcolm Cowen for multi-language and field names
*/
var whitespace = " \t\n\r";

function isEmpty(s)
{
var i;
if((s == null) || (s.length == 0))
 return true;

//Search string looking for characters that are not whitespace
for (i = 0; i < s.length; i++)
 {
   var c = s.charAt(i);
   if (whitespace.indexOf(c) == -1)
     return false;
 }

//All characters are whitespace.
return true;
}

function ChkEmail(vFld,vMsg)
{
var positionOfAt;
var s = vFld.value;
positionOfAt = s.indexOf('@',1);
if ( ( positionOfAt == -1) || (positionOfAt == (s.length-1)) )
 {
   alert(vMsg+': '+ErrMsgEMWR);
   vFld.focus();
   return false;
 }
return true;
}

function ChkMand(vFld,vMsg)
{
if (isEmpty(vFld.value))
 {
   alert(vMsg+': '+ErrMsgMAND);
   vFld.focus();
   return false;
 }
return true;
}

function isDigit(c)
{
return ((c >= "0") && (c <= "9"))
}


function ChkInteger(vFld,vMsg)
{
var i, c;
var s = vFld.value;
if (isEmpty(s))
 {
   alert(vMsg+': '+ErrMsgMAND);
   vFld.focus();
   return false;
 }
for (i = 0; i < s.length; i++)
 { // Check if current character is number.
   c = s.charAt(i);
   if (!isDigit(c))
     {
       alert(vMsg+': '+ErrMsgNRWR);
       vFld.focus();
       return false;
     }
 }
return true;
}


function ChkDropMenu(vFld,vMsg)
{
var i, c;
var s = vFld.selectedIndex;
if (s < 0)
 {
   alert(vMsg+': '+ErrMsgDROP);
   vFld.focus();
   return false;
 }
return true;
}



function ChkMenuMin1(vSelList,vMsg,vAltFld, vDelArray)
{
var i ;
var s = vSelList.selectedIndex;
var t = vAltFld.selectedIndex;
if (s > -1 && t > -1) return true;

var eArray = vDelArray.split(".");
var sArray = document.forms[eArray[1]].elements[eArray[2]+"[]"];
if (typeof(sArray) != 'undefined') {
	if (sArray.length) {
		for (i = 0; i < sArray.length; i++)
		{
			if ( sArray[i].checked == false ) return true;
		}
	} else {
		if (sArray.checked == false) return true;
	}
}
alert(vMsg+': '+ErrMsgDROP);
vAltFld.focus();
return false;
}


function NoLink(vSelList,vMsg,vNone, vDelArray)
{
var i ;
var crd = 0;
var s = vSelList.selectedIndex;
if (s > -1) crd = 1;

var eArray = vDelArray.split(".");
var sArray = document.forms[eArray[1]].elements[eArray[2]+"[]"];
if (typeof sArray != 'undefined') {
	if (sArray.length) {
		for (i = 0; i < sArray.length; i++)
		{
			if ( sArray[i].checked == false ) crd = 1;
		}
	} else {
		if (sArray.checked == false) crd = 1;
	}
}
if ( (vNone.checked == true ) && (crd == 0) ) return true;
if ( (vNone.checked == false) && (crd >  0) ) return true;

alert(vMsg);
vNone.focus();
return false;
}

function validate(validations)
{
  var i;
  var vType;
  var vMsg;
  var vFld;
  var vAltFld;
  var vArray;
  for (i = 0; i < validations.length; i++)
    {
      vFld     = eval(validations[i][0]);
      vMsg     = validations[i][1];
      vType    = validations[i][2];
      vAltFld  = eval(validations[i][3]);
      vArray   = validations[i][4];
      switch (vType)
        {
          case 'NotBlank'     : if (!ChkMand(vFld,vMsg))           return false;
                                break;
          case 'ValidEmail'   : if (!ChkMand(vFld,vMsg))           return false;
                                if (!ChkEmail(vFld,vMsg))          return false;
                                break;
          case 'OptionalEmail': if ( (!isEmpty(vFld.value)) && (!ChkEmail(vFld)) )  return false;
                                break;
          case 'IsNumber'     : if (!ChkInteger(vFld,vMsg))        return false;
                                break;
          case 'DropMenu'     : if (!ChkDropMenu(vFld,vMsg))       return false;
                                break;
          case 'MenuMin1'     : if (!ChkMenuMin1(vFld,vMsg,vAltFld, vArray))  return false;
                                break;
          case 'NoLink'       : if (!NoLink(vFld,vMsg,vAltFld, vArray))  return false;
                                break;
        }
    }
  return true;
}

function McChkPassword(Password0, Password1,vMsg)
{
  if (Password0.value == Password1.value) return true;

  alert(vMsg+': '+ErrMsgPWER);
  Password0.value = "";
  Password1.value = "";
  Password0.focus();
  return (false);

}
