var boxtip = initTip('Box',1,700,100);
var h = initTip('Help',2,180,100);
if (h) {
	h.dzHideDelay = 100;
	var t = initTip('ToolMenu',0);
	var lookupTip = initTip('Lookup',1,50,50);
}

var dtToday = new Date();
var dtYear = dtToday.getYear();
if(dtYear<1000) dtYear+=1900;
var Today = (dtToday.getMonth()+1) + "/" + dtToday.getDate() + "/" + dtYear;

if (typeof defaultHTMLEditor == 'undefined') defaultHTMLEditor = 'htmlarea';

//defaultHTMLEditor = 'tinymce';

if (defaultHTMLEditor.toLowerCase() == 'htmlarea') {

	// load htmlarea
	_editor_url = "/dzapps/docs/htmlarea/";                     // URL to htmlarea files
	var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
	if (navigator.userAgent.indexOf('Mac')        >= 0) { win_ie_ver = 0; }
	if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
	if (navigator.userAgent.indexOf('Opera')      >= 0) { win_ie_ver = 0; }
	if (win_ie_ver >= 5.5) {
	 document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
	 document.write(' language="Javascript1.2"></scr' + 'ipt>');  
	} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }

}

if (defaultHTMLEditor.toLowerCase() == 'tinymce') {
	// load TinyMCE

	document.write('<script type="text/javascript" src="/dzapps/docs/tinymce/jscripts/tiny_mce/tiny_mce.js"');
	document.write(' language="Javascript1.2"></script>');
	
	function getCookie(name) {

		  var search;

		  search = name + "="
		  offset = document.cookie.indexOf(search)
		  if (offset != -1) {
			offset += search.length ;
			end = document.cookie.indexOf(";", offset) ;
			if (end == -1)
			  end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		  }
		  else
			return "";
		}

	  var imagePickerSrcURL = getCookie("ImagePopupSrc");

	function editor_generate(editor,editortheme) {
	if (!editortheme) editortheme = "advanced";
	tinyMCE.init({
		// General options
		convert_urls : false,
		mode : "exact",
		elements  : editor,
	  theme : editortheme,
		skin : "o2k7",
		strict_loading_mode : true,
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

		// Theme options
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,styleselect,formatselect,fontselect,fontsizeselect,code",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr",
		theme_advanced_buttons4 : "justifyleft,justifycenter,justifyright,justifyfull,|,insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,cleanup,help,|,preview,fullscreen",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,
		gecko_spellcheck : true,
		convert_fonts_to_spans : false,
		// Example content CSS (should be your site CSS)
		content_css : "/dzapps/docs/apps/assess/styles/standard.css",
		// Styles must be defined in standard.css
		theme_advanced_styles : "Light (l8)=l8;Normal (n8)=n8;Bold (b8)=b8;Red Bold (redb8)=redb8;Light (l10)=l10;Normal (n10)=n10;Bold (b10)=b10;Red Bold (redb10)=redb10;Bold (b12)=b12;Title=title;Title Big=titlebig",
		extended_valid_elements : "marquee[behavior|bgcolor|direction|height|hspace|loop|scrollamount|scrolldelay|vspace|width],iframe[src|width|height|name|align|frameborder|scrolling|allowtransparency]",  
		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "lists/template_list.js",
		external_link_list_url : "lists/link_list.js",
		external_image_list_url : imagePickerSrcURL + "&pTinyMCE=yes",
		media_external_list_url : "lists/media_list.js",

		// Replace values for the template plugin
		template_replace_values : {
			username : "Some User",
			staffid : "991234"
		}
	});
	}
}


function showHelp(event,helpGroup, helpField,nsLeft,nsTop,ieLeft,ieTop){
  var displayHelp = getCookie(webUserID + "_Help_" + helpGroup);
  if (displayHelp == 'no') return;
  var helpVar = helpGroup + "_" + helpField;
  var notOk = eval("typeof " + helpVar + "_Title == 'undefined'");
  if (notOk) return;
  helpTitle = eval(helpVar + "_Title");
  helpText = eval(helpVar + "_Text");
  helpBookmark = helpVar + "_BM";

  if (nsLeft == null) nsLeft = -190;
  if (nsTop == null) nsTop = 0;
  if (ieLeft == null) ieLeft = -190;
  if (ieTop == null) ieTop = 0;
  setTip(event,'Help',helpTitle,helpText,helpBookmark,nsLeft,nsTop,ieLeft,ieTop); 

//  alert("here2"+ helpTitle + helpText);
}

function showInfo(event,helpGroup, helpField,nsLeft,nsTop,ieLeft,ieTop){
  var helpVar = helpGroup + "_" + helpField;
  var notOk = eval("typeof " + helpVar + "_Title == 'undefined'");
  if (notOk) return;
  helpTitle = eval(helpVar + "_Title");
  helpText = eval(helpVar + "_Text");
  helpBookmark = helpVar + "_BM";
  setTip(event,'Help',helpTitle,helpText,helpBookmark,nsLeft,nsTop,ieLeft,ieTop); 
}



function hideHelp(){
  hideTip('Help');
}

function helpOptions(event,helpGroup){
  var displayHelp = getCookie(webUserID + "_Help_" + helpGroup);
  var helpText = (displayHelp == 'no') ? "Show Help Tips" : "Hide Help Tips";
  var t_opt = makeTextMenuItem('ToolMenuTitle','Help Option');
  t_opt = t_opt + makeTextMenuItem('ToolMenu','<a href="javascript:toggleHelp({a}' + helpGroup + '{a})">&nbsp;•&nbsp;' + helpText + '</a>');
  setTip(event,'ToolMenu','',t_opt);
}

