/*************************************************************************************
* Name:     	functions.js   
*           
* Purpose:  	Holds all common JavaScript functions
*
*************************************************************************************/

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: getDate()
/////////////////////////////////////////////////////////////////////////////////////////
function getDate()
{
	var dayNames = new Array('Sunday','Mon','Tues','Wed','Thurs','Fri','Sat');
  	var monthNames = new Array( 'Jan','Feb','March','April','May','June','July','Aug','Sept','Oct','Nov','Dec');
	var now = new Date();
  	var theYear = eval(now.getYear());
	if(eval(theYear) < 1900)
		theYear += 1900;
	document.write(dayNames[now.getDay()] + ' ' + monthNames[now.getMonth()] + 	' ' + now.getDate() + ', ' + theYear);
}


/////////////////////////////////////////////////////////////////////////////////////////
//	Function: setFocus(form, total)
/////////////////////////////////////////////////////////////////////////////////////////
function setFocus(form)
{
	for(var i = 0; i < form.length; i++)
	{
		if (form.elements[i].value == "") 
		{
			form.elements[i].focus();
			break;
		}
	}		
}


/////////////////////////////////////////////////////////////////////////////////////////
//	Function: setCheckmarks(form)
//////////////////////////////////////////////////////////////////////////////////////////////
function setCheckmarks(form)
{
	for(var i = 0; i < form.length; i++)
	{
		if(form.elements[i].type == "checkbox" && form.elements[i].checked=="1")
			form.elements[i].value = "CHECKED";
		else
			if(form.elements[i].type == "checkbox" && form.elements[i].checked=="0")
				form.elements[i].value = "UNCHECKED";
	}
}


/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vBlank(form, i, errorMessage)
/////////////////////////////////////////////////////////////////////////////////////////
function vBlank(form, i, errorMessage)
{
		if(form.elements[i].value == "" || form.elements[i].value.length<1)
		{
			alert(errorMessage);
			form.elements[i].focus();
			return false;
		}
	return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vStock(form, i)
/////////////////////////////////////////////////////////////////////////////////////////
function vStock(form, i)
{

	var num=form.elements[i].value;

	for(var j=0; j<num.length; j++)
  {
		vchar = num.charAt(j);                            

		if(!isDigit(vchar))
		{
			alert('You must enter a valid number');
			form.elements[i].focus();
			return false;
		}
	}
	return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vEmail(form, i)
/////////////////////////////////////////////////////////////////////////////////////////
function vEmail(form, i)
{	
	var tmp = new String( form.elements[i].value );
	var whereAt = tmp.indexOf("@",0);
	var whereDot = tmp.indexOf(".",0);
	
	if( whereAt == -1 || whereAt == (form.elements[i].value.length-1) || 
			whereDot == -1 || whereDot == (form.elements[i].value.length-1) )
	{
		alert('You must enter a valid eMail address.  Format: name@company.com');
		form.elements[i].focus();
		return false;
	}
	return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vPassword(form, i)
/////////////////////////////////////////////////////////////////////////////////////////
function vPassword(form, i)
{	
	var tmp = new String( form.elements[i].value );

	if( tmp.length < 4)
	{
		alert("Password must contain at least 4 characters!");
		form.elements[i].focus();
		return false;
	}
	return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vPhoneNumber(form, i)
/////////////////////////////////////////////////////////////////////////////////////////
function vPhoneNumber(form, i)
{
	var val = form.elements[i].value;
	var	total = val.length;																
	var format = 'nnn-nnn-nnnn'

	if(total != 12)
	{
		alert('You must enter a valid Phone Number.  Format: 555-555-5555');
		form.elements[i].focus();
		return false;
	}
	for(var j = 0; j < total; j++)
  {
		fchar = format.charAt(j);
		vchar = val.charAt(j);                            

		switch(fchar)
		{
			case 'n' :
				if(!isDigit(vchar))
				{
					alert('You must enter a valid Phone Number.  Format: 555-555-5555');
					form.elements[i].focus();
					return false;
				}
				break;
			case '-' :
				if(fchar != vchar)
				{
					alert('You must enter a valid Phone Number.  Format: 555-555-5555');
					form.elements[i].focus();
					return false;
				}
		}
	}
	return true;
}


////////////////////////////////////////////////////////////////////////////////////////
//	Function: vSelect(form, i, errorMsg) 
///////////////////////////////////////////////////////////////////////////////////////|/
function vSelect(form, i, errorMsg)
{
	if(form.elements[i].options[0].selected)
	{
		alert(errorMsg);
		form.elements[i].focus();
		return(false);
	}
	return(true);
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vExpireDate(form, place)
/////////////////////////////////////////////////////////////////////////////////////////
function vExpireDate(form, place)
{
	var i=place;
	var val = form.elements[i].value;
	var total = val.length;																
	var format = 'nn/nn/nnnn';

	if(total != 10)
	{
		alert('You must enter a valid Date.  Format: mm/dd/yyyy');
		form.elements[i].focus();
		return false;
	}
	for(var j = 0; j < total; j++)
  {
		fchar = format.charAt(j);
		vchar = val.charAt(j);                            

		switch(fchar)
		{
			case 'n' :
				if(!isDigit(vchar))
				{
					alert('You must enter a valid Date.  Format: mm/dd/yy');
					form.elements[i].focus();
					return false;
				}
				break;
			case '/' :
				if(fchar != vchar)
				{
					alert('You must enter a valid Date.  Format: mm/dd/yy');
					form.elements[i].focus();
					return false;
				}
		}
	}

	// validate the date
	month=val.substring(0,2)
	day=val.substring(3,5)
	if(eval(day) > 31 )
	{
		alert('You must enter a valid day!  Format: mm/dd/yyyy');
		form.elements[i].focus();
		return false;
 	}
	else
	{
		if(eval(month) > 12 )
		{
			alert('You must enter a valid month!  Format: mm/dd/yy');
			form.elements[i].focus();
			return false;
 		}
	}
	return true;
}


/////////////////////////////////////////////////////////////////////////////////////////
//	Function: vPrice(form, place)
/////////////////////////////////////////////////////////////////////////////////////////
function vPrice(form, place)
{
	var num = form.elements[place].value;
	num = num.toString().replace(/\$|\,/g,'');
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+num.substring(num.length-(4*i+3));

	//alert (((sign)?'':'-') + num + '.' + cents);
	return (((sign)?'':'-') + num + '.' + cents);
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: isDigit(digit) 
/////////////////////////////////////////////////////////////////////////////////////////
function isDigit(digit)
{
	var charOk = "0123456789";
	return !(charOk.indexOf(digit) == -1)
}

/////////////////////////////////////////////////////////////////////////////////////////
//	Function: confirmDelete(name)
/////////////////////////////////////////////////////////////////////////////////////////
function confirmDelete(name)
{
	if(confirm('Are you sure you wish to delete ' + name + '?'))
		return true;
	else
		return false;
}


/////////////////////////////////////////////////////////////////////////////////////////
//  Function:popupWindow(windowURL, windowTitle) 
//////////////////////////////////////////////////////////////////////////////////////////////
function popupWindow(windowURL, windowTitle, windowWidth, windowHeight) 
{
  var windowprops = 'toolbar=no,status=no, resizable=yes,menubar=no, scrollbars=yes,width=' + windowWidth + ',height=' + windowHeight
  popupWindow = window.open(windowURL, windowTitle, windowprops);
}




