var
  upimages=null;
  downimages=null;

function preloadimages()
{
  upimages=new Array();
  downimages=new Array();

  upimages['btn']=new Image(114,26);
  upimages['btn'].src="images/btn.gif";

  upimages['btn_left']      = new Image(8,26);
  upimages['btn_left'].src  = "images/btn_left.gif";
  upimages['btn_right']     = new Image(8,26);
  upimages['btn_right'].src = "images/btn_right.gif";

  downimages['btn_left']=new Image(8,26);
  downimages['btn_left'].src="images/btn_down_left.gif";
  downimages['btn_right']=new Image(8,26);
  downimages['btn_right'].src="images/btn_down_right.gif";

  downimages['btn']=new Image(114,26);
  downimages['btn'].src="images/back_down.gif";

  upimages['prev']=new Image(164,34);
  upimages['prev'].src="images/prev.gif";
  downimages['prev']=new Image(164,34);
  downimages['prev'].src="images/prev_down.gif";


  upimages['next']=new Image(164,34);
  upimages['next'].src="images/next.gif";
  downimages['next']=new Image(164,34);
  downimages['next'].src="images/next_down.gif";

  upimages['reenter']=new Image(164,34);
  upimages['reenter'].src="images/reenter.gif";
  downimages['reenter']=new Image(164,34);
  downimages['reenter'].src="images/reenter_down.gif";

  upimages['paper']=new Image(164,34);
  upimages['paper'].src="images/paper.gif";
  downimages['paper']=new Image(164,34);
  downimages['paper'].src="images/paper_down.gif";

}

function btnup(aimage,id)
{
  if (!(upimages))
    preloadimages();

	aimage.className = "topmenubtn";
	document.getElementById('btnleft'+id).className  = 'btnLeft';
	document.getElementById('btnright'+id).className = 'btnRight';
}

function btndown(aimage,id)
{
  if (!(upimages))
    preloadimages();

    aimage.className = "topmenubtn_down";
	document.getElementById('btnleft'+id).className  = 'btnLeft_down';
	document.getElementById('btnright'+id).className = 'btnRight_down';
}

function imageup(aimage)
{
  if (!(upimages))
    preloadimages();
    aimage.src = upimages[imagename(aimage)].src;
}

function imagename (imageid){
	switch(imageid.id)
      {
	  case 'prev':
		  return 'prev';
	  break;
	  case 'next':
	  	return 'next';
	  break;
	  case 'reenter':
	  	return 'reenter';
	  break;
	  case 'paper':
	  	return 'paper';
	  break;
	  default:
	  	return 'next';
	  }
}

function imagedown(aimage)
{
  if (!(upimages))
    preloadimages();
    aimage.src=downimages[imagename(aimage)].src;
}

var iswide = null;

function buttonsshow(prev,next,paper,reenter){
	   document.getElementById('paper_area').style.display = "none"
	   document.getElementById('paper_area2').style.display = "none"
	   document.getElementById('reenter_area').style.display = "none"
	   document.getElementById('reenter_area2').style.display = "none"
       document.getElementById('prev_area').style.display = "none"
       document.getElementById('prev_area2').style.display = "none"
       document.getElementById('next_area').style.display = "none"
	   document.getElementById('next_area2').style.display = "none"

	if (paper){
		buttonelmntshow('paper', null);
	}
    if (reenter){
	    buttonelmntshow('reenter', null);
	}
   if (prev) {
		buttonelmntshow('prev', null);
   }
   if (next) {
		buttonelmntshow('next', typeof(next) == 'string' ? next : null);
	}
}

function buttonelmntshow(elmnt, acaption){
       document.getElementById(elmnt + '_area').style.display = ""
	   document.getElementById(elmnt + '_area2').style.display = ""
       document.getElementById(elmnt).alt = (acaption ? acaption : elmnt)
	   imageup(document.getElementById(elmnt));
	}
//Called by child forms in the iframe to set the top menu buttons
function buttonset(prev,next,captions,wide)
{
    buttonsshow(prev,next,false,false)
   // Generating top menu buttons (innerHTML property of element with id named "captions")
   // NOTICE: The titles of top buttons and their actions will be equal!
   var top_menu
   top_menu = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" height=\"100%\">\n"
   top_menu+= "<tr>\n"

   var i
   var c = captions.length
   for(i = 0; i < c; i++) {
		top_menu+= "<td width=\"8\" id=\"btnleft"+i+"\" class=\"btnLeft\">&nbsp;</td>"
		+"<td height=\"26\" class=\"topmenubtn\" onclick=\"exec_action('" + captions[i] + "')\"  onmousedown=\"btndown(this,'"+i+"')\" onmouseup=\"btnup(this,'"+i+"')\"><nobr><b>" + captions[i] + "</b></nobr></td>"
		+"<td width=\"8\" id=\"btnright"+i+"\" class=\"btnRight\">&nbsp;</td>\n";
		if (i != c-1) {
	        top_menu+= "<td width=\"10\"></td>\n"
		}
   }

   top_menu+= "</tr>\n"
   top_menu+= "</table>"
   document.getElementById("captions").innerHTML = top_menu

   // Make iframe wider for certain pages
   if (iswide !== wide)
   {
      var laction = document.getElementById('action');
      var lbotmenu = document.getElementById('botmenu');
      var lprintlabe = document.getElementById('printlabe');

      switch(wide)
      {
      case 'wide':
//        laction.width = '100%';//800;
        lbotmenu.style.display = '';
        lprintlabe.style.display = 'none';
        break;

      case 'print':
//        laction.width = '100%';//650;
        lbotmenu.style.display = 'none';  // hide bottom buttons
        lprintlabe.style.display = '';
        break;

      default:
//   	    laction.width = '100%';//500;
        lbotmenu.style.display = '';
        lprintlabe.style.display = 'none';
      }

	  iswide = wide;
   }

   window.parent.document.isLoaded = true;
}