function toggleHelp(helpGroup){
  var d = new Date("December 31, 2999");
  var displayHelpField = webUserID + "_Help_" + helpGroup;
  var displayHelp = getCookie(displayHelpField);
  if (displayHelp == 'no') {
    deleteCookie(displayHelpField);
    alert('The pop-up help feature for this section has been turned ON.');
  } else
  {
    setCookie(displayHelpField,'no',d);
    alert('The pop-up help feature for this section has been turned OFF.');
  }
}

function navmenu_toggleSearch( mouseEvent ) {
	// get the event's target - the <a> element that was clicked
	var linkElement = $( mouseEvent.target );
	var currentState = linkElement.text().split( ' ' )[0];
	if( currentState === 'Advanced' ) {
		linkElement.text( 'Basic Search' );
	}
	else {
		linkElement.text( 'Advanced Search' );
	}
	$( '#AdvanceSearch' ).toggle();
}

function navmenu_doLookup() {
	var targetWindow = $( '#pTarget' ).val();
	var newURL;

	if (TF_PH_GetFieldVal(f.pLookupAsmID).length > 0) {
		newURL = dzWebConfig.appExecutablePath + "/members/get?webid=" + dz_webid + "&Page=ManageTool&pLookupAsmID=" + f.pLookupAsmID.value;
	}
	else {
		var jqLookupFields = $('.lookupfield');
		var lookupQS = '';
		var bHasLookupValue = false;
		for (var i=0;i<jqLookupFields.length;i++) { 	  
			if (TF_PH_GetFieldVal(jqLookupFields[i]).length > 0) {
			  lookupQS += "&" + jqLookupFields[i].name + '=' + escape(jqLookupFields[i].value);
			  bHasLookupValue = true;
			}
		}
		newURL = dzWebConfig.appExecutablePath + "/members/get?webid=" + dz_webid + "&action=CreateRecord&subaction=ListSelectClient" + lookupQS
	}

	switch( targetWindow ) {
		case '2':
			window.open( newURL, '_blank', 'menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes' );
			break;

		case '3':
			window.open( newURL, '_blank' );
			break;

		default:
			window.location.assign( newURL );
	}

	return true;
}

function showImage(img,ref) {
 document.images[img].src = ref; 
}

function hideHelp(){
  hideTip('Help');
}

function setTimeOption(fldName,timeValue){
  f[fldName].value = timeValue;
}

function showTimeOptions(event,fldName,bmName,nsLeft,nsTop,ieLeft,ieTop){
  var t_opt = "<table border=0 cellpadding=3 cellspacing=0 width=100%>";
  t_opt = t_opt + "<tr>";
  for (i=1;i<12;i++) {
    var t = i + 'am';
    var t_value = i + ':00 am';
    t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  }

  var t = '12pm';
  var t_value = '12:00 pm';
  t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  t_opt = t_opt + "</tr>";
  t_opt = t_opt + "<tr>";
  for (i=1;i<12;i++) {
    var t = i + 'pm';
    var t_value = i + ':00 pm';
    t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  }
  var t = '12am';
  var t_value = '12:00 am';
  t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  t_opt = t_opt + "</tr>";
  var t_opt = t_opt + "</table>";

  setTip(event,'Box','',t_opt,bmName,nsLeft,nsTop,ieLeft,ieTop); 
}

function showHourOptions(event,fldName,bmName,nsLeft,nsTop,ieLeft,ieTop){
  var t_opt = "<table border=0 cellpadding=3 cellspacing=0 width=100%>";
  t_opt = t_opt + "<tr>";
  for (i=0;i<12;i++) {
    var t = i;
    var t_value = i;
    t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  }
  t_opt = t_opt + "</tr>";
  var t_opt = t_opt + "</table>";
  setTip(event,'Box','',t_opt,bmName,nsLeft,nsTop,ieLeft,ieTop); 
}

function showMinuteOptions(event,fldName,bmName,nsLeft,nsTop,ieLeft,ieTop){
  var t_opt = "<table border=0 cellpadding=3 cellspacing=0 width=100%>";
  t_opt = t_opt + "<tr>";
  for (i=0;i<4;i++) {
    var t = i*15;
    var t_value = i*15;
    t_opt = t_opt + "<td style='font-family:arial;font-size:8pt'><a href=\"javascript:setTimeOption('" + fldName + "','" + t_value + "');\">" + t + "</a></td>";
  }
  t_opt = t_opt + "</tr>";
  var t_opt = t_opt + "</table>";
  setTip(event,'Box','',t_opt,bmName,nsLeft,nsTop,ieLeft,ieTop); 
}

