/* GO AWAY!!! NOW!!! DON'T CHANGE THIS GENERATED FILE!!! CHANGES WILL BE LOST!!! */

// Pustefix Emulation Layer
// Version 1.9 by Sebastian Werner (United Internet), 10.02.2005

function pustefixCheck(v) {
  return (typeof v != "undefined" && ((typeof v == "boolean" && v) || (typeof v == "string" && v != "") || (typeof v == "number" && !isNaN(v)))) ? true : false;
}

function attachInputField(form, fname, fvalue)
{
  var i = document.createElement("input");
  i.type = "hidden";
  i.name = fname;
  i.value = fvalue;
  form.appendChild(i);
};

function pustefixEval(pfxPrefix, pfxFormField, pfxCmd)
{
  // init variables
  var setArgs = [];
  var allArgs = [ "jump", "flow", "name", "popup", "popupwidth", "popupheight", "submit", "senddata", "senddatafield", "action", "nodata", "href", "target" ];
  var pfxArgs = "";
  var pfxWrappers = [];
  var pfxHidden = document.getElementById(pfxFormField);
  var pfxForm = pfxHidden.form;

  // parsing command
  for (var i=0; i<pfxCmd.length; i++)
  {
    if(pfxCmd[i]=="") continue;

    var argSplit = pfxCmd[i].indexOf("=");
    var argName = pfxCmd[i].substring(0, argSplit);
    var argValue = pfxCmd[i].substring(argSplit+1, pfxCmd[i].length);

    if (allArgs.contains(argName))
    {
      setArgs[argName] = argValue;
    }
    else if (argName == "wrapper")
    {
      pfxWrappers.push(argValue);
    }
    else
    {
      if(pfxArgs!="") pfxArgs += "&";
      pfxArgs += argName.replace("argument[", "").replace("]", "") + "=" + argValue;
    };
  };

  // executing...
  if (pustefixCheck(setArgs["jump"]))
  {
    var uri = "/xml/" + servlet + "/" + setArgs["jump"] + ";" + sessid + "?__frame=top";
    var href = uri;

    if (pustefixCheck(pfxArgs) || pustefixCheck(setArgs["flow"]))
    {
       if (!pustefixCheck(setArgs["nodata"]))
         href += "&__sendingdata=1&";

       if (pustefixCheck(pfxArgs))
         href += pfxArgs;

       if (pustefixCheck(pfxArgs) && pustefixCheck(setArgs["flow"]))
         href += "&";

       if (pustefixCheck(setArgs["flow"]))
         href += "__pageflow=" + setArgs["flow"];
     };

     var e = pfxForm.elements;

     if (pustefixCheck(setArgs["senddata"]))
     {
       for (var i=0; i<e.length; i++)
       {
        if (!pustefixCheck(setArgs["senddatafield"]) || setArgs["senddatafield"] == e[i].name)
	 {
           if (((e[i].type == "checkbox" || e[i].type == "radio") && e[i].checked) || e[i].type == "text" || e[i].type == "hidden")
             href += "&" + e[i].name + "=" + e[i].value;

         // missing selectbox, textareas, ...
	 };
       };
     };

     if (pustefixCheck(setArgs["senddatafield"]))
     {
       if(pustefixCheck(pfxArgs))
       {
         var pfxArgsZ = pfxArgs.split("&");
  
         for (var i=0; i<pfxArgsZ.length; i++)
	 {
	   var pfxArgsZ_Cmd = pfxArgsZ[i].substring(0, pfxArgsZ[i].indexOf("="));
	   var pfxArgsZ_Value = pfxArgsZ[i].substring(pfxArgsZ[i].indexOf("=")+1, pfxArgsZ[i].length);

	   href += "&" + pfxArgsZ_Cmd + "=" + pfxArgsZ_Value;
	 };
       };
     };

     if(pustefixCheck(setArgs["popup"]) || (pustefixCheck(setArgs["target"]) && setArgs["target"] == "_blank"))
     {
       var ph = pustefixCheck(setArgs["popupheight"]) ? setArgs["popupheight"] : 400;
       var pw = pustefixCheck(setArgs["popupwidth"]) ? setArgs["popupwidth"] : 400;

       f1 = window.open(href, "f1", "height=" + ph + ",width=" + pw);
       f1.location.href = href;
     }
     else
     {
       window.location.href = href;
     };
   }
   else if(pustefixCheck(setArgs["flow"]) || pustefixCheck(setArgs["submit"]) || pfxWrappers.length > 0)
   {  
     if (!nxValid(pfxForm)) return;
     
     var pfxContainer = document.createElement("div");
     pfxForm.appendChild(pfxContainer);

     if(pustefixCheck(setArgs["flow"]))
       attachInputField(pfxContainer, "__pageflow", setArgs["flow"]);

     if(pustefixCheck(setArgs["action"]))
       attachInputField(pfxContainer, pfxPrefix + ".Action", setArgs["action"]);

     for (var i=0; i<pfxWrappers.length; i++)
       attachInputField(pfxContainer, "__CMD[" + page + "]:SELWRP", pfxWrappers[i]);

     if(pustefixCheck(pfxArgs))
     {
       var pfxArgsZ = pfxArgs.split("&");

       for (var i=0; i<pfxArgsZ.length; i++)
       {
         var pfxArgsZ_Cmd = pfxArgsZ[i].substring(0, pfxArgsZ[i].indexOf("="));
         var pfxArgsZ_Value = pfxArgsZ[i].substring(pfxArgsZ[i].indexOf("=")+1, pfxArgsZ[i].length);

         attachInputField(pfxContainer, pfxArgsZ_Cmd, pfxArgsZ_Value);
       };
     };

     if (pustefixCheck(setArgs["target"])) 
     {
       var oldTarget = pfxForm.target;
       pfxForm.target = setArgs["target"];
     }
     else if (pustefixCheck(setArgs["popup"]))
     {
       var oldTarget = pfxForm.target;
     
       var ph = pustefixCheck(setArgs["popupheight"]) ? setArgs["popupheight"] : 400;
       var pw = pustefixCheck(setArgs["popupwidth"]) ? setArgs["popupwidth"] : 400;

       f1 = window.open("about:blank", "f1", "height=" + ph + ",width=" + pw);
       pfxForm.target = "f1";
     };
 
     pfxForm.submit();

     if (pustefixCheck(setArgs["target"])) 
     {
       pfxForm.target = oldTarget;      
     }
     else if (pustefixCheck(setArgs["popup"]))
     {
       pfxForm.target = oldTarget;
       if (f1) {
         f1.focus();
       };
     };
     
     pfxForm.removeChild(pfxContainer);
     pfxContainer = null;
   }
   else if (pustefixCheck(setArgs["href"]))
   {
     var o = document.getElementById("button_" + setArgs["name"] + "_helper");
     if (o)
     {
       window.open(o.help, "", "");
     }
     else
     {
       alert("Missing info");
     };
   }
   else
   {
     alert("Unhandled event");
   };
};

var prewin;        
      
function cgiPreview(btn, npage, width, height)
{
  var f = btn.form;
  
  var _a = btn.form.action;
  btn.form.action = btn.form.action.replace(page, npage);
  
  prewin = window.open("about:blank", "p1win", "width="  + width + ",height=" + height + ",scrollbars=yes");
  prewin.focus();
  
  var fields = [];
  for (var i=4; i<arguments.length; i+=2)
  {
    var f = document.createElement("input");
    f.type="hidden";
    f.name=arguments[i];
    f.value=arguments[i+1];
    fields.push(f);
    btn.form.appendChild(f);
  };
  
  var _t = btn.form.target;
  btn.form.target = "p1win";
  btn.form.submit();
  
  for (var i=0; i<fields.length; i++)
  {
    btn.form.removeChild(fields[i]);
  };
  
  btn.form.target = _t;
  btn.form.action = _a;
};

