function AddToFavorites(){
if (document.all)
	window.external.AddFavorite(location.href, document.title);
else if (window.sidebar)
	window.sidebar.addPanel(document.title, location.href, "")
}

function DrillDown(id)	{
	var drillID = document.getElementById(id);
	if (drillID.style.display == 'none')
		drillID.style.display = '';
	else
		drillID.style.display = 'none';
}
function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		countfield.value = maxlimit - field.value.length;
}
function CountWords (field_str, show_field) {
	show_word_count=1;
	show_char_count=0;
	var char_count = field_str.length;
	var fullStr = field_str + " ";
	fullStr = fullStr.replace(/\&\w+;/ig,"");
	var stripped = fullStr.replace(/(<([^>]+)>)/ig,"");
	var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
	var left_trimmedStr = stripped.replace(initial_whitespace_rExp, "");
	var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
	var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
	var splitString = cleanedStr.split(" ");
	var word_count = splitString.length -1;

	if (fullStr.length <2) { word_count = 0; }
	if (word_count == 1) { wordOrWords = " word"; } else { wordOrWords = " words"; }
	if (char_count == 1) { charOrChars = " character"; } else { charOrChars = " characters"; }
	if (show_word_count & show_char_count) { show_field.value= word_count + wordOrWords + "\n" + "    " + char_count + charOrChars; }
	else {
		if (show_word_count) { show_field.value= word_count + wordOrWords; }
		else { if (show_char_count) { show_field.value= char_count + charOrChars; } }
	}
	return word_count;
}
String.prototype.trim = function() {

 // skip leading and trailing whitespace
 // and return everything in between
  var x=this;
  x=x.replace(/^\s*(.*)/, "$1");
  x=x.replace(/(.*?)\s*$/, "$1");
  return x;
}

<!--
// Written by Dexter Zafra at www.ex-designz.net
//Handle Check Username Availability Using Ajax
 var http = createRequestObject();
 function createRequestObject() 
     {
           var xmlhttp;
	 try 
                 { 
                    xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
                 }
	  catch(e) 
                 {
	    try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
	    catch(f) { xmlhttp=null; }
	    }
	        if(!xmlhttp&&typeof XMLHttpRequest!="undefined") 
                        {
	  	   xmlhttp=new XMLHttpRequest();
	           }
		   return  xmlhttp;
 }
function sndRating(idnum,rateval) 
  {
	var dvelement = document.getElementById('dvrating');
             dvelement.innerHTML = "<img src='/images/progressimgred.gif'>";
            try
              {
                 http.open('GET', '/rateit.asp?id='+idnum+'&rateval='+rateval);
                 http.onreadystatechange = handleResponseText;
	    http.send(null);
	 }
	    catch(e){
				alert(err.description);
			}
	    finally{}
 }
function handleResponseText() 
{
	
	try
		{
		if((http.readyState == 4) && (http.status == 200))
		{
			var response = http.responseText;
			var update = new Array();
			
			if(response.indexOf('|') != -1)
			{
				update = response.split('|');
				var drelement = document.getElementById('dvrating');
				var mAvgRating = document.getElementById('AvgRating');
				var totalvote = document.getElementById('overalvotes');
				var starimg = document.getElementById('overalrate');
				//drelement.style.display = 'none';
				drelement.innerHTML = 'Thanks for your rating';
				//drelement.innerHTML = response;
				mAvgRating.innerHTML = update[3];
				totalvote.innerHTML = update[2];
				starimg.innerHTML = update[4].toString();
		 	}
		 	else
		 	{
		 		alert(response);
		 	}
		}
	}
	catch(e){alert(e.description);}
	finally{}
}
//"an error occured"