function popAssessments(event,clientID,clientName){

 var notOk = eval("typeof asm_nums_" + clientID + " == 'undefined'");
  if (notOk){
    setTip(event,'Box',clientName,'No Existing Activity!');
    return;
  }

  var asm_nums = eval('asm_nums_' + clientID);
  var asm_nums_array = asm_nums.split("|");
  var asm_registered = eval('asm_registered_' + clientID);
  var asm_registered_array = asm_registered.split("|");
  var asm_assessedBy = eval('asm_assessedBy_' + clientID);
  var asm_assessedBy_array = asm_assessedBy.split("|");
  var asm_assessedOn = eval('asm_assessedOn_' + clientID);
  var asm_assessedOn_array = asm_assessedOn.split("|");
  var asm_createdOn = eval('asm_createdOn_' + clientID);
  var asm_createdOn_array = asm_createdOn.split("|");
  var asm_updatedOn = eval('asm_updatedOn_' + clientID);
  var asm_updatedOn_array = asm_updatedOn.split("|");
  var asm_seqNum = eval('asm_seqNum_' + clientID);
  var asm_seqNum_array = asm_seqNum.split("|");
  var asm_status = eval('asm_status_' + clientID);
  var asm_status_array = asm_status.split("|");
  var asm_level = eval('asm_level_' + clientID);
  var asm_level_array = asm_level.split("|");
  var asm_category1 = eval('asm_category1_' + clientID);
  var asm_category1_array = asm_category1.split("|");
  var asm_category2 = eval('asm_category2_' + clientID);
  var asm_category2_array = asm_category2.split("|");

  var t = "<table cellpadding=0 cellspacing=0 border=0>";
  t = t + "<tr><td bgcolor=#99cccc width=100%>";
  t = t + "<table cellpadding=2 cellspacing=2 border=0>";
  t = t + "<tr>"
  t = t + "<td nowrap class=ColumnHeader align=center>ID</td>"
  t = t + "<td nowrap class=ColumnHeader align=center>Updated</td>"
  t = t + "<td nowrap class=ColumnHeader align=center>By</td>"
  t = t + "<td nowrap class=ColumnHeader align=center>Date</td>"
//  t = t + "<td nowrap class=ColumnHeader align=center>Created</td>"
//  t = t + "<td nowrap class=ColumnHeader align=center>Seq#</td>"
  t = t + "<td nowrap class=ColumnHeader align=center>Status</td>"
 // t = t + "<td nowrap class=ColumnHeader align=center>Level</td>"
 // t = t + "<td nowrap class=ColumnHeader align=center>Category1</td>"
 //t = t + "<td nowrap class=ColumnHeader align=center>Category2</td>"
  t = t + "</tr>";
  for (i=0;i<asm_nums_array.length;i++){
    var useClass = 'Class=RowData';
    if (asm_status_array[i] != 'Completed') useClass='Class=RegisteredAssessment';
    t = t + "<tr>";
    t = t + "<td nowrap " + useClass + "><a href=get?Action=CreateRecord&SubAction=EditAssessment" + "&pAssessmentID=" + asm_nums_array[i] +  "&pSection=Review>" + asm_nums_array[i] + "</a></td>";
    t = t + "<td nowrap align=center " + useClass + ">" + asm_updatedOn_array[i] + "</td>";
    t = t + "<td nowrap align=center " + useClass + ">" + asm_assessedBy_array[i] + "</td>";
    t = t + "<td nowrap align=center " + useClass + ">" + asm_assessedOn_array[i] + "</td>";
//    t = t + "<td nowrap align=center " + useClass + ">" + asm_createdOn_array[i] + "</td>";
//    t = t + "<td nowrap align=center " + useClass + ">" + asm_seqNum_array[i] + "</td>";
    t = t + "<td nowrap align=center " + useClass + ">" + asm_status_array[i] + "</td>";
 //   t = t + "<td nowrap align=center " + useClass + ">" + asm_level_array[i] + "</td>";
 //   t = t + "<td nowrap align=center " + useClass + ">" + asm_category1_array[i] + "</td>";
 //   t = t + "<td nowrap align=center " + useClass + ">" + asm_category2_array[i] + "</td>";
    t = t + "</tr>";
  }
  t = t + "</table>";
  t = t + "</td></tr>";
  t = t + "</table>";  

  setTip(event,'Box',clientName,t,null,0,10);
}

function showAttributeGroupsMenu(event,groupcode,groupdisplay,delRetPage){

  var delMSG = "This will delete the Attribute Group . Are you sure you wish to do this?";

  var t = "<table cellpadding=3 cellspacing=0 border=0>";
  
  t = t + "<tr>";
  t = t + "<td nowrap class=DataPreviewSmall>• " + "<a href=\"get?Action=Admin&SubAction=EditThisAttributeGroup&pGroup=" + groupcode + "&pAttributeGroupName=" + groupdisplay + "\">Edit " + unescape(groupdisplay) + "</td>";
  t = t + "</tr>";

  if (!groupcode == '') {
    t = t + "<tr>";
    t = t + "<td nowrap class=DataPreviewSmall>• " + "<a onclick=\"return(confirm('This will permanently delete this Attribute Group record. Are you sure you want to do this?'));\" href=\"get?Action=Admin&SubAction=DeleteThisAttributeGroup&pGroup=" + groupcode + "&pReturnPage=" + delRetPage + "\">Delete " + unescape(groupdisplay) + "</td>";
    t = t + "</tr>";
    t = t + "<tr>";
    t = t + "<td nowrap class=DataPreviewSmall>• " + "<a href=\"get?Action=Admin&SubAction=AddAttributes&pGroup=" + groupcode + "\">Add Attributes</a></td>";
    t = t + "</tr>";
    t = t + "<tr>";
    t = t + "<td nowrap class=DataPreviewSmall>• " + "<a href=\"get?Action=Admin&SubAction=EditAttributes&pFilterAttrGroup=" + groupcode + "\">Edit Group's Attributes</a></td>";
    t = t + "</tr>";
    t = t + "<tr>";
    t = t + "<td nowrap class=DataPreviewSmall>• " + "<a href=\"get?Action=Admin&SubAction=SortOrder&pSortParmFile=Attributes&pSortAttributeGroup=" + groupcode  + "\">Sort Group's Attributes</a></td>";
    t = t + "</tr>";
    }

  t = t + "</table>";
  
  groupdisplay = unescape(groupdisplay);
  
  setTip(event,'Box',groupdisplay + " Group Menu",t,null,0,15);
  
  }
  
function showAttributesMenu(event,attrcode,attrdisplay,del){

  var editLink = "<a href=\"get?Action=Admin&SubAction=EditThisAttribute&pCode=" + attrcode + "\">";

  var delMSG = "Delete Attribute " + unescape(attrdisplay) + "? Are you sure?";

  var delLink = "<a href=\"get?Action=Admin&SubAction=DeleteThisAttribute&pCode=" + attrcode + "\" onclick=\"return(confirm(delMSG));\">";

  var t = "<table cellpadding=3 cellspacing=0 border=0>";
  
  t = t + "<tr>";
  t = t + "<td nowrap class=DataPreviewSmall>• " + editLink + "Edit</a></td>";
  t = t + "</tr>";

  if (del) {
    t = t + "<tr>";
    t = t + "<td nowrap class=DataPreviewSmall>• " + delLink + "Delete</a></td>";
    t = t + "</tr>";
    }
  
  t = t + "</table>";
  
  attrdisplay = unescape(attrdisplay);
    
  setTip(event,'Box',attrdisplay + " Menu",t,null,0,15);
}