function exec_action(action)
{
    switch(action)
    {
    	case 'Close':
          if (confirm('Close the claim (browser window will close) ?')) close()
          break
        case 'Suspend':
          if (confirm('Suspend the claim (browser window will close) ?')) close()
          break
        case 'Note for loss-adjuster':
          document.getElementById('action').src='index.php?page=Cert_Password&action=not_for_adjuster'
          break
        case 'Resume claim':
          document.getElementById('action').src='index.php?page=Cert_Password&action=resume'
          break
        case 'Reprint declaration':
          document.getElementById('action').src='index.php?page=Cert_Password&action=reprint'
          break
        case 'Add or delete a section':
          Rechoose()
          break
        case 'Re-choose sections':
          Rechoose()
          break
        case 'Add another':
          exec_frame_action('list_save_add')
          break
        case 'Just save':
          exec_frame_action('list_save')
          break
        case 'Cancel':
          exec_frame_action('list_')
          break
        case 'Save':
          exec_frame_action('list_save')
          break
        case 'Print':
          Print();
          break;
        default:
          exec_frame_action(action);
    }

}

function exec_frame_action(action) {
	get_action_window().navclicked(action);
}

function navclick(aimage)
{
    isLoaded = false;
 	get_action_window().navclicked(aimage.alt);
}

function CheckIsIE()
{
    if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { return true;}
    else { return false; }
}

function get_action_window()
{
  var result = document.getElementById('action');
  if (result.contentWindow)
    // IE and Firefox
    return result.contentWindow;
  else
    //Netscape 6 version
    return result.contentDocument.defaultView;
}

function Print()
{
   var laction = get_action_window();

   laction.focus();
   laction.print();
}

function Rechoose() {
  // find name of calling page
  var q = document.getElementById('action');
  if (q)
  {
    if (CheckIsIE() == true)
        q = q.document.getElementById('page');
    else
        q = q.contentDocument.getElementById('page');
  }
  if (q)
    q = q.value;
  if (q)
    q = '&callingpage=' + q;
  else
    q = '';

  document.getElementById('action').src='index.php?page=Sect_AddDelete' + q;
}

function Delete() {
  // find name of calling page
  var q = document.frames[0];
  if (q)
    q = q.document.getElementById('page');
  if (q)
    q = q.value;
  if (q)
    q = '&callingpage=' + q;
  else
    q = '';

  document.getElementById('action').src='index.php?page=Sect_ConfirmDelete' + q;
}


function Review(ItemSequenceNo) {
	 parent.document.getElementById('action').src='index.php?page=Deci_Display&ItemSequenceNo='+ItemSequenceNo;
}

// Submit main form
function FormSubmit() {
    document.forms['ActionForm'].submit()
}

// Set Reason memo (enabled/disabled) in Cert_AskAdditional Page
function set_reason(obj) {
			if(obj.value == 'make' && obj.checked) {
			    obj.form.reason.disabled = false
					obj.form.reason.focus()
			}
			else {
			    obj.form.reason.disabled = true
			}
}
// fill date field in form with dd/mm/yyyy
function date_help (obj) {
   if (obj.value == "dd/mm/yyyy") {
	     obj.value = "";
   }
}

function validDate(s)
{
    var m = /(\d{1,2})\/(\d{1,2})\/(\d{4})/.exec(s);
		if (m == null) {
		    return false;
		}
		m[2] -= 1;
		var d = new Date(m[3],m[2],m[1]);
		if ((m[3] == d.getFullYear()) && (m[2] == d.getMonth()) && (m[1] == d.getDate()) &&
		 (m[3] >= 1890) && (m[3] <= 2050))
	    {
		    return true;
		}
		return false;
}

function isDigit(evt)
{
  evt=(evt) ? evt : ((event) ? event : null);
  if(evt)
  {
	var result=true;

    var charCode=(evt.charCode || evt.charCode == 0) ? evt.charCode: ((evt.keyCode) ? evt.keyCode : evt.which);
    if ( charCode != 0 )
    {
        if(charCode>13 && (charCode<48 || charCode>57))
        {
            alert("Only digits '0' to '9' are allowed.");
            result = false;
        }
        else if(charCode == 13)
        {
            internalEnter((evt.target) ? evt.target : evt.srcElement);
            result = false;
        }
    }

    if (!result)
      if(evt.returnValue)
        evt.returnValue=false;
      else
        if(evt.preventDefault)
          evt.preventDefault();
		else
    	  return false;
  }
}

