function isANumber(number, message) {
  answer = 1;
  if (parseFloat(number) == "NaN") {
    answer = 0;
    alert("Please enter a numeric value for the " + message + " field.");
  } 
  else {
    for (var i=0; i<number.length; i++) {
      if (((number.charAt(i) != "0") && (number.charAt(i) != ".") && (number.charAt(i) != "-") && (number.charAt(i) != "+"))
      && (!parseFloat(number.charAt(i)))) {
        answer = 0;
        alert("Please enter a numeric value for the " + message + " field.");
        break;
      }
    }
  }
  return answer;
} 

function checkValue(ths, val, nam) {
  if(val) {
    if (!(isANumber(val, nam))) {
      ths.focus();
      return 1;
    } else {
//      calcTotal();
//      calcTotal();
      return 0;
    }
  }
}

function checkYear(ths, val, nam) {
  if(val && val != "0") {
    if ((!parseInt(val)) || (parseInt(val) < 1900) || (parseInt(val) > 2050)) {
      alert("Please enter a valid year for the " + nam + " field.");
      ths.value = 1900;
      ths.focus();
    }
  }
}

function checkMonth(ths, val, nam) {
  if(val && val != "0") {
    if ((!parseInt(val)) || (parseInt(val) > 12) || (parseInt(val) < 1)) {
      alert("Please enter a valid month for the " + nam + " field.");
      ths.value = 1;
      ths.focus();
    }
  }
}

function checkDay(ths, val, nam) {
  if(val && val != "0") {
    if ((!parseInt(val)) || (parseInt(val) > 31) || (parseInt(val) < 1)) {
      alert("Please enter a valid day for the " + nam + " field.");
      ths.value = 1;
      ths.focus();
    }
  }
}

function CheckPositive(val) {
  if(val < 0.0) {
    return 0.0;
  }
  return val;
}

function returnLesser(val1, val2) {
  if(val1 < val2) {
    return val1;
  }
  return val2;
}

function returnInInterval(val, int1, int2) {
  if(val > int1 && val <= int2) {
    return val;
  }
  return 0.0;
}

function CheckZero(val) {
  if(val == 0) {
    return 0.0;
  }
  return 1.0;
}

function returnIfZero(val1, val2) {
  if(val1 <= 0.01) {
    if(val2 > 0.01) {
      return val2;
    }
  }
  return val1;
}

function returnIfLesser(val1, val2, val3) {
  if((val1 <= val2) && (val3 > 0.01)) {
    return val3;
  }
  return val1;
}

function PropTxCrdt(crdt, age1, age2) {
  if(age1 < age2) {
    return returnLesser(crdt, 250.0);
  } else {
    return returnLesser(crdt, 625.0);
  }
}

function returnIfOlder(val, age1, age2) {
  if(age1 < age2) {
    return val;
  } else {
    return 0.0;
  }
}

function PropSalesTxCrdt(crdt, age1, age2) {
  if(age1 < age2) {
    return returnLesser(crdt, 1000.0);
  } else {
    return returnLesser(crdt, 1125.0);
  }
}

function returnIfExclusive(val1, val2, val3) {
  if((val2 < 0.01) && (val3 < 0.01)) {
    return val1;
  }
  return 0.0;
}

function Get_Cookie(name) {
   var start = document.cookie.indexOf(name+"=");
   var len = start+name.length+1;
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
   if (start == -1) return null;
   var end = document.cookie.indexOf(";",len);
   if (end == -1) end = document.cookie.length;
   return unescape(document.cookie.substring(len,end));
}

function Get_Subcookie(name, mycookie) {
   var start = mycookie.indexOf(name+":");
   var len = start+name.length+1;
//   alert(start+" "+len);
   if ((!start) && (name != mycookie.substring(0,name.length))) return null;
   if (start == -1) return null;
   var end = mycookie.indexOf("/",len);
   if (end == -1) end = mycookie.length;
   return unescape(mycookie.substring(len,end));
}