function showDetails(event,clientID,clientName){
  var arrayCaptions = details_fields_captions.split("|");
  var data = eval('details_' + clientID).replace(/{lt}/g,'<');
  var arrayFieldData = data.split("|");
  var arrayAligns = details_fields_aligns.split("|");
  var editLink = "get?Action=CreateRecord&SubAction=EditClient&pClientID=" + clientID;
  var previewLink = "get?Action=CreateRecord&SubAction=PreviewClient&pClientID=" + clientID;

  var t = "<table cellpadding=0 cellspacing=0 border=0 align=center>";
  t = t + "<tr><td bgcolor=#99cccc width=100%>";
  t = t + "<table cellpadding=2 cellspacing=2 border=0>";
  t = t + "<tr>";
  for (i=0;i<arrayCaptions.length;i++){
   t = t + "<td nowrap class=ColumnHeader align=" + arrayAligns[i] + ">" + arrayCaptions[i] + "</td>";
  }
   t = t + "<td nowrap class=RowData rowspan=2 nowrap>• <a href=" + editLink + ">Edit</a><br>• <a href=" + previewLink + ">Preview</a></td>";
  t = t + "</tr>";
  t = t + "<tr>";
  for (i=0;i<arrayFieldData.length;i++){
   var d = arrayFieldData[i];
   if (d.substring(0,7) == '<script') {
    d = eval(d.match(/write.*script/i)[0].slice(6,-10).replace(/{a}/g,"'"));    
   }

   t = t + "<td nowrap class=RowData align=" + arrayAligns[i] + ">" + d + "</td>";
  }
  t = t + "</tr>";
  t = t + "</table>";
  t = t + "</td></tr>";
  t = t + "</table>";  
  setTip(event,'Box',clientName,t,null,0,10);
}

function showAssessmentSummary(event,tool,summaryType,assessID){
  var asm_Summary = eval('asm_Summary_' + summaryType + "_" + assessID); 
  var t = asm_Summary; 
  setTip(event,'Box',tool,t,null,0,10);

}

function showTools(event,toolNum,clientID,assessmentCaption){
  if (assessmentCaption == null) assessmentCaption = "Activity";
  var t_opt = '';
  var linkPostFix ='';
  var t_basehref = '<a href=get?Action=CreateRecord&pClientID='+ clientID;
  t_opt = t_opt + "<span class=LabelSmall>";
  t_opt = t_opt + "· " + t_basehref + "&SubAction=EditClient>Edit</a>";
  t_opt = t_opt + "<br>"
  t_opt = t_opt + "· " + t_basehref + "&SubAction=PreviewClient>Preview</a>";

  if (toolNum >= 1) {
    t_opt = t_opt + "<br>"
    t_opt = t_opt + "· " + t_basehref + "&SubAction=ListAssessments>List " + assessmentCaption + "</a>";
    t_opt = t_opt + "<hr noshade size=1>";
    t_opt = t_opt + "Create New...<br>";
    for (var i=1;i<=toolNum;i++){
      tool = eval('tool_' + i);
      t_opt = t_opt + " &nbsp;&nbsp;";
      t_opt = t_opt + "·&nbsp;";
      t_opt = t_opt + "<a href=get?Action=CreateRecord&SubAction=CreateAssessment&pClientID="+ clientID + "&fTool=" + tool +  ">" + tool + "</a>";
    }
  }
  t_opt = t_opt + "</span>";
  t_opt = t_opt + "<form target=_blank action=get method=post>"
  t_opt = t_opt + "<input type=hidden name=FORM_QueryString value=action=searchrecords&subaction=searchlistclient&ClientIDList=" + clientID + "&pClientID=" + clientID + "&pLabel=Yes&pPrint=Yes>"
  t_opt = t_opt + "<font class=n8>Skip </font> <input type=text name=pSkipLabels size=2 maxlength=2><input type=submit name=Label value=Label>"
  t_opt = t_opt + "</form>"
  setTip(event,'Box','',t_opt);
}

