function JsHandleRefresh1(Proc,Func,Parm)
{
	document.LANSA._PROCESS.value=Proc;
	document.LANSA._FUNCTION.value=Func;
	document.LANSA.action += '+FUNCPARMS+IF_GLBACD(A0100):' + Parm;
	document.LANSA.submit();
}

function JsHandleRefresh2(Proc,Func,Parm1,Parm2)
{
	document.LANSA.AIF_TEMPO3.value="N";
 	document.LANSA._PROCESS.value=Proc;
  	document.LANSA._FUNCTION.value=Func;
  	document.LANSA.action += '+FUNCPARMS+IF_GLBACD(A0100):' + Parm1;
	document.LANSA.action += '+S1PMBRIDN(P0160):' + Parm2;
 	document.LANSA.submit();
}


 function JsCheckNum(argval)
 {
  var re = /^[0-9]*$/;
  if (!re.test(argval.value))
  {
  argval.value =argval.value.replace(/[^0-9]/g,"");
  }
 }

function JsCheckNumDec()
{
	var isNumber = (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46));
	if(!isNumber)
	{
	event.keyCode = 0;
	return;
	}
}

function JsCheckNumSpace()
{
	var isNumber = (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 32));
	if(!isNumber)
	{
	event.keyCode = 0;
	return;
	}
}

function JsCheckDateSlash()
{
	var isNumber = (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 47));
	if(!isNumber)
	{
	event.keyCode = 0;
	return;
	}
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }


function JsConvertCYMD(date)
{

	var str=date
	var slash="/"
	var lstr=str.length	
	var lslash=str.indexOf(slash)

	if ((lstr == 8) && (lslash==-1))
	{
	var year=str.substring(4,lstr)
	var month=str.substring(2,4)
	var day=str.substring(0,2)
	cymd=year+month+day;
	return cymd;
	}

	var str2=str.substring(lslash+1,lstr)
	var lstr2=str2.length	
	var lslash2=str2.indexOf(slash)
	var dd=str.substring(0,lslash)
	if(dd.length < 2)
		dd=0+dd;
	var mm=str2.substring(0,lslash2)
	if(mm.length < 2)
		mm=0+mm;	
	var yyyy=str2.substring(lslash2+1,lstr2)
	var iyyyy=parseInt(yyyy)
	var lstr3=yyyy.length	
	var x = parseInt(lstr3)
	if(x==2)
	{
		if(iyyyy <32)
		{
		   yyyy=20+yyyy
		}
		else
		{
		   yyyy=19+yyyy
		}
	}
	var cymd=yyyy+mm+dd;
	return cymd;
}


function JsConvertCYMD1(date)
{

	var str=date
	var slash="/"
	var lstr=str.length	
	var lslash=str.indexOf(slash)

	if ((lstr == 9) && (lslash==2))
	{
	var str2=str.substring(lslash+1,lstr)
	var lstr2=str2.length	
	var lslash2=str2.indexOf(slash)

	if(lslash2 == 1)
	{
	var dd=str2.substring(0,lslash2)
	if(dd.length < 2)
	var month=0+dd;
	var year=str.substring(5,lstr)
	var day=str.substring(0,2)
	}
	else
	{
	var year=str.substring(5,lstr)
	var month=str.substring(3,5)
	var day=str.substring(0,2)
	}
		
	cymd=year+month+day;
	return cymd;
	}

	var str2=str.substring(lslash+1,lstr)
	var lstr2=str2.length	
	var lslash2=str2.indexOf(slash)
	var dd=str.substring(0,lslash)
	if(dd.length < 2)
		dd=0+dd;
	var mm=str2.substring(0,lslash2)
	if(mm.length < 2)
		mm=0+mm;	
	var yyyy=str2.substring(lslash2+1,lstr2)
	var iyyyy=parseInt(yyyy)
	var lstr3=yyyy.length	
	var x = parseInt(lstr3)
	if(x==2)
	{
		if(iyyyy <32)
		{
		   yyyy=20+yyyy
		}
		else
		{
		   yyyy=19+yyyy
		}
	}
	var cymd=yyyy+mm+dd;
	return cymd;
}