function isMoney(evt)
{
  evt=(evt) ? evt : ((event) ? event : null);
  if(evt)
  {
    var result=true;

    var charCode=(evt.charCode || evt.charCode == 0) ? evt.charCode: ((evt.keyCode) ? evt.keyCode : evt.which);
    if ( charCode != 0 )
    {
    if(charCode>=13 && (charCode<48 || charCode>57) && charCode!=46)
    {
      if (charCode == 13)
        internalEnter((evt.target) ? evt.target : evt.srcElement);

      result=false;
    }
    else
    {
	  //Get element
	  var elem=(evt.target) ? evt.target : evt.srcElement;
	  var val=elem.value;

	  if(charCode==46)
	  {
	    if(val=="" || val.indexOf(".")!=-1)
	      result=false;
	  }
	  else
	  {
		 //Max 2 decimal places
		 var q=val.indexOf(".");
		 if(q!=-1 && val.length>=q+3)
		  result=false;
	  }
    }
    }

	if(!result)
      if(evt.returnValue)
        evt.returnValue=false;
      else
        if(evt.preventDefault)
          evt.preventDefault();
        else
          return false;
  }
}

function isDate(evt)
{
  evt=(evt) ? evt : ((event) ? event : null);
  if(evt)
  {
    var result=true;

    var charCode=(evt.charCode || evt.charCode == 0) ? evt.charCode: ((evt.keyCode) ? evt.keyCode : evt.which);
    if ( charCode != 0 )
    {
    if(charCode>=13 && (charCode<48 || charCode>57) && charCode!=47)
    {
      if (charCode == 13)
        internalEnter((evt.target) ? evt.target : evt.srcElement);

      result=false;
    }
	// else COULD PUT MORE CHECKING HERE LIKE ISMONEY
    }

	if(!result)
      if(evt.returnValue)
        evt.returnValue=false;
      else
        if(evt.preventDefault)
          evt.preventDefault();
        else
          return false;
  }
}

function isText(evt)
{
  evt=(evt) ? evt : ((event) ? event : null);
  if(evt)
  {
    var charCode=(evt.charCode || evt.charCode == 0) ? evt.charCode: ((evt.keyCode) ? evt.keyCode : evt.which);

    if (charCode == 13)
    {
      internalEnter((evt.target) ? evt.target : evt.srcElement);

      if(evt.returnValue)
        evt.returnValue=false;
      else
        if(evt.preventDefault)
          evt.preventDefault();
        else
          return false;
    }
  }
}

function internalEnter(field)
{
  var i;

  for (i = 0; i < field.form.elements.length; i++)
  {
    if (field == field.form.elements[i])
      break;
  }

  for (t = (i + 1); t < field.form.elements.length; t++)
  {
    i = (i + 1) % field.form.elements.length;
    if(field.form.elements[i].type !='hidden' && field.form.elements[i].type !='submit' )
    {
      field.form.elements[i].focus();
      break
    }
  }
}

/////////////////////////////////////////////////////
function validMoney(value)
{
    if ( value == '' ) return true;
    var moneyPattern = /^[\d]+(\.[\d]{2})?$/;
    if ( !moneyPattern.test(value) ) return false;
    return true;
}

function isHours(value)
{
    if ( value == '' ) return true;
    if (parseInt(value) > 23) return false;
    return true;
}

function isMinutes(value)
{
    if ( value == '' ) return true;
    if (parseInt(value) > 59) return false;
    return true;
}

function isDigit2(evt)
{
  evt=(evt) ? evt : ((event) ? event : null);
  if(evt)
  {
	var result=true;

    var charCode=(evt.charCode || evt.charCode == 0) ? evt.charCode: ((evt.keyCode) ? evt.keyCode : evt.which);
    if ( charCode != 0 )
    {
        if(charCode>13 && (charCode<48 || charCode>57))
        {
            result = false;
        }
        else if(charCode == 13)
        {
            internalEnter((evt.target) ? evt.target : evt.srcElement);
            result = false;
        }
    }

    if (!result)
      if(evt.returnValue)
        evt.returnValue=false;
      else
        if(evt.preventDefault)
          evt.preventDefault();
		else
    	  return false;
  }
}

function isScheme(field){
	value = field.value.toUpperCase();

	if( ! value ) {
		return false;
	}

	//var reg	= new RegExp("^[A-Z]{3}[1-9]{1}[0-9]{2}$");
	var reg	= new RegExp("^[A-Z]{3}[0-9A-Z]{3}$"); 
	var reg2 = new RegExp("^BML$");
	if( reg.test(value) || reg2.test(value) ) {
		return true;
	}
	else {
		alert( 'You have entered an invalid Certificate prefix of '+value+'.  Please check your certificate again.'
				+'  This field expects an entry in the format of ABC123 or ABCXYZ, that is first 3 alpha characters followed by next three alphanumerics.');
		var tt = document.getElementById( field.id );
		document.ActionForm.scheme.focus();
		return false;
	}
}