//VERLIB1.JS Module #1 Version 1.0.0
// Developed by Mateen Qazi for Vector Kinetics Inc.


// ============================ GLOBAL VARIABLES  ============================ 

var NORMAL=0;
var TEXT=1;
var BUTTON=2;
var RADIO=3;
var CHECK=4;
var TAREA=5;
var LIST=6;
var MLIST=7;
var PASSWORD=8;
var EMAIL=11;
var ZIP=12;

var TEXT_RL=1;				// Default required length for a text field.
var TAREA_RL=5;				// Default required length for a text area.
var LIST_DEF="default";			// Default selection for lists.
var BAD_CHARS=":;/\!%";
var EMAIL_BAD_CHARS="~#|\/?\&:;/\!%+()*^+ ";
var TAREA_BAD_CHARS="\"\<\>\:\*\&\%\^\#\@\!\~\`\\";
var childWindow;

var dtCh= "/";
var minYear=1900;
var maxYear=2100;


//----------------------------------------------------------------------------------------
function FocusUser() {
	document.forms[0].p_req_User.focus();
}

//----------------------------------------------------------------------------------------
function js_Submit(form,name) {
	if (fn_Verify(form,name)) {
		if (name=="CAT_ADD_ITEMS_EX" || name.indexOf("CAT_EDIT_EX_ITEM_")!=-1) {
			form.FileName.value=form.UploadFile.value;
			}
		form.from.value=name;
		form.submit();
		}
	else {
		return false;
		}
	}


//----------------------------------------------------------------------------------------
function js_SubmitParent(form,name) {

	opener.document.AdminParentForm.from.value=name;
	opener.document.AdminParentForm.submit();
}


//----------------------------------------------------------------------------------------
function ConvertFile(form,name) {

	if (form.UploadFile.value.length < 4) {
		alert("Please select a list to upload first.");
		form.UploadFile.focus();
		return;
		}

	if (form.l_From.selectedIndex == form.l_To.selectedIndex) {
		alert("Please select two different formats for conversion.");
		form.l_From.focus();
		return;
		}

	form.from.value=name;
	form.FileName.value=form.UploadFile.value;
	form.submit();
}


//----------------------------------------------------------------------------------------
function SendFile(form,name) {

	if (form.UploadFile.value.length < 4) {
		alert("Please select a list to upload first.");
		form.UploadFile.focus();
		return;
		}

	form.from.value=name;
	form.FileName.value=form.UploadFile.value;
	form.submit();
}


//----------------------------------------------------------------------------------------
function js_Send(form,name) {
	form.from.value=name;
	form.submit();
}


//----------------------------------------------------------------------------------------
function closePopUp() {
	if (childWindow && childWindow.open && !childWindow.closed) {
		childWindow.close();
		}
}


