﻿// JScript File

function ConvertText(strTextArea,strDivElement,objHiddenField)
{ 

	/*var objTextArea = document.getElementById("txtData");
	var objDiv = document.getElementById("divData");*/
	var objTextArea = document.getElementById(strTextArea);
	var objDiv = document.getElementById(strDivElement);
	var objHidden=document.getElementById(objHiddenField);
	var objCurrentObject;
	
	 var strValue= objTextArea.value;
	 
	 strValue=strValue.replace("<script>","< script >").replace("</script>","</ script >").replace("<SCRIPT>","< SCRIPT >").replace("</SCRIPT>","</ SCRIPT >").replace("<Script>","< Script >").replace("</Script>","</ Script >");
	 strValue=strValue.replace("<style>","< style >").replace("</style>","</ style >").replace("<style>","< style >").replace("</style>","</ style >").replace("<style>","< style >").replace("</style>","</ style >");
	 strValue=strValue.replace(/<br>/g,"&lt;BR&gt;").replace(/<BR>/g,"&lt;BR&gt;");
	 strValue=strValue.replace(/<br \/>/g,"&lt;BR&gt;").replace(/<BR \/>/g,"&lt;BR&gt;");
	
	 objDiv.innerHTML=strValue;
	
	////objDiv.innerHTML = objDiv.innerHTML.replace(/\n/g,"<BR />");
	objDiv.innerHTML = strValue.replace(/\n/g," <BR>");
	//objDiv.innerHTML = objDiv.innerHTML.replace(/\n/g,"<BR>");
	if(objDiv.all)
	{
	
	    for(var intCounter = 0; intCounter < objDiv.children.length; intCounter++)
	    {
		    objCurrentObject = objDiv.all.item(intCounter);
		    if(objCurrentObject.tagName != "A" &&  objCurrentObject.tagName != "BR" )
		    {
    			
			        ////objCurrentObject.outerHTML = objCurrentObject.outerHTML.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
			       var strHTML=objCurrentObject.outerHTML;
			        strHTML = strHTML.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
			        
			        objCurrentObject.outerHTML=strHTML.replace(/&lt;BR&gt;/g,"<BR/>");
			       
			       
			       
			       // alert(objCurrentObject.outerText);
			       // CreateAnchorTag(objCurrentObject);
			       // alert(objCurrentObject.outerText);
    			
		    }
		    else 
		    {
		       if(objCurrentObject.tagName == "A")
		       { 
		        if(objCurrentObject.outerHTML.indexOf("rel=\"nofollow\"")<0)
		            {
		                objCurrentObject.setAttribute("rel", "nofollow");

		            }
		            if(objCurrentObject.outerHTML.indexOf("target=\"_new\"")<0)
		            {
		                objCurrentObject.setAttribute("target", "_new");

		            }
		        }
		    }
		    //objTextArea.value = objDiv.innerHTML;
		    objHidden.value=objDiv.innerHTML;
		    //CreateAnchorTag(objTextArea);
		   
    		
	    }
	    if(objDiv.children.length<=0)
	    {
	        objHidden.value=objDiv.innerHTML;
	        //CreateAnchorTag(objHidden);
	    }
		CreateAnchorTag(objHidden);
	    objHidden.value=objHidden.value.replace("</ a>","</a>");
	    return true;
	}
	else if(objDiv.childNodes)
	{
	    for(var intCounter = 0; intCounter < objDiv.childNodes.length; intCounter++)
	    {
		    objCurrentObject = objDiv.childNodes[intCounter];
		    if(objCurrentObject.tagName!=undefined &&  objCurrentObject.tagName != "A" &&  objCurrentObject.tagName != "BR" )
		    {
    			
			        ////objCurrentObject.outerHTML = objCurrentObject.outerHTML.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
			       var strHTML=objCurrentObject.outerHTML;
			        strHTML = strHTML.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
			        
			        objCurrentObject.outerHTML=strHTML.replace(/&lt;BR&gt;/g,"<BR/>");
			       
			       
			       
			       // alert(objCurrentObject.outerText);
			       // CreateAnchorTag(objCurrentObject);
			       // alert(objCurrentObject.outerText);
    			
		    }
		    else 
		    {
		       if(objCurrentObject.tagName == "A")
		       { 
		        if(objCurrentObject.outerHTML.indexOf("rel=\"nofollow\"")<0)
		            {
		                objCurrentObject.setAttribute("rel", "nofollow");

		            }
		            if(objCurrentObject.outerHTML.indexOf("target=\"_new\"")<0)
		            {
		                objCurrentObject.setAttribute("target", "_new");

		            }
		        }
		    }
		    //objTextArea.value = objDiv.innerHTML;
		    objHidden.value=objDiv.innerHTML;
		    //CreateAnchorTag(objTextArea);
		   // CreateAnchorTag(objHidden);
    		
	    }
	    if(objDiv.childNodes.length<=0)
	    {
	        objHidden.value=objDiv.innerHTML;
	        //CreateAnchorTag(objHidden);
	    }
		CreateAnchorTag(objHidden);
	    objHidden.value=objHidden.value.replace("</ a>","</a>");
	    return true;
	}
	else
	{
	    //objDiv.innerHTML = objTextArea.value;
	    objDiv.innerHTML.strValue;
	    objDiv.innerHTML=objDiv.innerHTML.replace(/\>/g,"&gt;").replace(/\</g,"&lt;");
	    objDiv.innerHTML = objDiv.innerHTML.replace(/&lt;BR&gt;/g,"<BR/>");
	    objHidden.value=objDiv.innerHTML;
		    //CreateAnchorTag(objTextArea);
		    //CreateAnchorTag(objHidden);
		objHidden.value=objHidden.value.replace("</ a>","</a>");
	    return true;
	}
	
}

function CreateAnchorTag(objElement)
{
	
	objElement.value =  objElement.value.replace(/<br>/gim, '\n').replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,'<a href="$&" class="my_link" target="_blank" rel="nofollow">$&</a>').replace(/([^\/])(www[\S]+(\b|$))/gim,'$1<a href="http://$2" rel="nofollow" target="_blank">$2</a>').replace(/\n/gim, '<br>');
	
	/*var objVal=objElement.value;
	var objNewVal;
	var  objFindStr;
	var objRegex=new RegExp("(https?:\/\/[^\\s]*)");
	objFindStr=objRegex.exec(objVal);
	while(objFindStr!=null)
	{
		var strMatch="";
		for(intCount=0;intCount<objFindStr.length;intCount++)
		{
			strMatch=objFindStr[intCount];
		    strMatch=strMatch.replace(" ","");
		 }
		var strReplace="<a href=\"" + strMatch +"\" rel=\"nofollow\" target=\"_new\">"+strMatch+"</a>";
		var objReplace=new 
RegExp(strMatch.replace("\?","\\?").replace("\$/ig","\\$").replace("\&/ig","\\&").replace("\+/ig","\\+"),"gi");
		objElement.value=objElement.value.replace(objReplace,strReplace);
		objVal=objVal.replace(objReplace,"");
		objFindStr=objRegex.exec(objVal);
	}*/

  
	
}
