function nqGetObject( oName, oFrame, oDoc ) {
	if( !oDoc ) { if( oFrame ) { oDoc = oFrame.document; } else { oDoc = window.document; } }
	if( oDoc[oName] ) { return oDoc[oName]; } if( oDoc.all && oDoc.all[oName] ) { return oDoc.all[oName]; }
	if( oDoc.getElementById && oDoc.getElementById(oName) ) { return oDoc.getElementById(oName); }
	for( var x = 0; x < oDoc.forms.length; x++ ) { if( oDoc.forms[x][oName] ) { return oDoc.forms[x][oName]; } }
	for( var x = 0; x < oDoc.anchors.length; x++ ) { if( oDoc.anchors[x].name == oName ) { return oDoc.anchors[x]; } }
	for( var x = 0; document.layers && x < oDoc.layers.length; x++ ) {
		var theOb = nqGetObject( oName, null, oDoc.layers[x].document ); if( theOb ) { return theOb; } }
	if( !oFrame && window[oName] ) { return window[oName]; } if( oFrame && oFrame[oName] ) { return oFrame[oName]; }
	for( var x = 0; oFrame && oFrame.frames && x < oFrame.frames.length; x++ ) {
		var theOb = nqGetObject( oName, oFrame.frames[x], oFrame.frames[x].document ); if( theOb ) { return theOb; } }
	return null;
}

function ShowField(field) {
	var dvname="";
	dvname="d"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='inline';
	}
}

function HideField(field) {
	var dvname="";
	dvname="d"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='none';
	}
}

function ShowRow(field) {
	var dvname="";
	dvname="dr"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='block';
	}
}

function HideRow(field) {
	var dvname="";
	dvname="dr"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='none';
	}
}

function ShowGroup(field) {
	var dvname="";
	dvname="dg"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='block';
	}
}

function HideGroup(field) {
	var dvname="";
	dvname="dg"+field;
	var myObj = eval(document.getElementById(dvname));
	if (myObj) {
		document.getElementById(dvname).style.display='none';
	}
}

function OpenPanelWindow(frm,fld,hiddenfld,initlist,panelid,enableselect,enableadd,enableedit,enabledelete) { 
	wn=window.open('/admin/formplus/utils/panel/index.cfm?frm='+frm+'&fld='+fld+'&hiddenfld='+hiddenfld+'&initlist='+initlist+'&dStart=form.dSelStart'+'&dEnd=form.dSelEnd'+'&panelid='+panelid+'&enableselect='+enableselect+'&enableadd='+enableadd+'&enableedit='+enableedit+'&enabledelete='+enabledelete,'help','width=670,height=420');
	wn.focus();
}

function ShowOneHideAll(show,hide1,hide2,hide3) {
	var dshow="";
	dshow="d"+show;
	
	var dhide1="";
	dhide1="d"+hide1;

	var dhide2="";
	dhide2="d"+hide2;

	var dhide3="";
	dhide3="d"+hide3;
	
	document.getElementById(dshow).style.display='block';
	document.getElementById(dhide1).style.display='none';
	document.getElementById(dhide2).style.display='none';
	document.getElementById(dhide3).style.display='none';		
}


function getFieldValue(field)
{
   switch(field.type)
   {
      case "text" :
      case "textarea" :
      case "password" :
      case "hidden" :
         return field.value;

      case "select-one" :
         var i = field.selectedIndex;
         if (i == -1)   return "";
         else   return (field.options[i].value == "") ? field.options[i].text : field.options[i].value;

      case "select-multiple" :
         var allChecked = new Array();
         for(i = 0; i < field.options.length; i++)
            if(field.options[i].selected)
               allChecked[allChecked.length] = (field.options[i].value == "") ? field.options[i].text : field.options[i].value;
         return allChecked;

      case "button" :
      case "reset" :
      case "submit" :
         return "";

      case "radio" :
      case "checkbox" :
         if (field.checked) { return field.value; } else { return ""; }
      default :
         if(field[0].type == "radio")
         {
            for (i = 0; i < field.length; i++)
               if (field[i].checked)
                  return field[i].value;

            return "";
         }
         else if(field[0].type == "checkbox")
         {
            var allChecked = new Array();
            for(i = 0; i < field.length; i++)
               if(field[i].checked)
                  allChecked[allChecked.length] = field[i].value;

            return allChecked;
         }
         else
            var str = "";
            for (x in field) { str += x + "\n"; }
            alert("I couldn't figure out what type this field is...\n\n" + field.name + ": ???\n\n\n" + str + "\n\nlength = " + field.length);
         break;
   }
   
   return "";
}


function jsRefresh(fieldname,linkedvalue) {
	//alert(document.getElementById(fieldname));
	//alert(linkedvalue);
	//alert(eval('nqjs_'+fieldname+'_displayvalue'));
	//alert(document.getElementById(fieldname).type)

	var field=nqGetObject(fieldname);//document.getElementById(fieldname);
	var lLinked=eval('nqjs_'+fieldname+'_linked');
	var lValue=eval('nqjs_'+fieldname+'_value');
	var lDisplayValue=eval('nqjs_'+fieldname+'_displayvalue');				
	var lfixedValue=eval('nqjs_'+fieldname+'_lvalue');						
	var lfixedDisplayValue=eval('nqjs_'+fieldname+'_ldisplayvalue');					
	var defaultvalue=eval('nqjs_'+fieldname+'_default');
		
	//alert(fieldname+':'+field.type);
	switch(field.type)
    {
		case "select-one" : 
		{
			// clear options
			for (i = field.options.length-1; i >=0 ; i--) {
				field.options[i]=null;
			}
			// re-set options
			var cc=0;
			
			// from list
			for (i = 0; i < lfixedValue.length; i++) {
				field.options[cc]=new Option(lfixedDisplayValue[i],lfixedValue[i]);
				if (defaultvalue==lValue[i]) {
					field.options[cc].selected=1;
				}				
				cc=cc+1;
			}	

			// from query
			for (i = 0; i < lLinked.length; i++) {
				if (lLinked[i]==linkedvalue) {
					field.options[cc]=new Option(lDisplayValue[i],lValue[i]);
					if (defaultvalue==lValue[i]) {
						field.options[cc].selected=1;
					}
					cc=cc+1;
				}
			}
			
			// fire triger on change
			if 	(field.options.length>0) {
				eval('evt_'+fieldname+'(\''+getFieldValue(field)+'\')');
			} else {
				eval('evt_'+fieldname+'()');
			}
		}
			

	}// end switch
}

// JS FUNCTIONS FOR TAB FOCUS WITH JS ERROR CHECKING
function getFieldSpanID(aChkBox){
	curElement = aChkBox;
	while (curElement && !(curElement.tagName == "OIO"))
	{
		curElement = curElement.parentElement;
		if (curElement!=undefined)  {
			if (curElement.id.substr(0,6)=="txttab") {
			return curElement.id;}
		}					
	}
	return "";
}

function checkFocus(afield){
	var parentSpan = getFieldSpanID(afield);
	if (parentSpan.length>0) {
		var gototab=parentSpan.substr(3,parentSpan.length);
		TabUpCustom(document.getElementById(gototab));
	}	 
}
// /JS FUNCTIONS FOR TAB FOCUS WITH JS ERROR CHECKING