function showLookupForm(event){
  if (agencyClientIDCaption == null) agencyClientIDCaption = "ID";
  var t = "";
  t = t + "<form action='get'>";
  t = t + "<input type=hidden name=action value=CreateRecord>";
  t = t + "<input type=hidden name=subaction value=ListSelectClient>";
  t = t + "<table cellpadding=0 cellspacing=0 border=0 align=center>";
  
  if (VisibleclientID == "Yes") {  
  t = t + "<tr>"
  t = t + "<td class=LabelSmall>" + clientCaption + " ID:&nbsp;</td>";
  t = t + "<td><input type=text name=pClientID size=15 maxlength=15 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;' onchange='this.value=extractNumber(this.value);'></td>";
  t = t + "</tr>";
  }

  t = t + "<tr>"
  t = t + "<td class=LabelSmall>" + agencyClientIDCaption + ":&nbsp;</td>";
  t = t + "<td><input type=text name=pAgencyClientID size=15 maxlength=25 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;'></td>";
  t = t + "</tr>";

  if (visibleCompany == "Yes") {
    t = t + "<tr>"
    t = t + "<td class=LabelSmall>Company:&nbsp;</td>";
    t = t + "<td><input type=text name=pCompanyName size=15 maxlength=25 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;' onchange='this.value=TF_Trim(this.value)'></td>";
    t = t + "</tr>";
  }
  t = t + "<tr>"
  t = t + "<td class=LabelSmall>First Name:&nbsp;</td>";
  t = t + "<td><input type=text name=pFirstName size=15 maxlength=25 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;' onchange='this.value=TF_Trim(this.value)'></td>";
  t = t + "</tr>";
  t = t + "<tr>"
  t = t + "<td class=LabelSmall>Last Name:&nbsp;</td>";
  t = t + "<td><input type=text name=pLastName size=15 maxlength=25 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;' onchange='this.value=TF_Trim(this.value)'></td>";
  t = t + "</tr>";
  if (visibleSSN == "Yes") {
    t = t + "<tr>"
    t = t + "<td class=LabelSmall>" + ssnCaption + ":&nbsp;</td>";
    t = t + "<td><input type=text name=pSSN size=11 maxlength=11 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;' onchange='this.value=extractDigits(this.value)'></td>";
    t = t + "</tr>";
  }
  if (visibleEmail == "Yes") {
    t = t + "<tr>"
    t = t + "<td class=LabelSmall>Email:&nbsp;</td>";
    t = t + "<td><input type=text name=pEmail size=15 maxlength=50 onfocus='enterKey_enable=true;' onblur='enterKey_enable=false;'></td>";
    t = t + "</tr>";
  }
  t = t + "<tr>"
  t = t + "<td class=LabelSmall>&nbsp;</td>";
  t = t + "<td align=right class=LabelSmall><a href='get?action=CreateRecord&webid="+webID+"&subaction=LookupClient'>Advanced" + "</a> &nbsp;&nbsp; <input type=Submit value=Submit></td>";
  t = t + "</tr>";
  t = t + "</table>";
  t = t + "<input type=hidden name=webid value=" + webID +"></form>";

  setTip(event,'Box','',t);  
}

function validate(f){return true;}
function isValidAgencyClientID(){return true;}

function extractAgencyClientID(s){
  return s;
}

function extractDigits(s){
  return s.replace(/[^0-9]/g,'');
}

function extractPhone(s){
  return s.replace(/[^0-9x]/g,'');
}

function extractNumber(s){
  var minus = "";
  if (s.charAt(0) == "-") minus = "-";
  return minus + s.replace(/[^0-9.]/g,'');
}

function extractCurrency(ss){
  var sn = extractNumber(ss);
  if (sn.length == 0) return sn;
  var sf = parseFloat(sn);
  var s = Math.round(sf*100)/100;
  var s = s + "";
  var minus = "";
  if (s.charAt(0) == "-") minus = "-";
  var v = "";
  var v = s.replace(/[^0-9.]/g,'');
  var v_array = v.split('.');
  if (v_array.length > 2) {
    alert('Invalid Currency Format: ' + v);
  }
  var decimal = "00";
  if (v_array.length >= 2) {
    var decimal = v_array[1];
    if (v_array[1].length > 2) {
      decimal = decimal.substring(0,2);
    }
    if (decimal.length == 0) decimal = '00';
  }
  if (decimal.length == 1) decimal = decimal + "0";
  var integer = v_array[0];
  if (integer.length == 0) integer = '0';
  v = minus + integer + '.' + decimal;
  return v;
}


function makeUpperCase(fld){
  fld.value = fld.value.toUpperCase();
}

function makeProperCase(fld){
  if (fld.value.length == 0) return;
  fld.value = fld.value.charAt(0).toUpperCase() + fld.value.substr(1,fld.value.length);
}


function isValidSSN(fld, fldname){
  var p = extractDigits(fld.value);
  if (p.length == 0 || p.length == 9) return true;
  alert("Please enter a valid 9 digit number in the \"" + fldname + "\" field.");
  fld.focus();
  return false;
}

function isValidAgencyClientID(fld, fldname){
  return true;
  // Sample Code
  var p = extractDigits(fld.value);
  if (p.length == 0 || p.length == 9) return true;
  alert("Please enter a valid 9 digit number in the \"" + fldname + "\" field.");
  fld.focus();
  return false;

}

function formatAgencyClientID(s){
  return(s);
}

function formatPhone(s){
  if (s.indexOf('-') > 0 || s.indexOf('+') > 0)  return s;
  var parray = s.split('x');
  var phone = unformatPhone(parray[0]);
  var x = '';
  var p = phone;
  var c = '';
  if (parray.length > 1) {
   x = 'x' + parray[1];
  }
  if (p.length <= 4) return(p+x);
  if (p.length <= 7) return(p.substring(0,p.length-4) + "-" + p.substring(p.length-4)+x); 
  return(p.substring(0,p.length-7) + "-" + p.substring(p.length-7,p.length-4) + "-" + p.substring(p.length-4)+x); 
}

function unformatPhone(s){
 return s.replace(/[^0-9x]/g,'');
}

function formatAge(s){
  return s.replace(/[^0-9x]/g,'');
}

function formatSSN(s){
  var p = extractDigits(s);
  if (p.length <= 4) return(p);
  if (p.length <= 6) return(p.substring(0,p.length-4) + "-" + p.substring(p.length-4)); 
  if (p.length > 9) p = p.substring(p.length-9);
  if (p.length <= 9) return(p.substring(0,p.length-6) + "-" + p.substring(p.length-6,p.length-4) + "-" + p.substring(p.length-4)); 

}

function formatZip(s){
  var p = s.replace(/[^0-9a-zA-Z]/g,'').toUpperCase();
  if (p.length <= 6) return(p);
  if (p.length > 9) p = p.substring(p.length-9);
  if (p.length <= 9) return(p.substring(0,5) + "-" + p.substring(5,p.length)); 
}

function unformatZip(s){
  var p = s.replace(/[^0-9a-zA-Z]/g,'').toUpperCase();
  return p;
}

