String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}
/*
function getElementsByName_iefix(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}
function addwbr(oldString) {
	   oldString = oldString.replace(/^\s+|\s+$/g, '') ; // trim
	   var newString = "";
	   var inTag = false;
	   var firstTag = -1;
	   var flag = true;
	   for(var i = 0; i < oldString.length; i++) {
	        if(oldString.charAt(i) == '<') inTag = true;
	        if(oldString.charAt(i) == '>') {
	            if(oldString.charAt(i+1)=="<")
	            {
	              	//dont do anything
				}
				else
				{
					inTag = false;
					//i++;
				}
	        }
	        if(!inTag) newString += oldString.charAt(i)+"<wbr>";
	        else newString += oldString.charAt(i);
	        if(!inTag) flag = false;
	        if(flag && inTag) firstTag = i;
	   }
	   firstbr = oldString.indexOf("<br>");
	   if(firstbr>=0 && firstbr<firstTag){
	   		newString = newString.replace(/<br>/, "<_br>");
	   }
	   firstbr = oldString.indexOf("<br/>");
	   if(firstbr>=0 && firstbr<firstTag){
	   		newString = newString.replace(/<br\/>/, "<_br>");
	   }
	   newString = newString.replace(/<br>/gi, "").replace(/<br\/>/gi, "");
	   newString = newString.replace(/<_br>/gi, "<br/>");
	   //alert(newString);
	   return newString;
}

function changeLinks(name) {
	//var divs = document.getElementsByName('res_content');
	var divs = getElementsByName_iefix("div", name);
	if(divs){
		for(k=0;k<divs.length;++k){
			var a = divs[k].getElementsByTagName('a'); //document.links;
			if(a) {
				var n = a.length;
				for(i=0;i<n;++i){
					if(a[i].name!="") continue;
					if(a[i].innerHTML.indexOf("http://")>=0 || a[i].innerHTML.indexOf("https://")>=0){
						var content = a[i].innerHTML;
						//content = content.replace(/<br>/gi, "").replace(/<br\/>/gi, "");
						content = addwbr(content);
						content = content.replace(/&<wbr>a<wbr>m<wbr>p<wbr>;/gi, "&amp;");
						content = content.replace(/&<wbr>l<wbr>t<wbr>;/gi, "&lt;");
						content = content.replace(/&<wbr>g<wbr>t<wbr>;/gi, "&gt;");
						content = content.replace(/&<wbr>q<wbr>u<wbr>o<wbr>t<wbr>;/gi, "&quot;");
						content = content.replace(/&<wbr>a<wbr>p<wbr>o<wbr>s<wbr>;/gi, "&apos;");
						a[i].innerHTML = content;
					}
					if(a[i].target=="")
						a[i].target = "_blank";
				}
			}
			//if (k != 1) continue;
			wrap(divs[k],"http");
		}
	}
}
*/
//
// This function iterate a DOM node and replace all text node containing http: with <wbr> tag
// for wrapping of url like text
//
function wrap(node,keyWord) {
	// iterate into this nodes childNodes
	if (node.hasChildNodes) {
		for (var hi_cn=0;hi_cn<node.childNodes.length;hi_cn++) {
			wrap(node.childNodes[hi_cn],keyWord);
		}
	}
	// And handle text node
	if ((node.nodeType == 3) && (node.nodeValue.trim().length > 0)) { // non-empty text node
		var temp = node.nodeValue;

		if (temp.indexOf(keyWord) != -1) {
			var pn = node.parentNode;
			for(var i = 0; i < temp.length; i++) {
				var wbr = document.createElement("WBR");
				var c = document.createTextNode(temp.charAt(i));
				pn.insertBefore(c,node);
				pn.insertBefore(wbr,node);
			}
			pn.removeChild(node);
		}		
	}
}
