123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- /*
- * DON'T REMOVE THE FOLLOWING LICENSE
- * INFORMATION!
- * ----------------------------------
- * Copyright by
- * Dennis Ritz
- * Author: Dennis Ritz
- * dennis.ritz@gmx.net
- * 2007-2008
- * ----------------------------------
- */
- function Form() {
- this.viewTab = function viewTab(p_id) {
- var formParent = document.getElementById(p_id).parentNode;
- var form = formParent.getElementsByTagName('FORM');
- for(i=0;i < form.length;i++)
- {
- form[i].style.display = 'none';
- }
- document.getElementById(p_id).style.display = 'inline';
- }
- function checkForm(form) {
- try{
- var arrarg = new Array();
- var ret = true;
- for(var i=1; i<arguments.length;i++) {
- arrarg[i-1] = arguments[i];
- }
- for(var i=arrarg.length-1; i>=0;i--){
- var item = arrarg[i].split(":");
- var element = form.elements[item[0]];
- var itemError = false;
-
- if(element.value == '') itemError = true;
- if(item.length>1) {
- switch(item[1]) {
- case "PATH": if(element.value.charAt(element.value.length-1) != "\\") itemError = true;
- break;
- }
- }
- if(itemError){
- if(element.className.search(/-xerror/) == -1)
- element.className = element.className+'-xerror';
- element.focus();
- ret = false;
- }else{
- element.className = element.className.replace(/-xerror/,"");
- }
- }
- return ret;
- }catch(e) {Log.error(e);return false;}
- }
- this.checkForm = checkForm;
- this.submit = function submit(p_submitForm,p_submitClass,p_submitClassMethod) {
- var ret = false;
-
- // Prepare for xformCheck
- var arrarg = new Array();
- arrarg[0] = p_submitForm;
- for(var i=0; i <= arguments.length-4; i++) {
- // Arguments after p_submitClassMethod will be checked
- arrarg[i+1] = arguments[i+3];
- }
- ret = checkForm.apply(this,arrarg);
- // Prepare to send form elements
- var xformElements = new Array();
- xformElements.push(p_submitClass);
- xformElements.push(p_submitClassMethod);
- for(var i=0; i<p_submitForm.elements.length;i++){
- var element = p_submitForm.elements[i];
- if(element.tagName == "FIELDSET")
- continue;
- if(element.type == 'submit')
- continue;
- if(element.type == 'reset')
- continue;
- if(element.type == 'button')
- continue;
- if(element.type == 'password'){
- if(typeof(MD5) == "function") {
- // [optional] - Password fields are md5 encrypted before transfered
- var value = element.value;
- xformElements.push(value);
- } else {
- xformElements.push(element.value);
- }
- } else if(element.type == 'radio') {
- // Any radio element is a form element
- var radioElement = document.getElementsByName(element.name);
- for(var k=0;k<radioElement.length;k++) {
- if(radioElement[k].checked){
- xformElements.push(radioElement[k].value);
- break;
- }
- }
- // IMPORTANT TO RISE FORM ELEMENT INDEX!
- i = i + radioElement.length-1;
- } else if(element.type == 'select-multiple') {
- // Select-multiple element is only one form element
- var selectElement = document.getElementsByName(element.name)[0];
- var selectedElements = new Array();
- for(var k=0;k<selectElement.length;k++) {
- if(selectElement[k].selected){
- selectedElements.push(selectElement[k].value);
- }
- }
- xformElements.push(selectedElements);
- } else if(element.type == 'checkbox') {
- if(element.checked) xformElements.push(true);
- else xformElements.push(false);
- } else {
- // Any other form element
- xformElements.push(element.value);
- }
- }
- // Prepare and send Sajax request
- if(ret) {
- for(var i=0; i<p_submitForm.elements.length;i++){
- var element = p_submitForm.elements[i];
- element.disabled = true;
- }
- var xformCb = new Object();
- xformCb.callback = submitCb;
- xformCb.calldata = p_submitForm;
- xformElements.push(xformCb);
- Ajax.request.apply(this,xformElements);
- }
- return false;
- }
-
-
- function submitCb(p_cb,p_form){
- for(var i=0; i<p_form.elements.length;i++){
- var element = p_form.elements[i];
- element.disabled = false;
- }
- CMgr.evalCb(p_cb);
- }
- this.submitCb = submitCb;
-
- this.__construct = function __construct() {
-
- }
- }
- var Form = new Form();
|