function Set_Cookie(name,value,expires,path,domain,secure) {
    var today=new Date();
    if ( expires )
    {
	expires = expires * 1000 * 60 * 60;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    var cookieString = name + "=" +escape(value) +
       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") +
       ( (path) ? ";path=" + path : "") +
       ( (domain) ? ";domain=" + domain : "") +
       ( (secure) ? ";secure" : "");
    document.cookie = cookieString;
}

function Set_Subcookie(name, value) {
    var cookieString = name + ":" +escape(value) + "/";
    return cookieString;
}

function Delete_Cookies(path,domain) {
   k = 0;
   while (Get_Cookie("cookie" + k)) {
      document.cookie = "cookie" + k + "=" +
      ( (path) ? ";path=" + path : "") +
      ( (domain) ? ";domain=" + domain : "") +
      ";expires=Thu, 01-Jan-70 00:00:01 GMT";
      k++;
   }
   while (Get_Cookie("cookie0")) K++;
}

var ie  = document.all;
var ns6 = document.getElementById&&!document.all;
var isMenu  = false;
var overpmn = false;
var selectitm = 0;
var frstclck = 0;
top.menuitem = ""

function mouseUp(e)
{
  isMenu = false ;
  document.getElementById("menudiv1").style.display = "none" ;
}

function mouseSelect(e)
{
  frstclck = 1;
  if( isMenu )
  {
    if( overpmn == true )
    {
      SelectItem();
      if (ns6)
      {
        selectitm = e.which;
      } else
      {
        selectitm = event.button;
      }
    }
    return true ;
  }
//  return false;
  return true;
}

function  ItemSelMenu(e)
{
  if (frstclck == 0)
    return false;
  if (selectitm > 1) {
    selectitm = 0;
    return false;
  }
  if (overpmn == true) {
    isMenu = false;
    return false;
  }
  if (ns6)
  {
    document.getElementById("menudiv1").style.left = e.clientX+document.body.scrollLeft;
    document.getElementById("menudiv1").style.top = e.clientY+document.body.scrollTop;
  } else
  {
    document.getElementById("menudiv1").style.pixelLeft = event.clientX+document.body.scrollLeft;
    document.getElementById("menudiv1").style.pixelTop = event.clientY+document.body.scrollTop;
  }
  document.getElementById("menudiv1").style.display = "";
  isMenu = true;
  return false;
}

top.tx_font_siz = 14;

function GenMenu(mar)
{
  document.write('<div id="menudiv1" style="position:absolute; display:none; top:0px; left:0px;" onmouseover="javascript:overpmn=true;" onmouseout="javascript:overpmn=false;">');
  document.write('<table cellspacing=1 cellpadding=0 bgcolor=lightgray>');
  document.write('  <tr><td>');
  document.write('   <table cellspacing=0 cellpadding=4>');

//  alert(mar);
  for (var i = 0; i < mar.length; i++) {
      ittx = mar[i];
	  if (ittx != "") {
		if (mar[i+1] != "" || i == mar.length-2) {
		document.write('     <tr><td id="' + ittx + '" bgcolor="#FCFFFC" style="color: #000066; font-size:'+top.tx_font_siz+';" onMouseOver="this.style.backgroundColor=\'#458b74\'; this.style.color=\'#ffffff\'; menuitem=this.id;" onMouseOut="this.style.backgroundColor=\'#FCFFFC\'; this.style.color=\'#000066\';"><nobr>' + ittx + '</nobr></td>');
		document.write('     </tr>');
		} else {
		document.write('     <tr><td id="' + ittx + '" bgcolor="#FCFFFC" style="color: #000066; border-bottom: black 1px solid; font-size:'+top.tx_font_siz+';" onMouseOver="this.style.backgroundColor=\'#458b74\'; this.style.color=\'#ffffff\'; menuitem=this.id;" onMouseOut="this.style.backgroundColor=\'#FCFFFC\'; this.style.color=\'#000066\';"><nobr>' + ittx + '</nobr></td>');
		document.write('     </tr>');
		}
	  }
    };

  document.write('    </table>');
  document.write('  </td></tr>');
  document.write('</table>');
  document.write('</div>');
}

document.onmousedown  = mouseSelect;
document.onmouseup  = mouseUp;
document.oncontextmenu  = ItemSelMenu;

var stckptr = -1;
var stck = new Array();
var remobj = null;

function  ItemMenuPopup(parmenu, paritm, menudiv)
{
  parobj = document.getElementById(paritm);
  mnobj = document.getElementById(menudiv);
  pmnobj = document.getElementById(parmenu);
//  stobj = document.getElementById("start");
//  alert(pmnobj.offsetLeft+" "+parobj.offsetLeft+" "+document.body.scrollLeft)
//  alert(document.body.scrollWidth)
  removerest(parmenu);
  myclearTimeout();
  if (menudiv != "")
  {
  if (parmenu == "start")
  {
    lft = pmnobj.offsetLeft+parobj.offsetLeft+document.body.scrollLeft;
    tp = pmnobj.offsetTop+parobj.offsetTop+parobj.offsetHeight+document.body.offsetTop;
  } else
  {
    lft = pmnobj.offsetLeft+parobj.offsetLeft+parobj.offsetWidth+document.body.scrollLeft;
    tp = pmnobj.offsetTop+parobj.offsetTop+document.body.offsetTop;
  }
  if (ns6)
  {
    mnobj.style.left = lft;
    mnobj.style.top = tp;
  } else
  {
    mnobj.style.pixelLeft = lft;
    mnobj.style.pixelTop = tp;
  }
  mnobj.style.display = "";
  stackin(menudiv);
  }
  return true ;
}

function ItemMenuClick(parmenu, paritm, menudiv)
{
  if (menudiv != "")
  {
    location = menudiv;
  }
}

function ItemMenuHide(menudiv)
{
  if (menudiv != "")
  {
    if(document.getElementById(menudiv).style.display == "")
    {
      remobj = document.getElementById(menudiv);
    }
  }
  setremove=setTimeout("removemenu()",250);
  return true ;
}

function myclearTimeout()
{
  if (typeof setremove != "undefined") clearTimeout(setremove);
}

function removetopmenu()
{
  if (remobj != null)
  {
    if (remobj == document.getElementById(stck[stckptr]))
    {
      remobj.style.display = "none";
      stackout();
      remobj = null;
    }
  }
}

function removemenu()
{
  for (ptr = stckptr; ptr > -1; ptr--) {
    if (remobj == null) remobj = document.getElementById(stck[stckptr]);
    removetopmenu();
  }
}

function removerest(menudiv)
{
  for (ptr = stckptr; ptr > -1; ptr--) {
    if (remobj == null) remobj = document.getElementById(stck[stckptr]);
    if (stck[stckptr] != menudiv)
    {
      removetopmenu();
    } else return true;
  }
  return true;
}

function stackin(menudiv)
{
  stckptr = stckptr + 1;
  stck[stckptr] = menudiv;
}

function stackout()
{
  stck[stckptr] = "";
  stckptr = stckptr - 1;
}
