var Mullivan;
if (!Mullivan) Mullivan = {};
else if (typeof Mullivan != "object")
throw new Error("Mullivan already exists and is not an object");
if (Mullivan.Utilities)
throw new Error("Mullivan.Utilities already exists");
Mullivan.Utilities = {
HtmlEncode: function(textToEncode) {
var result = textToEncode;
var amp = "&";
var gt = ">";
var lt = "<";
var quot = "\"";
var apos = "'";
var nbsp = " ";
var html_gt = ">";
var html_lt = "<";
var html_amp = "&";
var html_quot = """;
var html_apos = "'";
var html_nbsp = " ";
while (result.indexOf(amp) > -1)
result = result.replace(amp, html_amp);
while (result.indexOf(quot) > -1)
result = result.replace(quot, html_quot);
while (result.indexOf(lt) > -1)
result = result.replace(lt, html_lt);
while (result.indexOf(gt) > -1)
result = result.replace(gt, html_gt);
while (result.indexOf(apos) > -1)
result = result.replace(apos, html_apos);
while (result.indexOf(nbsp) > -1)
result = result.replace(nbsp, html_nbsp);
return result;
},
HtmlDecode: function(textToDecode) {
var result = textToDecode;
var gt = ">";
var lt = "<";
var amp = "&";
var quot = """;
var apos = "'";
var nbsp = " ";
var html_gt = ">";
var html_lt = "<";
var html_amp = "&";
var html_quot = "\"";
var html_apos = "'";
var html_nbsp = " ";
while (result.indexOf(amp) > -1)
result = result.replace(amp, html_amp);
while (result.indexOf(quot) > -1)
result = result.replace(quot, html_quot);
while (result.indexOf(lt) > -1)
result = result.replace(lt, html_lt);
while (result.indexOf(gt) > -1)
result = result.replace(gt, html_gt);
while (result.indexOf(apos) > -1)
result = result.replace(apos, html_apos);
while (result.indexOf(nbsp) > -1)
result = result.replace(nbsp, html_nbsp);
return result;
},
HtmlEncode2: function(textToEncode) {
var result = "";
for (var i = 0; i < textToEncode.length; i++) {
var currentCharCode = textToEncode.charCodeAt(i);
result += "&#" + currentCharCode + ";";
}
return result;
},
HtmlDecode2: function(textToDecode) {
var result = "";
if (textToDecode.indexOf("&") < 0) {
result = textToDecode;
}
else {
for (var i = 0; i < textToDecode.length; i++) {
var charCurrent = textToDecode.charAt(i);
var currentEntity = "";
if (charCurrent == "&") {
var endIndex = textToDecode.indexOf(";", i + 1);
if (endIndex > 0) {
var entity = textToDecode.substring(i + 1, endIndex);
if ((entity.length > 1) && (entity.charAt(0) == "#")) {
try {
if ((entity.charAt(1) == "x") || (entity.charAt(1) == "X")) {
currentEntity = String.fromCharCode(entity.substring(2));
}
else {
currentEntity = String.fromCharCode(entity.substring(1));
}
}
catch (e) {
i++;
}
}
}
}
result += currentEntity;
}
}
return this.HtmlDecode(result);
},
UrlEncode: function(textToEncode) {
return escape(textToEncode).replace(/\+/g, '%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
},
UrlDecode: function(textToDecode) {
var result = "";
if (textToDecode.indexOf("%") < 0) {
result = textToDecode;
}
else {
for (var i = 0; i < textToDecode.length; i++) {
var charCurrent = textToDecode.charAt(i);
var currentEntity = "";
if (charCurrent == "%") {
var endIndex = textToDecode.indexOf("%", i + 1);
if (endIndex < 0) {
endIndex = textToDecode.length;
}
var entity = textToDecode.substring(i + 1, endIndex);
currentEntity = String.fromCharCode(parseInt(entity, 16));
i += entity.length;
}
result += currentEntity;
}
}
return result;
},
XmlEncode: function(textToEncode) {
var result = textToEncode;
var amp = "&";
var gt = ">";
var lt = "<";
var quot = "\"";
var apos = "'";
var xml_gt = ">";
var xml_lt = "<";
var xml_amp = "&";
var xml_quot = """;
var xml_apos = "'";
while (result.indexOf(amp) > -1)
result = result.replace(amp, xml_amp);
while (result.indexOf(quot) > -1)
result = result.replace(quot, xml_quot);
while (result.indexOf(lt) > -1)
result = result.replace(lt, xml_lt);
while (result.indexOf(gt) > -1)
result = result.replace(gt, xml_gt);
while (result.indexOf(apos) > -1)
result = result.replace(apos, xml_apos);
return result;
},
XmlDecode: function(textToDecode) {
var result = textToDecode;
var gt = ">";
var lt = "<";
var amp = "&";
var quot = """;
var apos = "'";
var xml_gt = ">";
var xml_lt = "<";
var xml_amp = "&";
var xml_quot = "\"";
var xml_apos = "'";
while (result.indexOf(amp) > -1)
result = result.replace(amp, xml_amp);
while (result.indexOf(quot) > -1)
result = result.replace(quot, xml_quot);
while (result.indexOf(lt) > -1)
result = result.replace(lt, xml_lt);
while (result.indexOf(gt) > -1)
result = result.replace(gt, xml_gt);
while (result.indexOf(apos) > -1)
result = result.replace(apos, xml_apos);
return result;
},
NewGuid: function() {
var result, i, j;
result = '';
for (j = 0; j < 32; j++) {
if (j == 8 || j == 12 || j == 16 || j == 20)
result = result + '-';
i = Math.floor(Math.random() * 16).toString(16).toUpperCase();
result = result + i;
}
return result
}
};