//----------------------------------------------------------------------------------------
function popUp(url,state) {

	var xMax;
	var yMax;

	if (document.all) {
		xMax=screen.width;
		yMax=screen.height;
		}
	else {
		if (document.layers) {
			xMax=window.outerWidth;
			yMax=window.outerHeight;
			}
		else {
			xMax=640;
			yMax=480;
			}
		}

	var xOffset=(xMax-200)/2;
	var yOffset = (yMax-200)/2;

	switch (state) {
		case 0: childWindow=open(url,"popUpWindow",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=300,height=215,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');
				break;
		case 1: childWindow=open(url,"popUpWindow",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=400,height=300');
				break;
		case 2: childWindow=open(url,"popUpWindow",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=400,height=300');
				break;
			}

	childWindow.focus();
	if (childWindow.opener == null) {
		childWindow.opener = self;
		}
}


//----------------------------------------------------------------------------------------
function fn_Verify(form,from) {

var val=0;
var i=0;
var form_len=form.length;
var temp;

for (i=0;i<form_len;i++) {
	f_name=form.elements[i].name;

	if (fn_ParseType(f_name) == TEXT) {
		val=form.elements[i].value;
		if (!fn_CheckRequired(TEXT,f_name,val,TEXT_RL)) {
			form.elements[i].focus();
			alert("You forgot to fill a required filed.");
			return false;
			}

		if (!fn_CheckIfEmail(f_name,val)) {
			form.elements[i].focus();
			alert("Not a valid e-mail address.");
			return false;
			}

		if (!fn_CheckIfUSZip(f_name,val)) {
			form.elements[i].focus();
			alert("Does not seem to be a correct US Zip Code.");
			return false;
			}

		if (!fn_CheckBadChars(f_name,val,NORMAL)) {
			form.elements[i].focus();
			temp="Your input value '"+val.toUpperCase()+"' Contains illegal characters."
			alert(temp);
			return false;
			}

		if (!fn_CheckIfPhone(f_name,val)) {
			form.elements[i].focus();
			alert("Bad Phone Number.");
			return false;
			}	

		if (!fn_CheckIfNumber(f_name,val)) {
			form.elements[i].focus();
			alert("Use Numbers Only.");
			return false;
			}

		if (!fn_CheckIfCreditCard(f_name,val)) {
			form.elements[i].focus();
			alert("Not a valid Credit Card Number.");
			return false;
			}
		}

	if (fn_ParseType(f_name) == PASSWORD) {
		if (form.elements[i].value.length < 4 || form.elements[i].value.charAt(0) > 0) {
			form.elements[i].focus();
			alert("This field is required.\nHas to be at least 4 characters.\nCannot start with a number.");
			return false;
			}
		}

	if (fn_ParseType(f_name) == CHECK) {
		if (!fn_CheckRequired(CHECK,f_name,0,0) && !form.elements[i].checked) {
			form.elements[i].focus();
			alert("You forgot to check a required item.");
			return false;
			}
		}

	if (fn_ParseType(f_name) == TAREA) {
		val=form.elements[i].value;
		if (!fn_CheckBadChars(f_name,val,TAREA)) {
			alert("There are bad characters in this field.");
			form.elements[i].focus();
			return false;
			}
		if (!fn_CheckRequired(TAREA,f_name,val,TAREA_RL)) {
			form.elements[i].focus();
			alert("You forgot to fill a required field.");
			return false;
			}
		}


	if (fn_ParseType(f_name) == LIST) {        	
		val=form.elements[i].options[form.elements[i].options.selectedIndex].value;
		if (!fn_CheckRequired(LIST,f_name,val,LIST_DEF)) {
			form.elements[i].focus();
			alert("You forgot to select a value.");
			return false;
			}
		}

	if (fn_ParseType(f_name) == MLIST) {
		var cnt=form.elements[i].length;
		var j=0;
		var k=0;
		for (j=0;j<cnt;j++) {
			if (form.elements[i].options[j].selected)
				k++;
				}

		if (k==0 && !fn_CheckRequired(MLIST,f_name)) {
			form.elements[i].focus();
			alert("You forgot to select a value.");
			return false;
			}
		}
	}

return true;
}


//----------------------------------------------------------------------------------------
function fn_ParseType(f_name) {
var ret=0;

	tag=f_name.substring(0,2);
	switch (tag) {
	case "t_": ret=1;
			break;
	case "b_": ret=2;
			break;
	case "r_": ret=3;
			break;
	case "c_": ret=4;
			break;
	case "a_": ret=5;
			break;
	case "l_": ret=6;
			break;
	case "m_": ret=7;
			break;
	case "p_": ret=8;
			break;
		}

return ret;
}


//----------------------------------------------------------------------------------------
function fn_CheckRequired(f_type,f_name,f_value,f_req) {

	if (f_type==TEXT && f_name.indexOf("_req_")!=-1 && f_value.length < f_req) {
		return false;
		}
	else if (f_type==TAREA && f_name.indexOf("_req_")!=-1 && f_value.length < f_req) {
		return false;
		}
	else if (f_type==LIST && f_name.indexOf("_req_")!=-1 && f_value==f_req) {
		return false;
		}
	else if (f_type==CHECK && f_name.indexOf("_req_")!=-1 ) {
		return(false);
		}
	else if (f_type == MLIST && f_name.indexOf("_req_") != -1) {
        return false;
		}
	else if (f_type == PASSWORD && f_name.indexOf("_req_") != -1) {
        return false;
		}

return true;
}


//----------------------------------------------------------------------------------------
function fn_CheckCard(number) {

	var checksum = 0;
	for (var i = number.length - 1; i >= 0; i--) {
		var isOdd = ((number.length - i) % 2 != 0) ? true : false;
		digit = number.charAt(i);
		
		if (isOdd) {
			checksum += parseInt(digit);
			}
		else {
			var evenDigit = parseInt(digit) * 2;
			if (evenDigit >= 10) checksum += 1 + (evenDigit - 10);
			else checksum += evenDigit;
			}
		}

return (checksum%10);
}


//----------------------------------------------------------------------------------------
function fn_CheckIfCreditCard(f_name,f_value) {

if (f_name.indexOf("_cc_") != -1) {
	if (!fn_IsNumeric(f_value)) {
		return false;
		}

	if (fn_CheckCard(f_value)) {
		return false;
		}
	}

return true;
}


//----------------------------------------------------------------------------------------
function fn_CheckIfUSZip(f_name,f_value) {

if (f_name.indexOf("uszip") != -1) {
	var  N_Test=parseInt(f_value);
	var S_Test=""+N_Test;
	N_Test=S_Test.length;

	if ((parseInt(f_value) < 5) || (N_Test < 5)) 
		return false;
	else
		return true;
	}

return true;
}


//----------------------------------------------------------------------------------------
function fn_IsNumeric(number) {

	var i=0;
	var j=0;
	var num="";
	var IsNum=0;
	var slen=number.length;

	for (i=0;i<slen;i++) {
		num=number.charAt(i);
		for (j=0;j<10;j++) {
			if ((parseInt(num) == j) || (num == "-")) {
				IsNum=1;
				}
			}
		if (IsNum) {
			IsNum=0;
			}
		else {
			return 0;
			}
		}   

return 1;
}


//----------------------------------------------------------------------------------------
function fn_CheckIfPhone(f_name,f_value) {

if (f_name.indexOf("phone") != -1) {
   if (!fn_IsNumeric(f_value)) {
      return false;
      }
   }

return true;
}


//----------------------------------------------------------------------------------------
function fn_CheckIfNumber(f_name,f_value) {

if (f_name.indexOf("num") != -1) {
   if (!fn_IsNumeric(f_value)) {
      return false;
      }
   }

return true;
}


//----------------------------------------------------------------------------------------
function fn_CheckIfEmail(f_name,f_value) {
var lf_value=f_value;
var lf_name=f_name;
var f_len=lf_value.length;
var i=0;
var atCnt=0;
var str_temp="";
var after_dot="";


if (lf_name.indexOf("email") != -1) {

	var atPos=lf_value.indexOf("@"); 
	if (atPos == -1)
		return false;

	if (atPos == 0) 
		return false;

	if ((lf_value.charAt(atPos+1) == ".") || (lf_value.charAt(atPos-1) == ".")) 
		return false;
    
	for (i=0;i<f_len;i++) {
		if (lf_value.charAt(i) == "@") {
			atCnt++;
			if (atCnt > 1)
			return false;
			}
		}

	before_At=lf_value.substring(0,atPos);
	var balen=before_At.length; 
	var dotPos_bat=before_At.indexOf("."); 

	if (dotPos_bat == 0)
		return false;

	if (dotPos_bat != -1) {
		while (before_At.indexOf(".") != -1) {
			before_At=before_At.substring(dotPos_bat+1,atPos);    
			dotPos_bat=before_At.indexOf("."); 
			if ((before_At.charAt(dotPos_bat+1) == "@") || (before_At.charAt(dotPos_bat-1) == "@") || (before_At.charAt(dotPos_bat+1) == ".") || (before_At.charAt(dotPos_bat-1) == "."))
				return false;
			}
		}


	var dotPos=lf_value.indexOf(".",atPos+1);
	if (dotPos == -1)
		return false;

	if (dotPos == 0)
		return false;

	if ((lf_value.charAt(dotPos+1) == "@") || (lf_value.charAt(dotPos-1) == "@")) 
		return false;

	if ((lf_value.charAt(dotPos+1) == ".") || (lf_value.charAt(dotPos-1) == ".")) 
		return false;
        
	var space=lf_value.indexOf(" ");   
	if (dotPos == -1)
		return false;

	after_dot=lf_value.substring(dotPos,f_len);
	if (after_dot.indexOf("@") != -1)
		return false;

	var adlen=after_dot.length; 
	after_dot=after_dot.substring(1,adlen);    

	if (after_dot.indexOf(".") != -1) {
		dotPos=after_dot.indexOf(".")+1;
		while (after_dot.indexOf(".") != -1) {
			after_dot=after_dot.substring(dotPos,adlen);    
			adlen=after_dot.length;
			dotPos=after_dot.indexOf(".")+1; 
			}
		}

	if (after_dot.length < 2)
		return false;

	if (!fn_CheckBadChars(lf_name,lf_value,EMAIL))
		return false;
	}
return true;
}


//----------------------------------------------------------------------------------------
function fn_CheckBadChars(f_name,f_value,ent) {
var lf_value=f_value;
var lf_name=f_name;
var i=0;

if (ent == TEXT) {
	var f_len=BAD_CHARS.length;
	for (i=0;i<f_len;i++) {
		bad_char=BAD_CHARS.charAt(i);
		if (f_value.indexOf(bad_char) != -1)
			return false;
		}
	}

if (ent == EMAIL) {
	var f_len=EMAIL_BAD_CHARS.length;
	for (i=0;i<f_len;i++) {
		bad_char=EMAIL_BAD_CHARS.charAt(i);
		if (f_value.indexOf(bad_char) != -1)
			return false;
		}
	}

if (ent == TAREA) {
	var f_len=TAREA_BAD_CHARS.length;
	for (i=0;i<f_len;i++) {
		bad_char=TAREA_BAD_CHARS.charAt(i);
		if (f_value.indexOf(bad_char) != -1)
			return false;
		}
	}

return true;
}


//----------------------------------------------------------------------
function isInteger(s){
	var i;
	for (i = 0; i < s.length; i++){   
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}

//----------------------------------------------------------------------
function stripCharsInBag(s, bag){
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++){   
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

//----------------------------------------------------------------------
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

//----------------------------------------------------------------------
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

//----------------------------------------------------------------------
function isDate(dtStr){

	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

//----------------------------------------------------------------------
function ValidateDOB(form) {

	var date=form.l_req_BirthDate.options[form.l_req_BirthDate.options.selectedIndex].value;
	var month=form.l_req_BirthMonth.options[form.l_req_BirthMonth.options.selectedIndex].value;
	var year=form.l_req_BirthYear.options[form.l_req_BirthYear.options.selectedIndex].value;
	var dob=month+"/"+date+"/"+year;

	if (isDate(dob)==false){
		form.l_req_BirthDate.focus();
		return false;
		}
	return true;
}

//----------------------------------------------------------------------
function AddSDFField(form,name) {

	var y=0;
	var k=0;
	var myopt="";
	var flag=1;
	var fid=form.l_Fields.options[form.l_Fields.options.selectedIndex].value;
	var fname=form.l_Fields.options[form.l_Fields.options.selectedIndex].text;
	var fstart=form.FieldStart.value;
	var flen=form.FieldLength.value;
	var tiedid=fid+":"+fstart+":"+flen;
	var tiedvar=fname+" : "+fstart+" : "+flen;

	for (var y=0;y<form.l_FieldMap.length;y++){
		myopt=form.l_FieldMap.options[y].value;
		myopt=myopt.substring(0,myopt.indexOf(':'));
		if (myopt==fid){
			flag=0;
			k=y;
			}
		}

	if (!isInteger(fstart) || fstart.length < 1) {
		alert("Numbers only for this field.");
		form.FieldStart.focus();
		return;
		}
	if (!isInteger(flen) || flen.length < 1) {
		alert("Numbers only for this field.");
		form.FieldLength.focus();
		return;
		}
	if (flag){
		form.l_FieldMap.options[form.l_FieldMap.length]=new Option(tiedvar,tiedid,0,0); 
		form.l_FieldMap.selectedIndex=0;

		var istart=0;
		var ilen=0;
		istart=parseInt(fstart);
		ilen=parseInt(flen);
		var nextval=istart+ilen;
		form.FieldStart.value=nextval;
		form.FieldLength.value="";
		}
	else {
		alert("You have already added this Field.");
		form.l_Fields.focus();
		return;
		}

	form.l_Fields.focus();
}

//----------------------------------------------------------------------
function DeleteSDFField(form,name) {

	var cnt=form.l_FieldMap.length;
	var j=0;
	var k=0;

	for (j=0;j<cnt;j++) {
		if (form.l_FieldMap.options[j].selected) {
			k++;
			}
		}

	if (k==0) {
		form.l_FieldMap.focus();
		alert("You have to select an item to delete frist.");
		return false;
		}

	for (j=cnt-1;j>0;j--) {
		if (form.l_FieldMap.options[j].selected) {
			form.l_FieldMap.options[j]=null;
			}
		}
}


//----------------------------------------------------------------------
function AddSDFFormat(form,name) {

	if (form.t_FormatName.value.length < 2) {
		alert("Minimum length for this field is 2 characters.")
		form.t_FormatName.focus();
		return false;
		}

	var flen=form.t_Length.value;
	if (!isInteger(flen) || flen.length < 1) {
		alert("This has to be a numeric value.")
		form.t_Length.focus();
		return false;
		}

	var cnt=form.l_FieldMap.length;
	if (cnt < 2)	{
		alert("Cannot create an empty format.")
		form.l_FieldMap.focus();
		return false;
		}

	var i=0;
	var fields="";

	for (i=1;i<form.l_FieldMap.length;i++) {
		fields+=form.l_FieldMap.options[i].value+"|";
		}

	form.FieldMap.value=fields;
	form.from.value=name;
	form.submit();
}


//----------------------------------------------------------------------
function AddDTFField(form,name) {

	var y=0;
	var k=0;
	var myopt="";
	var flag=1;

	var fid=form.l_Fields.options[form.l_Fields.options.selectedIndex].value;
	var fname=form.l_Fields.options[form.l_Fields.options.selectedIndex].text;

	for (var y=0;y<form.l_FieldMap.length;y++){
		myopt=form.l_FieldMap.options[y].text;
		if (myopt==fname){
			flag=0;
			k=y;
			}
		}

	if (flag){
		form.l_FieldMap.options[form.l_FieldMap.length]=new Option(fname,fid,0,0); 
		form.l_FieldMap.selectedIndex=0;
		}
	else {
		alert("You have already added this Field.");
		return;
		}

	form.l_Fields.focus();
}

//----------------------------------------------------------------------
function DeleteDTFField(form,name) {

	var cnt=form.l_FieldMap.length;
	var j=0;
	var k=0;

	for (j=0;j<cnt;j++) {
		if (form.l_FieldMap.options[j].selected) {
			k++;
			}
		}

	if (k==0) {
		form.l_FieldMap.focus();
		//alert("You have to select an item to delete frist.");
		return false;
		}

	for (j=cnt-1;j>0;j--) {
		if (form.l_FieldMap.options[j].selected) {
			form.l_FieldMap.options[j]=null;
			}
		}
}

//----------------------------------------------------------------------
function DTFUp(form) {

	var idx=form.l_FieldMap.selectedIndex;

	if (idx==-1 || idx==0) {
		//alert("You must first select the item to reorder.");
		return;
		}

	if (idx < 2) {
		return;
		}

	var nxidx=idx-1;
	var oldVal=form.l_FieldMap[idx].value;
	var oldText=form.l_FieldMap[idx].text;
	form.l_FieldMap[idx].value=form.l_FieldMap[nxidx].value;
	form.l_FieldMap[idx].text=form.l_FieldMap[nxidx].text;
	form.l_FieldMap[nxidx].value=oldVal;
	form.l_FieldMap[nxidx].text=oldText;
	form.l_FieldMap.selectedIndex=nxidx;

}

//----------------------------------------------------------------------
function DTFDown(form) {

	var idx=form.l_FieldMap.selectedIndex;

	if (idx==-1 || idx==0) {
		//alert("You must first select the item to reorder.");
		return;
		}

	if (idx == form.l_FieldMap.length-1) {
		return;
		}

	var nxidx=idx+1;
	var oldVal=form.l_FieldMap[idx].value;
	var oldText=form.l_FieldMap[idx].text;
	form.l_FieldMap[idx].value=form.l_FieldMap[nxidx].value;
	form.l_FieldMap[idx].text=form.l_FieldMap[nxidx].text;
	form.l_FieldMap[nxidx].value=oldVal;
	form.l_FieldMap[nxidx].text=oldText;
	form.l_FieldMap.selectedIndex=nxidx;

}


//----------------------------------------------------------------------
function AddDTFFormat(form,name) {

	if (form.t_FormatName.value.length < 2) {
		alert("Minimum length for this field is 2 characters.")
		form.t_FormatName.focus();
		return false;
		}

	if (form.Delimiter[4].checked && form.OtherDelimiter.value.length < 1) {
		alert("You have selected a custom delimiter. Please provide a value for this field.")
		form.OtherDelimiter.focus();
		return false;
		}

	var cnt=form.l_FieldMap.length;
	if (cnt < 2)	{
		alert("Cannot create an empty format.")
		form.l_FieldMap.focus();
		return false;
		}

	var i=0;
	var fields="";

	for (i=1;i<form.l_FieldMap.length;i++) {
		fields+=form.l_FieldMap.options[i].value+"|";
		}

	form.FieldMap.value=fields;
	form.from.value=name;
	form.submit();
}


//----------------------------------------------------------------------
function DeleteFormat(form,name) {

	if (confirm("Are you sure you want to delete this format?")) {
		form.from.value=name;
		form.submit();
		}
	else {
		return;
		}
}


//----------------------------------------------------------------------
function DeleteField(form,name) {

	if (form.Fields.options[form.Fields.options.selectedIndex].value==-1) {
		alert("Please select a field to delete first.");
		form.Fields.focus();
		return;
		}
	else if (form.Fields.options[form.Fields.options.selectedIndex].value < 27) {
		alert("Cannot Delete an Internal Field.\n\nThese fields are built into this system and are permananent.");
		form.Fields.focus();
		return;
		}
	else {
		if (confirm("This could affect formats that have this field.\nAre you sure you want to delete this Field?")) {
			form.from.value=name;
			form.submit();
			}
		}
}

//----------------------------------------------------------------------
function NewField(form,name) {

	var y=0;

	var field=form.AddField.value;
	if (field.length < 2) {
		alert("Minimum field name length is 2 characters.");
		form.AddField.focus();
		return;
		}

	for (y=0;y<form.Fields.length;y++) {
		if (form.Fields.options[y].text==field) {
			form.Fields.selectedIndex=y;
			form.Fields.focus();
			alert("This field is already defined.");
			return;
			}
		}

	form.from.value=name;
	form.submit();
}

//----------------------------------------------------------------------------------------
function UpdateServer(form,name) {

	if (form.SendTo[0].checked==true || form.SendTo[1].checked==false) {

		form.t_FTP_Server.disabled=true;
		form.t_FTP_Server.style.color="#FFFFFF";

		form.t_FTP_User.disabled=true;
		form.t_FTP_User.style.color="#FFFFFF";

		form.t_FTP_Password.disabled=true;
		form.t_FTP_Password.style.color="#FFFFFF";

		form.t_FTP_Folder.disabled=true;
		form.t_FTP_Folder.style.color="#FFFFFF";
		}
	else {
		form.t_FTP_Server.disabled=false;
		form.t_FTP_Server.style.color="#666666";

		form.t_FTP_User.disabled=false;
		form.t_FTP_User.style.color="#666666";

		form.t_FTP_Password.disabled=false;
		form.t_FTP_Password.style.color="#666666";

		form.t_FTP_Folder.disabled=false;
		form.t_FTP_Folder.style.color="#666666";
		}
	}


//----------------------------------------------------------------------------------------
function Recipient(form,name) {

	if (form.t_req_ClientName.value < 2) {
		alert("Recipient Company Name Required. Minimum 2 chars.");
		form.t_req_ClientName.focus();
		return(false);
		}
	else if (form.t_req_FirstName.value < 1) {
		alert("Contact's First Name is Required. Minimum 1 char.");
		form.t_req_FirstName.focus();
		return(false);
		}
	else if (form.t_req_LastName.value < 1) {
		alert("Contact's Last Name is Required. Minimum 1 char.");
		form.t_req_LastName.focus();
		return(false);
		}
	else if (form.l_State.options[form.l_State.options.selectedIndex].value!="OU" && form.l_State.options[form.l_State.options.selectedIndex].value!="default" && form.l_Country.options[form.l_Country.options.selectedIndex].value!="US" && form.l_Country.options[form.l_Country.options.selectedIndex].value!="default") {
		alert("Please Select the 'Non US State' Option, or Correct Your Country Selection");
		form.l_State.focus();
		return(false);
		}
	else if (form.l_State.options[form.l_State.options.selectedIndex].value=="OU" && form.l_Country.options[form.l_Country.options.selectedIndex].value=="US") {
		alert("Please Select the Appropriate Country, or Correct Your State Selection");
		form.l_Country.focus();
		return(false);
		}
	else if (form.l_State.options[form.l_State.options.selectedIndex].value=="OU" && form.l_Country.options[form.l_Country.options.selectedIndex].value!="US" && form.t_NonUSState.value.length<1) {
		alert("Please provide a State or Province name, or the closest thing to it.");
		form.t_NonUSState.focus();
		return(false);
		}
	else if (form.t_req_Phone.value < 5) {
		alert("Contact's Phone is Required. Minimum 5 char.");
		form.t_req_Phone.focus();
		return(false);
		}
	else if (form.t_req_ContactEmail.value < 5) {
		alert("Contact's Email Address is Required. Minimum 5 char.");
		form.t_req_ContactEmail.focus();
		return(false);
		}
	else if (form.t_req_NotifyEmail.value < 5) {
		alert("Email Address for Notifications is Required. Minimum 5 char.");
		form.t_req_NotifyEmail.focus();
		return(false);
		}
	else if (form.l_Formats.options[form.l_Formats.options.selectedIndex].value=="default") {
		alert("Transmission Format for List is Required.");
		form.l_Formats.focus();
		return(false);
		}
	else if (form.SendTo[0].checked==false) {
		if (form.t_FTP_Server.value < 5) {
			alert("You have selected Client Server Option.\nPlease provide FTP Server information. IP Address OR a URL.");
			form.t_FTP_Server.focus();
			return(false);
			}
		else if (form.t_FTP_User.value < 3) {
			alert("You have selected Client Server Option.\nPlease provide FTP User information. Minimum 3 chars.");
			form.t_FTP_User.focus();
			return(false);
			}
		else if (form.t_FTP_Password.value < 3) {
			alert("You have selected Client Server Option.\nPlease provide FTP Password. Minimum 3 chars.");
			form.t_FTP_Password.focus();
			return(false);
			}
		}

	form.from.value=name;
	form.submit();
}

