// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
// Base Functions
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
function isaPosNum(s)
{
	alert (parseInt(s) > 0);
	return (parseInt(s) > 0);
}


// String Functions
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

function isValid(parm,val) 
{
	if (parm == "") 
	{
		return false;
	}
	for (i=0; i<parm.length; i++) 
	{
		if (val.indexOf(parm.charAt(i),0) == -1) 
		{
			return false;
		}
	}
	return true;
}

function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}


// Form Functions

function radioValue(formObj, elementName)
{
	// Looks through all form elements of name elementName and returns value if checked else empty string.
	
	var numElements = formObj.elements.length;
	var theVal = '';
	for(var i=0;i< numElements;i++)
	{
		var element = formObj.elements[i];
		if	(element.name == elementName && element.checked)
		{
			theVal = element.value;
		} 
	}
	return theVal;
}

function selectValue(selectObj)
{

	var theElementIndex = selectObj.options.selectedIndex;
	if(theElementIndex == 0)
	{
		return "";
	}
	else
	{
		return selectObj.options[theElementIndex].value;
	}
}

function checkFormNull(form, exceptions) 
{
//	alert('start checkFormNull');
	var errFlag = false;
	
	if (form!=null) 
	{
		for (loop=0; loop<form.elements.length; loop++) 
		{
		//	alert('type = '+form[loop].type+' name = '+form[loop].name);
		//	alert(exceptions.indexOf(form[loop].name));
			if (exceptions.indexOf(form[loop].name) < 0)
			{
				switch (form[loop].type) 
				{
					case "select-one" :
						if (form[loop].options.selectedIndex==0)
							{ errFlag=true; errorIndex=loop; }
						break;
					case "radio" :
						if (radioValue(form, form[loop].name) == '')
							{ errFlag=true; errorIndex=loop; }
						break;
					case "text" :
						if (form[loop].value == '')
							{ errFlag=true; errorIndex=loop; }
						break;
					case "password" :
						if (form[loop].value == '')
							{ errFlag=true; errorIndex=loop; }
						break;
				}
			}
			if (errFlag)
			{
		//		alert('index = ' + errorIndex);
		//		alert('name = ' + form[errorIndex].name);
				form[errorIndex].focus();
				return errFlag;
			}
		}
	} 
	else 
	{
		errFlag = true;
	}
	
	return errFlag;
}

function getFieldDate(element) {
	dateVal = 0;
	var regex = /^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/;
	if (regex.test(element)) {
		dateVal = element.split("/");
		dy = dateVal[0];
		mt = dateVal[1];
		yr = dateVal[2];
		dateVal = (Math.abs(yr) * 365) + (Math.abs(mt) * 31) + Math.abs(dy);
		}
	return dateVal;
	}

function isEmailValid(str) 
{
     var regex = /^[\w_\.]*[\w_\.]@([\w]+\.)+[\w]*[\w]$/;
     return regex.test(str);
}
