﻿var Misc = new Object();
Misc.HTMLEncode = function(strIn)
{
   // Ensure input valid
   if (!ObjectDetection.IsString(strIn))
       return "";

   // Implement HTMLEncode by pulling generated html from an
   // element that we create and push unencoded text into
   var objDiv = document.createElement('div');
   var objTextNode = document.createTextNode(strIn);
   objDiv.appendChild(objTextNode);
   var strRet = objDiv.innerHTML;

   // Doesn't seem to encode some characters sounds. Do this
   // separately (NB: to do with encoding issue on server I
   // suspect).
   strRet = strRet.replace(/£/g, "&#163;");  // Important!
   strRet = strRet.replace(/€/g, "&#128;");  // Important!
   strRet = strRet.replace(/\à/g, "&#224;"); // Optional
   strRet = strRet.replace(/\á/g, "&#225;"); // Optional
   strRet = strRet.replace(/\â/g, "&#226;"); // Optional
   strRet = strRet.replace(/\è/g, "&#232;"); // Optional
   strRet = strRet.replace(/\é/g, "&#233;"); // Optional
   strRet = strRet.replace(/\"/g, "&quot;"); // Optional
   return strRet;
}