function Format(total,decimals)
 {
      var num = parseFloat(total);
      // First section sets non-number value to zero
          if (!(num = parseFloat(num)))
               num = "0.00";
      // Second section sets two decimal place format
          var Pad = "";
          num = "" + Math.floor(num * Math.pow(10,decimals + 1) + 5);
          // Pad if less than 0.10
          if(num.length < decimals+1)
          {
               for(Count = num.length; Count <= decimals; Count++)
                    Pad += "0";
          }
          num = Pad + num;
     // Parse into final string
          num = num.substring(0,num.length - decimals - 1) +
               "." + num.substring(num.length - decimals -1, num.length -1);
     // If less than 1 then add 0 to the left of the decimal
          if((num == "") || (parseFloat(num) < 1))
               num = "0" + num;
     // Final section returns formatted number
          return num;
}


function FormatNoZero(total,decimals)
 {
      var num = parseFloat(total);
      // First section sets non-number value to zero
          if (!(num = parseFloat(num)))
               num = ".00";
      // Second section sets two decimal place format
          var Pad = "";
          num = "" + Math.floor(num * Math.pow(10,decimals + 1) + 5);
          // Pad if less than 0.10
          if(num.length < decimals+1)
          {
               for(Count = num.length; Count <= decimals; Count++)
                    Pad += "0";
          }
          num = Pad + num;
     // Parse into final string
          num = num.substring(0,num.length - decimals - 1) +
               "." + num.substring(num.length - decimals -1, num.length -1);
     // If less than 1 then add 0 to the left of the decimal
          if((num == "") || (parseFloat(num) < 1))
               num = "" + num;
     // Final section returns formatted number
          return num;
}

// To validate for all amount fields eg. 9,2 so max integer length is 7 hence intlen should be passed as 7
function JsCheckAmount(val,intlen)
{

	var isNumber = (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46));
	if(!isNumber)
	{
	event.keyCode = 0;
	return;
	}
   	var dec="."
	var Field= val.value	
	var integer=(Field.length - Field.indexOf(dec));
	if((integer > intlen) && (event.keyCode != 46))
	{
	event.keyCode = 0;
	return;
	}
}

// This is the script which returns true for valid and false for invalid integers and decimals.

function isValidNumeric(theObj,integers,decimals)
{

   var FieldValue = theObj.value;
   var returnString = "";
   var befdecCount = 0;
   var PastDec = false;
   var aftdecCount = 0;
   var nodecpoints = 0;	

   for (var i = 0; i < FieldValue.length; i++)
   {
      if (isDigit(FieldValue.charAt(i)))
      {
         if (PastDec)
         {
            aftdecCount++
            if (aftdecCount <= decimals)
               returnString += FieldValue.charAt(i)
         }
         else
         {
            befdecCount++
            if (befdecCount <= integers)
               returnString += FieldValue.charAt(i)
         }
      }
      else
      {
         if (FieldValue.charAt(i) == '.')
            PastDec = true
         returnString += FieldValue.charAt(i);
	nodecpoints = nodecpoints + 1;	
      }
   }
   if ((befdecCount > integers) || (aftdecCount > decimals) || (nodecpoints > 1))
   {
        return false
   }
   return true
}

// This script to check if the entered digit in the input field is a valid numeric.

function isDigit(theDigit)
{
   digitArray = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
   for (var j = 0; j < digitArray.length; j++)
      if (theDigit == digitArray[j])
         return true
   return false
}

function JsHandleSplEvent(Proc,Func,Parm)
{
	document.LANSA.LTRKREFER.value=this.location;
	document.LANSA._PROCESS.value=Proc;
	document.LANSA._FUNCTION.value=Func;
	document.LANSA.action += '+FUNCPARMS+IF_GLBACD(A0100):' + Parm;
	document.LANSA.submit();
}