function getDate(fldName,event){
  window.fldDate=document.forms['shell'][fldName];
  openCal(event,window);
  return(false);
}

function initForm(){}

function resetForm(){
   if (typeof f == 'undefined') var f = document.forms.shell;
   f.reset();
   initForm();
}

var multiselectCaption = null;
var multiselectOptionField = null;
var multiselectValueField = null;

function openMultiSelect(e,selectFieldName,valueFieldName,caption){
  multiselectCaption  = caption;
  multiselectOptionField = document.forms.shell[selectFieldName];
  multiselectValueField = document.forms.shell[valueFieldName];
  winMultiSelect=openWinTip(e,'/dzapps/docs/popup/multiselect.htm','_blank','resizable=yes',600,310);
}

function setSelectDefault(selectFieldName,valueFieldName){
    var f = document.shell;
    if (!f[selectFieldName]) return;
    var selectField = f[selectFieldName];
    var valueList = f[valueFieldName].value;
    var valueArray = valueList.split(",");
    if (valueArray.length == 1) TF_SetSelectValue(selectField,valueList)
    if (valueArray.length > 1) TF_SetSelectValue(selectField,"+")     
  }
  
function setMultiSelect(event,selectFieldName,valueFieldName,caption){
    var f = document.shell;
    var selectField = f[selectFieldName];
    var valueField = f[valueFieldName];
    var selectValue = TF_GetSelectValue(selectField);
    if (selectValue == "" || selectValue == "-" || selectValue == "--") {
      valueField.value = "";
      return;
    }
    if (selectValue == "+") {
      openMultiSelect(event,selectFieldName,valueFieldName,caption);
      return;
    }
    valueField.value = selectValue;
}

var enterKey = false;
var enterKey_enable = false;
function noSubmitOnEnterKey(e){
  if (enterKey_enable) return;
  if( !e ) {
	e = window.event;
  }
  var enterKeyPressed = enterKey = (e.keyCode == 13);

  var disallowEnter = true;
  var eventTarget = e.target ? e.target : e.srcElement;
  if( eventTarget ) {
  	if( eventTarget.tagName === 'BUTTON' || String( eventTarget.type ).toLowerCase() === 'button' ) {
  		disallowEnter = false;
  	}
  }

  if (enterKeyPressed && disallowEnter) {
	alert('The ENTER key is disabled for this page. Try pressing TAB or use your mouse.');
	return false;
  }
}

function formatDate(s){

  if (s.length == 0) return "";
  if (s.substring(0,1) == "+" || s.substring(0,1) == "-") return s;

  var today = new Date();
  var thisDay   = today.getDate();
  var thisMonth = today.getMonth() + 1;
  
  if ((thisMonth + "").length == 1) thisMonth = "0" + thisMonth;

  var thisYear  = today.getYear() < 1000 ? today.getYear() + 1900 : today.getYear();
  
  var thisCentury  = parseInt(thisYear/100) * 100;
  var lastCentury = thisCentury - 100;
  s.replace(".","/");
  s.replace("-","/");
  if (s.indexOf("/") >= 0) {
    var arrDate = s.split("/");
   
   
  
    var month = extractDigits(arrDate[0]).substr(0,2);
    if ((month + "").length == 0) month = 1;   
    if (month < 1 || month > 12) month = 1;
    if ((month + "").length == 1) month = "0" + month;   

 
    if (arrDate.length > 1) {
      var day = extractDigits(arrDate[1]).substr(0,2);
      if ((day + "").length == 0) day = 1;   
      if (day < 1 || day > 31) day = 1;
      if ((day + "").length == 1) day = "0" + day;   
    } else month = thisMonth;

    if (arrDate.length > 2) {
    
     var year = extractDigits(arrDate[2]).substr(0,4);
     
      if ((year + "").length == 0) year = thisYear;
      year = parseFloat(year);
      
 
      if (year < 1) year = thisYear; 

      if (year <= 30) year = year + parseInt(thisCentury);
      if (year <= 999) year = year + parseInt(lastCentury);
    } else year = thisYear;
    
    
    if (year < 1800) year = thisYear;
    if (year > 5000) year = thisYear;
    return (month + "/" + day + "/" + year);
  }


/*
  if (s.indexOf("/") == s.lastIndexOf("/")) return s + "/" + thisYear;
  if (s.indexOf("/") >= 0) return s;
*/
  var p = extractDigits(s);

  
  if (p.length <= 2) return p + "/" + thisMonth + "/" + thisYear;
  if (p.length == 3) return p.substring(0,1) + "/" + p.substring(1,3)  + "/" + thisYear;
  if (p.length == 4) return p.substring(0,2) + "/" + p.substring(2,4)  + "/" + thisYear;
  if (p.length == 5) return p.substring(0,1) + "/" + p.substring(1,3)  + "/" + parseInt(thisCentury + parseInt(p.substring(3,5)));
//  alert("Guru Changed here" + parseFloat(p.substring (4,6)));
 // if (p.length == 6) return p.substring(0,2) + "/" + p.substring(2,4)  + "/" + parseInt(thisCentury + parseInt(p.substring(4,6)));
  if (p.length == 6) return p.substring(0,2) + "/" + p.substring(2,4)  + "/" + parseInt(thisCentury + parseFloat(p.substring(4,6)));
  if (p.length == 7) return p.substring(0,1) + "/" + p.substring(1,3)  + "/" + p.substring(3,7);
  if (p.length == 8) return p.substring(0,2) + "/" + p.substring(2,4)  + "/" + p.substring(4,8);
  if (p.length > 8) return formatDate(p.substring(0,8));
  return ""; 
}

function deleteWarning(){
  if (confirm("Are you sure you want to delete this record?")) return(true);
  return(false);
}


