//Define sub-objects in the DSBWebclient object.
var DSBWebClient={
AsyncHTTP:Object,
DOM:Object,
GenFunc:Object
}
// Global configurationvariables.
var gsClassName = "WebPage.DSBWebClient";
var gsErrors = "";
var goXMLHttpFactories = [
function() {return new XMLHttpRequest()},
function() {return new ActiveXObject("Msxml2.XMLHTTP")},
function() {return new ActiveXObject("Msxml3.XMLHTTP")},
function() {return new ActiveXObject("Microsoft.XMLHTTP")}
];
// Functions to manage asynchronous http-requests.
DSBWebClient.AsyncHTTP = function(asCalledFrom) {
//ClassHeader
var lsClassName = "AsyncHTTP";
var lsCalledFrom;
if(asCalledFrom != null) {lsCalledFrom = asCalledFrom;}else{lsCalledFrom = gsClassName;}
var lsClassPath = lsCalledFrom + '.' + lsClassName;
var loDOM = new DSBWebClient.DOM(lsClassPath);
var loGenFunc = new DSBWebClient.GenFunc(lsClassPath);
//End ClassHeader
this.httpRequest = function(asURL, aoCallbackHandler) { // Performs a HttpGet-request on asURL and returns HTTPXML-object.
//Create XMLHTTP-object using object-detection
var loXMLHTTP;
for (var i=0;i';
loElement.innerHTML = loValue;
} catch (e) {}
}
this.urlEncode = function(asInput) { // To urlencode asInput.
var lsSafeChars = "0123456789" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "-_.!~*'()";
var lsHex = "0123456789ABCDEF";
var lsEncoded = "";
var lbLastCharIs13or10;
for (var i = 0; i < asInput.length; i++ ) {
var lsChr = asInput.charAt(i);
if (lsChr == " ") {
lsEncoded += "+";
lbLastCharIs13or10 = false;
}
else if (lsSafeChars.indexOf(lsChr) != -1) {
lsEncoded += lsChr;
lbLastCharIs13or10 = false;
}
else {
var liChr = lsChr.charCodeAt(0);
if (liChr > 255) { //unicode, simply do not encode...
lsEncoded += "+";
var lbLastCharIs13or10 = false;
}
else if (liChr == 13) {
if (lbLastCharIs13or10 == false) {
lsEncoded += "%0D%0A";
lbLastCharIs13or10 = true;
}
}
else if (liChr == 10) {
if (lbLastCharIs13or10 == false) {
lsEncoded += "%0D%0A";
lbLastCharIs13or10 = true;
}
}
else {
lsEncoded += "%";
lsEncoded += lsHex.charAt((liChr >> 4) & 0xF);
lsEncoded += lsHex.charAt(liChr & 0xF);
var lbLastCharIs13or10 = false;
}
}
}
return lsEncoded;
}
this.isArray = function(aoInput){
var lbArray = false;
if (aoInput) {
if (typeof aoInput == 'object' || typeof aoInput == 'function') {
if (aoInput.constructor == Array) {
lbArray = true;
}
}
}
return lbArray;
}
this.makePostString = function(aarrFields) {
var i,loElement;
var lsOutput = "";
for (i=0;i String(asInput).length) {
return asInput;
}
else {
return String(asInput).substring(0,aiLen);
}
}
}