function JsHandleSplEventPop(Proc,Func,Parm)
{
	document.LANSA.LTRKREFER.value=window.opener.location;
	document.LANSA._PROCESS.value=Proc;
	document.LANSA._FUNCTION.value=Func;
	document.LANSA.action += '+FUNCPARMS+IF_GLBACD(A0100):' + Parm;
	document.LANSA.submit();
}

function JsHandleEvent(Proc,Func)
{
	document.LANSA.LTRKREFER.value=this.location;
	document.LANSA._PROCESS.value=Proc;
	document.LANSA._FUNCTION.value=Func;
	document.LANSA.submit();
}

function JsSetFocus()
{
   var NumElements=document.LANSA.elements.length;

   for (i=0; i<NumElements;i++)
   {
	if (document.LANSA.elements[i].type=="select-one")
		{document.LANSA.elements[i].focus();
  break;
  }
      if (document.LANSA.elements[i].type=="checkbox" ||
          document.LANSA.elements[i].type=="password" ||
          document.LANSA.elements[i].type=="text" ||
          document.LANSA.elements[i].type=="textarea")
      {
	if ((document.LANSA.elements[i].disabled == false) && (document.LANSA.elements[i].unselectable != "on"))
	{
		if (document.LANSA.elements[i].value!="")
		document.LANSA.elements[i].select();
		document.LANSA.elements[i].focus();
		break;
	}
      }
   }
}

// To check if any of the form elements have been changed
function JsIsFormChanged() {
 var rtnVal = false;
 var frm = document.LANSA;
 var ele = frm.elements;

 for ( i=0; i < ele.length; i++ ) {
  if ( ele[i].type.length > 0 ) {
     if ( JsIsElementChanged( ele, i ) ) {
      rtnVal = true;
      break;
     }
   }
 }
return rtnVal;
}

function JsIsElementChanged( ele, i ) {
 var isEleChanged = false;

 switch ( ele[i].type ) {

  case "text" :
   if ( ele[i].value != ele[i].defaultValue ) return true;
  break;

  case "textarea" :
   if ( ele[i].value != ele[i].defaultValue ) return true;
  break;

  case "radio" :
   val = "";
   if ( ele[i].checked != ele[i].defaultChecked ) return true;
  break;

  case "select-one" :
  var defVal="";
  var curVal="";
     	for ( var x =0 ; x <ele[i].length; x++ ) {
   			if(ele[i].options[ x ].defaultSelected)
   			{defVal=ele[i].options[ x ].value;}
   		}
     	for ( var x =0 ; x <ele[i].length; x++ ) {
   			if(ele[i].options[ x ].selected)
   			{curVal=ele[i].options[ x ].value;}
   		}
   	if(curVal != defVal)
   	return true;
  break;

  case "select-multiple" :
   for ( var x =0 ; x <ele[i].length; x++ ) {
    if ( ele[i].options[ x ].selected != ele[i].options[ x ].defaultSelected )
        return true;
   }
  break;

  case "checkbox" :
   if ( ele[i].checked != ele[i].defaultChecked ) return true;

  default:
   return false;
  break;
 }
}


function writeForm()
{
  var NumElements=document.LANSA.elements.length;
var fields="";
  for (i=0; i<NumElements;i++)
  {
    if (document.LANSA.elements[i].type=="hidden")
	{
	var nam=document.LANSA.elements[i].name;
	var val=document.LANSA.elements[i].value;
	var siz=document.LANSA.elements[i].size;
	var max=document.LANSA.elements[i].maxLength;
	if(nam == "S1AZMENUF")
	{ val="";}
	fields+='<input type="hidden" name="'+nam+'" size="'+siz+'" maxlength="'+max+'"  value="' +val+ '"/>';
	}
  }
return fields;
}

function jsSitetour(mypage,myname,w,h,scroll,pos)
{
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
win=window.open(mypage,myname,settings);
win.focus();
}
	
function JsPrint()
{
if (window.print)
window.print();
else
alert("Press Open-Apple Key + P to Print");
}

function GiveHex(Dec)
{
   if(Dec == 10)
      Value = "A";
   else
   if(Dec == 11)
      Value = "B";
   else
   if(Dec == 12)
      Value = "C";
   else
   if(Dec == 13)
      Value = "D";
   else
   if(Dec == 14)
      Value = "E";
   else
   if(Dec == 15)
      Value = "F";
   else
      Value = "" + Dec;

   return Value;
}