function sendEmailWarning(){
  if (confirm("Are you sure you want to send email?")) return(true);
  return(false);
}

function formatURL(fld){
  if (fld.value.length == 0) return;
  if (fld.value.substring(0,1) == "/") return;
  var protocol = fld.value.substring(0,3).toLowerCase();
  if (protocol == "htt" || protocol == "ftp" || protocol == "mai") return;
  fld.value = "http://" + fld.value;
  return true;
}

function showPreviewClientMenu(clientID){}

function pollVote(frmPoll){
       if (frmPoll.ViewResults.value == '') {
         answerFound = false;
         for (var i=0; i<frmPoll.pAnswerNum.length; i++) {
           if(frmPoll.pAnswerNum[i].checked) {
             answerFound = true;
           }
         }
         if (!answerFound) {
           alert('Please select an option');
           return(false);
         }
       }
       openWinTip(event,'/dzapps/docs/blank.htm','poll','scrollbars=yes',400,300);
       return true;
}

function pollView(frmPoll){
       frmPoll.ViewResults.value = 'true';
       pollVote(frmPoll);
       frmPoll.submit()
       frmPoll.ViewResults.value = '';       
}

function setStatus(statusCode,recordTypeID,nomsg){
  TF_SetSelectValue(f.Status,statusCode);
  TF_SetSelectValue(f.Code1ID,recordTypeID);
  var today = new Date();
  f.StatusUpdatedOn.value=Today;
  var statusDesc = f.Status.options[f.Status.selectedIndex].text;
  var recordTypeDesc = f.Code1ID.options[f.Code1ID.selectedIndex].text;
  if (!nomsg) alert("The record has been marked as follows:\n\nStatus: " + statusDesc + "\nRecord Type: " + recordTypeDesc + submitmessage);
}

function goLink(){return true};

function fixLinks(host,sslhost){
   // host = non secure domain = APP_Domain
 if (location.href.toLowerCase().indexOf(sslhost.toLowerCase()) == -1) return;
 var s="";
  for (i=0;i<document.links.length;i++){
   var link = document.links[i];
   var href = link.href;
   // If not dzapps link and not an external link then transform it to the non-secure internal link
   if (href.indexOf("///") >= 0) {   
     document.links[i].href = href.replace("///","/");
   } else {
	   if (href.indexOf("/dzapps/") < 0 && href.indexOf("/webapps/") < 0 && href.indexOf(location.host) >= 0) {
	     var newlink = host + link.pathname;
	     if (link.search) newlink = newlink + link.search;
	     if (link.hash) newlink = newlink + link.hash;
	     document.links[i].href = newlink;
	     s = s+document.links[i].href+ "\n"
	   }
   }
  } 
}

  function redirectLogin(webid,loginLink, welcomeLink){
    var cookieName = "MEM_Name_" + webid.toUpperCase();
    loginName = getCookie(cookieName);
    if (!welcomeLink) welcomeLink = "/dzapps/dbzap.bin/apps/webmembers/secure/welcome?webid=" + webid;
    if (!loginLink) loginLink = welcomeLink;  
    var redirectLink =  welcomeLink;
    if (loginName.length == 0) redirectLink=loginLink;
    location.href = redirectLink;
  }

  var promptText;

  function setAttrData(frm){
    var attrCtlName = frm.ctlAttrCode.value;
    var attrCtl = f[attrCtlName];
    attrCtl.value = frm.attrData.value;
    hideTip('Box');
    attr_mover(event,attrCtl,promptText);
  }

  function attr_click(event,ctl,promptTxt){
//    if (ctl.defaultChecked) return;
    if (ctl.checked) {
      suffix = ctl.name.substring(ctl.name.length-3);
      if (suffix == '_DT') {
         var dtValue = ctl.value;
         if (dtValue.toLowerCase() == 'yes') dtValue = '';
         if (!promptTxt) promptTxt = 'Date'
         promptText = promptTxt;
         var t_opt = "";
         t_opt = t_opt + "<form target=_blank action=get method=post>"
         t_opt = t_opt + " <input type=hidden name=ctlAttrCode value=\"" + ctl.name + "\">"
         t_opt = t_opt + " <font class=n8>" + promptTxt + " </font> <input class=n8 type=text name=attrData value='" + dtValue + "' size=10 maxlength=10 onblur=\"TF_TrimField(this);this.value=formatDate(this.value);\"><a href=# onClick=\"return getDate(\'" + ctl.name + "\',event);\"><img border=0 src=/dzapps/docs/images/common/buttons/grey1/popdown.gif alt=\"Show Calendar\"></a><input type=button class=n8 name=ok value=ok onclick='setAttrData(this.form)'>&nbsp;"
         t_opt = t_opt + "</form>"
         setTip(event,'Box','',t_opt);
      }
      if (suffix == '_TX') {
         var txtValue = ctl.value;
         if (txtValue.toLowerCase() == 'yes') txtValue = '';
         if (!promptTxt) promptTxt = 'More Info'
         promptText = promptTxt;
         var t_opt = "";
         t_opt = t_opt + "<form target=_blank action=get method=post>"
         t_opt = t_opt + " <input type=hidden name=ctlAttrCode value=\"" + ctl.name + "\">"
         t_opt = t_opt + " <font class=n8>" + promptTxt + " </font><input class=n8 type=text name=attrData value='" + txtValue + "' size=20 maxlength=40 onblur=\"TF_TrimField(this);\"><input type=button class=n8 name=ok value=ok onclick='setAttrData(this.form)'>&nbsp;"
         t_opt = t_opt + "</form>"
         setTip(event,'Box','',t_opt);
      }
    }
  }

  function attr_mover(event,ctl,promptTxt){
//    if (ctl.defaultChecked) return;
    if (ctl.checked) {
      suffix = ctl.name.substring(ctl.name.length-3);
      if (suffix == '_DT') {
         if (!promptTxt) promptTxt = 'Date'
         var dtValue = ctl.value;
         if (dtValue.toLowerCase() == 'yes') dtValue = '';
         var t_opt = "";
         t_opt = t_opt + " <span class=n8>" + promptTxt + ": " + dtValue + "</span>";
         setTip(event,'Box','',t_opt);
      }
      if (suffix == '_TX') {
         if (!promptTxt) promptTxt = 'More Info'
         var dtValue = ctl.value;
         if (dtValue.toLowerCase() == 'yes') dtValue = '';
         var t_opt = "";
         t_opt = t_opt + " <span class=n8>" + promptTxt + ": " + dtValue + "</span>";
         setTip(event,'Box','',t_opt);
      }
    }
  }
  
