/*
	lib.js
 */

// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var ocObject = null;

function cleanOpenContnet(obj) {
  if (ocObject != null) {
    nodes = ocObject.childNodes;
    for (i = 0; i < nodes.length; i++) {
      ocObject.removeChild(nodes[i]);
    }
  }
  ocObject = obj;
}

function encode64_old(input) {
  var output = "";
  var chr1, chr2, chr3;
  var enc1, enc2, enc3, enc4;
  var i = 0;

  do {
    chr1 = input.charCodeAt(i++);
    chr2 = input.charCodeAt(i++);
    chr3 = input.charCodeAt(i++);

    enc1 = chr1 >> 2;
    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    enc4 = chr3 & 63;

    if (isNaN(chr2)) {
      enc3 = enc4 = 64;
    } else if (isNaN(chr3)) {
      enc4 = 64;
    }

    output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
        + keyStr.charAt(enc3) + keyStr.charAt(enc4);
  } while (i < input.length);

  return output;
}

function decode64_old(input) {
  var output = "";
  var chr1, chr2, chr3;
  var enc1, enc2, enc3, enc4;
  var i = 0;

  // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
  input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

  do {
    enc1 = keyStr.indexOf(input.charAt(i++));
    enc2 = keyStr.indexOf(input.charAt(i++));
    enc3 = keyStr.indexOf(input.charAt(i++));
    enc4 = keyStr.indexOf(input.charAt(i++));

    chr1 = (enc1 << 2) | (enc2 >> 4);
    chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
    chr3 = ((enc3 & 3) << 6) | enc4;

    output = output + String.fromCharCode(chr1);

    if (enc3 != 64) {
      output = output + String.fromCharCode(chr2);
    }
    if (enc4 != 64) {
      output = output + String.fromCharCode(chr3);
    }
  } while (i < input.length);

  return output;
}

function checkPices(obj, errtxt) {
  if (obj.value < 50) {
    alert(errtxt);
    return false;
  }
  return true;
}

function popWin(url, name, width, height) {
  attr = 'resizable = yes, scrollbars=yes, left=0, top=0, width=' + width
      + ', height=' + height;
  fenster = window.open(url, name, attr);
  if (screen.height == 600) {
    fenster.outerHeight = 600;
  }
  return fenster;
}

function closeWin() {
  opener.window.location.reload();
  window.close();
}

function chkDateFormat(obj1) {
  if (!eval(obj1).value.match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/)) {
    eval(obj1).focus();
    return false;
  }
  return true;
}

function sortform_commit(form) {
  form.elements[0].setAttribute("multiple", "mutiple");
  opts = form.elements[0].options;
  for ( var i = 0; i < opts.length; i++) {
    opts[i].selected = true;
  }
  form.submit();
}

function sortform_item_up(form) {
  if (form.elements[0].selectedIndex != 0) {
    var index = form.elements[0].selectedIndex;
    var optu = new Option(form.elements[0].options[index].text,
        form.elements[0].options[index].value);
    var optd = new Option(form.elements[0].options[index - 1].text,
        form.elements[0].options[index - 1].value);
    form.elements[0].options[index] = optd;
    form.elements[0].options[index - 1] = optu;
    form.elements[0].options[index - 1].selected = true;
  }

}

function sortform_item_down(form) {
  if (form.elements[0].selectedIndex != form.elements[0].options.length) {
    var index = form.elements[0].selectedIndex;
    var optu = new Option(form.elements[0].options[index].text,
        form.elements[0].options[index].value);
    var optd = new Option(form.elements[0].options[index + 1].text,
        form.elements[0].options[index + 1].value);
    form.elements[0].options[index] = optd;
    form.elements[0].options[index + 1] = optu;
    form.elements[0].options[index + 1].selected = true;
  }
}

String.prototype.leftTrim = function() {
  return (this.replace(/^\s+/, ""));
};

String.prototype.rightTrim = function() {
  return (this.replace(/\s+$/, ""));
};

String.prototype.basicTrim = function() {
  return (this.replace(/\s+$/, "").replace(/^\s+/, ""));
};

String.prototype.superTrim = function() {
  return (this.replace(/\s+/g, " ").replace(/\s+$/, "").replace(/^\s+/, ""));
};

String.prototype.removeWhiteSpaces = function() {
  return (this.replace(/\s+/g, ""));
};

function aLinkTo(url) {
  $.ajax( {
    url : url,
    success : function(html) {
      $("#content").html(html);
    }
  });
}

function aLinkToConfirm(url, msg) {
  check = confirm(msg);
  if (check == true) {
    $.ajax( {
      url : url,
      success : function(html) {
        $("#content").html(html);
      }
    });
  }
}

function aSubmitTo(url, url2, data) {
  $.ajax( {
    type: "POST",
    url : url,
    data: data,
    success : function(html) {
      aLinkTo(url2);
    }
  });
}