function DecToHex(R,G,B)
{
   a = GiveHex(Math.floor(R / 16));
   b = GiveHex(R % 16);
   c = GiveHex(Math.floor(G / 16));
   d = GiveHex(G % 16);
   e = GiveHex(Math.floor(B / 16));
   f = GiveHex(B % 16);

   var Hex = "#"+a + b + c + d + e + f;
return Hex;
}

//should recieve the class id, property for IE and property for NS to get the respective style attributes
var OperaBrowse = navigator.userAgent.indexOf("Opera") > -1;//Opera
function jsCssColorStyle(el, cssproperty, csspropertyNS)
{
	if (el.currentStyle)
	return el.currentStyle[cssproperty]
	else if (window.getComputedStyle){
	var elstyle=window.getComputedStyle(el, "")
	var rgb=elstyle.getPropertyValue(csspropertyNS);
	if(OperaBrowse==true)
	{return rgb; }

	var lrgb=rgb.length;
	var iobrc=rgb.indexOf("(");
	var icbrc=rgb.indexOf(")");
	var rgb1=rgb.substring(iobrc+1,icbrc);//R,G,B
	var icoma1=rgb1.indexOf(",");
	var red=rgb1.substring(0,icoma1);//R
	var rgb2=rgb1.substring(icoma1+1);//G,B
	var icoma2=rgb2.indexOf(",");
	var green=rgb2.substring(0,icoma2);//G
	var blue=rgb2.substring(icoma2+1);//B
	return DecToHex(red,green,blue);
	}
}

//should recieve the class id, property for IE and property for NS to get the style attributes
function jsGetCssStyle(cssID, cssproperty, csspropertyNS)
{
	if (cssID.currentStyle)
	{return cssID.currentStyle[cssproperty] }
	else
	{
		if (window.getComputedStyle)
		{
		var elstyle=window.getComputedStyle(cssID, "")
		var cssValue=elstyle.getPropertyValue(csspropertyNS);
		return cssValue;
		}
	}
}


// Modified script for safari mac
var red1; var green1; var blue1;

function getrgbcolor(str1)
{
 var a1=b1=c1=0;
 var i=0;
 for( i=0; i<=str1.length; i++)                  
 {
    if(str1.charAt(i) == "(")
    { var a1 = i+1;  }
    if(str1.charAt(i) == ")")
    { var b1 = i;   }
 } 
 var str2 = str1.substring(a1,b1);
 a1=b1=0;

 for( j=0; j<=str2.length; j++)                  
 {
    if( (str2.charAt(j) == ",") && (a1==0))
    { a1 = str2.substring(0,j); var grn = j; j=j+1; }

    if( (str2.charAt(j) == ",") && (b1==0))
    { b1 = str2.substring(grn+1,j); c1 = str2.substring(j+1,str2.length); }
 } 
 red1 = a1; green1 = b1; blue1=c1;

}

function jsCssColorStyle1(el, cssproperty, csspropertyNS)
{
   var style = el.currentStyle || document.defaultView.getComputedStyle(el, '');
   var rgb= style.getPropertyValue("background-color");
   red1=green1=blue1=0;
   getrgbcolor(rgb);
   return DecToHex(red1,green1,blue1); 
}

// To remove commas from a string
function removeCommas(strValue) {
  var objRegExp = /,/g; 
  return strValue.replace(objRegExp,'');
}

//should recieve the string values to add commas

function jsAddCommas(nStr)
{
var inD=".";
var outD=".";
var sep=","
	nStr += '';
	var dpos = nStr.indexOf(inD);
	var nStrEnd = '';
	if (dpos != -1) {
		nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
		nStr = nStr.substring(0, dpos);
	}
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(nStr)) {
		nStr = nStr.replace(rgx, '$1' + sep + '$2');
	}
	return nStr + nStrEnd;
}

