function trimAll(sString)
{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
		return sString;
}

			function getKeyCode(event)
			{
				if (! event.keyCode )
				{
					return event.which;
				}
				else
				{
					return event.keyCode;
				}
			}
			function setKeyCode(kc,event)
			{
				/*if ( ! event.keyCode )
				{
					event.charCode = kc;
				}
				else
				{*/
					event.keyCode = kc;
				//}
			}

			function checkInList(field,arr)
			{
				var v = field.value;
				var found=0;
				for(i=0;i<arr.length;i++)
				{
					if(v == arr[i] )
						found = 1;
				}

				if(found == 0)
				{
					field.value="";
					alert( v + " Not in List!!!");
				}
			}

			function initialfocus(field)
			{
				field.focus();
			}

			function focusnext(txt,event)
			{
				var t = txt.value;
				var kc = getKeyCode(event);
				if ( kc == 13 )
				{
					setKeyCode(9,event);
				}
			}

			function gridEnter(event,notab)
			{

				alert(event);
				alert(notab);
				var ntb = 0 ;
				var kc = getKeyCode(event);
				alert(kc);
				if ( kc == 13 )
				{

					while (notab <= ntb){
						kc == 9;
						ntb = ntb +1;
					}
				}
			}

			function markts(lrn)
			{
				 var kc = 13
				 //getKeyCode(event);
				 if (kc == 13)
				 {
					 viewtsmarked(lrn);
				 }
			}

			function checklrnoinstock(event)
			{
				 var kc = getKeyCode(event);
				 if (kc == 13)
				 {
					 checkDup();
				 }
			}

			function ankeys(field,event,dot)
			{
				var kc = getKeyCode(event);
				if ( kc >= 48 && kc <= 57 ){
					return true;
				}else if (String.fromCharCode(kc) =='.'  && dot == true )
				{
					if (field.value.indexOf('.') == -1 )
						return true;
					else
						return false;
				}
				else
				{
					return false;
				}
			}

			function atkeys(field,event)
			{
					var kc = getKeyCode(event);


				if ( kc >= 97 && kc <= 122 )
					return true;
				else if ( kc >= 65 && kc <= 90 )
					return true;
				else if ( kc ==  32 ) // space
					return true;
				else if ( kc ==  44 ) // ,
					return true;
				else if ( kc ==  47 ) // /
					return true;
				else if ( kc ==  45 ) // -
					return true;
				else if ( kc ==  40 || kc == 41  ) // ()
					return true;
				else if ( kc >= 48 && kc <= 57 )
					return true;
				else if (String.fromCharCode(kc) == 'A' )
					return false;
				else if (String.fromCharCode(kc) == '.' )
					return true;
				else if (String.fromCharCode(kc) == '#' )
					return true;
				else if (String.fromCharCode(kc) == '@' )
					return true;
				else if (String.fromCharCode(kc) == '&' )
					return false;
				else if (String.fromCharCode(kc) == '%' )
					return true;
				else if (String.fromCharCode(kc) == '*' )
					return true;
				else
					return false;
			}


			function adkeys(field,event)
			{

				var dtmsk = field.value;

				var kc = getKeyCode(event);
				dtmsk = dtmsk.replace("--","");
				dtmsk = dtmsk.replace(".","");
				dtmsk = dtmsk.replace("/","");
				dtmsk = dtmsk.replace("  ","");
				if (dtmsk.length == 2){
					dtmsk = dtmsk.replace("-","");
					dtmsk = dtmsk.replace(" ","");
					dtmsk = dtmsk + "-";
				} else if (dtmsk.length == 5){

					dtmsk = dtmsk.replace("--","");
 					dtmsk = dtmsk.replace(" ","");
					dtmsk = dtmsk + "-20";
				}

				dtmsk = dtmsk.replace("--","");
				dtmsk = dtmsk.replace(".","");
				dtmsk = dtmsk.replace("/","");
				dtmsk = dtmsk.replace("  ","");
				field.value = dtmsk;


				if ( kc >= 48 && kc <= 57 )
					return true;
				else if (String.fromCharCode(kc) =='.' )
					return false;
				else if (String.fromCharCode(kc) =='-' )
					return false;
				else if (String.fromCharCode(kc) =='/' )
					return false;
				else
					return false;

			}


				function checkDate(dt)
				{
					var tdt;
					var dd;
					var mm;
					var yy;
					var check;
					dt = dt.replace("--","");
					tdt = dt.split("-");


					dd = tdt[0];
					mm = tdt[1];
					yy = tdt[2];

					check = true;
				if ( mm == 1  ||  mm == 3 ||  mm == 5 ||  mm == 7 ||  mm == 8 ||  mm == 10 ||  mm == 12 )
				{
					if (dd >=1 && dd<=31 )
						check = true;
					else
						check = false;
				}
				else if ( mm == 4 || mm == 6 || mm == 9 || mm == 11 )
				{
					if (dd >=1 && dd<=30 )
						check = true;
					else
						check = false;
				}
				else if ( mm == 2 )
				{
					if ( ( yy % 4 ) == 0 )
					{
						if (dd >=1 && dd<=29 )
							check = true;
						else
							check = false;
					}
					else
					{
						if (dd >=1 && dd<=28 )
							check = true;
						else
							check = false;
					}

				}else
				{
					check = false;
				}
					return check;

				}

		function formatTime(field,type)
				{

					var dt =field.value;
					var tdt ;

					if (dt == "")
						dt="00:00";

					if ( dt.indexOf("-") != -1 )
					{
						tdt= dt.split("-");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else if ( dt.indexOf("/") != -1 )
					{
						tdt= dt.split("/");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else if ( dt.indexOf(".") != -1 )
					{
						tdt= dt.split(".");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else
					{
						tdt = dt.split("");
						dt = tdt[0] + tdt[1] + ":" + tdt[2] + tdt[3] + ":00";

					}

					return dt;
				}


function days_between(t1, t2)
{
// format : DD-MM-YYYY
        var one_day=1000*60*60*24;
        var x=t1.split("-");
        var y=t2.split("-");
        var date1=new Date(x[2],(x[1]-1),x[0]);
        var date2=new Date(y[2],(y[1]-1),y[0])
        var month1=x[1]-1;
        var month2=y[1]-1;
        DATE_Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day));

        return DATE_Diff;
}


				function formatDates(field)
				{

					var dt =field.value;
					var tdt ;

					if (dt == "")
						dt="00-00-0000";

					if ( dt.indexOf("-") != -1 )
					{
						tdt= dt.split("-");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2];
					}
					else if ( dt.indexOf("/") != -1 )
					{
						tdt= dt.split("/");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else if ( dt.indexOf(".") != -1 )
					{
						tdt= dt.split(".");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else
					{
						tdt = dt.split("");
						dt = tdt[0] + tdt[1] + "-" + tdt[2] + tdt[3] + "-" + tdt[4] + tdt[5] + tdt[6] + tdt[7] ;
					}
					return dt;
				}


				function formatDates_YYYYMMDD(field)
				{

					var dt =field.value;
					var tdt ;

					if (dt == "")
						dt="00-00-0000";

					if ( dt.indexOf("-") != -1 )
					{
						tdt= dt.split("-");
						dt = tdt[2] + "-" + tdt[1] + "-" + tdt[0];
					}
					else if ( dt.indexOf("/") != -1 )
					{
						tdt= dt.split("/");
						dt = tdt[2] + "-" + tdt[1] + "-" + tdt[0] ;
					}
					else if ( dt.indexOf(".") != -1 )
					{
						tdt= dt.split(".");
						dt = tdt[2] + "-" + tdt[1] + "-" + tdt[0] ;
					}
					else
					{
						tdt = dt.split("");
						dt = tdt[0] + tdt[1] + "-" + tdt[2] + tdt[3] + "-20" +  tdt[4] + tdt[5] ;
					}
					return dt;
				}

function MysqlDate(fld){
	var dtmask = fld.value;
	var tdt;
	tdt = dtmask.split("-");
	dtmask = tdt[4] + tdt[5] + tdt[6] + tdt[7] + "-" + tdt[2] + tdt[3] + "-" + tdt[0] + tdt[1];
	alert(dtmask);
	return  dtmask;
}

				function formatTime(field,type)
				{

					var dt =field.value;
					var tdt ;
					if (dt == "")
						dt="00:00";

					if ( dt.indexOf("-") != -1 )
					{
						tdt= dt.split("-");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else if ( dt.indexOf("/") != -1 )
					{
						tdt= dt.split("/");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else if ( dt.indexOf(".") != -1 )
					{
						tdt= dt.split(".");
						dt = tdt[0] + "-" + tdt[1] + "-" + tdt[2] ;
					}
					else
					{
						tdt = dt.split("");
						dt = tdt[0] + tdt[1] + ":" + tdt[2] + tdt[3] + ":00";

					}

					return dt;
				}



	function roundn(num,dec)
	{
		var numberField = num
		var rnum = num;
		var rlength = dec; // The number of decimal places to round to
		var newnumber;
		if (rnum > 8191 && rnum < 10485)
		{
			rnum = rnum-5000;
			newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
			newnumber = newnumber+5000;
		}
		else
		{
			newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		}

		return ( newnumber);
	}


	function keybEdit(strValid, strMsg) {
	/*	Function:		keybEdit
		Creation Date:	October 11, 2001
		Programmer:		Edmond Woychowsky
		Purpose:		The purpose of this function is to be a constructor for
						the keybEdit object.  keybEdit objects are used by the
						function editKeyBoard to determine which keystrokes are
						valid for form objects.  In addition, if an error occurs,
						they provide the error message.

						Please note that the strValid is converted to both
						upper and lower case by this constructor.  Also, that
						the error message is prefixed with 'Error:'.

						The properties for this object are the following:
							valid	=	Valid input characters
							message	=	Error message

						The methods for this object are the following:
							getValid()	=	Returns a string containing valid
											characters.
							getMessage()=	Returns a string containing the
											error message.

		Update Date:	Programmer:			Description:
	*/

	//	Variables
	var reWork = new RegExp('[a-z]','gi');		//	Regular expression\

	//	Properties
	if(reWork.test(strValid))
		this.valid = strValid.toLowerCase() + strValid.toUpperCase();
	else
		this.valid = strValid;

	if((strMsg == null) || (typeof(strMsg) == 'undefined'))
		this.message = '';
	else
		this.message = strMsg;

	//	Methods
	this.getValid = keybEditGetValid;
	this.getMessage = keybEditGetMessage;

	function keybEditGetValid() {
	/*	Function:		keybEdit
		Creation Date:	October 11, 2001
		Programmer:		Edmond Woychowsky
		Purpose:		The purpose of this function act as the getValid method
						for the keybEdit object.  Please note that most of the
						following logic is for handling numeric keypad input.

		Update Date:		Programmer:			Description:
	*/

		return this.valid.toString();
	}

	function keybEditGetMessage() {
	/*	Function:		keybEdit
		Creation Date:	October 11, 2001
		Programmer:		Edmond Woychowsky
		Purpose:		The purpose of this function act as the getMessage method
						for the keybEdit object.

		Update Date:	Programmer:			Description:
	*/

		return this.message;
	}
}




void function editKeyBoard(objForm, objKeyb) {
	/*	Function:		editKeyBoard
		Creation Date:	October 11, 2001
		Programmer:		Edmond Woychowsky
		Purpose:		The purpose of this function is to edit edit keyboard input
						to determine if the keystrokes are valid.

		Update Date:		Programmer:			Description:
	*/

	strWork = objKeyb.getValid();
	strMsg = '';							// Error message
	blnValidChar = false;					// Valid character flag

	// Part 1: Validate input
	if(!blnValidChar)
		for(i=0;i < strWork.length;i++)
			if(window.event.keyCode == strWork.charCodeAt(i)) {
				blnValidChar = true;

				break;
			}

	// Part 2: Build error message
	if(!blnValidChar) {
		if(objKeyb.getMessage().toString().length != 0)
			alert('Error: ' + objKeyb.getMessage());

		window.event.returnValue = false;		// Clear invalid character
		objForm.focus();						// Set focus
	}
}

void function setEvents(frm) {
	document.frm.fld.onkeypress = new Function('editKeyBoard(this,keybYN)');
	document.frm.txtchwgt.onkeypress = new Function('editKeyBoard(this,keybNumeric)');
	document.frm.txtAlpha.onkeypress = new Function('editKeyBoard(this,keybAlpha)');
	document.frm.txtAlphaNumeric.onkeypress = new Function('editKeyBoard(this,keybAlphaNumeric)');
	document.frm.txtDecimal.onkeypress = new Function('editKeyBoard(this,keybDecimal)');
	document.frm.txtDate.onkeypress = new Function('editKeyBoard(this,keybDate)');
}

var highlightcolor="#FFD455"
var ns6=document.getElementById&&!document.all
var previous=''
var eventobj
//Regular expression to highlight only form elements
var intended=/INPUT|TEXTAREA|SELECT|OPTION/

//Function to check whether element clicked is form element
function checkel(which){
if (which.style&&intended.test(which.tagName)){
if (ns6&&eventobj.nodeType==3)
eventobj=eventobj.parentNode.parentNode
return true
}
else
return false
}

//Function to highlight form element
function highlight(e){
eventobj=ns6? e.target : event.srcElement
if (previous!=''){
if (checkel(previous))
previous.style.backgroundColor=''
previous=eventobj
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
}
else{
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
previous=eventobj
}
}

        var highlightbehavior="TD"
        var ns6=document.getElementById&&!document.all
        var ie=document.all

function changeto(e,highlightcolor){
        source=ie? event.srcElement : e.target
        if (source.tagName=="TABLE")
        return
        while(source.tagName!=highlightbehavior && source.tagName!="HTML")
                source=ns6? source.parentNode : source.parentElement
        if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
                source.style.backgroundColor=highlightcolor
}

function contains_ns6(master, slave) { //check if slave is contained by master
while (slave.parentNode)
        if ((slave = slave.parentNode) == master)
        return true;
        return false;

}

function changeback(e,originalcolor){
if (ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TABLE")
return
else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
return
if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
source.style.backgroundColor=originalcolor
}


function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

function IncludeJavaScript(jsFile)
{
  document.write('<script type="text/javascript" src="'
    + jsFile + '"></script>');
}


function ReadFileToString(strFileName) {
   var strContents;
    strContents = "";
	try{
	    objFSO = new ActiveXObject("Scripting.FileSystemObject");
	    if (objFSO.FileExists(strFileName)) {
	        strContents = objFSO.OpenTextFile(strFileName, 1).ReadAll();
	    }else{
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var a = fso.CreateTextFile("c:\\print.txt", true);
			a.WriteLine("LPT1");
			strContents = fso.OpenTextFile(strFileName, 1).ReadAll();
			a.Close();
		}
    }
    catch(e){
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var a = fso.CreateTextFile("c:\\print.txt", true);
			a.WriteLine("LPT1");
			strContents = fso.OpenTextFile(strFileName, 1).ReadAll();
			a.Close();
	}
    return strContents;
}

function Fill_Zero_Ifnull(fld){
	if(trimAll(fld) == null || trimAll(fld) == 'undefined'){
		return 0;
	}else{
		return trimAll(fld);
	}
}

function Fill_dashdash_Ifnull(fld){
	if(trimAll(fld) == null || trimAll(fld) == 'undefined'){
		return '--';
	}else{
		return trimAll(fld);
	}
}
