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_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_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 checkMail(email){
	var x = email;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else false;
}

function trim(str){
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

function popitup(url) {
	newwindow=window.open(url,'name','height=400,width=400');
	if (window.focus) {newwindow.focus()}
	return false;
}

function popitupWithProps(url, width, height) {
	newwindow=window.open(url,'name','height='+height+',width='+width);
	if (window.focus) {newwindow.focus()}
	return false;
}
 
/* For IE only */
function disableRightClick(e) {
  if ((window.event.button==2)) {
  	document.oncontextmenu=new Function("return false");
  }
}
		 
/* General or Common Ajax Functions */
function ajaxFormSubmit(url, frmId, setResult, param)
{
    if (frmId != '') {
        var formObject = ajax.byId(frmId);
        YAHOO.util.Connect.setForm(formObject);
    }
    YAHOO.util.Connect.asyncRequest('POST', url, setResult, param);
}

function ajaxFormSubmitByGet(url, frmId, setResult, param)
{
    if (frmId != '') {
        var formObject = ajax.byId(frmId);
        YAHOO.util.Connect.setForm(formObject);
    }
    YAHOO.util.Connect.asyncRequest('GET', url, setResult, param);
}

function bookmarkSite(){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(document.title, document.location.href, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',document.location.href);
		elem.setAttribute('title',document.title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all){// ie
		window.external.AddFavorite(window.location.href.replace(/(.*)\?.*/, "$1"), document.title);
	}
}

var ajax = {
    byId : function(id) {
        return document.getElementById(id);
    }
};

function makeTrue()
{
	return true;
}

function makeFalse()
{
	return false;
}

/* For realtime checking & blocking for textarea */
function checkTextAreaLen(obj, maxChars) {
	if (obj.value.length > maxChars)
		obj.value = obj.value.substring(0,maxChars);
}

function str2asc(input)
{
	var s = input.charCodeAt(0);
	return s.toString(16);
}
function urlencode(input)
{
	var ret=""; 
	var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%"; 
	for(var i=0;i<input.length;i++)
	{ 
		var chr = input.charAt(i); 
		var c=str2asc(chr);
	    if(parseInt("0x"+c) > 0x7f)
		{
			ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
		}
		else
		{
			if(chr==" ")
				ret+="+";
			else if(strSpecial.indexOf(chr)!=-1)
				ret+="%"+c.toString(16);
			else
				ret+=chr;
	    }
	} 
  return ret; 
}
function convertToUrlencodeString(formObject)
{
	var result="";
	for(var elementIndex=0; elementIndex<formObject.elements.length; elementIndex++)
	{
		if (formObject.elements[elementIndex].name.length > 0)
		{
			result += formObject.elements[elementIndex].name + "=" + urlencode(formObject.elements[elementIndex].value) + "&";
		}
	}
	if (result.length > 0)
	{
		result = result.substring(0, result.length-1);
	}
	return result;
}

function isFF(){
	if (navigator.userAgent.indexOf("Firefox")!=-1){
		return true;
	}
	return false;
}

function isIE(){
	if (navigator.userAgent.indexOf("MSIE")!=-1){
		return true;
	}
	return false;
}