//Script to build the drop down
function dd_build_DROPC(selVal, Pval, Pcount)
{
 var x="";
 for (var i = 1; i <= Pcount; i++)
 {
	if (DROP_DDID[i] == Pval)
 	{
 	     if (DROP_CODE[i] != "")
		{
  	   	if (DROP_CODE[i] == selVal)
   	  		{x=x+'<option value='+DROP_CODE[i]+' selected>'+DROP_DESC[i]+'</option>';}
			else
 		     	{x=x+'<option value='+DROP_CODE[i]+'>'+DROP_DESC[i]+'</option>';}
  	            }
	}
 }
return x;
}

function JsCheckNumAmount(val,intlen)
{
   var re1= eval("/^\\d{0,"+intlen+"}"+"\\.?[0-9]*$/");
   var re2 = eval("/^\\d{0,"+intlen+"}$/");
    var adec='@',j=0;
  if (val.value.indexOf('.')==-1)
  {
     if (re2.test(val.value)==true)
     {
        return;
     }
  }
  else
  if (re1.test(val.value)==true)
  {
     return;
  }
   val.value =val.value.replace(/[^0-9\.]/g,"");
  val.value =val.value.replace(/\.{2,}/g,".");
  if (isNaN(val.value)==true)
  {
    for(i=0;i<val.value.length;i++)
    {
        if (val.value.charAt(i) == '.')
        j++;
        if (j>1)
        {
           val.value=val.value.substring(0,i)+val.value.substring(i+1);
           break;
        }
    }
  }
  if  (val.value.indexOf(".")!=-1)
  {
    bdec=val.value.substr(0,val.value.indexOf("."));
    adec=val.value.substr(val.value.indexOf("."));
  }
  else
  bdec=val.value;
  if (bdec.length>=intlen)
    bdec=val.value.substr(0,intlen);
   else
    bdec=val.value.substr(0,bdec.length);
  if (adec=='@')
         adec="";
     else
      adec=val.value.substr(val.value.indexOf("."));
  val.value=bdec+adec;
  }
// To check if any of the form elements have been changed - ADDTFN

function JsIsFormChanged1(tfnchg)
 {
   tfnchg = "N";	
   var NumElements=document.LANSA.elements.length;
   for (var i=0; i<NumElements;i++)
    {
       if (document.LANSA.elements[i].type=="text")
       {  	if(document.LANSA.elements[i].value != "")  { tfnchg="Y"; break;}	     }
    }
return tfnchg;
}


// Script for Controlling [CTRL+V, MousePaste, File-Edit-Paste]

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.OS = this.searchString(this.dataOS) || "Unknown";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Safari",
			identity: "Safari"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
			
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "Navigator",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Microsoft Internet Explorer"
		},
		{ 	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape"
		}
	],
	dataOS : []
	
};

BrowserDetect.init();
var useragent = navigator.userAgent;
var bName = (useragent.indexOf('Opera') > -1) ? 'Opera' : navigator.appName;
var savcod;
function restrictKeys(e,fldnm) 
{
	 var ScrFldNam = fldnm;
	 var browserName=navigator.appName; 
	 if(browserName == "Opera")
	  { fncKeyStop(ScrFldNam) }	
	 else
	  {
	    var evt = (e) ? e : window.event;
	    var key = (evt.keyCode) ? evt.keyCode : evt.which;
	    if (key == 17)  {savcod=17;}
	    if((key==86) && (savcod==17))
     	    {
		     if(BrowserDetect.browser == "Netscape")
		     { alert(document.LANSA.IWC0311.value); }
		     document.getElementById(ScrFldNam).value = "";
		     savcod=0;
		     return false; 	
             }
           }
  	 return true;
}

function fncKeyStop(Fldnam)
{
 var ctrl = typeof event.modifiers == 'undefined' ?
 event.ctrlKey : event.modifiers & Event.CONTROL_MASK;
 var v = typeof event.which == 'undefined' ?
 event.keyCode == 86 : event.which == 86;
 if ( ctrl && v ) {
   document.getElementById(Fldnam).value = "";
   return false;
   }
 return true;
}