Wednesday 30 July 2008

Quick testimonial

Quick testi ini berfungsi untuk menampilkan form input testimonial di profile kamu. Dilengkapi dengan icon emotion dari yahoo messennger, Credit by: by FeRuZZ © http://profiles.friendster.com/feruzz @ friendstertalk.com

Caranya cukup save code ini dengan extensi *.js misal quicktesti.js kemudian gunakan java script linker untuk meload script ini.

^^============================================^^


/**
* Quick Testimonial Box Version 3.6
* Features: Smilies, AJAX (Primary Photo) & Live Preview
* Copyright 2007-2008 by FeRuZZ © http://profiles.friendster.com/feruzz
* With help of Eykal @ http://profiles.friendster.com/eykal
* Updates: July 1, 2008
* Browser Compatibility: IE5.5, IE6, IE7, IE8, Firefox 2, Firefox 3, Opera 9, Safari 3.0
**/

//-----------------------------

/*global COMMENTOR, document, window*/
(function () {
COMMENTOR = {
$linker: [],
$max: 5000,
$amp: "&",
$ie: /*@cc_on!@*/false,
$dir: "http://h1.ripway.com/feruzz/friendster/",

details: {
photo: null,
name: null
},

regexp: {
photo: /imgblock200"><a[\S\s]*?>([\S\s]*?)<\/div>/i,
name: /controlpanel_header">([\S\s]*?)<a\s*name="controlpanel/i
},

repTxt: {
"onlynum": /[^\d]/g
},

valid: function (o, w) {
o.value = o.value.replace(COMMENTOR.repTxt[w], "");
},

init: function () {
/*global pageViewerID, pageOwnerID, location*/
var myFriend = "no";
var cScan = COMMENTOR.$("controlPanelButtons").innerHTML;
var searchFriend = cScan.search(/Add as Friend/);
if (searchFriend > 0) {
myFriend = "yes";
}
if (pageViewerID !== "" && myFriend === "no") {
try {
var ls = [];
var olinks = document.links;
for (var x = 0, y = olinks.length; x < y; x += 1) {
if (olinks[x].innerHTML.match(/Post a Comment|Add Comment/)) {
ls.push(olinks[x]);
}
}
COMMENTOR.$linker = ls;
try {
COMMENTOR.$linker[0].href = "#quicktesti";
COMMENTOR.$linker[0].onclick = function () {
COMMENTOR.openForm();
};
} catch (e) {}
try {
COMMENTOR.$linker[1].href = "#quicktesti";
COMMENTOR.$linker[1].onclick = function () {
COMMENTOR.openForm();
};
} catch (er) {}
try {
COMMENTOR.$linker[2].href = "#quicktesti";
COMMENTOR.$linker[2].onclick = function () {
COMMENTOR.openForm();
};
} catch (err) {}
}catch (errs) {
COMMENTOR.$linker = "";
}
COMMENTOR.exCSS(COMMENTOR.$dir + "commentor.css");
}
},

openForm: function () {
var commLength = COMMENTOR.$linker.length, x, y;
if (!COMMENTOR.$ie) {
for (x = 0, y = commLength; x < y; x += 1) {
COMMENTOR.$linker[x].onclick = function () {
COMMENTOR.$linker[x].href = "#quicktesti";
}();
}
} else { //For IE
try {
COMMENTOR.$linker[0].onclick = function () {
COMMENTOR.$linker[0].href = "#quicktesti";
};
} catch (e) {}
try {
COMMENTOR.$linker[1].onclick = function () {
COMMENTOR.$linker[1].href = "#quicktesti";
};
} catch (er) {}
try {
COMMENTOR.$linker[2].onclick = function () {
COMMENTOR.$linker[2].href = "#quicktesti";
};
} catch (err) {}
}
var smlist = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21",
"22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43",
"44", "45", "46", "47", "48", "52", "53", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "76", "77", "78"];
/*global smileys, pageOwnerFName, pageViewerID, pageOwnerID*/
smileys = [];
for (var sm = 0, ls = smlist.length; sm < ls; sm += 1) {
smileys[smlist[sm]] = "http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/" + smlist[sm] + ".gif";
}
var smdiv = document.createElement("div");
smdiv.className = "smileysdiv";
COMMENTOR.changeText(smdiv, "");
for (sm = 0, ls = smlist.length; sm < ls; sm += 1) {
smdiv.innerHTML += "<span class=\"smbox\"><a href=\"javascript:void(0);\" onclick=\"COMMENTOR.rtxt('::" + smlist[sm] + "::', COMMENTOR.$('komen')); return false;\">" +
"<img class=\"smiley\" title=\"" + smlist[sm] + "\" src=\"" + smileys[smlist[sm]] + "\"></a></span>";
}
var htmlspaces = "&nb" + "sp;";
var commform = "<div class=\"quicktestiprev\">" +
"<div id=\"commentprevbox\"><div id=\"prevComment\"></div></div>" +
"<p>You Can Also Dress Up Your Testimonial Or Comment With HTML, CSS, And Embed Images & Video! " +
"<a href=\"javascript:void(0);\" onclick=\"javascript:popup('/info/helpmedia.php',450,400,'yes');\">Click Here</a>" + htmlspaces +
"To Find Out How To <a href=\"javascript:void(0);\" onclick=\"javascript:popup('/info/helpmedia.php',450,400,'yes');\">" +
"Add Videos And Images</a>.</p>" +
"<form id=\"testimonial_form\" name=\"testimonial_form\" method=\"post\" onsubmit=\"return checkFormSubmit('testimonial_form');\">" +
"<input type=\"hidden\" name=\"testimonial_firstname\" value=\"" + pageOwnerFName + "\">" +
"<input type=\"hidden\" name=\"testimonial_uid\" value=\"" + pageViewerID + "\">" +
"<input type=\"hidden\" name=\"_submitted\" value=\"1\">" +
"<table class=\"formtable\"><tr>" +
"<td class=\"field\"><span class=\"q\">To:</span></td><td class=\"value\"><div id=\"outputphoto\"></div><div align=\"center\" id=\"outputname\"></div></td>" +
"<td class=\"value\"><span class=\"q\">Friendster" + htmlspaces + "ID" + htmlspaces + ":</span>" + htmlspaces + "<input type=\"text\" id=\"txtsearchfs\" value=\"" + pageOwnerID + "\" onkeyup=\"COMMENTOR.mainphoto();COMMENTOR.valid(this, 'onlynum');\" onblur=\"COMMENTOR.valid(this, 'onlynum');\" maxlength=\"9\">" +
"</td></tr></table>" +
"<div class=\"testibutton\">" +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/bold.gif\" name=\"bold\" onclick=\"COMMENTOR.insertTag('<b>','</b>');\" class=\"postimage\" title=\"bold\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/italic.gif\" name=\"italic\" onclick=\"COMMENTOR.insertTag('<i>','</i>');\" class=\"postimage\" title=\"italic\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/under.gif\" name=\"underline\" onclick=\"COMMENTOR.insertTag('<span style=text-decoration:underline>','</span>');\" class=\"postimage\" title=\"underline\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/sup.gif\" name=\"sup\" onclick=\"COMMENTOR.insertTag('<big>','</big>');\" class=\"postimage\" title=\"superscript\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/sub.gif\" name=\"sub\" onclick=\"COMMENTOR.insertTag('<small>','</small>');\" class=\"postimage\" title=\"subscript\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/strike.gif\" name=\"strike\" onclick=\"COMMENTOR.insertTag('<del>','</del>');\" class=\"postimage\" title=\"strike\"></a>" + htmlspaces +
"<a href=\"javascript:void(0);\"><img border=\"0\" src=\"" + COMMENTOR.$dir + "photo/commentor/center.gif\" name=\"center\" onclick=\"COMMENTOR.insertTag('<div align=center>','</div>');\" class=\"postimage\" title=\"center\"></a>" + htmlspaces +
"<select name=\"fnt_color\" id=\"fnt_color\" onChange=\"COMMENTOR.insertTag('<span style=color:' + COMMENTOR.$('testimonial_form').fnt_color.options[fnt_color.selectedIndex].value + '>', '</span>'); COMMENTOR.$('testimonial_form').fnt_color.options[0].selected=true\">" +
"<option value=\"\">Color" +
"<option value=\"#F0F8FF\">AliceBlue<option value=\"#FAEBD7\">AntiqueWhite<option value=\"#00FFFF\">Aqua<option value=\"#7FFFD4\">AquaMarine" +
"<option value=\"#F0FFFF\">Azure<option value=\"#F5F5DC\">Beige<option value=\"#FFE4C4\">Bisque<option value=\"#000000\">Black" +
"<option value=\"#FFEBCD\">BlanchedAlmond<option value=\"#0000FF\">Blue<option value=\"#8A2BE2\">BlueViolet<option value=\"#A52A2A\">Brown" +
"<option value=\"#DEB887\">BurlyWood<option value=\"#5F9EA0\">CadetBlue<option value=\"#7FFF00\">Chartreuse<option value=\"#D2691E\">Chocolate" +
"<option value=\"#FF7F50\">Coral<option value=\"#6495ED\">CornflowerBlue<option value=\"#FFF8DC\">Cornsilk<option value=\"#DC143C\">Crimson" +
"<option value=\"#00FFFF\">Cyan<option value=\"#00008B\">DarkBlue<option value=\"#008B8B\">DarkCyan<option value=\"#B8860B\">DarkGoldenRod" +
"<option value=\"#A9A9A9\">DarkGray<option value=\"#006400\">DarkGreen<option value=\"#BDB76B\">DarkKhaki<option value=\"#8B008B\">DarkMagenta" +
"<option value=\"#556B2F\">DarkOliveGreen<option value=\"#FF8C00\">DarkOrange<option value=\"#9932CC\">DarkOrchid<option value=\"#8B0000\">DarkRed" +
"<option value=\"#E9967A\">DarkSalmon<option value=\"#8FBC8F\">DarkSeaGreen<option value=\"#483D8B\">DarkSlateBlue<option value=\"#2F4F4F\">DarkSlateGray" +
"<option value=\"#00CED1\">DarkTurquoise<option value=\"#9400D3\">DarkViolet<option value=\"#FF1493\">DeepPink<option value=\"#00BFFF\">DeepSkyBlue" +
"<option value=\"#696969\">DimGray<option value=\"#1E90FF\">DodgerBlue<option value=\"#B22222\">FireBrick<option value=\"#FFFAF0\">FloralWhite" +
"<option value=\"#228B22\">ForestGreen<option value=\"#FF00FF\">Fuchsia<option value=\"#DCDCDC\">Gainsboro<option value=\"#F8F8FF\">GhostWhite" +
"<option value=\"#FFD700\">Gold<option value=\"#DAA520\">GoldenRod<option value=\"#808080\">Gray<option value=\"#008000\">Green" +
"<option value=\"#ADFF2F\">GreenYellow<option value=\"#F0FFF0\">HoneyDew<option value=\"#FF69B4\">HotPink<option value=\"#CD5C5C\">IndianRed" +
"<option value=\"#4B0082\">Indigo<option value=\"#FFFFF0\">Ivory<option value=\"#F0E68C\">Khaki<option value=\"#E6E6FA\">Lavender" +
"<option value=\"#FFF0F5\">LavenderBlush<option value=\"#7CFC00\">LawnGreen<option value=\"#FFFACD\">LemonChiffon<option value=\"#ADD8E6\">LightBlue" +
"<option value=\"#F08080\">LightCoral<option value=\"#E0FFFF\">LightCyan<option value=\"#FAFAD2\">LightGoldenRodYellow<option value=\"#D3D3D3\">LightGray" +
"<option value=\"#90EE90\">LightGreen<option value=\"#FFB6C1\">LightPink<option value=\"#FFA07A\">LightSalmon<option value=\"#20B2AA\">LightSeaGreen" +
"<option value=\"#87CEFA\">LightSkyBlue<option value=\"#778899\">LightSlateGray<option value=\"#B0C4DE\">LightSteelBlue<option value=\"#FFFFE0\">LightYellow" +
"<option value=\"#00FF00\">Lime<option value=\"#32CD32\">LimeGreen<option value=\"#FAF0E6\">Linen<option value=\"#FF00FF\">Magenta" +
"<option value=\"#800000\">Maroon<option value=\"#66CDAA\">MediumAquaMarine<option value=\"#0000CD\">MediumBlue<option value=\"#BA55D3\">MediumOrchid" +
"<option value=\"#9370D8\">MediumPurple<option value=\"#3CB371\">MediumSeaGreen<option value=\"#7B68EE\">MediumSlateBlue<option value=\"#00FA9A\">MediumSpringGreen" +
"<option value=\"#48D1CC\">MediumTurquoise<option value=\"#C71585\">MediumVioletRed<option value=\"#191970\">MidnightBlue<option value=\"#F5FFFA\">MintCream" +
"<option value=\"#FFE4E1\">MistyRose<option value=\"#FFE4B5\">Mocassin<option value=\"#FFDEAD\">NavajoWhite<option value=\"#000080\">Navy" +
"<option value=\"#FDF5E6\">OldLace<option value=\"#808000\">Olive<option value=\"#6B8E23\">OliveDrab<option value=\"#FFA500\">Orange" +
"<option value=\"#FF4500\">OrangeRed<option value=\"#EEE8AA\">PaleGoldenRod<option value=\"#98FB98\">PaleGreen<option value=\"#AFEEEE\">PaleTurquoise" +
"<option value=\"#D87093\">PaleVioletRed<option value=\"#FFEFD5\">PapayaWhip<option value=\"#FFDAB9\">PeachPuff<option value=\"#CD853F\">Peru" +
"<option value=\"#FFC0CB\">Pink<option value=\"#DDA0DD\">Plum<option value=\"#B0E0E6\">PowderBlue<option value=\"#800080\">Purple" +
"<option value=\"#FF0000\">Red<option value=\"#BC8F8F\">RosyBrown<option value=\"#4169E1\">RoyalBlue<option value=\"#8B4513\">SaddleBrown" +
"<option value=\"#FA8072\">Salmon<option value=\"#F4A460\">SandyBrown<option value=\"#2E8B57\">SeaGreen<option value=\"#FFF5EE\">SeaShell" +
"<option value=\"#A0522D\">Sienna<option value=\"#C0C0C0\">Silver<option value=\"#87CEEB\">SkyBlue<option value=\"#6A5ACD\">SlateBlue" +
"<option value=\"#708090\">SlateGray<option value=\"#FFFAFA\">Snow<option value=\"#00FF7F\">SpringGreen<option value=\"#4682B4\">SteelBlue" +
"<option value=\"#D2B48C\">Tan<option value=\"#008080\">Teal<option value=\"#D8BFD8\">Thistle<option value=\"#FF6347\">Tomato" +
"<option value=\"#40E0D0\">Turquoise<option value=\"#EE82EE\">Violet<option value=\"#F5DEB3\">Wheat<option value=\"#FFFFFF\">White" +
"<option value=\"#F5F5F5\">WhiteSmoke<option value=\"#FFFF00\">Yellow<option value=\"#9ACD32\">YellowGreen" +
"</select>" + htmlspaces +
"<select name=\"fnt_face\" id=\"fnt_face\" onChange=\"COMMENTOR.insertTag('<span style=font-family:' + COMMENTOR.$('testimonial_form').fnt_face.options[fnt_face.selectedIndex].value + '>', '</span>'); COMMENTOR.$('testimonial_form').fnt_face.options[0].selected=true\">" +
"<option value=\"\">Font" +
"<option value=\"serif\" style=\"font-family:serif\">Serif" +
"<option value=\"monospace\" style=\"font-family:monospace\">Monospace" +
"<option value=\"Century\" style=\"font-family:Century\">Century" +
"<option value=\"Courier\" style=\"font-family:Courier\">Courier" +
"</select>" +
"</div>" +
"<table class=\"formtable\"><tr><td class=\"value\">" +
"<textarea id=\"komen\" rows=\"7\" tabindex=\"4\" name=\"body\" onfocus=\"COMMENTOR.setbg('#ddd');\" onblur=\"COMMENTOR.setbg('#e5fff3')\" onKeyDown=\"textCounter(COMMENTOR.$('komen'),COMMENTOR.$('minputcount')," + COMMENTOR.$max + ");\" onKeyUp=\"COMMENTOR.livecomprev();COMMENTOR.stripTags(this);textCounter(COMMENTOR.$('komen'),COMMENTOR.$('minputcount')," + COMMENTOR.$max + ");\" onblur=\"COMMENTOR.stripTags(this);\"></textarea>" +
"<div class=\"resizeButtons\">" +
"<a href=\"javascript:void(0);\" onclick=\"COMMENTOR.rstxtbox('komen', 0, 10);\"><img alt=\"\" src=\"" + COMMENTOR.$dir + "photo/rs_vb.gif\" style=\"margin: 2px\" /></a>" +
"<a href=\"javascript:void(0);\" onclick=\"COMMENTOR.rstxtbox('komen', 0, -10);\"><img alt=\"\" src=\"" + COMMENTOR.$dir + "photo/rs_vs.gif\" style=\"margin: 2px\" /></a>" +
"</div>" +
"</td></tr><tr><td class=\"value\">" +
"<input class=\"inputButtons\" type=\"button\" name=\"Submit\" href=\"#quicktesti\" onclick=\"COMMENTOR.stripTags(COMMENTOR.$('komen'));COMMENTOR.livecomprev();COMMENTOR.sendAction();\" value=\"Submit\">" + htmlspaces +
"<input class=\"inputButtons\" type=\"button\" name=\"cancel\" value=\"Clear\" maxlength=\"25\" onclick=\"COMMENTOR.commentClick();\">" + htmlspaces +
"<input class=\"inputButtons\" type=\"reset\" name=\"cancel\" onclick=\"COMMENTOR.cancelForm();\" value=\"Close\">" + htmlspaces +
"<input id=\"show\" class=\"inputButtons\" type=\"button\" name=\"Smilies\" onclick=\"COMMENTOR.showForm();\" value=\"Open Smilies\">" +
"<input id=\"close\" style=\"display:none;\" class=\"inputButtons\" type=\"button\" name=\"Smilies\" onclick=\"COMMENTOR.hideForm();\" value=\"Close Smilies\">" +
"<div class=\"dc\"><span class=\"q\">Characters" + htmlspaces + "remaining" + htmlspaces + "</span><input id=\"minputcount\" readonly maxlength=\"4\" size=\"4\" value=\"" + COMMENTOR.$max + "\" name=\"inputcount\"></div>" +
"<div id=\"hide\" style=\"display:none;width:468px;\" align=\"center\">" + smdiv.innerHTML + "</div>" +
"</td></tr></table></form></div>";
COMMENTOR.commentBox("Quick Testimonial", commform, "quicktesti", "18", "above");
window.location.href = "#quicktesti";
COMMENTOR.mainphoto();
},

anaconda: function (htm) {
if (htm.replace(/^\s*|\s*$/g, "") === "") {
window.alert("ERROR: Empty xmlresponse! \n Unable to parse user details!");
return;
} else if (htm) {
for (var val in COMMENTOR.details) {
if (typeof COMMENTOR.details[val] !== "function") {
try {
COMMENTOR.details[val] = new RegExp(COMMENTOR.regexp[val]).exec(htm)[1];
} catch (e) {
COMMENTOR.details[val] = "";
}
}
}
var idVal = COMMENTOR.$("txtsearchfs").value;
var outputObj = COMMENTOR.$("outputphoto");
outputObj = COMMENTOR.replaceHtml(outputObj, COMMENTOR.details.photo.replace(/<img/g, "<a href=\"http://" + location.hostname + "/" + idVal + "\" target=\"_blank\"><img"));
var outputName = COMMENTOR.$("outputname");
outputName = COMMENTOR.replaceHtml(outputName, "<a href=\"http://" + location.hostname + "/" + idVal + "\" target=\"_blank\">" + COMMENTOR.details.name + "</a>");
}
},

mainphoto: function () {
if (COMMENTOR.$("txtsearchfs") !== "") {
var idVal = COMMENTOR.$("txtsearchfs").value;
if (window.location.href.indexOf("user.php") !== -1) {
COMMENTOR.getRequest("http://" + location.hostname + "/user.php?uid=" + idVal, true, COMMENTOR.anaconda, null);
} else {
COMMENTOR.getRequest("http://" + location.hostname + "/" + idVal, true, COMMENTOR.anaconda, null);
}
}
},

setbg: function (color) {
COMMENTOR.$("komen").style.background = color;
},

sendAction: function () {
var idVal = COMMENTOR.$("txtsearchfs").value;
if (COMMENTOR.$("txtsearchfs").value === "") {
window.alert("Please insert Friendster ID!");
return;
} else if (COMMENTOR.$("komen").value === "") {
window.alert("Empty comment!");
return;
} else {
COMMENTOR.$("testimonial_form").action = "http://www.friendster.com/testimonials.php?uid=" + idVal + "&action=add";
COMMENTOR.$("testimonial_form").submit();
COMMENTOR.changeText(COMMENTOR.$("quicktesti").getElementsByTagName("h2")[0], "Fetching comment...Please wait...");
var postComment = document.createElement("div");
postComment.className = "boxcontent";
postComment.align = "center";
postComment.appendChild(document.createElement("img"));
postComment.getElementsByTagName("img")[0].src = COMMENTOR.$dir + "photo/commentor/loader1.gif";
if (COMMENTOR.$("content_quicktesti") !== "") {
COMMENTOR.$("content_quicktesti").parentNode.replaceChild(postComment, COMMENTOR.$("content_quicktesti"));
}
try {
COMMENTOR.$("commentprevbox").parentNode.removeChild(COMMENTOR.$("commentprevbox"));
} catch (e) {}
window.location.href = "#quicktesti";
}
},

stripTags: function (queue) {
var args = arguments.length;
if (args > 0) {
queue.value = queue.value.replace(/(&l)(t;\/*)[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*/g, "$1$2noscript...");
queue.value = queue.value.replace(/(&l)(t;\/*)[\x00-\x20]*s[\x00-\x20]*t[\x00-\x20]*y[\x00-\x20]*l[\x00-\x20]*e[\x00-\x20]*/g, "$1$2nostyle...");
queue.value = queue.value.replace(/(<[^>]+[\x00-\x20\"\'])(on|xmlns)[^>]*>/g, "$1>");
queue.value = queue.value.replace(/([a-z]*)[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)[\x00-\x20]*j[\x00-\x20]*a[\x00-\x20]*v[\x00-\x20]*a[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:/g, "$1=$2nojavascript...");
queue.value = queue.value.replace(/([a-z]*)[\x00-\x20]*=([\'\"]*)[\x00-\x20]*v[\x00-\x20]*b[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:/g, "$1=$2novbscript...");
queue.value = queue.value.replace(/([a-z]*)[\x00-\x20]*=([\'\"]*)[\x00-\x20]*-moz-binding[\x00-\x20]*:/g, "$1=$2nomozbinding...");
queue.value = queue.value.replace(/(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)\s*expression[\x00-\x20]*\([^>]*>/g, "$1>");
queue.value = queue.value.replace(/(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)\s*behaviour[\x00-\x20]*\([^>]*>/g, "$1>");
queue.value = queue.value.replace(/(<[^>]+)style[\x00-\x20]*=[\x00-\x20]*([\`\'\"]*)\s*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:*[^>]*>/g, "$1>");
queue.value = queue.value.replace(/<\/*\w+:\w[^>]*>/g, "");
queue.value = queue.value.replace(/(&\#*\w+)[\x00-\x20]+;/g, "$1;");
queue.value = queue.value.replace(/(&\#x*)([0-9A-F]+);*/g, "$1$2;");
queue.value = queue.value.replace(/(^[\/]{2}[^\n]*)|([\n]{1,}[\/]{2}[^\n]*)/g, "");
do {
var $oldstring = queue.value;
queue.value = queue.value.replace(/<\/*(applet|meta|xml|blink|link|style|script|embed|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>/g, "");
} while ($oldstring !== queue.value);
}
return args;
},

livecomprev: function () {
var commentVal = COMMENTOR.$("komen").value;
commentVal = commentVal.replace(/\r\n|\r|\n/g, "<br/>").replace(/&l/g, "<").replace(/&g/g, ">").replace(/t;/g, "");
var allsmileys = COMMENTOR.$("komen").value.match(/::(\w+)?::/gim);
if (allsmileys) {
for (var sm = 0, ls = allsmileys.length; sm < ls; sm += 1) {
if (smileys[allsmileys[sm].match(/\w+/)[0]] !== "undefined") {
allsmileys[sm] = "<img src=\"" + smileys[allsmileys[sm].match(/\w+/)[0]] + "\">";
COMMENTOR.$("komen").value = COMMENTOR.$("komen").value.replace(/::(\w+)?::/im, allsmileys[sm]);
//fixed
commentVal = commentVal.replace(/::(\w+)?::/im, allsmileys[sm]);
}
}
}
var commentObj = COMMENTOR.$("prevComment");
commentObj = COMMENTOR.replaceHtml(commentObj, commentVal);
},

commentClick: function () {
var commentValue = ["prevComment", "komen"], x = 0;
while (x < commentValue.length) {
commentValue[x] = COMMENTOR.replaceHtml(COMMENTOR.$(commentValue[x]), "");
x += 1;
}
window.location.href = "#quicktesti";
},

exCSS: function (links) {
var objCSS;
var objHead = document.getElementsByTagName("head");
if (objHead[0]) {
if (document.createElementNS && objHead[0].tagName === "head") {
objCSS = objHead[0].appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "link"));
} else {
objCSS = objHead[0].appendChild(document.createElement("link"));
objCSS.rel = "stylesheet";
objCSS.href = links;
objCSS.type = "text/css";
}
}
},

cancelForm: function () {
var commentPreview = COMMENTOR.$("prevComment");
commentPreview = COMMENTOR.replaceHtml(commentPreview, "");
try {
window.setTimeout("COMMENTOR.$('quicktesti').parentNode.removeChild(COMMENTOR.$('quicktesti'));window.location.href='#18'", 2000);
} catch (e) {
window.setTimeout("COMMENTOR.$('quicktesti').style.display='none';window.location.href='#18'", 2000);
}
COMMENTOR.init();
},

showForm: function () {
if (COMMENTOR.$("hide").style.display !== "none") {
COMMENTOR.hideForm();
} else {
var x, y;
var disNo = ["hide", "close"];
for (x = 0, y = disNo.length; x < y; x += 1) {
COMMENTOR.$(disNo[x]).style.display = "";
}
COMMENTOR.$("show").style.display = "none";
}
},

hideForm: function () {
if (COMMENTOR.$("hide").style.display !== "") {
COMMENTOR.showForm();
} else {
var x, y;
var disNone = ["hide", "close"];
for (x = 0, y = disNone.length; x < y; x += 1) {
COMMENTOR.$(disNone[x]).style.display = "none";
}
COMMENTOR.$("show").style.display = "";
}
},

replaceHtml: function (el, html) {
var oldEl = typeof el === "string" ? COMMENTOR.$(el) : el;
/*@cc_on
@if (@_win32 || @_win64)
oldEl.innerHTML = html;
return oldEl;
@end
@*/
var newEl = oldEl.cloneNode(false);
newEl.innerHTML = html;
oldEl.parentNode.replaceChild(newEl, oldEl);
return newEl;
},

innerTextFeature: function () {
var obj = (document.getElementsByTagName("body")[0].innerText !== undefined) ? true : false;
return obj;
},

changeText: function (elem, changeVal) {
if (!COMMENTOR.innerTextFeature()) {
elem.textContent = changeVal;
} else {
elem.innerText = changeVal;
}
},

rtxt: function (text, textarea) {
if (typeof textarea.caretPos !== "undefined" && textarea.createTextRange) {
var caretPos = textarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) === " " ? text + " ": text;
caretPos.select();
} else if (typeof textarea.selectionStart !== "undefined") {
var begin = textarea.value.substr(0, textarea.selectionStart);
var end = textarea.value.substr(textarea.selectionEnd);
var scrollPos = textarea.scrollTop;
textarea.value = begin + text + end;
if (textarea.setSelectionRange) {
textarea.focus();
textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
}
textarea.scrollTop = scrollPos;
} else {
textarea.value += text;
textarea.focus(textarea.value.length - 1);
}
},

insertTag: function (open, close) {
var msgfield = document.all ? document.all.body : COMMENTOR.$("testimonial_form").body;
if (document.selection && document.selection.createRange) {
msgfield.focus();
var sel = document.selection.createRange();
sel.text = open + sel.text + close;
msgfield.focus();
} else if (msgfield.selectionStart || msgfield.selectionStart <= 0) {
var startPos = msgfield.selectionStart;
var endPos = msgfield.selectionEnd;
msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
msgfield.focus();
} else {
msgfield.value += open + close;
msgfield.focus();
}
return;
},

rstxtbox: function (name, colInc, rowInc) {
try {
var objek;
if (COMMENTOR.$ie) {
objek = document.all[name];
} else {
objek = COMMENTOR.$(name);
}
objek.rows += rowInc;
objek.cols += colInc;
} catch (e) {}
},

$: function () {
var elements = [];
for (var i = 0, j = arguments.length; i < j; i += 1) {
var element = arguments[i];
if (typeof element === "string") {
element = document.getElementById(element);
}
if (arguments.length === 1) {
return element;
}
elements.push(element);
}
return elements;
},

commentBox: function (header, htmlString, id, sibling, insertion) {
var sibdiv, sibli;
try {
sibdiv = document.createElement("div");
} catch (e) {
sibdiv = document.createElement("<div>");
}
sibdiv.className = "commonbox " + id;
sibdiv.id = id;
if (!header) {
header = "";
} else {
header = "<h2>" + header + "</h2>";
}
sibdiv.innerHTML = header;
try {
sibdiv.appendChild(document.createElement("div"));
} catch (er) {
sibdiv.appendChild(document.createElement("<div>"));
}
if (document.getElementsByTagName) {
sibdiv.getElementsByTagName("div")[0].id = "content_" + id;
sibdiv.getElementsByTagName("div")[0].innerHTML = htmlString;
} else if (document.all) {
sibdiv.all.tags("DIV")[0].id = "content_" + id;
sibdiv.all.tags("DIV")[0].innerHTML = htmlString;
}
try {
sibli = document.createElement("li");
} catch (err) {
sibli = document.createElement("<li>");
}
sibli.appendChild(sibdiv);
var ulTag = COMMENTOR.$(sibling);
if (insertion === "below") {
ulTag.parentNode.appendChild(sibli);
} else if (insertion === "above") {
ulTag.parentNode.parentNode.insertBefore(sibli, ulTag.parentNode);
} else {
ulTag.parentNode.parentNode.appendChild(sibli);
}
},

getRequest: function (url, async, func, handlerparam) {
/*global ActiveXObject, XMLHttpRequest, navigator*/
var xmlHttp = null;
var requestDone = false;
var responseType = "text";
var timeout = 0;
var ival = null;
var onreadystatechange = {};
var msxml = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var x = 0, len = msxml.length; x < len; x += 1) {
try {
xmlHttp = window.ActiveXObject ? new ActiveXObject(msxml[x]) : new XMLHttpRequest();
break;
} catch (e) {
if (async) {
xmlHttp = null;
}
}
}
if (typeof func === "function") {
onreadystatechange = function (isTimeout) {
if (!requestDone && xmlHttp && (xmlHttp.readyState === 4 || isTimeout === "timeout")) {
requestDone = true;
if (ival) {
window.clearInterval(ival);
ival = null;
}
if (!xmlHttp.status && location.protocol === "file:" || (xmlHttp.status >= 200 && xmlHttp.status < 300) || xmlHttp.status === 304 || xmlHttp.status === 1223) {
var resPonse = /xml/i.test(responseType) ? xmlHttp.responseXML : xmlHttp.responseText;
func(resPonse.replace(new RegExp("<script[^>]*>[\\S\\s]*?<\/script>", "gi"), ""), handlerparam);
}
if (async) {
xmlHttp = null;
}
}
};
}
if (async) {
ival = window.setInterval(onreadystatechange, 13);
if (timeout > 0) {
window.setTimeout(function () {
if (xmlHttp) {
xmlHttp.abort();
if (!requestDone) {
onreadystatechange("timeout");
}
}
}, timeout);
}
}
xmlHttp.open("GET", url, async);
xmlHttp.setRequestHeader("getRequest", "true");
xmlHttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlHttp.setRequestHeader("If-Modified-Since", "Thu, 01 Jan 1970 00:00:00 GMT");
xmlHttp.setRequestHeader("Accept", "text/javascript, application/javascript, text/html, application/xml, text/xml, text/plain, */*");
xmlHttp.send(null);
if (!async) {
onreadystatechange();
}
return xmlHttp;
}
};
})();

//For IE5.0
if (![].push) {
Array.prototype.push = function () {
for (var x = 0, y = arguments.length; x < y; x += 1) {
this[this.length] = arguments[x];
}
return this.length;
};
}

/*global pageViewerLangPref*/
if (pageViewerLangPref === "en-US") {
COMMENTOR.init();
}

//-----------------------------