<!--
String.prototype.trim = function() {
    return(this.replace(/^\s+/,'').replace(/\s+$/,''));
}

function getElementById(id)
{
    if (document.all) return document.all[id];
    if (document.getElementById) return document.getElementById(id);
}
function getElement(id)
{
    return getElementById(id);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function getHostFromUrl(thisURL)
{
	//var currURL = document.location.href;
	var aryURL;
	var strOutput = "";

	if (thisURL.substring(0,4) == "http")
	{
		aryURL = thisURL.split("/");
		//strOutput += "aryURL[0] = " + aryURL[0] + "\n";
		//strOutput += "aryURL[1] = " + aryURL[1] + "\n";
		//strOutput += "aryURL[2] = " + aryURL[2] + "\n";
		//strOutput += "aryURL[3] = " + aryURL[3] + "\n";
		//alert(strOutput);
		
		return aryURL[2];
	}
	else
	{
		return false;
	}
}



function removeHTMLTags(strInputCode)
{
	/* 
		This line is optional, it replaces escaped brackets with real ones, 
		i.e. &lt; is replaced with < and &gt; is replaced with >
	*/  
	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1){
		return (p1 == "lt")? "<" : ">";
	});
	
	strTagStrippedText = strInputCode;
	strTagStrippedText = strTagStrippedText.replace(/<\/?[^>]+(>)/g, ""); // <- fixed
	//strTagStrippedText = strTagStrippedText.replace(/<\/?[^>]+(>|$)/g, ""); // <- original
	
	return strTagStrippedText;
}

function countWord(str)
{
	// Known issue: 
	// - Currently this method works as Quick-mode.
	// - If a double-byte string is start with a ascii char and without any spaces inside, it'll count as 1 word only.
	
	var numOfChar = str.length;
	var numOfDoubleByte = 0;
	var numOfEngWord    = 0;
	var msg = "";
	
	msg += "numOfChar = " + numOfChar + "\r\n";
	
	str = str.trim();
	str = str.replace(","," ");
	str = str.replace("."," ");
	str = str.replace(":"," ");
	str = str.replace("("," ");
	str = str.replace(")"," ");
	str = str.replace("!"," ");
	str = str.replace("?"," ");
	str = str.replace("~"," ");
	str = str.replace("   "," ");
	str = str.replace("   "," ");
	str = str.replace("   "," ");
	str = str.replace("   "," ");
	str = str.replace("   "," ");
	str = str.replace("  "," ");

	var aryWords = str.split(" ");
	
	var asciiCharFoundStart = false;
	var asciiCharFoundEnd   = false;

	
	for (w=0; w < aryWords.length; w++)
	{
		var thisWord = aryWords[w];
		
		if (thisWord.length > 0)
		{
			thisWord = thisWord.trim();

			//asciiCharFoundStart = false;
			//asciiCharFoundEnd   = false;
			
			for (c=0; c < thisWord.length; c++)
			{
				if (thisWord.charCodeAt(c) >  0x3000)
				{
					numOfDoubleByte++;

					if (asciiCharFoundStart)
					{
						numOfEngWord++;
						asciiCharFoundStart = false;
						asciiCharFoundEnd   = true;
					}
				}
				else
				{
					// ascii character found in double byte string
					asciiCharFoundStart = true;
				}
			}
		}
		if (asciiCharFoundStart)
		{
			numOfEngWord++;
			asciiCharFoundStart = false;
			asciiCharFoundEnd   = true;
		}
	}
	
	msg += "aryWords.length = " + aryWords.length + "\r\n";
	msg += "numOfDoubleByte = " + numOfDoubleByte  + "\r\n";
	msg += "numOfEngWord    = " + numOfEngWord     + "\r\n";
	msg += "Total           = " + (numOfEngWord + numOfDoubleByte)    + "\r\n";
	
	//alert(msg);
	return (numOfDoubleByte + numOfEngWord);
}

//-->
