0001: package org.apache.jsp;
0002:
0003: import javax.servlet.*;
0004: import javax.servlet.http.*;
0005: import javax.servlet.jsp.*;
0006: import org.apache.jasper.runtime.*;
0007: import java.util.Date;
0008: import java.util.List;
0009: import java.util.Map;
0010: import java.util.Vector;
0011: import java.util.ArrayList;
0012: import java.util.Enumeration;
0013: import java.util.Iterator;
0014: import java.util.HashMap;
0015: import java.util.Calendar;
0016: import java.util.StringTokenizer;
0017: import java.text.SimpleDateFormat;
0018: import java.text.DecimalFormat;
0019: import java.text.ParseException;
0020: import java.sql.Timestamp;
0021: import java.sql.Time;
0022: import java.sql.*;
0023: import org.ofbiz.entity.util.SequenceUtil;
0024: import org.ofbiz.security.*;
0025: import org.ofbiz.entity.*;
0026: import org.ofbiz.entity.condition.*;
0027: import org.ofbiz.entity.model.*;
0028: import org.ofbiz.base.util.*;
0029: import com.sourcetap.sfa.ui.*;
0030: import com.sourcetap.sfa.event.*;
0031: import com.sourcetap.sfa.util.UserInfo;
0032: import com.sourcetap.sfa.ui.UIScreenSection;
0033:
0034: public class uiScreenTabs_jsp extends HttpJspBase {
0035:
0036: /*
0037: * Takes a string in the following format:
0038: * formatString
0039: * Where the first letter is lowercase, and
0040: * subsequent unique words begin with an upper case.
0041: * The function will convert a java string to a regular
0042: * string in title case format.
0043: */
0044: String formatJavaString(String s) {
0045: char ca[] = s.toCharArray();
0046: StringBuffer sb = new StringBuffer();
0047: int previous = 0;
0048: for (int i = 0; i < ca.length; i++) {
0049: if (i == s.length() - 1) {
0050: sb.append(s.substring(previous, previous + 1)
0051: .toUpperCase());
0052: sb.append(s.substring(previous + 1, s.length()));
0053: }
0054: if (Character.isUpperCase(ca[i])) {
0055: sb.append(s.substring(previous, previous + 1)
0056: .toUpperCase());
0057: sb.append(s.substring(previous + 1, i));
0058: sb.append(" ");
0059: previous = i;
0060: }
0061: }
0062: return sb.toString();
0063: }
0064:
0065: /**
0066: Properties must include:
0067: NAME-name of the select used in name-value form submit.
0068: VALUE_FIELD-the value sent in form submit.
0069: DISPLAY_FIELD-the field used in the display of the drop-down. use a
0070: Properties can include:
0071: Selected-The value to test for, and set selected on the drop-down
0072: EMPTY_FIRST: if just a blank field use "{field display vaalue}, else if value supplied use "{field value}, {field value display name}"
0073: */
0074: String buildDropDown(List l, Map properties) {
0075: StringBuffer returnString = new StringBuffer();
0076: GenericValue genericValue = null;
0077: Iterator i = l.iterator();
0078: String selected = ((String) (properties.get("SELECTED") != null ? properties
0079: .get("SELECTED")
0080: : ""));
0081: String display = ((String) (properties.get("DISPLAY_FIELD") != null ? properties
0082: .get("DISPLAY_FIELD")
0083: : ""));
0084: String selectJavaScript = ((String) (properties
0085: .get("SELECT_JAVASCRIPT") != null ? properties
0086: .get("SELECT_JAVASCRIPT") : ""));
0087: returnString.append("<select name=\"" + properties.get("NAME")
0088: + "\" " + selectJavaScript + " >");
0089: if (properties.get("EMPTY_FIRST") != null) {
0090: String empty = (String) properties.get("EMPTY_FIRST");
0091: if (empty.indexOf(",") != -1) {
0092: StringTokenizer tok = new StringTokenizer(empty, ",");
0093: returnString.append("<option value=\""
0094: + ((String) tok.nextElement()).trim() + "\">"
0095: + ((String) tok.nextElement()).trim());
0096: } else {
0097: returnString.append("<option value=\"\">" + empty);
0098: }
0099: }
0100: try {
0101: while (i.hasNext()) {
0102: genericValue = (GenericValue) i.next();
0103: returnString.append("<option value=\""
0104: + String.valueOf(genericValue
0105: .get((String) properties
0106: .get("VALUE_FIELD"))) + "\"");
0107: if (String.valueOf(
0108: genericValue.get((String) properties
0109: .get("VALUE_FIELD"))).equals(selected)) {
0110: returnString.append(" SELECTED ");
0111: }
0112: returnString.append(" >");
0113: if (display.indexOf(",") != -1) {
0114: StringTokenizer tok = new StringTokenizer(display,
0115: ",");
0116: while (tok.hasMoreElements()) {
0117: String elem = (String) tok.nextElement();
0118: returnString.append(String.valueOf(genericValue
0119: .get(elem.trim())));
0120: returnString.append(" ");
0121: }
0122: } else {
0123: returnString.append(genericValue.get(display));
0124: }
0125: }
0126: } catch (Exception e) {
0127: e.printStackTrace();
0128: }
0129: returnString.append("</select>");
0130: return returnString.toString();
0131: }
0132:
0133: String buildStringDropDown(List l, Map properties) {
0134: StringBuffer returnString = new StringBuffer();
0135: String value = "";
0136: Iterator i = l.iterator();
0137: String selected = ((String) (properties.get("SELECTED") != null ? properties
0138: .get("SELECTED")
0139: : ""));
0140: String display = ((String) (properties.get("DISPLAY_FIELD") != null ? properties
0141: .get("DISPLAY_FIELD")
0142: : ""));
0143: String selectJavaScript = ((String) (properties
0144: .get("SELECT_JAVASCRIPT") != null ? properties
0145: .get("SELECT_JAVASCRIPT") : ""));
0146: returnString.append("<select name=\"" + properties.get("NAME")
0147: + "\" " + selectJavaScript + " >");
0148: if (properties.get("EMPTY_FIRST") != null) {
0149: String empty = (String) properties.get("EMPTY_FIRST");
0150: if (empty.indexOf(",") != -1) {
0151: StringTokenizer tok = new StringTokenizer(empty, ",");
0152: returnString.append("<option value=\""
0153: + ((String) tok.nextElement()).trim() + "\">"
0154: + ((String) tok.nextElement()).trim());
0155: } else {
0156: returnString.append("<option value=\"\">" + empty);
0157: }
0158: }
0159: while (i.hasNext()) {
0160: value = (String) i.next();
0161: returnString.append("<option value=\"" + value + "\"");
0162: if (value.equals(selected)) {
0163: returnString.append(" SELECTED ");
0164: }
0165: returnString.append(" >");
0166: if (display.indexOf(",") != -1) {
0167: StringTokenizer tok = new StringTokenizer(display, ",");
0168: while (tok.hasMoreElements()) {
0169: String elem = (String) tok.nextElement();
0170: returnString.append(value);
0171: returnString.append(" ");
0172: }
0173: } else {
0174: returnString.append(value);
0175: }
0176: }
0177: returnString.append("</select>");
0178: return returnString.toString();
0179: }
0180:
0181: String buildFieldDropDown(Vector fields, String entityName,
0182: HashMap properties) {
0183: if (properties == null)
0184: properties = new HashMap();
0185: StringBuffer returnString = new StringBuffer();
0186: ModelField modelField = null;
0187: String selected = ((String) (properties.get("SELECTED") != null ? properties
0188: .get("SELECTED")
0189: : ""));
0190: returnString.append("<select name=\"" + entityName + "\" >");
0191: if (properties.get("EMPTY_FIRST") != null)
0192: returnString.append("<option value=\"\">"
0193: + properties.get("EMPTY_FIRST"));
0194: for (int i = 0; i < fields.size(); i++) {
0195: modelField = (ModelField) fields.get(i);
0196: returnString.append("<option value=\""
0197: + modelField.getName() + "\"");
0198: if ((modelField.getName()).equals(selected)) {
0199: returnString.append(" SELECTED ");
0200: }
0201: returnString.append(" >"
0202: + formatJavaString(modelField.getName()));
0203: }
0204: returnString.append("</select>");
0205: return returnString.toString();
0206: }
0207:
0208: /**
0209: * Checks a List of fields to see if the string
0210: * that is passed in exists in the vector. If so,
0211: * it returns the ModelField for the named field, else
0212: * it returns null.
0213: */
0214: ModelField contains(List v, String s) {
0215: ModelField field;
0216: for (int i = 0; i < v.size(); i++) {
0217: field = (ModelField) v.get(i);
0218: if (field.getName().equals(s))
0219: return field;
0220: }
0221: return null;
0222: }
0223:
0224: String buildUIFieldDropDown(String sectionName, List fields,
0225: String entityName, HashMap properties) {
0226: if (properties == null)
0227: properties = new HashMap();
0228: StringBuffer returnString = new StringBuffer();
0229: UIFieldInfo fieldInfo = null;
0230: String selected = ((String) (properties.get("SELECTED") != null ? properties
0231: .get("SELECTED")
0232: : ""));
0233: returnString.append("<select name=\"" + entityName + "\" >");
0234: if (properties.get("EMPTY_FIRST") != null)
0235: returnString.append("<option value=\"\">"
0236: + properties.get("EMPTY_FIRST"));
0237: for (int i = 0; i < fields.size(); i++) {
0238: fieldInfo = (UIFieldInfo) fields.get(i);
0239: if (fieldInfo.getIsVisible() && !fieldInfo.getIsReadOnly()) {
0240: String attrId = UIWebUtility.getHtmlName(sectionName,
0241: fieldInfo, 0);
0242: String attrName = fieldInfo.getDisplayLabel();
0243: returnString.append("<option value=\"" + attrId + "\"");
0244: if (attrName.equals(selected)) {
0245: returnString.append(" SELECTED ");
0246: }
0247: returnString.append(" >" + attrName);
0248: }
0249: }
0250: returnString.append("</select>");
0251: return returnString.toString();
0252: }
0253:
0254: /**
0255: * Given a ModelField and a value, this function checks the datatype for the field, and
0256: * converts the value to the correct datatype.
0257: */
0258: GenericValue setCorrectDataType(GenericValue entity,
0259: ModelField curField, String value) {
0260: ModelFieldTypeReader modelFieldTypeReader = new ModelFieldTypeReader(
0261: "mysql");
0262: ModelFieldType mft = modelFieldTypeReader
0263: .getModelFieldType(curField.getType());
0264: String fieldType = mft.getJavaType();
0265: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
0266: SimpleDateFormat timeFormat = new SimpleDateFormat(
0267: "yyyy-MM-dd hh:mm a");
0268:
0269: if (fieldType.equals("java.lang.String")
0270: || fieldType.equals("String")) {
0271: if (mft.getType().equals("indicator")) {
0272: if (value.equals("on"))
0273: entity.set(curField.getName(), "Y");
0274: else if (value.equals("off"))
0275: entity.set(curField.getName(), "N");
0276: else
0277: entity.set(curField.getName(), value);
0278: } else
0279: entity.set(curField.getName(), value);
0280: } else if (fieldType.equals("java.sql.Timestamp")
0281: || fieldType.equals("Timestamp")) {
0282: if (value.trim().length() == 0) {
0283: entity.set(curField.getName(), null);
0284: } else {
0285: try {
0286: entity.set(curField.getName(), new Timestamp(
0287: timeFormat.parse(value).getTime()));
0288: } catch (ParseException e) {
0289: e.printStackTrace();
0290: } //WTD: Implement error processing for ParseException. i.e. get rid of the printStackTrace()
0291: }
0292: } else if (fieldType.equals("java.sql.Time")
0293: || fieldType.equals("Time")) {
0294: if (value.trim().length() == 0) {
0295: entity.set(curField.getName(), null);
0296: } else {
0297: try {
0298: entity.set(curField.getName(), new Time(timeFormat
0299: .parse(value).getTime()));
0300: } catch (ParseException e) {
0301: e.printStackTrace();
0302: } //WTD: Implement error processing for ParseException. i.e. get rid of the printStackTrace()
0303: }
0304: } else if (fieldType.equals("java.util.Date")) {
0305: if (value.trim().length() == 0) {
0306: entity.set(curField.getName(), null);
0307: } else {
0308: try {
0309: entity.set(curField.getName(), new java.sql.Date(
0310: dateFormat.parse(value).getTime()));
0311: } catch (ParseException e) {
0312: e.printStackTrace();
0313: } //WTD: Implement error processing for ParseException. i.e. get rid of the printStackTrace()
0314: }
0315: } else if (fieldType.equals("java.sql.Date")
0316: || fieldType.equals("Date")) {
0317: if (value.trim().length() == 0) {
0318: entity.set(curField.getName(), null);
0319: } else {
0320: try {
0321: entity.set(curField.getName(), new java.sql.Date(
0322: dateFormat.parse(value).getTime()));
0323: } catch (ParseException e) {
0324: e.printStackTrace();
0325: } //WTD: Implement error processing for ParseException. i.e. get rid of the printStackTrace()
0326: }
0327: } else if (fieldType.equals("java.lang.Integer")
0328: || fieldType.equals("Integer")) {
0329: if (value.trim().length() == 0)
0330: value = "0";
0331: entity.set(curField.getName(), Integer.valueOf(value));
0332: } else if (fieldType.equals("java.lang.Long")
0333: || fieldType.equals("Long")) {
0334: if (value.trim().length() == 0)
0335: value = "0";
0336: entity.set(curField.getName(), Long.valueOf(value));
0337: } else if (fieldType.equals("java.lang.Float")
0338: || fieldType.equals("Float")) {
0339: if (value.trim().length() == 0)
0340: value = "0.0";
0341: entity.set(curField.getName(), Float.valueOf(value));
0342: } else if (fieldType.equals("java.lang.Double")
0343: || fieldType.equals("Double")) {
0344: if (value.trim().length() == 0 || value == null)
0345: value = "0";
0346: entity.set(curField.getName(), Double.valueOf(value));
0347: }
0348: return entity;
0349: }
0350:
0351: String getFieldValue(List l, String fieldName, String equalsValue,
0352: String returnFieldName) {
0353: Iterator i = l.iterator();
0354: GenericEntity genericEntity = null;
0355: String retVal = "";
0356: //TODO: add StringTokenizer to parse multiple fields.
0357: while (i.hasNext()) {
0358: genericEntity = (GenericValue) i.next();
0359: if (String.valueOf(genericEntity.get(fieldName)).equals(
0360: equalsValue))
0361: retVal = String.valueOf(genericEntity
0362: .get(returnFieldName));
0363: }
0364: return retVal;
0365: }
0366:
0367: String getFieldValue(HttpServletRequest request, String fieldName) {
0368: return (request.getParameter(fieldName) != null ? request
0369: .getParameter(fieldName) : "");
0370: }
0371:
0372: Vector getGenericValue(List l, String fieldName, String equalsValue) {
0373: Vector returnVector = new Vector();
0374: GenericValue genericValue = null;
0375: GenericValue genericValues[] = (GenericValue[]) l
0376: .toArray(new GenericValue[0]);
0377: for (int i = 0; i < genericValues.length; i++) {
0378: genericValue = (GenericValue) genericValues[i];
0379: if (String.valueOf(genericValue.get(fieldName)).equals(
0380: equalsValue))
0381: returnVector.add(genericValue);
0382: }
0383: return returnVector;
0384: }
0385:
0386: String getDateTimeFieldValue(List l, String fieldName,
0387: String equalsValue, String returnFieldName,
0388: String dateFormatString) {
0389: GenericValue genericValue = null;
0390: GenericValue genericValues[] = (GenericValue[]) l
0391: .toArray(new GenericValue[0]);
0392: String retVal = "";
0393: SimpleDateFormat dateFormat = new SimpleDateFormat(
0394: dateFormatString);
0395: for (int i = 0; i < genericValues.length; i++) {
0396: genericValue = genericValues[i];
0397: try {
0398: if (dateFormat.parse(genericValue.getString(fieldName))
0399: .equals(dateFormat.parse(equalsValue)))
0400: retVal = String.valueOf(genericValue
0401: .get(returnFieldName));
0402: } catch (ParseException e) {
0403: e.printStackTrace();
0404: }
0405: }
0406: return retVal;
0407: }
0408:
0409: Vector getDateTimeGenericValue(List l, String fieldName,
0410: String equalsValue, String dateFormatString) {
0411: Vector returnVector = new Vector();
0412: GenericValue genericValue = null;
0413: GenericValue genericValues[] = (GenericValue[]) l
0414: .toArray(new GenericValue[0]);
0415: String retVal = "";
0416: SimpleDateFormat dateFormat = new SimpleDateFormat(
0417: dateFormatString);
0418: for (int i = 0; i < genericValues.length; i++) {
0419: genericValue = genericValues[i];
0420: try {
0421: if (dateFormat.parse(genericValue.getString(fieldName))
0422: .equals(dateFormat.parse(equalsValue)))
0423: returnVector.add(genericValue);
0424: } catch (ParseException e) {
0425: e.printStackTrace();
0426: }
0427: }
0428: return returnVector;
0429: }
0430:
0431: String getStatesDropDown(String name, String selected) {
0432: if (name == null)
0433: return null;
0434: StringBuffer returnString = new StringBuffer();
0435: returnString.append("<select class=\"\" name=\"" + name
0436: + "\" >");
0437: returnString.append("<option "
0438: + (selected == null || selected.equals("") ? "selected"
0439: : "") + " >");
0440: returnString
0441: .append("<option "
0442: + (selected != null && selected.equals("AK") ? "selected"
0443: : "") + " >AK");
0444: returnString
0445: .append("<option"
0446: + (selected != null
0447: && selected.equalsIgnoreCase("AL") ? " selected"
0448: : "") + ">AL");
0449: returnString
0450: .append("<option"
0451: + (selected != null
0452: && selected.equalsIgnoreCase("AR") ? " selected"
0453: : "") + ">AR");
0454: returnString
0455: .append("<option"
0456: + (selected != null
0457: && selected.equalsIgnoreCase("AZ") ? " selected"
0458: : "") + ">AZ");
0459: returnString
0460: .append("<option"
0461: + (selected != null
0462: && selected.equalsIgnoreCase("CA") ? " selected"
0463: : "") + ">CA");
0464: returnString
0465: .append("<option"
0466: + (selected != null
0467: && selected.equalsIgnoreCase("CO") ? " selected"
0468: : "") + ">CO");
0469: returnString
0470: .append("<option"
0471: + (selected != null
0472: && selected.equalsIgnoreCase("CT") ? " selected"
0473: : "") + ">CT");
0474: returnString
0475: .append("<option"
0476: + (selected != null
0477: && selected.equalsIgnoreCase("DC") ? " selected"
0478: : "") + ">DC");
0479: returnString
0480: .append("<option"
0481: + (selected != null
0482: && selected.equalsIgnoreCase("DE") ? " selected"
0483: : "") + ">DE");
0484: returnString
0485: .append("<option"
0486: + (selected != null
0487: && selected.equalsIgnoreCase("FL") ? " selected"
0488: : "") + ">FL");
0489: returnString
0490: .append("<option"
0491: + (selected != null
0492: && selected.equalsIgnoreCase("GA") ? " selected"
0493: : "") + ">GA");
0494: returnString
0495: .append("<option"
0496: + (selected != null
0497: && selected.equalsIgnoreCase("GU") ? " selected"
0498: : "") + ">GU");
0499: returnString
0500: .append("<option"
0501: + (selected != null
0502: && selected.equalsIgnoreCase("HI") ? " selected"
0503: : "") + ">HI");
0504: returnString
0505: .append("<option"
0506: + (selected != null
0507: && selected.equalsIgnoreCase("IA") ? " selected"
0508: : "") + ">IA");
0509: returnString
0510: .append("<option"
0511: + (selected != null
0512: && selected.equalsIgnoreCase("ID") ? " selected"
0513: : "") + ">ID");
0514: returnString
0515: .append("<option"
0516: + (selected != null
0517: && selected.equalsIgnoreCase("IL") ? " selected"
0518: : "") + ">IL");
0519: returnString
0520: .append("<option"
0521: + (selected != null
0522: && selected.equalsIgnoreCase("IN") ? " selected"
0523: : "") + ">IN");
0524: returnString
0525: .append("<option"
0526: + (selected != null
0527: && selected.equalsIgnoreCase("KS") ? " selected"
0528: : "") + ">KS");
0529: returnString
0530: .append("<option"
0531: + (selected != null
0532: && selected.equalsIgnoreCase("KY") ? " selected"
0533: : "") + ">KY");
0534: returnString
0535: .append("<option"
0536: + (selected != null
0537: && selected.equalsIgnoreCase("LA") ? " selected"
0538: : "") + ">LA");
0539: returnString
0540: .append("<option"
0541: + (selected != null
0542: && selected.equalsIgnoreCase("MA") ? " selected"
0543: : "") + ">MA");
0544: returnString
0545: .append("<option"
0546: + (selected != null
0547: && selected.equalsIgnoreCase("MD") ? " selected"
0548: : "") + ">MD");
0549: returnString
0550: .append("<option"
0551: + (selected != null
0552: && selected.equalsIgnoreCase("ME") ? " selected"
0553: : "") + ">ME");
0554: returnString
0555: .append("<option"
0556: + (selected != null
0557: && selected.equalsIgnoreCase("MI") ? " selected"
0558: : "") + ">MI");
0559: returnString
0560: .append("<option"
0561: + (selected != null
0562: && selected.equalsIgnoreCase("MN") ? " selected"
0563: : "") + ">MN");
0564: returnString
0565: .append("<option"
0566: + (selected != null
0567: && selected.equalsIgnoreCase("MO") ? " selected"
0568: : "") + ">MO");
0569: returnString
0570: .append("<option"
0571: + (selected != null
0572: && selected.equalsIgnoreCase("MS") ? " selected"
0573: : "") + ">MS");
0574: returnString
0575: .append("<option"
0576: + (selected != null
0577: && selected.equalsIgnoreCase("MT") ? " selected"
0578: : "") + ">MT");
0579: returnString
0580: .append("<option"
0581: + (selected != null
0582: && selected.equalsIgnoreCase("NC") ? " selected"
0583: : "") + ">NC");
0584: returnString
0585: .append("<option"
0586: + (selected != null
0587: && selected.equalsIgnoreCase("ND") ? " selected"
0588: : "") + ">ND");
0589: returnString
0590: .append("<option"
0591: + (selected != null
0592: && selected.equalsIgnoreCase("NE") ? " selected"
0593: : "") + ">NE");
0594: returnString
0595: .append("<option"
0596: + (selected != null
0597: && selected.equalsIgnoreCase("NH") ? " selected"
0598: : "") + ">NH");
0599: returnString
0600: .append("<option"
0601: + (selected != null
0602: && selected.equalsIgnoreCase("NJ") ? " selected"
0603: : "") + ">NJ");
0604: returnString
0605: .append("<option"
0606: + (selected != null
0607: && selected.equalsIgnoreCase("NM") ? " selected"
0608: : "") + ">NM");
0609: returnString
0610: .append("<option"
0611: + (selected != null
0612: && selected.equalsIgnoreCase("NV") ? " selected"
0613: : "") + ">NV");
0614: returnString
0615: .append("<option"
0616: + (selected != null
0617: && selected.equalsIgnoreCase("NY") ? " selected"
0618: : "") + ">NY");
0619: returnString
0620: .append("<option"
0621: + (selected != null
0622: && selected.equalsIgnoreCase("OH") ? " selected"
0623: : "") + ">OH");
0624: returnString
0625: .append("<option"
0626: + (selected != null
0627: && selected.equalsIgnoreCase("OK") ? " selected"
0628: : "") + ">OK");
0629: returnString
0630: .append("<option"
0631: + (selected != null
0632: && selected.equalsIgnoreCase("OR") ? " selected"
0633: : "") + ">OR");
0634: returnString
0635: .append("<option"
0636: + (selected != null
0637: && selected.equalsIgnoreCase("PA") ? " selected"
0638: : "") + ">PA");
0639: returnString
0640: .append("<option"
0641: + (selected != null
0642: && selected.equalsIgnoreCase("PR") ? " selected"
0643: : "") + ">PR");
0644: returnString
0645: .append("<option"
0646: + (selected != null
0647: && selected.equalsIgnoreCase("RI") ? " selected"
0648: : "") + ">RI");
0649: returnString
0650: .append("<option"
0651: + (selected != null
0652: && selected.equalsIgnoreCase("SC") ? " selected"
0653: : "") + ">SC");
0654: returnString
0655: .append("<option"
0656: + (selected != null
0657: && selected.equalsIgnoreCase("SD") ? " selected"
0658: : "") + ">SD");
0659: returnString
0660: .append("<option"
0661: + (selected != null
0662: && selected.equalsIgnoreCase("TN") ? " selected"
0663: : "") + ">TN");
0664: returnString
0665: .append("<option"
0666: + (selected != null
0667: && selected.equalsIgnoreCase("TX") ? " selected"
0668: : "") + ">TX");
0669: returnString
0670: .append("<option"
0671: + (selected != null
0672: && selected.equalsIgnoreCase("UT") ? " selected"
0673: : "") + ">UT");
0674: returnString
0675: .append("<option"
0676: + (selected != null
0677: && selected.equalsIgnoreCase("VA") ? " selected"
0678: : "") + ">VA");
0679: returnString
0680: .append("<option"
0681: + (selected != null
0682: && selected.equalsIgnoreCase("VI") ? " selected"
0683: : "") + ">VI");
0684: returnString
0685: .append("<option"
0686: + (selected != null
0687: && selected.equalsIgnoreCase("VT") ? " selected"
0688: : "") + ">VT");
0689: returnString
0690: .append("<option"
0691: + (selected != null
0692: && selected.equalsIgnoreCase("WA") ? " selected"
0693: : "") + ">WA");
0694: returnString
0695: .append("<option"
0696: + (selected != null
0697: && selected.equalsIgnoreCase("WI") ? " selected"
0698: : "") + ">WI");
0699: returnString
0700: .append("<option"
0701: + (selected != null
0702: && selected.equalsIgnoreCase("WV") ? " selected"
0703: : "") + ">WV");
0704: returnString
0705: .append("<option"
0706: + (selected != null
0707: && selected.equalsIgnoreCase("WY") ? " selected"
0708: : "") + ">WY");
0709: returnString.append("</select>");
0710: return returnString.toString();
0711: }
0712:
0713: private static java.util.Vector _jspx_includes;
0714:
0715: static {
0716: _jspx_includes = new java.util.Vector(11);
0717: _jspx_includes.add("/includes/header.jsp");
0718: _jspx_includes.add("/includes/oldFunctions.jsp");
0719: _jspx_includes.add("/includes/oldDeclarations.jsp");
0720: _jspx_includes.add("/includes/windowTitle.jsp");
0721: _jspx_includes.add("/includes/userStyle.jsp");
0722: _jspx_includes.add("/includes/uiFunctions.js");
0723: _jspx_includes.add("/includes/onBeforeUnload.jsp");
0724: _jspx_includes.add("/includes/ts_picker.js");
0725: _jspx_includes.add("/includes/tabControlWithIframes.jsp");
0726: _jspx_includes.add("/includes/tabControlCommon.jsp");
0727: _jspx_includes.add("/includes/footer.jsp");
0728: }
0729:
0730: private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_ofbiz_url;
0731:
0732: public uiScreenTabs_jsp() {
0733: _jspx_tagPool_ofbiz_url = new org.apache.jasper.runtime.TagHandlerPool();
0734: }
0735:
0736: public java.util.List getIncludes() {
0737: return _jspx_includes;
0738: }
0739:
0740: public void _jspDestroy() {
0741: _jspx_tagPool_ofbiz_url.release();
0742: }
0743:
0744: public void _jspService(HttpServletRequest request,
0745: HttpServletResponse response) throws java.io.IOException,
0746: ServletException {
0747:
0748: JspFactory _jspxFactory = null;
0749: javax.servlet.jsp.PageContext pageContext = null;
0750: HttpSession session = null;
0751: ServletContext application = null;
0752: ServletConfig config = null;
0753: JspWriter out = null;
0754: Object page = this ;
0755: JspWriter _jspx_out = null;
0756:
0757: try {
0758: _jspxFactory = JspFactory.getDefaultFactory();
0759: response.setContentType("text/html;charset=ISO-8859-1");
0760: pageContext = _jspxFactory.getPageContext(this , request,
0761: response, null, true, 8192, true);
0762: application = pageContext.getServletContext();
0763: config = pageContext.getServletConfig();
0764: session = pageContext.getSession();
0765: out = pageContext.getOut();
0766: _jspx_out = out;
0767:
0768: out.write("\r\n");
0769: out.write("\r\n");
0770: out.write("\r\n");
0771: out.write("\r\n");
0772: out.write("\r\n");
0773: out.write("\r\n");
0774: out.write("\r\n");
0775: out.write("\r\n");
0776: out.write("\r\n");
0777: out.write("\r\n\r\n");
0778: out.write("\r\n");
0779: out.write("\r\n");
0780: out.write("\r\n");
0781: out.write("\r\n");
0782: out.write("\r\n");
0783: out.write("\r\n\r\n");
0784: out.write("\r\n");
0785: out.write("\r\n");
0786: out.write("\r\n");
0787: out.write("\r\n");
0788: out.write("\r\n");
0789: out.write("\r\n");
0790: out.write("\r\n");
0791: out.write("\r\n");
0792: out.write("\r\n\r\n");
0793: out.write("\r\n\r\n");
0794: org.ofbiz.security.Security security = null;
0795: synchronized (application) {
0796: security = (org.ofbiz.security.Security) pageContext
0797: .getAttribute("security",
0798: PageContext.APPLICATION_SCOPE);
0799: if (security == null) {
0800: throw new java.lang.InstantiationException(
0801: "bean security not found within scope");
0802: }
0803: }
0804: out.write("\r\n");
0805: org.ofbiz.entity.GenericDelegator delegator = null;
0806: synchronized (application) {
0807: delegator = (org.ofbiz.entity.GenericDelegator) pageContext
0808: .getAttribute("delegator",
0809: PageContext.APPLICATION_SCOPE);
0810: if (delegator == null) {
0811: throw new java.lang.InstantiationException(
0812: "bean delegator not found within scope");
0813: }
0814: }
0815: out.write("\r\n");
0816: com.sourcetap.sfa.event.GenericWebEventProcessor webEventProcessor = null;
0817: synchronized (application) {
0818: webEventProcessor = (com.sourcetap.sfa.event.GenericWebEventProcessor) pageContext
0819: .getAttribute("webEventProcessor",
0820: PageContext.APPLICATION_SCOPE);
0821: if (webEventProcessor == null) {
0822: try {
0823: webEventProcessor = (com.sourcetap.sfa.event.GenericWebEventProcessor) java.beans.Beans
0824: .instantiate(this .getClass()
0825: .getClassLoader(),
0826: "com.sourcetap.sfa.event.GenericWebEventProcessor");
0827: } catch (ClassNotFoundException exc) {
0828: throw new InstantiationException(exc
0829: .getMessage());
0830: } catch (Exception exc) {
0831: throw new ServletException(
0832: "Cannot create bean of class "
0833: + "com.sourcetap.sfa.event.GenericWebEventProcessor",
0834: exc);
0835: }
0836: pageContext.setAttribute("webEventProcessor",
0837: webEventProcessor,
0838: PageContext.APPLICATION_SCOPE);
0839: }
0840: }
0841: out.write("\r\n");
0842: com.sourcetap.sfa.event.GenericEventProcessor eventProcessor = null;
0843: synchronized (application) {
0844: eventProcessor = (com.sourcetap.sfa.event.GenericEventProcessor) pageContext
0845: .getAttribute("eventProcessor",
0846: PageContext.APPLICATION_SCOPE);
0847: if (eventProcessor == null) {
0848: try {
0849: eventProcessor = (com.sourcetap.sfa.event.GenericEventProcessor) java.beans.Beans
0850: .instantiate(this .getClass()
0851: .getClassLoader(),
0852: "com.sourcetap.sfa.event.GenericEventProcessor");
0853: } catch (ClassNotFoundException exc) {
0854: throw new InstantiationException(exc
0855: .getMessage());
0856: } catch (Exception exc) {
0857: throw new ServletException(
0858: "Cannot create bean of class "
0859: + "com.sourcetap.sfa.event.GenericEventProcessor",
0860: exc);
0861: }
0862: pageContext.setAttribute("eventProcessor",
0863: eventProcessor,
0864: PageContext.APPLICATION_SCOPE);
0865: }
0866: }
0867: out.write("\r\n");
0868: com.sourcetap.sfa.ui.UICache uiCache = null;
0869: synchronized (application) {
0870: uiCache = (com.sourcetap.sfa.ui.UICache) pageContext
0871: .getAttribute("uiCache",
0872: PageContext.APPLICATION_SCOPE);
0873: if (uiCache == null) {
0874: try {
0875: uiCache = (com.sourcetap.sfa.ui.UICache) java.beans.Beans
0876: .instantiate(this .getClass()
0877: .getClassLoader(),
0878: "com.sourcetap.sfa.ui.UICache");
0879: } catch (ClassNotFoundException exc) {
0880: throw new InstantiationException(exc
0881: .getMessage());
0882: } catch (Exception exc) {
0883: throw new ServletException(
0884: "Cannot create bean of class "
0885: + "com.sourcetap.sfa.ui.UICache",
0886: exc);
0887: }
0888: pageContext.setAttribute("uiCache", uiCache,
0889: PageContext.APPLICATION_SCOPE);
0890: }
0891: }
0892: out.write("\r\n\r\n");
0893: out.write("<!-- [oldFunctions.jsp] Begin -->\r\n");
0894: out.write("\r\n");
0895: out.write("<!-- [oldFunctions.jsp] End -->\r\n\r\n");
0896: out.write("\r\n");
0897: out.write("<!-- [oldDeclarations.jsp] Start -->\r\n\r\n");
0898: GenericValue userLogin = (GenericValue) session
0899: .getAttribute("_USER_LOGIN_");
0900: out.write("\r\n");
0901: UserInfo userInfo = (UserInfo) session
0902: .getAttribute("userInfo");
0903: out.write("\r\n\r\n");
0904: String partyId = "";
0905: if (userLogin != null)
0906: partyId = userLogin.getString("partyId");
0907:
0908: out.write("\r\n\r\n");
0909:
0910: DecimalFormat decimalFormat = new DecimalFormat("#,###.##");
0911: SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
0912: "MM/dd/yyyy");
0913: SimpleDateFormat simpleTimeFormat = new SimpleDateFormat(
0914: "K:mm a");
0915:
0916: out.write("\r\n\r\n");
0917: String controlPath = (String) request
0918: .getAttribute("_CONTROL_PATH_");
0919: out.write("\r\n");
0920: String contextRoot = (String) request
0921: .getAttribute("_CONTEXT_ROOT_");
0922: out.write("\r\n\r\n");
0923: String pageName = UtilFormatOut
0924: .checkNull((String) pageContext
0925: .getAttribute("PageName"));
0926: out.write("\r\n\r\n");
0927: String companyName = UtilProperties.getPropertyValue(
0928: contextRoot + "/WEB-INF/sfa.properties",
0929: "company.name");
0930: out.write("\r\n");
0931: String companySubtitle = UtilProperties.getPropertyValue(
0932: contextRoot + "/WEB-INF/sfa.properties",
0933: "company.subtitle");
0934: out.write("\r\n");
0935: String headerImageUrl = UtilProperties.getPropertyValue(
0936: contextRoot + "/WEB-INF/sfa.properties",
0937: "header.image.url");
0938: out.write("\r\n\r\n");
0939: String headerBoxBorderColor = UtilProperties
0940: .getPropertyValue(contextRoot
0941: + "/WEB-INF/sfa.properties",
0942: "header.box.border.color", "black");
0943: out.write("\r\n");
0944: String headerBoxBorderWidth = UtilProperties
0945: .getPropertyValue(contextRoot
0946: + "/WEB-INF/sfa.properties",
0947: "header.box.border.width", "1");
0948: out.write("\r\n");
0949: String headerBoxTopColor = UtilProperties.getPropertyValue(
0950: contextRoot + "/WEB-INF/sfa.properties",
0951: "header.box.top.color", "#336699");
0952: out.write("\r\n");
0953: String headerBoxBottomColor = UtilProperties
0954: .getPropertyValue(contextRoot
0955: + "/WEB-INF/sfa.properties",
0956: "header.box.bottom.color", "#cccc99");
0957: out.write("\r\n");
0958: String headerBoxBottomColorAlt = UtilProperties
0959: .getPropertyValue(contextRoot
0960: + "/WEB-INF/sfa.properties",
0961: "header.box.bottom.alt.color", "#eeeecc");
0962: out.write("\r\n");
0963: String headerBoxTopPadding = UtilProperties
0964: .getPropertyValue(contextRoot
0965: + "/WEB-INF/sfa.properties",
0966: "header.box.top.padding", "4");
0967: out.write("\r\n");
0968: String headerBoxBottomPadding = UtilProperties
0969: .getPropertyValue(contextRoot
0970: + "/WEB-INF/sfa.properties",
0971: "header.box.bottom.padding", "2");
0972: out.write("\r\n\r\n");
0973: String boxBorderColor = UtilProperties.getPropertyValue(
0974: contextRoot + "/WEB-INF/sfa.properties",
0975: "box.border.color", "black");
0976: out.write("\r\n");
0977: String boxBorderWidth = UtilProperties.getPropertyValue(
0978: contextRoot + "/WEB-INF/sfa.properties",
0979: "box.border.width", "1");
0980: out.write("\r\n");
0981: String boxTopColor = UtilProperties.getPropertyValue(
0982: contextRoot + "/WEB-INF/sfa.properties",
0983: "box.top.color", "#336699");
0984: out.write("\r\n");
0985: String boxBottomColor = UtilProperties.getPropertyValue(
0986: contextRoot + "/WEB-INF/sfa.properties",
0987: "box.bottom.color", "white");
0988: out.write("\r\n");
0989: String boxBottomColorAlt = UtilProperties.getPropertyValue(
0990: contextRoot + "/WEB-INF/sfa.properties",
0991: "box.bottom.alt.color", "white");
0992: out.write("\r\n");
0993: String boxTopPadding = UtilProperties.getPropertyValue(
0994: contextRoot + "/WEB-INF/sfa.properties",
0995: "box.top.padding", "4");
0996: out.write("\r\n");
0997: String boxBottomPadding = UtilProperties.getPropertyValue(
0998: contextRoot + "/WEB-INF/sfa.properties",
0999: "box.bottom.padding", "4");
1000: out.write("\r\n");
1001: String userStyleSheet = "/sfa/includes/maincss.css";
1002: out.write("\r\n");
1003: String alphabet[] = { "a", "b", "c", "d", "e", "f", "g",
1004: "h", "i", "j", "k", "l", "m", "n", "o", "p", "q",
1005: "r", "s", "t", "u", "v", "w", "x", "y", "z", "*" };
1006: out.write("\r\n\r\n");
1007: out.write("<!-- [oldDeclarations.jsp] End -->\r\n\r\n");
1008: out.write("\r\n\r\n");
1009: out.write("<HTML>\r\n");
1010: out.write("<HEAD>\r\n\r\n");
1011:
1012: String clientRequest = (String) session
1013: .getAttribute("_CLIENT_REQUEST_");
1014: //out.write("Client request: " + clientRequest + "<BR>");
1015: String hostName = "";
1016: if (clientRequest != null
1017: && clientRequest.indexOf("//") > 0) {
1018: int startPos = clientRequest.indexOf("//") + 2;
1019: int endPos = clientRequest.indexOf(":", startPos);
1020: if (endPos < startPos)
1021: endPos = clientRequest.indexOf("/", startPos);
1022: if (endPos < startPos)
1023: hostName = clientRequest.substring(startPos);
1024: else
1025: hostName = clientRequest
1026: .substring(startPos, endPos);
1027: } else {
1028: hostName = "";
1029: }
1030: //out.write("Host name: " + hostName + "<BR>");
1031:
1032: out.write("\r\n\r\n");
1033: out.write("<title>");
1034: out.print(hostName);
1035: out.write(" - Sales Force Automation - ");
1036: out.print(companyName);
1037: out.write("</title>\r\n\r\n");
1038: out.write("\r\n");
1039: out.write("<!-- [userStyle.jsp] Start -->\r\n\r\n");
1040:
1041: //------------ Get the style sheet
1042: String styleSheetId = null;
1043:
1044: ModelEntity entityStyleUser = delegator
1045: .getModelEntity("UiUserTemplate");
1046: HashMap hashMapStyleUser = new HashMap();
1047: if (userLogin != null) {
1048: String ulogin = userLogin.getString("userLoginId");
1049: hashMapStyleUser.put("userLoginId", ulogin);
1050: } else {
1051: hashMapStyleUser.put("userLoginId", "Default");
1052: }
1053: GenericPK stylePk = new GenericPK(entityStyleUser,
1054: hashMapStyleUser);
1055: GenericValue userTemplate = delegator
1056: .findByPrimaryKey(stylePk);
1057: if (userTemplate != null) {
1058: styleSheetId = userTemplate.getString("styleSheetId");
1059: }
1060:
1061: if (styleSheetId == null) {
1062: hashMapStyleUser.put("userLoginId", "Default");
1063: stylePk = new GenericPK(entityStyleUser,
1064: hashMapStyleUser);
1065: userTemplate = delegator.findByPrimaryKey(stylePk);
1066: if (userTemplate != null) {
1067: styleSheetId = userTemplate
1068: .getString("styleSheetId");
1069: }
1070: }
1071:
1072: if (styleSheetId != null) {
1073: ModelEntity entityStyle = delegator
1074: .getModelEntity("UiStyleTemplate");
1075: HashMap hashMapStyle = new HashMap();
1076: hashMapStyle.put("styleSheetId", styleSheetId);
1077: stylePk = new GenericPK(entityStyle, hashMapStyle);
1078: GenericValue styleTemplate = delegator
1079: .findByPrimaryKey(stylePk);
1080: userStyleSheet = styleTemplate
1081: .getString("styleSheetLoc");
1082:
1083: if (userStyleSheet == null) {
1084: userStyleSheet = "/sfa/includes/maincss.css";
1085: }
1086: }
1087:
1088: out.write("\r\n");
1089: out.write("<link rel=\"stylesheet\" href=\"");
1090: out.print(userStyleSheet);
1091: out.write("\" type=\"text/css\">\r\n\r\n");
1092: out.write("<!-- [userStyle.jsp] End -->\r\n\r\n");
1093: out.write("\r\n");
1094: out
1095: .write("<LINK rel=\"stylesheet\" type=\"text/css\" href=\"/sfa/css/gridstyles.css\">\r\n");
1096: out
1097: .write("<script language=\"JavaScript\" >\r\n\r\n function sendDropDown(elementName, idName, fieldName, findClass, paramName, paramValue, frm, action)\r\n {\r\n var sUrl = '");
1098: if (_jspx_meth_ofbiz_url_0(pageContext))
1099: return;
1100: out
1101: .write("?findMode=filter&fieldName=' +\r\n\t\t\tfieldName + '&idName=' + idName + '¶m_' + paramName + '=' + paramValue +\r\n\t\t\t'&formName=' + frm.name + '&elementName=' + elementName + '&findClass=' + findClass + '&action=' + action;\r\n document.anchors('searchA').href=sUrl;\r\n document.anchors('searchA').click();\r\n }\r\n\r\n\r\n function sendData(ele, frm, action){\r\n if(ele.tagName != 'SELECT'){\r\n if(ele.value.length > 0){\r\n entity = ele.getAttribute(\"entityName\");\r\n field = ele.getAttribute(\"fieldName\");\r\n idName = ele.getAttribute(\"idName\");\r\n findClass = ele.getAttribute(\"findClass\");\r\n findValue = ele.value;\r\n elementName = ele.name;\r\n var sUrl = '");
1102: if (_jspx_meth_ofbiz_url_1(pageContext))
1103: return;
1104: out
1105: .write("?entityName=' + entity + '&fieldName=' +\r\n\t\t\tfield + '&idName=' + idName + '&findByLikeValue=' + findValue + '&formName=' + frm.name +\r\n\t\t\t'&elementName=' + elementName + '&findClass=' + findClass + '&action=' + action;\r\n document.anchors('searchA').href=sUrl;\r\n document.anchors('searchA').click();\r\n } else {\r\n //alert('Enter search criteria to find a value.');\r\n //frm.item(ele.name).value = 'Enter search criteria.';\r\n }\r\n }\r\n }\r\n\r\n function updateForm(){\r\n var innDoc = document.frames('searchIFrame').document;\r\n var innHtml = innDoc.body.innerHTML;\r\n if(innHtml.length > 0){\r\n var sDiv = innDoc.all('searchResultDiv');\r\n if(sDiv != null){\r\n var formName = sDiv.getAttribute(\"formName\");\r\n var fieldName = sDiv.getAttribute(\"fieldName\");\r\n var elementName = sDiv.getAttribute(\"elementName\");\r\n var findClass = sDiv.getAttribute(\"findClass\");\r\n var findMode = sDiv.getAttribute(\"findMode\");\r\n var showMultiple = sDiv.getAttribute(\"showMultiple\");\r\n");
1106: out
1107: .write(" var nde = innDoc.all(elementName);\r\n var existingNode = document.all(elementName);\r\n if(nde != null){\r\n var frm = document.forms(formName);\r\n if(nde.tagName == 'SELECT'){\r\n var opts = nde.children.tags('OPTION');\r\n if ( findMode == 'filter')\r\n {\r\n\t\t\t\tvar oldOpts = existingNode.children.tags('OPTION');\r\n//\t\t\t\talert('oldOpts.length = ' + oldOpts.length);\r\n//\t\t\t\talert('opts.length = ' + opts.length);\r\n\t\t\t\tvar numOpt = existingNode.options.length;\r\n//\t\t\t\talert('numOpt = ' + numOpt);\r\n\t\t\t\tfor (var i=0; i");
1108: out
1109: .write("<numOpt;i++)\r\n\t\t\t\t\texistingNode.options.remove(numOpt - 1 - i);\r\n\t\t\t\tfor (var i=0; i");
1110: out
1111: .write("<opts.length;i++)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar opt = document.createElement(\"option\");\r\n\t\t\t\t\topt.setAttribute(\"value\", opts(i).value);\r\n\t\t\t\t\topt.innerText = opts(i).innerText;\r\n\t\t\t\t\texistingNode.appendChild(opt);\r\n\t\t\t\t}\r\n }\r\n else if(opts.length");
1112: out
1113: .write("<=0){\r\n //alert('No results were found. Please try another search.');\r\n existingNode.focus();\r\n } else {\r\n var ele = document.createElement(nde.tagName);\r\n ele.id = nde.name;\r\n ele.name = nde.name;\r\n ele.setAttribute(\"className\", existingNode.getAttribute(\"className\"));\r\n\t\t\t ele.setAttribute(\"entityName\", sDiv.getAttribute(\"entityName\"));\r\n ele.setAttribute(\"fieldName\", sDiv.getAttribute(\"fieldName\"));\r\n ele.setAttribute(\"elementName\", sDiv.getAttribute(\"elementName\"));\r\n ele.setAttribute(\"idName\", sDiv.getAttribute(\"idName\"));\r\n ele.setAttribute(\"findClass\", sDiv.getAttribute(\"findClass\"));\r\n if (showMultiple == \"true\") ele.multiple = true;\r\n ele.tabIndex = existingNode.tabIndex;\r\n ele.attachEvent(\"onchange\", searchAgain);\r\n for(var i=0;i");
1114: out
1115: .write("<opts.length;i++){\r\n var opt = document.createElement(\"option\");\r\n opt.setAttribute(\"value\", opts(i).value);\r\n opt.innerText = opts(i).innerText;\r\n ele.appendChild(opt);\r\n }\r\n var opt = document.createElement(\"option\");\r\n opt.setAttribute(\"value\", \"search again\");\r\n opt.innerText = \"Search again...\";\r\n ele.appendChild(opt);\r\n var sRepNde = elementName + 'Holder';\r\n var repNde = document.all(sRepNde);\r\n repNde.replaceChild(ele, existingNode);\r\n ele.focus();\r\n\t ele.fireEvent(\"onchange\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function searchAgain(sel, frm){\r\n if(sel.tagName == 'SELECT'){\r\n var fieldName = sel.getAttribute('fieldName');\r\n var findClass = sel.getAttribute('findClass');\r\n var elementName = sel.name;\r\n var formName = frm.name;\r\n var existingNode = document.all(elementName);\r\n");
1116: out
1117: .write(" if(sel.value == 'search again'){\r\n var ele = document.createElement(\"INPUT\");\r\n ele.id = sel.name;\r\n ele.name = sel.name;\r\n ele.type = \"TEXT\";\r\n ele.setAttribute(\"className\", existingNode.getAttribute(\"className\"));\r\n ele.setAttribute(\"entityName\", sel.getAttribute(\"entityName\"));\r\n ele.setAttribute(\"fieldName\", fieldName);\r\n ele.setAttribute(\"elementName\", elementName);\r\n ele.setAttribute(\"idName\", sel.getAttribute(\"idName\"));\r\n ele.setAttribute(\"findClass\", findClass);\r\n ele.tabIndex = sel.tabIndex;\r\n var sRepNde = elementName + 'Holder';\r\n var repNde = document.all(sRepNde);\r\n repNde.replaceChild(ele, existingNode);\r\n ele.focus();\r\n }\r\n }\r\n }\r\n\r\n // currently only used by accountPopup to force activity_accountId to be a select field\r\n function forceSearchAgain(sel, frm){\r\n if(sel.tagName == 'SELECT'){\r\n var fieldName = sel.getAttribute('fieldName');\r\n var findClass = sel.getAttribute('findClass');\r\n");
1118: out
1119: .write(" var elementName = sel.name;\r\n var formName = frm.name;\r\n var existingNode = document.all(elementName);\r\n\t var ele = document.createElement(\"INPUT\");\r\n\t ele.id = sel.name;\r\n\t ele.name = sel.name;\r\n\t ele.type = \"TEXT\";\r\n\t ele.setAttribute(\"className\", existingNode.getAttribute(\"className\"));\r\n\t ele.setAttribute(\"entityName\", sel.getAttribute(\"entityName\"));\r\n\t ele.setAttribute(\"fieldName\", fieldName);\r\n\t ele.setAttribute(\"elementName\", elementName);\r\n\t ele.setAttribute(\"idName\", sel.getAttribute(\"idName\"));\r\n\t ele.setAttribute(\"findClass\", findClass);\r\n\t ele.tabIndex = sel.tabIndex;\r\n\t var sRepNde = elementName + 'Holder';\r\n\t var repNde = document.all(sRepNde);\r\n\t repNde.replaceChild(ele, existingNode);\r\n }\r\n }\r\n\r\nvar currentCol = 0;\r\nvar previousCol = -1;\r\nvar reverse = false;\r\n\r\n function CompareAlpha(a, b) {\r\n if (a[currentCol] ");
1120: out
1121: .write("< b[currentCol]) { return -1; }\r\n if (a[currentCol] > b[currentCol]) { return 1; }\r\n return 0;\r\n }\r\n\r\n function CompareAlphaIgnore(a, b) {\r\n strA = a[currentCol].toLowerCase();\r\n strB = b[currentCol].toLowerCase();\r\n if (strA ");
1122: out
1123: .write("< strB) { return -1;\r\n } else {\r\n if (strA > strB) { return 1;\r\n } else { return 0;\r\n }\r\n }\r\n }\r\n\r\n function CompareDate(a, b) {\r\n datA = new Date(a[currentCol]);\r\n datB = new Date(b[currentCol]);\r\n if (datA ");
1124: out
1125: .write("< datB) { return -1;\r\n } else {\r\n if (datA > datB) { return 1;\r\n } else { return 0;\r\n }\r\n }\r\n }\r\n\r\n function CompareDateEuro(a, b) {\r\n strA = a[currentCol].split(\".\");\r\n strB = b[currentCol].split(\".\");\r\n datA = new Date(strA[2], strA[1], strA[0]);\r\n datB = new Date(strB[2], strB[1], strB[0]);\r\n if (datA ");
1126: out
1127: .write("< datB) { return -1;\r\n } else {\r\n if (datA > datB) { return 1;\r\n } else { return 0;\r\n }\r\n }\r\n }\r\n\r\n function CompareNumeric(a, b) {\r\n numA = a[currentCol];\r\n numB = b[currentCol];\r\n if (isNaN(numA)) { return 0;\r\n } else {\r\n if (isNaN(numB)) { return 0;\r\n } else { return numA - numB;\r\n }\r\n }\r\n }\r\n\r\nfunction TableSort(myTable, myCol, myType) {\r\n\r\n var mySource = document.all(myTable);\r\n var myRows = mySource.rows.length;\r\n var myCols = mySource.rows(0).cells.length;\r\n currentCol = myCol\r\n\r\n var theadrow = mySource.parentElement.tHead;\r\n var imgcol= theadrow.all('srtImg');\r\n for(var x = 0; x ");
1128: out
1129: .write("< imgcol.length; x++){\r\n imgcol[x].src = \"dude07232001blank.gif\";\r\n imgcol[x].alt = \"sort\";\r\n }\r\n\r\n if(previousCol == myCol){\r\n if(reverse == false){\r\n imgcol[myCol-1].src = \"dude07232001down.gif\";\r\n reverse = true;\r\n } else {\r\n imgcol[myCol-1].src = \"dude07232001up.gif\";\r\n reverse = false;\r\n }\r\n } else {\r\n reverse = false;\r\n imgcol[myCol-1].src = \"dude07232001up.gif\";\r\n }\r\n\r\n myArray = new Array(myRows)\r\n for (i=0; i ");
1130: out
1131: .write("< myRows; i++) {\r\n myArray[i] = new Array(myCols)\r\n for (j=0; j ");
1132: out
1133: .write("< myCols; j++) {\r\n myArray[i][j] = document.all(myTable).rows(i).cells(j).innerHTML;\r\n }\r\n }\r\n\r\n if (myCol == previousCol) {\r\n myArray.reverse();\r\n } else {\r\n switch (myType) {\r\n case \"a\":\r\n myArray.sort(CompareAlpha);\r\n break;\r\n case \"ai\":\r\n myArray.sort(CompareAlphaIgnore);\r\n break;\r\n case \"d\":\r\n myArray.sort(CompareDate);\r\n break;\r\n case \"de\":\r\n myArray.sort(CompareDateEuro);\r\n break;\r\n case \"n\":\r\n myArray.sort(CompareNumeric);\r\n break;\r\n default:\r\n myArray.sort();\r\n }\r\n }\r\n\r\n\r\n // Re-write the table contents\r\n for (i=0; i ");
1134: out.write("< myRows; i++) {\r\n for (j=0; j ");
1135: out
1136: .write("< myCols; j++) {\r\n mySource.rows(i).cells(j).innerHTML = myArray[i][j];\r\n }\r\n }\r\n\r\n previousCol = myCol;\r\n highlightSelectedRow();\r\n return 0;\r\n\r\n}\r\n\r\n function fixSize() {\r\n // The body represents the outer-most frameset for frameset documents.\r\n if ( parent.name == \"content\" )\r\n {\r\n\t maxH = parent.document.body.clientHeight - 150;\r\n\t topH = document.body.scrollHeight + 10;\r\n\t if ( topH > maxH )\r\n\t \ttopH = maxH;\r\n\t \t\r\n\t parent.document.body.rows = topH + \", *\"\r\n\t //window.frames.headerFrame.document.body.rows = window.frames.headerFrame.document.body.scrollHeight + \", *\" \r\n\t // Walk into the header frame and get the scrollHeight - \r\n\t // this represents the height of the contents in pixels. \r\n\t }\r\n }\r\n");
1137: out.write("</script>\r\n\r\n\r\n");
1138: out.write("\r\n\r\n");
1139: out.write("</HEAD>\r\n\r\n");
1140: out.write("<BASE TARGET=\"content\">\r\n");
1141: out.write("<!--");
1142: out
1143: .write("<BODY CLASS=\"bodyform\" onbeforeunload=\"verifyClose()\">-->\r\n");
1144: out.write("<BODY CLASS=\"bodyform\"\">\r\n\r\n");
1145: out.write("\r\n");
1146: out.write("<!-- onBeforeUnload.jsp - Start -->\r\n\r\n");
1147: out
1148: .write("<SCRIPT LANGUAGE=\"JScript\" TYPE=\"text/javascript\" FOR=window EVENT=onbeforeunload>\r\n return doOnBeforeUnload();\r\n");
1149: out.write("</SCRIPT>\r\n\r\n");
1150: out
1151: .write("<SCRIPT LANGUAGE=\"JScript\" TYPE=\"text/javascript\">\r\n\r\n // Create variable we can change to prevent the check from being done.\r\n var checkForChanges = true;\r\n \r\n function doOnBeforeUnload() {\r\n // This script fires when anything is about to cause the current page to be unloaded.\r\n // If any unsaved changes have been made, this script returns a non-empty string, which\r\n // causes a response window to warn the user that changes will be lost, and to allow\r\n // them to cancel.\r\n \r\n // In free form, tabular, and select screen sections built by the UI builder,\r\n // the preSubmit method fired by the onSubmit event of the form removes this script from\r\n // the onBeforeUnload event, which prevents this check from happening if the Save button\r\n // was just clicked.\r\n \r\n // alert(\"event.fromElement: \" + event.fromElement);\r\n \r\n // See if the checkForChanges flag has been cleared. If so, just allow the\r\n // body unload to continue.\r\n if (!checkForChanges) return;\r\n \r\n // Look at all forms on the page to see if any of them have any changes.\r\n");
1152: out
1153: .write(" var vFormC = document.forms;\r\n for (var vFormNbr = 0; vFormNbr ");
1154: out
1155: .write("< vFormC.length; vFormNbr++) {\r\n //alert(\"[verifyClose] Window name: \" + window.name);\r\n //alert(\"[verifyClose] Checking form #\" + vFormNbr);\r\n var vFormObj = vFormC.item(vFormNbr);\r\n //alert(\"[verifyClose] Form name is \" + vFormObj.name);\r\n \r\n // Check the action. If it's query or view mode, don't bother checking this form.\r\n var vActionObj = vFormObj.elements.item(\"action\");\r\n if (vActionObj != null) {\r\n var vAction = vActionObj.value;\r\n if (vAction!=null) {\r\n //alert(\"Action: \" + vAction);\r\n if (vAction==\"");
1156: out.print(UIScreenSection.ACTION_INSERT);
1157: out.write("\" ||\r\n vAction==\"");
1158: out.print(UIScreenSection.ACTION_UPDATE);
1159: out.write("\" ||\r\n vAction==\"");
1160: out.print(UIScreenSection.ACTION_UPDATE_SELECT);
1161: out
1162: .write("\") {\r\n \r\n // This is an updateable form in an updateable mode. Check for changes.\r\n \r\n // Look through all the objects in the form to see if there are any unsaved changes.\r\n var vElemC = vFormObj.elements;\r\n for (var vElemNbr = 0; vElemNbr ");
1163: out
1164: .write("< vElemC.length; vElemNbr++) {\r\n var vElemObj = vElemC.item(vElemNbr);\r\n \r\n // Find out if this is the \"add\" or \"delete\" select object that appears on a \"select\" type screen section.\r\n //alert(\"[window.onbeforeunload] Object name: \" + vElemObj.name);\r\n if (vElemObj.name.indexOf(\"DBSel\")>=0) {\r\n // This is the add or delete select object. See if there are any items in it. If so, it means\r\n // the user has made changes.\r\n if (vElemObj.length > 0) {\r\n // Changes have been made. Trigger the response window.\r\n return \"IF YOU CLICK OK, YOUR CHANGES WILL BE LOST.\";\r\n } else {\r\n // No changes in this add or delete select object.\r\n }\r\n } else {\r\n // Object is not the add or delete select object.\");\r\n // See if this element is an original value field.\r\n var vOrigPrefix = \"");
1165: out.print(UIWebUtility.HTML_NAME_PREFIX_ORIGINAL);
1166: out
1167: .write("\";\r\n if (vElemObj.name.indexOf(vOrigPrefix)==0) {\r\n // This is an original value field. Compare its value to the current value field.\r\n var vOrigElemObj = vElemObj;\r\n var vOrigElemName = vOrigElemObj.name;\r\n var vCurElemName = vOrigElemName.substring(vOrigPrefix.length, vOrigElemName.length);\r\n var vCurElemObj = vElemC.item(vCurElemName);\r\n var vCurElemTagName = vCurElemObj.tagName;\r\n var vCurElemType = vCurElemObj.type;\r\n if (vCurElemObj!=null) {\r\n // Got the current field. Compare the values.\r\n var vCurValue;\r\n if (vCurElemTagName==\"INPUT\" && vCurElemType==\"checkbox\") {\r\n // This is a check box. Use special processing to get current value.\r\n vCurValue = vCurElemObj.checked ? \"Y\" : \"N\";\r\n } else {\r\n // Not a check box.\r\n vCurValue = vCurElemObj.value;\r\n }\r\n var vOrigValue = vOrigElemObj.value;\r\n if (vCurValue != vOrigValue) {\r\n // This field was changed. Trigger the response window.\r\n");
1168: out
1169: .write(" // alert('Field ' + vCurElemName + ' changed.');\r\n // alert('Original Value: ' + vOrigValue);\r\n // alert('Current Value: ' + vCurValue);\r\n return \"IF YOU CLICK OK, YOUR CHANGES WILL BE LOST.\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n");
1170: out.write("</SCRIPT>\r\n\r\n");
1171: out.write("<!-- onBeforeUnload.jsp - End -->\r\n\r\n\r\n");
1172: out.write("\r\n\r\n");
1173: out
1174: .write("<script>\r\n// Title: Timestamp picker\r\n// Description: See the demo at url\r\n// URL: http://us.geocities.com/tspicker/\r\n// Script featured on: http://javascriptkit.com/script/script2/timestamp.shtml\r\n// Version: 1.0\r\n// Date: 12-05-2001 (mm-dd-yyyy)\r\n// Author: Denis Gritcyuk ");
1175: out.write("<denis@softcomplex.com>; ");
1176: out
1177: .write("<tspicker@yahoo.com>\r\n// Notes: Permission given to use this script in any kind of applications if\r\n// header lines are left unchanged. Feel free to contact the author\r\n// for feature requests and/or donations\r\n\r\nfunction setCalendarHasFocus(aFormObj, aHasFocus) {\r\n\t// Set hidden variable to show that a popup calendar is about to\r\n\t// be displayed. This variable will be tested in the onBeforeUnload\r\n\t// handling to avoid popping up a confimation prompt.\r\n\talert(\"setCalendarHasFocus start - \" + aHasFocus);\r\n\tvar vCalendarHasFocusObj = aFormObj.elements.item(\"calendarHasFocus\");\r\n\tif (vCalendarHasFocusObj == null) {\r\n\t\t//alert(\"Did not find calendarHasFocus hidden field\");\r\n\t} else {\r\n\t\t//alert(\"Found calendarHasFocus hidden field\");\r\n\t\tif (aHasFocus) {\r\n\t\t\t//alert(\"Setting calendarHasFocus to true\");\r\n\t\t\tvCalendarHasFocusObj.value = \"true\";\r\n\t\t} else {\r\n\t\t\t//alert(\"Setting calendarHasFocus to false\");\r\n\t\t\tvCalendarHasFocusObj.value = \"false\";\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nfunction show_calendar(str_target, str_datetime, isDateTime) {\r\n");
1178: out
1179: .write("//\talert(\"show_calendar start\");\r\n\tvar arr_months = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\r\n\t\t\"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\n\tvar week_days = [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"];\r\n\tvar n_weekstart = 1; // day week starts from (normally 0 or 1)\r\n\r\n\tvar dt_datetime = (str_datetime == null || str_datetime ==\"\" ? new Date() : str2datetime(str_datetime) );\r\n\tvar dt_prev_month = new Date(dt_datetime);\r\n\tdt_prev_month.setMonth(dt_datetime.getMonth()-1);\r\n\tvar dt_next_month = new Date(dt_datetime);\r\n\tdt_next_month.setMonth(dt_datetime.getMonth()+1);\r\n\tvar dt_firstday = new Date(dt_datetime);\r\n\tdt_firstday.setDate(1);\r\n\tdt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);\r\n\tvar dt_lastday = new Date(dt_next_month);\r\n\tdt_lastday.setDate(0);\r\n\t\r\n\t// html generation (feel free to tune it for your particular application)\r\n\t// print calendar header\r\n\tvar str_buffer = new String (\r\n\t\t\"");
1180: out.write("<html>\\n\"+\r\n\t\t\" ");
1181: out.write("<head>\\n\"+\r\n\t\t\" ");
1182: out.write("<title>Calendar");
1183: out.write("</title>\\n\"+\r\n\t\t\" ");
1184: out.write("</head>\\n\"+\r\n\t\t\" ");
1185: out.write("<body bgcolor=\\\"White\\\">\\n\"+\r\n\t\t\" ");
1186: out
1187: .write("<table class=\\\"clsOTable\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\">\\n\" +\r\n\t\t\" ");
1188: out.write("<tr>\\n\" +\r\n\t\t\" ");
1189: out
1190: .write("<td bgcolor=\\\"#4682B4\\\">\\n\" +\r\n\t\t\" ");
1191: out
1192: .write("<table cellspacing=\\\"1\\\" cellpadding=\\\"3\\\" border=\\\"0\\\" width=\\\"100%\\\">\\n\" +\r\n\t\t\" ");
1193: out.write("<tr>\\n\" +\r\n\t\t\" ");
1194: out
1195: .write("<td bgcolor=\\\"#4682B4\\\">\\n\" +\r\n\t\t\" ");
1196: out
1197: .write("<a href=\\\"javascript:window.opener.show_calendar('\"+\r\n\t\t str_target + \"', '\" + dt2dtstr(dt_prev_month)+\"'+' ' +document.cal.time.value);\\\">\" +\r\n\t\t\" ");
1198: out
1199: .write("<img src=\\\"/sfaimages/prev.gif\\\" width=\\\"16\\\" height=\\\"16\\\" border=\\\"0\\\"\" +\r\n\t\t\" alt=\\\"previous month\\\">\\n\" +\r\n\t\t\" ");
1200: out.write("</a>\\n\" +\r\n\t\t\" ");
1201: out.write("</td>\\n\" +\r\n\t\t\" ");
1202: out
1203: .write("<td bgcolor=\\\"#4682B4\\\" colspan=\\\"5\\\">\\n\" +\r\n\t\t\" ");
1204: out
1205: .write("<font color=\\\"white\\\" face=\\\"tahoma, verdana\\\" size=\\\"2\\\">\\n\" +\r\n\t\t\" \" + arr_months[dt_datetime.getMonth()] + \" \" + dt_datetime.getFullYear() + \"\\n\" +\r\n\t\t\" ");
1206: out.write("</font>\\n\" +\r\n\t\t\" ");
1207: out.write("</td>\\n\" +\r\n\t\t\" ");
1208: out
1209: .write("<td bgcolor=\\\"#4682B4\\\" align=\\\"right\\\">\\n\" +\r\n\t\t\" ");
1210: out
1211: .write("<a href=\\\"javascript:window.opener.show_calendar('\" +\r\n\t\t str_target+\"', '\"+dt2dtstr(dt_next_month)+\"'+' ' +document.cal.time.value);\\\">\\n\" +\r\n\t\t\" ");
1212: out
1213: .write("<img src=\\\"/sfaimages/next.gif\\\" width=\\\"16\\\" height=\\\"16\\\" border=\\\"0\\\"\" +\r\n\t\t\" alt=\\\"next month\\\">\\n\" +\r\n\t\t\" ");
1214: out.write("</a>\\n\" +\r\n\t\t\" ");
1215: out.write("</td>\\n\" +\r\n\t\t\" ");
1216: out
1217: .write("</tr>\\n\"\r\n\t);\r\n\r\n\tvar dt_current_day = new Date(dt_firstday);\r\n\t// print weekdays titles\r\n\tstr_buffer += \" ");
1218: out.write("<tr>\\n\";\r\n\tfor (var n=0; n");
1219: out.write("<7; n++)\r\n\t\tstr_buffer += \" ");
1220: out
1221: .write("<td bgcolor=\\\"#87CEFA\\\">\\n\" +\r\n\t\t\" ");
1222: out
1223: .write("<font color=\\\"white\\\" face=\\\"tahoma, verdana\\\" size=\\\"2\\\">\\n\" +\r\n\t\t\" \" + week_days[(n_weekstart+n)%7] + \"\\n\" +\r\n\t\t\" ");
1224: out.write("</font>");
1225: out
1226: .write("</td>\\n\";\r\n\t// print calendar table\r\n\tstr_buffer += \" ");
1227: out
1228: .write("</tr>\\n\";\r\n\twhile (dt_current_day.getMonth() == dt_datetime.getMonth() ||\r\n\t\tdt_current_day.getMonth() == dt_firstday.getMonth()) {\r\n\t\t// print row heder\r\n\t\tstr_buffer += \" ");
1229: out
1230: .write("<tr>\\n\";\r\n\t\tfor (var n_current_wday=0; n_current_wday");
1231: out
1232: .write("<7; n_current_wday++) {\r\n\t\t\t\tif (dt_current_day.getDate() == dt_datetime.getDate() &&\r\n\t\t\t\t\tdt_current_day.getMonth() == dt_datetime.getMonth())\r\n\t\t\t\t\t// print current date\r\n\t\t\t\t\tstr_buffer += \" ");
1233: out
1234: .write("<td bgcolor=\\\"#FFB6C1\\\" align=\\\"right\\\">\\n\";\r\n\t\t\t\telse if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)\r\n\t\t\t\t\t// weekend days\r\n\t\t\t\t\tstr_buffer += \" ");
1235: out
1236: .write("<td bgcolor=\\\"#DBEAF5\\\" align=\\\"right\\\">\\n\";\r\n\t\t\t\telse\r\n\t\t\t\t\t// print working days of current month\r\n\t\t\t\t\tstr_buffer += \" ");
1237: out
1238: .write("<td bgcolor=\\\"white\\\" align=\\\"right\\\">\\n\";\r\n\r\n\t\t\t\tif (isDateTime == \"1\" )\r\n\t\t\t\t\tstr_buffer += \" ");
1239: out
1240: .write("<a href=\\\"javascript:window.opener.\" + str_target +\r\n\t\t\t\t\t\t\".value='\"+dt2dtstr(dt_current_day)+\"'+' ' +document.cal.time.value;window.close();\\\">\\n\";\r\n\t\t\t\telse\r\n\t\t\t\t\tstr_buffer += \" ");
1241: out
1242: .write("<a href=\\\"javascript:window.opener.\" + str_target +\r\n\t\t\t\t\t\t\".value='\"+dt2dtstr(dt_current_day)+\"';window.close();\\\">\\n\";\r\n\t\t\t\t\t\r\n\t\t\t\tif (dt_current_day.getMonth() == dt_datetime.getMonth())\r\n\t\t\t\t\t// print days of current month\r\n\t\t\t\t\tstr_buffer += \" ");
1243: out
1244: .write("<font color=\\\"black\\\" face=\\\"tahoma, verdana\\\" size=\\\"2\\\">\\n\";\r\n\t\t\t\telse \r\n\t\t\t\t\t// print days of other months\r\n\t\t\t\t\tstr_buffer += \" ");
1245: out
1246: .write("<font color=\\\"gray\\\" face=\\\"tahoma, verdana\\\" size=\\\"2\\\">\\n\";\r\n\t\t\t\t\t\r\n\t\t\t\tstr_buffer += \" \" + dt_current_day.getDate() + \"\\n\" +\r\n\t\t\t\t\" ");
1247: out.write("</font>\\n\" +\r\n\t\t\t\t\" ");
1248: out.write("</a>\\n\" +\r\n\t\t\t\t\" ");
1249: out
1250: .write("</td>\\n\";\r\n\t\t\t\tdt_current_day.setDate(dt_current_day.getDate()+1);\r\n\t\t}\r\n\t\t// print row footer\r\n\t\tstr_buffer += \" ");
1251: out
1252: .write("</tr>\\n\";\r\n\t}\r\n\t// print calendar footer\r\n\tstr_buffer +=\r\n\t\t\" ");
1253: out
1254: .write("<form name=\\\"cal\\\">\\n\" +\r\n\t\t\" ");
1255: out.write("<tr>\\n\" +\r\n\t\t\" ");
1256: out
1257: .write("<td colspan=\\\"7\\\" bgcolor=\\\"#87CEFA\\\">\\n\" +\r\n\t\t\" ");
1258: out
1259: .write("<font color=\\\"White\\\" face=\\\"tahoma, verdana\\\" size=\\\"2\\\">\\n\" +\r\n\t\t\" Time:\\n\" +\r\n\t\t\" ");
1260: out
1261: .write("<input type=\\\"text\\\" name=\\\"time\\\" value=\\\"\" + dt2tmstr(dt_datetime) +\r\n\t\t\"\\\" size=\\\"8\\\" maxlength=\\\"8\\\">\\n\" +\r\n\t\t\" ");
1262: out.write("</font>\\n\" +\r\n\t\t\" ");
1263: out.write("</td>\\n\" +\r\n\t\t\" ");
1264: out.write("</tr>\\n\" +\r\n\t\t\" ");
1265: out.write("</form>\\n\" +\r\n\t\t\" ");
1266: out.write("</table>\\n\" +\r\n\t\t\" ");
1267: out.write("</tr>\\n\" +\r\n\t\t\" ");
1268: out.write("</td>\\n\" +\r\n\t\t\" ");
1269: out.write("</table>\\n\" +\r\n\t\t\" ");
1270: out.write("</body>\\n\" +\r\n\t\t\"");
1271: out
1272: .write("</html>\\n\";\r\n\r\n\t//alert(\"Fixin to open window\");\r\n\tvar vWinCal = window.open(\"\", \"Calendar\", \r\n\t\t\"width=200,height=250,status=no,resizable=yes,top=200,left=200\");\r\n\t//alert(\"Fixin to set window opener to self\");\r\n\tvWinCal.opener = self;\r\n\tvar calc_doc = vWinCal.document;\r\n\t//alert(\"Fixin to write str_buffer\");\r\n\tcalc_doc.write (str_buffer);\r\n\tcalc_doc.close();\r\n}\r\n// datetime parsing and formatting routimes. modify them if you wish other datetime format\r\nfunction str2datetime (str_datetime) {\r\n\tvar re_date = /^(\\d+)\\/(\\d+)\\/(\\d+)\\s+(\\d+)\\:(\\d+)\\:(\\d+)$/;\r\n\tif (!re_date.exec(str_datetime))\r\n\t\treturn str2date(str_datetime)\r\n\treturn (new Date (RegExp.$3, RegExp.$1-1, RegExp.$2, RegExp.$4, RegExp.$5, RegExp.$6));\r\n}\r\nfunction str2date (str_date) {\r\n\tvar re_date = /^(\\d+)\\/(\\d+)\\/(\\d+)$/;\r\n\tif (!re_date.exec(str_date))\r\n\t\treturn alert(\"Invalid Date format: \"+ str_date);\r\n\treturn (new Date (RegExp.$3, RegExp.$1-1, RegExp.$2, 0, 0, 0));\r\n}\r\n\r\nfunction dt2dtstr (dt_datetime) {\r\n\treturn (new String (\r\n\t\t\t(dt_datetime.getMonth()+1)+\"/\"+dt_datetime.getDate()+\"/\"+dt_datetime.getFullYear()));\r\n");
1273: out
1274: .write("}\r\nfunction dt2tmstr (dt_datetime) {\r\n\treturn (new String (\r\n\t\t\tdt_datetime.getHours()+\":\"+dt_datetime.getMinutes()+\":\"+dt_datetime.getSeconds()));\r\n}\r\n\r\n");
1275: out.write("</script>\r\n");
1276: out.write("\r\n\r\n");
1277: out.write("\r\n");
1278: out.write("<!------------------------------>\r\n");
1279: out.write("<!-- Tab Control with Iframes -->\r\n");
1280: out.write("<!------------------------------>\r\n\r\n");
1281:
1282: // Set a string to tell the common initTabbedMembers function to put an Iframe inside the DIV in the tab control.
1283: String innerDivContents = "<IFRAME STYLE=\"margin:0; padding:0; visibility:hidden;\" BORDER=\"0\" NAME=\"oMIframe\" ID=\"oMIframe\" WIDTH=\"100%\" ></IFRAME>";
1284: // String innerDivContents = "";
1285:
1286: out.write("\r\n\r\n");
1287: out
1288: .write("<!-------------------------------------------->\r\n");
1289: out
1290: .write("<!-- Common code for all types of Tab Pages -->\r\n");
1291: out
1292: .write("<!-------------------------------------------->\r\n\r\n");
1293: out
1294: .write("<script language=\"JavaScript1.2\">\r\n\r\nvar gsTabControl=\"\";\r\nvar gaDivs = new Array();\r\nvar gaTabs = new Array();\r\nvar goPersist = null;\r\nvar gsPageId = \"\";\r\n\r\n//scrolling menu variables\r\nvar menuwidth = 800;\r\nvar scrollspeed = 6;\r\nvar actualwidth = 0;\r\nvar ns_scroll;\r\n\r\nfunction CPersist(attachedTo, storePath){\r\n if( oBD.doesPersistence ){\r\n this._obj = attachedTo;\r\n this._obj.addBehavior(\"#default#userData\");\r\n this._path = storePath;\r\n this._loaded = false;\r\n }\r\n}\r\n\r\nCPersist.prototype.Save = function(){\r\n if( oBD.doesPersistence ){\r\n if(this.IsLoaded()){\r\n var enabled = true;\r\n var code = \"try{ this.GetAttached().save(this._path); } catch(e) {enabled = false;}\";\r\n eval(code);\r\n }\r\n }\r\n}\r\n\r\nCPersist.prototype.Load = function(){\r\n if( oBD.doesPersistence ){\r\n if(!this.IsLoaded()){\r\n var enabled = true;\r\n var code = \"try{ this.GetAttached().load(this._path); } catch(e) {enabled = false;}\";\r\n eval(code);\r\n if(!enabled) return;\r\n this._loaded = true;\r\n");
1295: out
1296: .write(" }\r\n }\r\n}\r\n\r\nCPersist.prototype.GetAttached = function(){\r\n if( oBD.doesPersistence ) return this._obj;\r\n}\r\n\r\nCPersist.prototype.IsLoaded = function(){\r\n if( oBD.doesPersistence ) return this._loaded;\r\n}\r\n\r\nCPersist.prototype.SetAttribute = function(key, value){\r\n if( oBD.doesPersistence ){\r\n if( !this.IsLoaded() ) this.Load();\r\n if( this.IsLoaded() ){\t\t\t// confirm that the load actually happened. Cannot add data if load failed.\r\n if( !gsPageId ) pageID = \"unknown\"; else pageID = gsPageId;\r\n this.GetAttached().setAttribute(pageID + \".\" + key, value);\r\n }\r\n this.Save();\r\n }\r\n}\r\n\r\nCPersist.prototype.GetAttribute = function(key){\r\n if( oBD.doesPersistence ){\r\n if( !this.IsLoaded() ) this.Load();\r\n\r\n if( this.IsLoaded() ){\t\t\t// confirm that the load actually happened. Cannot get data if load failed.\r\n if( !gsPageId ) pageID = \"unknown\"; else pageID = gsPageId;\r\n var value = this.GetAttached().getAttribute(pageID + \".\" + key);\r\n }\r\n\r\n if(key == \"selectedTab\"){\r\n");
1297: out
1298: .write(" if(!value) value = 0;\r\n } else if(key == \"expanded\"){\r\n if(value == \"true\")\r\n value = true;\r\n else\r\n value = false;\r\n } else if(key == \"scroll\"){\r\n if(!value) value = 0;\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n/*\r\n* initilizes a new, logical tab for objectmembers. A \"tab\" consists of both\r\n* the tab and the member content.\r\n*/\r\nfunction CTabber(newTab){\r\n this._caption = \"\"; this._content = null; this._tab = null; this._targetURL=newTab.targetURL;\r\n // only initialize of this is actually a tab. Tabs are identifed by a @tabName attribute.\r\n if(newTab.tabName){\r\n this._initializeComponent(newTab);\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n/*\r\n* Returns the caption used for the tab.\r\n*/\r\nCTabber.prototype.GetCaption = function(){\r\n\r\n return this._caption;\r\n}\r\n\r\n/*\r\n* Sets the caption used for the tab. Also updates the tabbed title bar.\r\n*/\r\nCTabber.prototype.SetCaption = function(newCaption){\r\n this._caption = newCaption;\r\n if(this.IsActive){\t\t// should only change title bar if currently active.\r\n");
1299: out
1300: .write(" oMTitle.innerText = newCaption;\r\n }\r\n}\r\n\r\n\r\n/*\r\n* Returns the ");
1301: out
1302: .write("<div> that is attached to this tab object.\r\n*/\r\nCTabber.prototype.GetContent = function(){\r\n return this._content;\r\n}\r\n\r\n/*\r\n* Returns the rendered tab (");
1303: out
1304: .write("<TD>) for this tab object.\r\n*/\r\nCTabber.prototype.GetTab = function(){\r\n return this._tab;\r\n}\r\n\r\n/*\r\n* Returns true if this tab object is currently being rendered (e.g. the ");
1305: out
1306: .write("<div> is displayed),\r\n* otherwise returns false.\r\n*/\r\nCTabber.prototype.IsActive = function(){\r\n return (this.GetTab().className == \"oMTabOn\" ? true : false);\r\n}\r\n\r\n/*\r\n* Not used, ignore.\r\n*/\r\nCTabber.prototype._setColumnHeaders = function(){\r\n var heads = this.GetContent().getElementsByTagName(\"TH\");\r\n for(var i=0; i");
1307: out
1308: .write("<heads.length; i++){\r\n var cn = heads[i].cloneNode(true);\r\n oMHeadings.appendChild(cn);\r\n heads[i].style.display = \"none\";\r\n }\r\n}\r\n\r\nCTabber.prototype.GetActiveTab = function(){\r\n for(var i=0; i");
1309: out
1310: .write("<gaTabs.length; i++){\r\n var tab = gaTabs[i];\r\n if(tab.IsActive()) return tab;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n/*\r\n* Forces a an inactive tab to become active. That means that the\r\n* tab itself changes state and the ");
1311: out
1312: .write("<div> is rendered.\r\n*\r\n* Any previously active tab is made inactive first.\r\n*/\r\nCTabber.prototype.MakeActive = function(){\r\n var tab = this.GetActiveTab();\r\n if(tab){\r\n tab.MakeInActive();\r\n }\r\n this.GetTab().className = \"oMTabOn\";\r\n this.GetTab().style.backgroundColor = \"#FFFFFF\";\r\n this.GetTab().style.borderBottom = \"0.02cm solid white\";\r\n oMTData.appendChild(this.GetContent());\r\n this.GetContent().style.display = \"block\";\r\n this.SetScrollPosition(0);\t\t// reset the scroll bar.\r\n oMTData.scrollTop = this.GetScrollPosition();\r\n\r\n if (this._targetURL){\r\n document.all.oMIframe.style.visibility = \"visible\";\r\n document.all.oMIframe.width=\"100%\";\r\n document.all.oMIframe.height=\"98%\";\r\n document.all.oMIframe.src = this._targetURL;\r\n } else {\r\n document.all.oMIframe.style.visibility = \"hidden\";\r\n document.all.oMIframe.width=\"0\";\r\n document.all.oMIframe.height=\"0\";\r\n }\r\n\r\n // save the state to a userData store.\r\n goPersist.SetAttribute(\"selectedTab\", this.GetCaption());\r\n");
1313: out
1314: .write("}\r\n\r\n\r\n\r\n/*\r\n* Forces an active tab to become inactive. Changes the state of the tab\r\n* and removes the ");
1315: out
1316: .write("<div> from the screen.\r\n*/\r\nCTabber.prototype.MakeInActive = function(){\r\n this.GetContent().style.display = \"none\";\r\n this.GetTab().className = \"oMTab\";\r\n this.GetTab().style.backgroundColor = \"#C0C0C0\";\r\n this.GetTab().style.borderBottom = \"0.02cm solid black\";\r\n\r\n}\r\n\r\n/*\r\n* Event for when the mouse moves over the tab button.\r\n*/\r\nCTabber.prototype.OnMouseHover = function(){\r\n if(!this.IsActive())\r\n this.GetTab().className = \"oMTabHover\";\r\n}\r\n\r\n/*\r\n* Event for when the user clicks the tab button.\r\n*/\r\nCTabber.prototype.OnMouseClick = function(){\r\n if(!this.IsActive()){\t\t// should only run event if not already active.\r\n this.MakeActive();\r\n\r\n }\r\n}\r\n\r\n/*\r\n* Event for when the user moves the mouse from within the tab button area.\r\n*/\r\nCTabber.prototype.OnMouseFlee = function(){\r\n if(!this.IsActive())\t\t// should only run event if not alreay active.\r\n this.GetTab().className = \"oMTab\";\r\n}\r\n\r\n/*\r\n* Returns the scroll position for the ");
1317: out
1318: .write("<div> associated with this tab object.\r\n*/\r\nCTabber.prototype.GetScrollPosition = function(){\r\n this._scroll;\r\n}\r\n\r\n// Sets the scroll position for the ");
1319: out
1320: .write("<div> associated with this tab object.\r\nCTabber.prototype.SetScrollPosition = function(newValue){\r\n this._scroll = newValue;\r\n if(this.IsActive()) oMTData.scrollTop = newValue;\r\n\r\n goPersist.SetAttribute(\"scroll\", newValue);\r\n goPersist.Save();\r\n}\r\n\r\n// Initializes the state of the tab. This includes creating the physical tab as well as associated a ");
1321: out
1322: .write("<div> with it.\r\nCTabber.prototype._initializeComponent = function(newTab){\r\n this._caption = newTab.tabName;\r\n this._content = newTab;\r\n this._scroll = 0;\r\n\r\n // prepare the tab for use. Create the necessary structure.\r\n this._tab = document.createElement(\"TD\");\r\n this._tab.onmouseover = onMouseOverRedirect;\r\n this._tab.onmouseout = onMouseOutRedirect;\r\n this._tab.onmousedown = onMouseClickRedirect;\r\n this._tab.onkeypress = onMouseClickRedirect;\r\n this._tab.onclick = onMouseClickRedirect;\r\n this._tab.title = this.GetCaption();\r\n this._tab.className = \"oMTab\";\r\n this._tab.tabIndex = \"0\";\r\n this._tab.innerHTML = \"");
1323: out.write("<noBR>");
1324: out.write("<CENTER>\" + this.GetCaption() + \"");
1325: out.write("</CENTER>");
1326: out
1327: .write("</noBR>\";\r\n// this._tab.setAttribute(\"width\",\"20\",0);\r\n// this._tab.width = \"20%\";\r\n// this._tab.width = (this._tab.title.length*5) + 20;\r\n this._tab.vAlign = \"middle\";\r\n this._tab.tab = this;\r\n this.GetContent().tab = this;\r\n}\r\n\r\n/*\r\n* functions that dispatch the event to the correct handler. This is done because\r\n* when an event fires, there is no way for the system to know which user-defined\r\n* object (CTabber) is being invoked. The ");
1328: out
1329: .write("<TD> has a reference to the owning tab object\r\n* so that the event can be invoked on the correct object.\r\n*/\r\nfunction onMouseOverRedirect(){\r\n this.tab.OnMouseHover();\r\n}\r\n\r\nfunction onMouseOutRedirect(){\r\n this.tab.OnMouseFlee();\r\n}\r\n\r\nfunction onMouseClickRedirect(){\r\n this.tab.OnMouseClick();\r\n}\r\n//---------------------------------------------------------------------------------------\r\n\r\n\r\nfunction expand_onclick_handler(o){\r\n toggleExpandDataView(o);\r\n}\r\n\r\nfunction scroll_onscroll_handler(){\r\n gaTabs[0].GetActiveTab().SetScrollPosition(oMTData.scrollTop);\r\n}\r\n\r\nfunction toggleExpandDataView(oCollapso){\r\n if(oCollapso != null){\r\n if(oCollapso.state == null || oCollapso.state == \"collapsed\"){\r\n // the state is collapase so force environment to be expanded.\r\n oCollapso.title = \"Collapse\";\r\n oMTData.style.overflow = \"visible\";\r\n oCollapso.src = \"sfa/control/img/collapse_gif\";\r\n oCollapso.state = \"expanded\";\r\n // now that the view is being expanded, must save this state.\r\n goPersist.SetAttribute(\"expanded\", \"true\");\r\n");
1330: out
1331: .write(" } else {\r\n // the state is expanded so force environment to be expanded.\r\n oCollapso.title = \"Expand\";\r\n oMTData.style.overflow = \"auto\";\r\n oCollapso.src = \"sfa/control/img/expand_gif\";\r\n oCollapso.state = \"collapsed\";\r\n // now that the view is being collapsed, must remove expanded state.\r\n goPersist.SetAttribute(\"expanded\", \"false\");\r\n }\r\n }\r\n}\r\n\r\nfunction moveleft(){\r\n if (document.all && span3.style.pixelLeft > (menuwidth-actualwidth))\r\n span3.style.pixelLeft-=scrollspeed;\r\n lefttime=setTimeout(\"moveleft()\",50)\r\n}\r\n\r\nfunction moveright(){\r\n if (document.all && span3.style.pixelLeft ");
1332: out
1333: .write("< 0)\r\n span3.style.pixelLeft+=scrollspeed;\r\n righttime=setTimeout(\"moveright()\",50)\r\n}\r\n\r\nfunction fillup(){\r\n actualwidth=span3.offsetWidth\r\n}\r\n\r\nfunction initTabbedMembers(){\r\n if(document.getElementById(\"oMT\")){\r\n var mshaid = document.all(\"MS-HAID\");\r\n if(mshaid) gsPageId = mshaid.getAttribute(\"content\");\r\n locateAvailableTabs();\r\n divscol=document.all.tags(\"div\");\r\n divsize=divscol.length;\r\n if (divsize>0){\r\n gsTabControl=''\r\n\r\n gsTabControl=gsTabControl+' ");
1334: out
1335: .write("<TABLE CLASS=\"viewManyHeaderLabel\" WIDTH=\"100%\" CELLPADDING=\"0\" CELLSPACING=\"0\" BORDER=\"0\">\\n';\r\n gsTabControl=gsTabControl+' ");
1336: out.write("<TR>';\r\n gsTabControl=gsTabControl+' ");
1337: out.write("<TD>';\r\n gsTabControl=gsTabControl+' ");
1338: out
1339: .write("<A onMouseover=\"moveright();\" onMouseout=\"clearTimeout(righttime);\">");
1340: out.write("<IMG SRC=\"/sfaimages/left.gif\" BORDER=\"0\">");
1341: out.write("</A>';\r\n gsTabControl=gsTabControl+' ");
1342: out.write("</TD>';\r\n gsTabControl=gsTabControl+' ");
1343: out
1344: .write("<TD valign=\"top\">\\n';\r\n gsTabControl=gsTabControl+' ");
1345: out
1346: .write("<SPAN STYLE=\"position:relative; width:' + menuwidth + '; height:auto\">\\n';\r\n gsTabControl=gsTabControl+' ");
1347: out
1348: .write("<SPAN STYLE=\"position:absolute; width:' + menuwidth + ';clip:rect(0 ' + menuwidth + ' auto 0);\">\\n';\r\n gsTabControl=gsTabControl+' ");
1349: out
1350: .write("<SPAN ID=\"span3\" style=\"position:absolute; left:0; top:0\">\\n';\r\n gsTabControl=gsTabControl+' ");
1351: out
1352: .write("<TABLE width=\"100%\" CELLSPACING=\"0\" CELLPADDING=\"0\" CLASS=\"viewManyHeaderLabel\" STYLE=\"border-collapse:collapse\">\\n';\r\n gsTabControl=gsTabControl+' ");
1353: out
1354: .write("<TR ID=\"oMTabberList\" VALIGN=\"middle\">\\n';\r\n gsTabControl=gsTabControl+' ");
1355: out
1356: .write("</TR>\\n';\r\n gsTabControl=gsTabControl+' ");
1357: out
1358: .write("</TABLE>\\n';\r\n gsTabControl=gsTabControl+' ");
1359: out
1360: .write("</SPAN>\\n';\r\n gsTabControl=gsTabControl+' ");
1361: out
1362: .write("</SPAN>\\n';\r\n gsTabControl=gsTabControl+' ");
1363: out
1364: .write("</SPAN>\\n';\r\n gsTabControl=gsTabControl+' ");
1365: out.write("</TD>';\r\n gsTabControl=gsTabControl+' ");
1366: out
1367: .write("<TD VALIGN=\"middle\">';\r\n gsTabControl=gsTabControl+' ");
1368: out
1369: .write("<A onMouseover=\"moveleft()\" onMouseout=\"clearTimeout(lefttime);\">");
1370: out
1371: .write("<IMG SRC=\"/sfaimages/right.gif\" BORDER=\"0\">");
1372: out.write("</a>';\r\n gsTabControl=gsTabControl+' ");
1373: out.write("</TD>';\r\n gsTabControl=gsTabControl+' ");
1374: out.write("</TR>';\r\n gsTabControl=gsTabControl+' ");
1375: out
1376: .write("</TABLE> ';\r\n gsTabControl=gsTabControl+'\\n';\r\n gsTabControl=gsTabControl+' ");
1377: out
1378: .write("<TABLE WIDTH=\"100%\" HEIGHT=\"98%\" BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\">\\n';\r\n gsTabControl=gsTabControl+' ");
1379: out
1380: .write("<STYLE>\\n';\r\n gsTabControl=gsTabControl+' .oMembersTable {fount-family:verdana; }\\n';\r\n gsTabControl=gsTabControl+' .oMTab {background:#C0C0C0; cursor:hand; padding-left:10; padding-right:10;}\\n';\r\n gsTabControl=gsTabControl+' .oMTabOn { cursor:hand; padding-left:10; padding-right:10;}\\n';\r\n gsTabControl=gsTabControl+' .oMTabHover {background:#C0C0C0; cursor:hand; padding-left:10; padding-right:10;}\\n';\r\n gsTabControl=gsTabControl+' ");
1381: out
1382: .write("</STYLE>\\n';\r\n gsTabControl=gsTabControl+'\\n';\r\n gsTabControl=gsTabControl+' ");
1383: out
1384: .write("<TR HEIGHT=\"*\">\\n';\r\n gsTabControl=gsTabControl+' ");
1385: out
1386: .write("<TD width=\"*\" VALIGN=\"top\" ID=\"oMTabberContent\">\\n';\r\n gsTabControl=gsTabControl+'\\n';\r\n gsTabControl=gsTabControl+' ");
1387: out
1388: .write("<DIV ID=\"oMTData\" ONSCROLL=\"scroll_onscroll_handler();\" STYLE=\"height:100%; overflow:auto; overflow-x:hidden;\">\\n';\r\n gsTabControl=gsTabControl+' ");
1389: out.print(innerDivContents);
1390: out.write("\\n' ;\r\n gsTabControl=gsTabControl+' ");
1391: out
1392: .write("</DIV>\\n';\r\n gsTabControl=gsTabControl+'\\n';\r\n gsTabControl=gsTabControl+' ");
1393: out
1394: .write("</TD>\\n';\r\n gsTabControl=gsTabControl+' ");
1395: out.write("</TR>\\n';\r\n gsTabControl=gsTabControl+' ");
1396: out
1397: .write("</TABLE>\\n';\r\n gsTabControl=gsTabControl+'\\n';\r\n\r\n oMT.insertAdjacentHTML(\"beforeBegin\", gsTabControl);\r\n goPersist = new CPersist(oMTData, gsStoreName);\r\n\r\n var actualWidth = 0;\r\n var tr = document.createElement(\"TR\");\r\n for(var i=0; i");
1398: out
1399: .write("<gaTabs.length; i++){\r\n\r\n if(i==8) bHide = true;\r\n\r\n var tab = gaTabs[i];\r\n var tb = tab.GetTab();\r\n tb.style.borderTop = \"0.02cm solid black\";\r\n tb.style.borderBottom = \"0.02cm solid black\";\r\n tb.style.borderLeft = \"0.02cm solid black\";\r\n tb.style.borderRight = \"0.02cm solid black\";\r\n tb.vAlign = \"middle\";\r\n// tb.style.align = \"middle\";\r\n// tb.width = (tb.innerText.length) + 20;\r\n tb.height = \"10\";\r\n tr.appendChild(tb);\r\n }\r\n \r\n //add spacer td\r\n var endTd = document.createElement(\"TD\");\r\n endTd.width = \"100%\";\r\n endTd.height = \"10\";\r\n endTd.vAlign = \"middle\";\r\n endTd.style.cursor = \"hand\";\r\n tr.appendChild(endTd);\r\n\r\n oMTabberList.appendChild(tr);\r\n restoreInitState();\r\n }\r\n }\r\n}\r\n\r\nfunction locateAvailableTabs(){\r\n var divs = document.all.tags(\"div\");\r\n var key;\r\n for(key in divs){\r\n var div = divs[key];\r\n if(div.tabName){\t// this is a tag. Try to add it to the tab collection for later use.\r\n gaTabs[div.tabName] = gaTabs[gaTabs.length] = new CTabber(div);\r\n");
1400: out
1401: .write(" div.style.display = \"none\";\r\n }\r\n }\r\n}\r\n\r\nfunction restoreInitState(){\r\n persistTab = goPersist.GetAttribute(\"selectedTab\");\r\n persistExpand = goPersist.GetAttribute(\"expanded\");\r\n persistScroll = goPersist.GetAttribute(\"scroll\");\r\n\r\n if(gaTabs[persistTab]){\r\n gaTabs[persistTab].MakeActive();\r\n } else {\r\n gaTabs[0].MakeActive();\r\n }\r\n if(persistExpand) toggleExpandDataView();\r\n if(persistScroll) gaTabs[0].GetActiveTab().SetScrollPosition(persistScroll);\r\n}\r\n\r\n");
1402: out.write("</script>\r\n\r\n");
1403: out
1404: .write("<script language=\"javascript\">\r\nfunction mOvr(src,clrOver){\r\n if (!src.contains(event.fromElement)){\r\n src.style.cursor = 'hand';\r\n src.bgColor = clrOver;\r\n }\r\n}\r\nfunction mOut(src,clrIn){\r\n if (!src.contains(event.toElement)){\r\n src.style.cursor = 'default';\r\n src.bgColor = clrIn;\r\n }\r\n}\r\nfunction mClk(src){\r\n\tif(event.srcElement.tagName=='TD')\r\n\t\tsrc.children.tags('A')[0].click();\r\n}\r\n");
1405: out.write("</script>\r\n\r\n\r\n");
1406: out.write("<SCRIPT language=JavaScript1.2>\r\n//");
1407: out
1408: .write("<!--\r\nvar gsHTCPath = \"/\";\r\nvar gsGraphicsPath = \"/\";\r\nvar gsCodePath = \"/\";\r\n//-->\r\n");
1409: out.write("</SCRIPT>\r\n\r\n\r\n");
1410: out.write("<SCRIPT language=JavaScript1.2>\r\n//");
1411: out
1412: .write("<!--\r\nvar gsContextMenuPath = gsHTCPath + \"contextmenu.htc\";\r\nvar gsCodeDecoPath = gsHTCPath + \"codedeco.htc\";\r\nvar gsStoreName=\"workshop\";\r\nvar gsGraphicsPath = \"/sfa/control/images/\";\r\n//-->\r\n");
1413: out.write("</SCRIPT>\r\n\r\n\r\n");
1414: out.write("<SCRIPT>");
1415: out.write("<!--\r\nvar gbDBG = true;\r\n//-->\r\n");
1416: out.write("</SCRIPT>\r\n\r\n\r\n");
1417: out
1418: .write("<SCRIPT language=JavaScript1.2>\r\nfunction InitPage(){\r\n/* if (!assert( (typeof(oBD) == 'object' && oBD != null), \"browdata object unavailable!\") ){\r\n return;\r\n }\r\n if (\"MSIE\" == oBD.browser && oBD.majorVer >= 5 && (oBD.platform.toLowerCase()!=\"x\" && oBD.platform!=\"Mac\" && oBD.platform!=\"PPC\" )){\r\n\r\n if (typeof(PreInit) == 'function') PreInit();\r\n if (typeof(AddObjTables) == 'function') AddObjTables(typeof(g_oMemberInfo) != 'undefined' ? g_oMemberInfo : null);\r\n if (typeof(PostGBInit) == 'function') PostGBInit();\r\n if (typeof(PostInit) == 'function') PostInit();\r\n if (typeof(initTabbedMembers) == 'function') initTabbedMembers();\r\n if (typeof(hideExamples) == 'function') hideExamples();\r\n\r\n initTabbedMembers();\r\n }\r\n if (oBD.getsNavBar && oBD.platform!=\"PPC\" ){\r\n if (typeof(SetShowMes) == 'function') SetShowMes();\r\n }\r\n*/\r\n initTabbedMembers();\r\n fillup();\r\n}\r\n\r\nfunction assert(bCond, sMsg){\r\n if (bCond) { return true; }\r\n else { if (gbDBG) { alert(sMsg); } return false; }\r\n}\r\n");
1419: out.write("\r\nwindow.onload = InitPage;\r\n\r\n");
1420: out.write("</SCRIPT>\r\n\r\n");
1421: out
1422: .write("<SCRIPT language=JavaScript1.2>\r\nfunction PreInit(){\r\n}\r\n");
1423: out.write("</SCRIPT>\r\n\r\n");
1424: out
1425: .write("<SCRIPT language=JavaScript>\r\n function BrowserData(){\r\n\t\tthis.userAgent = \"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)\";\r\n\t\tthis.browser = \"MSIE\";\r\n\t\tthis.majorVer = 5;\r\n\t\tthis.minorVer = \"5\";\r\n\t\tthis.betaVer = \"0\";\r\n\t\tthis.platform = \"NT\";\r\n\t\tthis.platVer = \"5.0\";\r\n\t\tthis.getsNavBar = true;\r\n\t\tthis.doesActiveX = true;\r\n\t\tthis.doesPersistence = true;\r\n\t\tthis.bot = false;\r\n\t\tthis.fullVer = 5.5;\r\n }\r\n\r\n var oBD = new BrowserData();\r\n\r\n");
1426: out.write("</script>\r\n\r\n");
1427: out
1428: .write("<!--------------------------------------------------->\r\n");
1429: out
1430: .write("<!-- End of Common code for all types of Tab Pages -->\r\n");
1431: out
1432: .write("<!--------------------------------------------------->\r\n\r\n\r\n");
1433: out.write("\r\n");
1434: out
1435: .write("<script language=\"JavaScript\">\r\n\r\n// Forces a an inactive tab to become active. That means that the\r\n// tab itself changes state and the ");
1436: out
1437: .write("<div> is rendered.\r\n//\r\n// Any previously active tab is made inactive first.\r\n//\r\n/*\r\nCTabber.prototype.MakeActive = function(){\r\n\tvar tab = this.GetActiveTab();\r\n\tif(tab) tab.MakeInActive();\r\n\r\n\tthis.GetTab().className = \"oMTabOn\";\r\n\toMTData.appendChild(this.GetContent());\r\n\tthis.GetContent().style.display = \"block\";\r\n\tthis.SetScrollPosition(0);\t\t// reset the scroll bar.\r\n\toMTData.scrollTop = this.GetScrollPosition();\r\n\r\n\tif ( this._targetURL )\r\n\t\tdocument.all[\"oMIframe\"].src = this._targetURL;\r\n\r\n\t// save the state to a userData store.\r\n\tgoPersist.SetAttribute(\"selectedTab\", this.GetCaption());\r\n}\r\n*/\r\n");
1438: out.write("</script>\r\n\r\n");
1439: out.write("<!------------------------------------->\r\n");
1440: out.write("<!-- End of Tab Control with Iframes -->\r\n");
1441: out
1442: .write("<!------------------------------------->\r\n\r\n");
1443: out.write("\r\n");
1444: out.write("\r\n");
1445:
1446: String screenId = "";
1447: if (request.getParameter("screenId") != null) {
1448: screenId = request.getParameter("screenId");
1449: }
1450:
1451: out.write("\r\n ");
1452: out
1453: .write("<DIV id=oMTExplanation style=\"DISPLAY: none\">");
1454: out.write("<br>");
1455: out.write("</DIV>\r\n ");
1456: out.write("<DIV id=oMT title=\"Screen ");
1457: out.print(screenId);
1458: out.write(" Details\" style='width:100%;'>\r\n\r\n ");
1459: out.write("<!-- Screen Sections -->\r\n ");
1460: out
1461: .write("<DIV style=\"VISIBILITY: visible\" tabName=\"Screen Sections\" targetURL=\"");
1462: if (_jspx_meth_ofbiz_url_2(pageContext))
1463: return;
1464: out.write("?action=");
1465: out.print(UIScreenSection.ACTION_QUERY);
1466: out.write("&screenId=");
1467: out.print(screenId);
1468: out.write("\">\r\n ");
1469: out.write("</DIV>\r\n\r\n ");
1470: out.write("</DIV>\r\n\r\n");
1471: out.write(" ");
1472: out.write("<!-- left column table -->\r\n ");
1473: out.write("</td>\r\n ");
1474: out.write("</tr>\r\n");
1475: out.write("</table>\r\n\r\n\r\n");
1476: out
1477: .write("<!-- used to get dynamic information from a server -->\r\n");
1478: out
1479: .write("<A style='visibility:hidden' id='searchA' name='searchA' target=\"searchIFrame\">");
1480: out.write("</A>\r\n");
1481: out
1482: .write("<iframe style='visibility:hidden; width:0; height:0; margin:0; padding:0;' id='searchIFrame' name='searchIFrame' FRAMEBORDER=0 FRAMESPACING=0 MARGINWIDTH=0 MARGINHEIGHT=0 onload='updateForm();' >");
1483: out.write("</iframe>\r\n");
1484: out.write("<!--");
1485: out
1486: .write("<iframe id='searchIFrame' name='searchIFrame' WIDTH=\"100%\" onload='updateForm();' >");
1487: out.write("</iframe>-->\r\n\r\n\r\n");
1488: out.write("</body>\r\n");
1489: out.write("</html>\r\n");
1490: out.write("\r\n\r\n");
1491: } catch (Throwable t) {
1492: out = _jspx_out;
1493: if (out != null && out.getBufferSize() != 0)
1494: out.clearBuffer();
1495: if (pageContext != null)
1496: pageContext.handlePageException(t);
1497: } finally {
1498: if (_jspxFactory != null)
1499: _jspxFactory.releasePageContext(pageContext);
1500: }
1501: }
1502:
1503: private boolean _jspx_meth_ofbiz_url_0(
1504: javax.servlet.jsp.PageContext pageContext) throws Throwable {
1505: JspWriter out = pageContext.getOut();
1506: /* ---- ofbiz:url ---- */
1507: org.ofbiz.content.webapp.taglib.UrlTag _jspx_th_ofbiz_url_0 = (org.ofbiz.content.webapp.taglib.UrlTag) _jspx_tagPool_ofbiz_url
1508: .get(org.ofbiz.content.webapp.taglib.UrlTag.class);
1509: _jspx_th_ofbiz_url_0.setPageContext(pageContext);
1510: _jspx_th_ofbiz_url_0.setParent(null);
1511: int _jspx_eval_ofbiz_url_0 = _jspx_th_ofbiz_url_0.doStartTag();
1512: if (_jspx_eval_ofbiz_url_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
1513: if (_jspx_eval_ofbiz_url_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
1514: javax.servlet.jsp.tagext.BodyContent _bc = pageContext
1515: .pushBody();
1516: out = _bc;
1517: _jspx_th_ofbiz_url_0.setBodyContent(_bc);
1518: _jspx_th_ofbiz_url_0.doInitBody();
1519: }
1520: do {
1521: out.write("/testServer");
1522: int evalDoAfterBody = _jspx_th_ofbiz_url_0
1523: .doAfterBody();
1524: if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
1525: break;
1526: } while (true);
1527: if (_jspx_eval_ofbiz_url_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
1528: out = pageContext.popBody();
1529: }
1530: if (_jspx_th_ofbiz_url_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
1531: return true;
1532: _jspx_tagPool_ofbiz_url.reuse(_jspx_th_ofbiz_url_0);
1533: return false;
1534: }
1535:
1536: private boolean _jspx_meth_ofbiz_url_1(
1537: javax.servlet.jsp.PageContext pageContext) throws Throwable {
1538: JspWriter out = pageContext.getOut();
1539: /* ---- ofbiz:url ---- */
1540: org.ofbiz.content.webapp.taglib.UrlTag _jspx_th_ofbiz_url_1 = (org.ofbiz.content.webapp.taglib.UrlTag) _jspx_tagPool_ofbiz_url
1541: .get(org.ofbiz.content.webapp.taglib.UrlTag.class);
1542: _jspx_th_ofbiz_url_1.setPageContext(pageContext);
1543: _jspx_th_ofbiz_url_1.setParent(null);
1544: int _jspx_eval_ofbiz_url_1 = _jspx_th_ofbiz_url_1.doStartTag();
1545: if (_jspx_eval_ofbiz_url_1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
1546: if (_jspx_eval_ofbiz_url_1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
1547: javax.servlet.jsp.tagext.BodyContent _bc = pageContext
1548: .pushBody();
1549: out = _bc;
1550: _jspx_th_ofbiz_url_1.setBodyContent(_bc);
1551: _jspx_th_ofbiz_url_1.doInitBody();
1552: }
1553: do {
1554: out.write("/testServer");
1555: int evalDoAfterBody = _jspx_th_ofbiz_url_1
1556: .doAfterBody();
1557: if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
1558: break;
1559: } while (true);
1560: if (_jspx_eval_ofbiz_url_1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
1561: out = pageContext.popBody();
1562: }
1563: if (_jspx_th_ofbiz_url_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
1564: return true;
1565: _jspx_tagPool_ofbiz_url.reuse(_jspx_th_ofbiz_url_1);
1566: return false;
1567: }
1568:
1569: private boolean _jspx_meth_ofbiz_url_2(
1570: javax.servlet.jsp.PageContext pageContext) throws Throwable {
1571: JspWriter out = pageContext.getOut();
1572: /* ---- ofbiz:url ---- */
1573: org.ofbiz.content.webapp.taglib.UrlTag _jspx_th_ofbiz_url_2 = (org.ofbiz.content.webapp.taglib.UrlTag) _jspx_tagPool_ofbiz_url
1574: .get(org.ofbiz.content.webapp.taglib.UrlTag.class);
1575: _jspx_th_ofbiz_url_2.setPageContext(pageContext);
1576: _jspx_th_ofbiz_url_2.setParent(null);
1577: int _jspx_eval_ofbiz_url_2 = _jspx_th_ofbiz_url_2.doStartTag();
1578: if (_jspx_eval_ofbiz_url_2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
1579: if (_jspx_eval_ofbiz_url_2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
1580: javax.servlet.jsp.tagext.BodyContent _bc = pageContext
1581: .pushBody();
1582: out = _bc;
1583: _jspx_th_ofbiz_url_2.setBodyContent(_bc);
1584: _jspx_th_ofbiz_url_2.doInitBody();
1585: }
1586: do {
1587: out.write("/uiScreenSectionList");
1588: int evalDoAfterBody = _jspx_th_ofbiz_url_2
1589: .doAfterBody();
1590: if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
1591: break;
1592: } while (true);
1593: if (_jspx_eval_ofbiz_url_2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
1594: out = pageContext.popBody();
1595: }
1596: if (_jspx_th_ofbiz_url_2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
1597: return true;
1598: _jspx_tagPool_ofbiz_url.reuse(_jspx_th_ofbiz_url_2);
1599: return false;
1600: }
1601: }
|