// ACS General Library

function chgCellBg() {
	args=chgCellBg.arguments;
	args[0].bgColor = args[1];
}
function resCellBg() {
	args=resCellBg.arguments;
	args[0].style.cursor='default';
	args[0].bgColor = args[1];
}

function actCellLink() {
	args[0].children.tags('A')[0].click();
}
function padl() {
// Inserts characters in the left of a string
// Param 1: Original String
// Param 2: character to be added
// Param 3: String Final length
// Result: String filled with the character chosen in the left side
	var strRes = '';
	args=padl.arguments;
	for (i=1;i<=args[2]-args[0].length;i++) {
		strRes=strRes+args[1];
	}
	strRes=strRes+args[0];
	return strRes;
}
function ltrim() {
// Delete spaces in the left of a string
// Param 1: Original String
// Result: String without spaces in the left
	var strRes = ''; 
	var logEnd = false;
	args=ltrim.arguments;
	for (i=0;i<args[0].length;i++) {
		if ((args[0].charAt(i)!=' ') || (logEnd)) {strRes=strRes+args[0].charAt(i); logEnd=true;}
	}
	return strRes;
}
function comPasswd() { // Double Check the matching of two fields to make a password update
// Compare two strings
// Param 1: Original String 1
// Param 2: Original String 2
// Result: True if they match
var strPass1, strPass2;
var	logMatch;
	args=comPasswd.arguments;
	logMatch = true;
	if (args[0] == args[1]) {
		if (args[0] == '') {alert ('Password can not be blank');logMatch = false;}
	}
	else {alert ('Password must be the same');logMatch = false;}
return logMatch
}

function fndString() {
// Find a string in another string
// Param 1: String to search
// Param 2: Array with a list of values
// Result: Position that match in the Array
	var intResult,strLen;
	intResult=-1;
	args=fndString.arguments;
	strLen=eval(args[1]+'.length');
	for (var i=0;i<strLen;i++) {
		if (eval(args[1]+'['+i+']')==args[0]){intResult=i}
	}
return intResult;
}
function genField() { // Generates a select based in an array previously defined. Var. (select:name, array of values:name, array of visible options:name, selected:name)
// Generate different kind of fields in a form
// Param 1: Type of fields
// Param 2: Name of the field 
// Param 3: Name of the Arrays where to fing the Options, Ranges and Values
// Param 4: Size
// Param 5: Multiple(M), Simple(S)
// Result: A string with the code to generate the field 
	var intLen,strType,strField,strName,strOption,strRange,strValue,strSize,strScope;
	args = genField.arguments;
	strField = '';
	strType = args[0];
	(args[1]!='')?strName = ' name="'+args[1]+'"':strName = args[2]+'[3]';
	strOption = args[2]+'[0]';
	strRange = args[2]+'[1]';
	strValue = args[2]+'[2]';		
	switch (strType) {
		case 'tex':
			(args[3]!='')?strSize=' size="'+args[3]+'"':strSize='';
			strField = '<input type="text" '+strName+' value="'+args[2]+'"'+strSize+'>';
			break;
		case 'sel':
			intLen = eval(args[2]+'[0].length');
			(args[3]!='')?strSize=' size="'+args[3]+'"':strSize='';
			(args[4].toUpperCase()=='M')?strScope=' multiple':strScope='';
			strField = '<select'+strName+strSize+strScope+'>';
			for (i=0;i<intLen;i++){
				if (fndString(eval(strOption+'['+i+']'),strValue)> -1) {
					strField = strField +'<option value ="'+eval(strOption+'['+i+']')+'" selected>'+eval(strRange+'['+i+']')+'</option>' }
				else {
					strField = strField +'<option value ="'+eval(strOption+'['+i+']')+'">'+eval(strRange+'['+i+']')+'</option>'};
			}
			strField = strField+'</select>';
			break;
		case 'rad':
			intLen = eval(args[2]+'[0].length');
			for (i=0;i<intLen;i++){
				if (i!=0) {
					strField = strField +'<br>';
				}
				if (fndString(eval(strOption+'['+i+']'),strValue)> -1) {
					strField = strField +'<input type="radio" '+strName+' value ="'+eval(strOption+'['+i+']')+'" checked>'+eval(strRange+'['+i+']') }
				else {
					strField = strField +'<input type="radio" '+strName+' value ="'+eval(strOption+'['+i+']')+'"	>'+eval(strRange+'['+i+']') }
			}
			break;
		case 'chb':
			intLen = eval(args[2]+'[0].length');
			if (args[1] == '') {
			for (i=0;i<intLen;i++) {
				if (i!=0) {
					strField = strField +'<br>';
				}
				if (fndString(eval(strOption+'['+i+']'),strValue)> -1) {
					strField = strField +'<input type="checkbox" name ="'+eval(strName+'['+i+']')+'" value="'+eval(strOption+'['+i+']')+'" checked>'+eval(strRange+'['+i+']') }
				else {
					strField = strField +'<input type="checkbox" name ="'+eval(strName+'['+i+']')+'" value="'+eval(strOption+'['+i+']')+'">'+eval(strRange+'['+i+']') }
				}					
			}
			else {
				if (fndString(eval(strOption+'[0]'),strValue)> -1) {
					strField = strField +'<input type="checkbox" '+strName+' value="'+eval(strOption+'[0]')+'" checked>'+eval(strRange+'[0]') }
				else {
					strField = strField +'<input type="checkbox" '+strName+' value="'+eval(strOption+'[0]')+'">'+eval(strRange+'[0]') }
			}
			break;
	}
	return strField
}

function validateForm() { // New code
// Generate different kind of fields in a form
// Param 1: String with the Field Name including the name of the form (ie form.field)
// Param 2: String with the Label of the field 
// Param 3: Type of Validation: R=required, @=Em	ail
// Result: Validation  

	var sLabel, sName, sValue, sType, sMsg;
	args=validateForm.arguments;
	sLabel=args[1];
	sName=eval("document."+args[0]+".name"); 
	sValue=eval("document."+args[0]+".value"); 
	sType=args[2];
	sMsg='';
	if (sType=='@') {
		if (sValue.indexOf('@')<1) {
			sMsg=sMsg+sLabel+' field must contain a valid email address\n';
		}
	}
	if ((sType=='R') || (sType=='@')) {
		if (ltrim(sValue) == '') {
			sMsg=sMsg+sLabel+' field can not be blank\n';
		}
	}
	if (sMsg!='') {
		alert (sLabel+' is not valid\n'+sMsg)
	}
return bError = (sMsg=='');
}

function calcTimes() { 
	var intCurWid;
	var intDefWid;
	var intSpaWid;
	var intDifWid;
	var intResult;
	intCurWid = screen.width;
	intDefWid = 700;
	intSpaWid = 5;
	intDifWid = 25;
	if (intCurWid > intDefWid) 
		intResult =  parseInt(((intCurWid  - intDifWid) - (intDefWid - intSpaWid)) / 5)
	else
		intResult = 1;
	return intResult;
}

function createNoticeWindow(noticeID){
var NoticeWin;
if(!NoticeWin || NoticeWin.closed)
	{
	NoticeWin = window.open("dsp_viewNotice.cfm?notice_id="+noticeID,"NoticeWindow",'width=570,height=320,scrollbars=yes,status=yes,resizable=yes,left=50,top=50');
	NoticeWin.focus();
		}
}

function createWindow(fname) {
var FileWin
if (!FileWin || FileWin.closed)
	{
		FileWin = window.open(fname,"Files",'width=570,height=320,scrollbars=yes,status=yes,resizable=yes,left=50,top=50');
		FileWin.focus();
	}
}
