


var MM_preloadImages = function() { //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];}}
}


var MM_swapImgRestore = function() { //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;
}

var MM_findObj = function(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;
}

var MM_swapImage = function() { //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];}
}










// firefox
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
	{
		switch( where )
		{
			case 'beforeBegin':
				this.parentNode.insertBefore(parsedNode,this)
				break;
			case 'afterBegin':
				this.insertBefore(parsedNode,this.firstChild);
				break;
			case 'beforeEnd':
				this.appendChild(parsedNode);
				break;
			case 'afterEnd':
				if (this.nextSibling) 
					this.parentNode.insertBefore(parsedNode,this.nextSibling);
				else
					this.parentNode.appendChild(parsedNode);
				break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}

	HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
}










String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g,""); }










var isNumeric = function( num )
{
	return ( !isNaN(new Number(num)) && String( num ).replace( /(^\s*)|(\s*$)/g, "" )!="" );
}



var IsValidInputNum = function()
{
	var c = event.keyCode
	if( 
		c==8  || // back delete
		c==46 || // delete
		c==9  || // tab
		c==13 || // enter
		c==35 || // home
		c==36 || // end
		c==37 || // left arrow
		c==39 || // right arrow
		(c>=48&&c<=57) || // upper key 0 to 9
		(c>=96&&c<=105)   // num key 0 to 9
	)
		return true;
	return false;
}



var IsValidEMail = function( val )
{
	if( /^[a-z0-9][a-z0-9._-]*@[a-z0-9][a-z0-9._-]+\.[a-z]{2,4}$/i.test( val.trim() ) )
		return true
	return false;
}



var IsValueInArray = function( val, ary )
{
	if( val!=undefined && val!=null && val.constructor==Array )
	{
		for( var i=0; i<val.length; i++ )
		{
			if( IsValueInArray( val[i], ary ) )
				return true;
		}
	}
	else
	{
		for( var i=0; i<ary.length; i++ )
		{
			if( ary[i] == val )
				return true;
		}
	}
	return false;
}



var GetScrollTop = function()
{
	var scrollPos = 0; 
	if (typeof window.pageYOffset != 'undefined')
		scrollPos = window.pageYOffset; 
	else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
		scrollPos = document.documentElement.scrollTop; 
	else if (typeof document.body != 'undefined')
		scrollPos = document.body.scrollTop; 
	return scrollPos;
}



var GetScrollLeft = function()
{
	var scrollPos = 0; 
	if (typeof window.pageXOffset != 'undefined')
		scrollPos = window.pageXOffset; 
	else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')
		scrollPos = document.documentElement.scrollLeft; 
	else if (typeof document.body != 'undefined')
		scrollPos = document.body.scrollLeft; 
	return scrollPos;
}