function swapAddresses(f) {	 
      if (f.HasImage) {
        if (f.HasImage.value === 'False') {
           TF_SetSelectValue(f.HasImage,'True');
        } else {
           TF_SetSelectValue(f.HasImage,'False');
        }        
      }
			TF_SwapFieldValues (f.CompanyName,f.CF_Alt_CompanyName);
			TF_SwapFieldValues (f.RelatedContactAddress,f.CF_Alt_Division);
			TF_SwapFieldValues (f.Address1,f.CF_Alt_Address1);
			TF_SwapFieldValues (f.Address2,f.CF_Alt_Address2);
			TF_SwapFieldValues (f.City,f.CF_Alt_City);
			TF_SwapFieldValues (f.State,f.CF_Alt_State);
			TF_SwapFieldValues (f.fZip,f.CF_Alt_Zip);
			TF_SwapFieldValues (f.Country,f.CF_Alt_Country);
			alert('Note: Addresses have been swapped.\nYou must press the Save button to save changes.');
			return false;
}	

function copyPrimaryToAltAddress(f) {	
			TF_CopyFieldValues (f.CompanyName,f.CF_Alt_CompanyName);
			TF_CopyFieldValues (f.RelatedContactAddress,f.CF_Alt_Division);
			TF_CopyFieldValues (f.Address1,f.CF_Alt_Address1);
			TF_CopyFieldValues (f.Address2,f.CF_Alt_Address2);
			TF_CopyFieldValues (f.City,f.CF_Alt_City);
			TF_CopyFieldValues (f.State,f.CF_Alt_State);
			TF_CopyFieldValues (f.fZip,f.CF_Alt_Zip);
			TF_CopyFieldValues (f.Country,f.CF_Alt_Country);
			return false;
}	



function lookupClient_process(action,fldLookupClient) {

	var jfldAgencyClientID = $(fldLookupClient).closest('ol').find('.ClientAgencyID');
	var jfldClientInfo = $(fldLookupClient).closest('ol').find('.ClientInfo');
	var jfldLookupClient = $(fldLookupClient).closest('ol').find('.LookupClient');

	/* onBlur occurs even when the user selects an autocomplete item so a setTimeout is necessary to delay the doLookup action
		 However, clearFields action is done before the setTimeout so that the browser can update the UI before the sync lookup
		 takes control
	 */
	if (action == 'onBlur') {
        if (!jfldLookupClient.val()) return;
				lookupClient_process('clearFields',fldLookupClient);
				setTimeout(function(){
					lookupClient_process('doLookup',fldLookupClient);
					},200);
				return;
	}
	

	if (action == 'clearFields') {
		jfldAgencyClientID.val('');
		jfldClientInfo.val('');
		return;
	}

	if (!fldLookupClient.value) return;

	// action = doLookup


	var valuePair = fldLookupClient.value.split( ':' );
	if( valuePair.length !== 2 ) {
			var recordId = fldLookupClient.value;
			var recordInfo = dz_lookup('Clients', recordId, {returnType: 'list', loadingElementID: fldLookupClient.id});
			if( recordInfo.length == 0 ) {
				dz_alert('Unable to locate the record of ' + recordId, 'Message');
				jfldAgencyClientID.val('');
				jfldClientInfo.val('');
				return;
			}
			if( recordInfo.length > 1 ) {
				dz_alert('Multiple record matching "' + recordId + '" were found. Please select from the list', 'Message');
				return;
			}
			var valuePair = recordInfo[0].value.split( ':' );
	}
	jfldAgencyClientID.val( jQuery.trim(valuePair[0]) );
	jfldClientInfo.val( jQuery.trim(valuePair[1]) );
	fldLookupClient.value = '';
}

function lookupClientAutoComplete( item ){
	// this = the input element that has autocomplete
	this.value = item.label;
	lookupClient_process('doLookup',this)
	return false; // return false to cancel normal AC select action, setting the field value     
}

if (typeof jQuery != 'undefined') {
	// jQuery 1.7+ only:
	//$('body').on('blur','.LookupClient',function() {
	$('body').delegate('.LookupClient','blur',function() {
		lookupClient_process('onBlur',this);
	});

 /* The following is needed to handle autocomplete function of dynamically added rows */
	$('body').delegate('.LookupClient','focus',function() {
		$( this ).dz_autocomplete();
	});
}

function linkAutoComplete(item){
		var linkedField = $(this).attr('data-ac-linkfield');
		if (!linkedField) {
			dzlog('data-ac-linkfield of ' + this.name + ' is not defined');
			return false;
		}
		var $linkedField = $(this).closest('ol').find('input[id*=' + linkedField + ']');
		$linkedField.val(item.value);
		$(this).val('');
		return false;
}


function getFileName(filePath){
		if (filePath.indexOf('/') > -1)
			fileName = filePath.substring(filePath.lastIndexOf('/')+1,filePath.length);
		else
			fileName = filePath.substring(filePath.lastIndexOf('\\')+1,filePath.length);
		return fileName;
}



