// Copyright 1996-2007 BiznizWeb, Inc. All Rights Reserved  For Licensed Use Only --->
// Input Support Scripts - npt_spprt.js
// Support Scripts for Field Management and General Input Control
// Author: Sean Hunter
	

var ns6=document.getElementById&&!document.all;

	function popupCalendar()
	{			
		switch(arguments.length)
		{
		case 4:
		  popupCalendar4(arguments[0], arguments[1], arguments[2], arguments[3]);
		  break    
		case 5:
		  popupCalendar5(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);
		  break
		 case 6:
		  popupCalendar6(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
		  break
		default:
		  popupCalendar4(arguments[0], arguments[1], arguments[2], arguments[3]);
		}
	}
	
	function popupCalendar4(FormName,MonthName,DayName,YearName)
	{
		var wwidth = 250;
		var wheight = 220;
		var winl = (screen.width - wwidth)/2;
		var wint = (screen.height - wheight)/2;		
		window.open('../utilities/popup_calendar.cfm?formName=' + FormName + '&fieldNames=' + MonthName + ',' + DayName + ',' + YearName,'','top='+wint+',left='+winl+',width='+wwidth+',height='+wheight+',resizable,scrollbars=yes');
	}
	
	function popupCalendar5(FormName,MonthName,DayName,YearName,afterDate)
	{			
		var wwidth = 250;
		var wheight = 220;
		var winl = (screen.width - wwidth)/2;
		var wint = (screen.height - wheight)/2;
		//if(restrictType == "1"){
			//var afterDate = '<cfoutput>#VARIABLES.beforeDate#</cfoutput>';
			//alert(afterDate);
			window.open('../utilities/popup_calendar.cfm?formName=' + FormName + '&fieldNames=' + MonthName + ',' + DayName + ',' + YearName + '&afterDate=' + afterDate,'','top='+wint+',left='+winl+',width='+wwidth+',height='+wheight+',resizable,scrollbars=yes');
		//}
		//else
		//	window.open('../utilities/popup_calendar.cfm?formName=' + FormName + '&fieldNames=' + MonthName + ',' + DayName + ',' + YearName,'','top='+wint+',left='+winl+',width='+wwidth+',height='+wheight+',resizable,scrollbars=yes');
	} 
	
	function popupCalendar6(FormName,MonthName,DayName,YearName,afterDate,defaultDate2)
	{		
		var wwidth = 250;
		var wheight = 220;
		var winl = (screen.width - wwidth)/2;
		var wint = (screen.height - wheight)/2;
		//if(restrictType == 1){
		//	var afterDate = '<cfoutput>#VARIABLES.beforeDate#</cfoutput>';
			window.open('../utilities/popup_calendar.cfm?formName=' + FormName + '&fieldNames=' + MonthName + ',' + DayName + ',' + YearName + '&defaultDate2='+ defaultDate2 + '&afterDate=' + afterDate,'','top='+wint+',left='+winl+',width='+wwidth+',height='+wheight+',resizable,scrollbars=yes');
		//}
		//else
		//{
		//	window.open('../utilities/popup_calendar.cfm?formName=' + FormName + '&fieldNames=' + MonthName + ',' + DayName + ',' + YearName + '&defaultDate2='+ defaultDate2,'','top='+wint+',left='+winl+',width='+wwidth+',height='+wheight+',resizable,scrollbars=yes');
		//}
	}
	
	function clearCalEntry(MonthName,DayName,YearName){
		var month = document.getElementByID(MonthName);
		var day = document.getElementByID(DayName);
		var year = document.getElementByID(YearName);
		month.value = '';
		day.value = '';
		year.value = '';
	}
	
	function enterNowDate(MonthName,DayName,YearName){
		var month = document.getElementByID(MonthName);
		var day = document.getElementByID(DayName);
		var year = document.getElementByID(YearName);
	    var todayDate = new Date();				
		
		month.value = todayDate.getMonth() + 1;
		day.value = todayDate.getDate();
		year.value = todayDate.getYear();
	}	
		
	function ZipCode(obj){		
		reg = /[^0-9.A-Za-z\-\ ]/g;
		obj.value =  obj.value.replace(reg,"");
	 }
	
	function EmailCheck(obj){		
		reg = /[^a-zA-Z0-9_\.\-\@]/g;
		obj.value =  obj.value.replace(reg,"");
	 }
			
	function noAlpha(obj){		
		reg = /[^0-9.]/g;
		obj.value =  obj.value.replace(reg,"");
	 }
	 
	 function numwseperators(obj){
		reg = /[^0-9.,]/g;
		obj.value =  obj.value.replace(reg,"");
	 }
	 
	 function numOnly(obj){
		reg = /[^0-9]/g;
		obj.value =  obj.value.replace(reg,"");
	 }	 
	 
	 function phoneNum(obj){
		reg = /[^0-9\(\)\+\-\ ]/g;
		obj.value =  obj.value.replace(reg,"");
	 }		
	
	function formatPhone(inputbx) {				
		var Num1 = eval("document."+inputbx);	
		
		if (Num1.length == 0)
			return;
		
		phoneNum(Num1);	   	
	}
			
	function validateEmail(form_id,email) {
		
		var address = document.forms[form_id].elements[email].value;
		if (address.length == 0)
			return;
	
	   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	   
	   if(reg.test(address) == false) {
		  alert('Invalid Email Address:\n   This field must be a valid email address (like foo@bar.com).\n   Please reenter it now.');
		 	document.forms[form_id].elements[email].focus();			
	   }
	}
		
		
	var flag = 1;
	var cont = true;
  	var extList = '.gif, .jpg, or .png file';
	function checkfilefrmt(formfield){
		var imgfield = document.getElementById(formfield);
		
		if(imgfield.value.length > 0){
			var ext = imgfield.value;				
			ext = ext.substring(ext.length-3,ext.length);
			ext = ext.toLowerCase();
			if(ext != 'gif' && ext != 'jpg' && ext != 'png') {
				alert('Only the following file types are allowed: ' + extList + '.');
				flag = 0;
				imgfield.select();
				imgfield.focus;
				cont = false;
			}
			else {
				flag = 1;
			}
		}
	}		
			
	function checklength(formfield,countid,maxkeys){
		if(document.getElementById(formfield).value.length > maxkeys){
			alert('Total characters cannot be greater than ' + maxkeys + '.');
			str = document.getElementById(formfield).value;
			document.getElementById(formfield).value = str.substring(0,maxkeys-1);	
		}
		document.getElementById(countid).innerHTML = document.getElementById(formfield).value.length + 1;
	}
		
	function restrictinput(maxlength,e,placeholder){
	if (window.event&&event.srcElement.value.length>=maxlength)
	return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
	var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
	if (pressedkey.test(String.fromCharCode(e.which)))
	e.stopPropagation()	
	}
	}
	
	function countlimit(maxlength,e,placeholder){
	var theform=eval(placeholder)
	var lengthleft=maxlength-theform.value.length
	var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
	if (window.event||e.target&&e.target==eval(placeholder)){
	if (lengthleft<0)
	theform.value=theform.value.substring(0,maxlength)
	placeholderobj.innerHTML=lengthleft
	}
	}
	
	function displaylimit(thename, theid, thelimit){
	var theform=theid!=""? document.getElementById(theid) : thename
	var limit_text='<strong><span class="xsz" style="font:bold;"><span id="'+theform.toString()+'">'+thelimit+'</span> characters remaining.</span></strong>';
	if (document.all||ns6)
	document.write(limit_text)
	if (document.all){
	eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
	eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
	}
	else if (ns6){
	document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
	document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
	}
	}
	

	
