// CREATED BY Sean Vickers - 11/04/2006
// Action Designs
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   CROSS BROWSER STUFF   XXXXX

function redirect(url) {
	window.location.href = url;
}

/* What Browser is being used? */
var isOp7Up,
	isOp6Dn,
	isIE4Up,
	isIE4,
	isIE5,
	isNN4,
	isFF,
	isUA=navigator.userAgent.toLowerCase();

if(window.opera){
	var i=isUA.indexOf('opera');
	if(i!=-1){
		var v=parseInt(isUA.charAt(i+6));
		isOp7Up=v>=7;
		isOp6Dn=v<7;
	}
} else if(navigator.vendor!='KDE' && document.all && isUA.indexOf('msie')!=-1){
	isIE4Up=parseFloat(navigator.appVersion)>=4;
	isIE4=isUA.indexOf('msie 4')!=-1;
	isIE5=isUA.indexOf('msie 5')!=-1;
}else if(document.layers){
	isNN4=true;
}else if(isUA.indexOf('firefox')!=-1){
	isFF=isUA.indexOf('firefox')!=-1;
}
isMac=isUA.indexOf('mac')!=-1;

// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   STYLE SHEET STUFF   XXXXX

/* Check to see if string */
function aStr(s){
	for(var i=0; i<arguments.length; ++i){
		if(typeof(arguments[i])!='string') return false;
	}
	return true;
}

/* Check to see if number */
function aNum(){
	for(var i=0; i<arguments.length; ++i){
		if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;
	}
	return true;
}

/* Check to see if Valid CSS for Browser */
function isValid(){
	for(var i=0; i<arguments.length; ++i){
		if(typeof(arguments[i])=='undefined') return false;
	}
	return true;
}

/* Check to see if Point is a valid screen position */
function validPoint(myTag,x,y,top,right,bottom,left){
	if (!aNum(top)){top=right=bottom=left=0;}
	else if (!aNum(right)){right=bottom=left=top;}
	else if (!aNum(bottom)){left=right; bottom=top;}
	var tagPointX = getLeftParent(myTag), 
		tagPointY = getTopParent(myTag);
	return (x >= tagPointX + left && x <= tagPointX + getWidth(myTag) - right && y >= tagPointY + top && y <= tagPointY + getHeight(myTag) - bottom );
}

/* Return element for a given tag ID */
function getElement(myTag){
	if(!aStr(myTag)) return myTag;
	if(document.getElementById) myTag=document.getElementById(myTag);
	else if(document.all) myTag=document.all[myTag];
	else myTag=null;
	return myTag;
}

/* Return Screen Height */
function getScreenHeight(){
	var height=0;
	if(isOp6Dn) height=window.innerHeight;
	else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientHeight)
		height=document.documentElement.clientHeight;
	else if(document.body && document.body.clientHeight)
		height=document.body.clientHeight;
	else if(isValid(window.innerWidth,window.innerHeight,document.width)) {
		height=window.innerHeight;
		if(document.width>window.innerWidth) height-=16;
	}
	return height;
}

/* Return Screen Width */
function getScreenWidth(){
	var width=0;
	if(isOp6Dn) width=window.innerWidth;
	else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientWidth)
		width=document.documentElement.clientWidth;
	else if(document.body && document.body.clientWidth)
		width=document.body.clientWidth;
	else if(isValid(window.innerWidth,window.innerHeight,document.height)) {
		width=window.innerWidth;
		if(document.height>window.innerHeight) width-=16;
	}
	return width;
}

/* Return current Property of a given element Style  */
function getCurrentStyle(myTag, myProp, anInt){
	var cStyle, cPropVal = 'undefined';
	var defView = document.defaultView;
	if(defView && defView.getComputedStyle){
		cStyle = defView.getComputedStyle(myTag,'');
		if (cStyle) cPropVal = cStyle.getPropertyValue(myProp);
	}else if(myTag.currentStyle) {
		var firstChar, pArray = myProp.split('-');
		myProp = pArray[0];
		for (var i=1; i<pArray.length; ++i) {
			firstChar = pArray[i].charAt(0);
			myProp += pArray[i].replace(firstChar, firstChar.toUpperCase());
		}   
		cPropVal = myTag.currentStyle[myProp];
	}else return null;
	return anInt ? (parseInt(cPropVal) || 0) : cPropVal;
}

/* Return/Set element width */
function Width(myTag,width){
	if(!(myTag=getElement(myTag))) return 0;
	if (aNum(width)) {
		if (width<0) width = 0;
		else width=Math.round(width);
	} else width=-1;
	var css=isValid(myTag.style);
	if (myTag == document || myTag.tagName.toLowerCase() == 'html' || myTag.tagName.toLowerCase() == 'body') {
		width = getScreenWidth();
	}else if(css && isValid(myTag.offsetWidth) && aStr(myTag.style.width)) {
		if(width>=0) {
			var padLeft=0,padRight=0,borderLeft=0,borderRight=0;
			if (document.compatMode=='CSS1Compat') {
				var cStyle = getCurrentStyle;
				padLeft=cStyle(myTag,'padding-left',1);
				if (padLeft !== null) {
					padRight=cStyle(myTag,'padding-right',1);
					borderLeft=cStyle(myTag,'border-left-width',1);
					borderRight=cStyle(myTag,'border-right-width',1);
				}else if(isValid(myTag.offsetWidth,myTag.style.width)){
					myTag.style.width=width+'px';
					padLeft=myTag.offsetWidth-width;
				}
			}
			width-=(padLeft+padRight+borderLeft+borderRight);
			if(isNaN(width)||width<0) return;
			else myTag.style.width=width+'px';
		}
		width=myTag.offsetWidth;
	}else if(css && isValid(myTag.style.pixelWidth)) {
		if(width>=0) myTag.style.pixelWidth=width;
		width=myTag.style.pixelWidth;
	}
	return width;
}

/* Return/Set element height */
function Height(myTag,height){
	if(!(myTag=getElement(myTag))) return 0;
	if (aNum(height)) {
		if (height<0) height = 0;
		else height=Math.round(height);
	} else height=-1;
	var css=isValid(myTag.style);
	if (myTag == document || myTag.tagName.toLowerCase() == 'html' || myTag.tagName.toLowerCase() == 'body') {
		height = getScreenHeight();
	}else if(css && isValid(myTag.offsetHeight) && aStr(myTag.style.height)) {
		if(height>=0) {
			var padTop=0,padBottom=0,borderTop=0,borderBottom=0;
			if (document.compatMode=='CSS1Compat') {
				var cStyle = getCurrentStyle;
				padTop=cStyle(myTag,'padding-top',1);
				if (padTop !== null) { 
					padBottom=cStyle(myTag,'padding-bottom',1);
					borderTop=cStyle(myTag,'border-top-width',1);
					borderBottom=cStyle(myTag,'border-bottom-width',1);
				}else if(isValid(myTag.offsetHeight,myTag.style.height)){ 		
					myTag.style.height=height+'px';
					padTop=myTag.offsetHeight-height;
				}
			}
			height-=(padTop+padBottom+borderTop+borderBottom);
			if(isNaN(height)||height<0) return;
			else myTag.style.height=height+'px';
		}
		height=myTag.offsetHeight;
	}else if(css && isValid(myTag.style.pixelHeight)) {
		if(height>=0) myTag.style.pixelHeight=height;
		height=myTag.style.pixelHeight;
	}return height;
}

/* Return/Set element left */
function Left(myTag,left){
	if(!(myTag=getElement(myTag))) return 0;
	var css=isValid(myTag.style);
	if (css && aStr(myTag.style.left)) {
		if(aNum(left)) myTag.style.left=left+'px';
		else {
			left=parseInt(myTag.style.left);
			if(isNaN(left)) left=0;
		}
	}else if(css && isValid(myTag.style.pixelLeft)) {
		if(aNum(left)) myTag.style.pixelLeft=left;
		else left=myTag.style.pixelLeft;
	}
	return left;
}

/* Return/Set element top */
function Top(myTag, top){
	if(!(myTag=getElement(myTag))) return 0;
	var css=isValid(myTag.style);
	if(css && aStr(myTag.style.top)) {
		if(aNum(top)) myTag.style.top=top+'px';
		else {
			top=parseInt(myTag.style.top);
			if(isNaN(top)) top=0;
		}
	} else if(css && isValid(myTag.style.pixelTop)) {
		if(aNum(top)) myTag.style.pixelTop=top;
		else top=myTag.style.pixelTop;
	}
	return top;
}

/* Return/Set element zIndex */
function ZIndex(myTag,zindex){
	if(!(myTag=getElement(myTag))) return 0;
	if(myTag.style && isValid(myTag.style.zIndex)) {
		if(aNum(zindex)) myTag.style.zIndex=zindex;
		zindex=parseInt(myTag.style.zIndex);
	}
	return zindex;
}

/* Return left offset from Parent container */
function getLeftParent(myTag){
	if (!(myTag=getElement(myTag))) return 0;
	var x = 0;
	while (myTag) {
		if (isValid(myTag.offsetLeft)) x += myTag.offsetLeft;
		myTag = isValid(myTag.offsetParent) ? myTag.offsetParent : null;
	}
	return x;
}

/* Return top offset from Parent container */
function getTopParent(myTag){
	if (!(myTag=getElement(myTag))) return 0;
	var y = 0;
	while (myTag) {
		if (isValid(myTag.offsetTop)) y += myTag.offsetTop;
		myTag = isValid(myTag.offsetParent) ? myTag.offsetParent : null;
	}
	return y;
}

/* Return left offset */
function getOffsetLeft(myTag){
	if (!(myTag=getElement(myTag))) return 0;
	if (isValid(myTag.offsetLeft)) return myTag.offsetLeft;
	else return 0;
}

/* Return top offset */
function getOffsetTop(myTag){
	if (!(myTag=getElement(myTag))) return 0;
	if (isValid(myTag.offsetTop)) return myTag.offsetTop;
	else return 0;
}

/* Return parent element */
function getParent(myTag,isNode){
	if (!(myTag=getElement(myTag))) return null;
	var parent=null;
	if (!isNode && isValid(myTag.offsetParent)) parent=myTag.offsetParent;
	else if (isValid(myTag.parentNode)) parent=myTag.parentNode;
	else if (isValid(myTag.parentElement)) parent=myTag.parentElement;
	return parent;
}

/* Return left scroll position */
function getScrollLeft(myTag,isWin){
	var offset=0;
	if (!isValid(myTag) || isWin || myTag == document || myTag.tagName.toLowerCase() == 'html' || myTag.tagName.toLowerCase() == 'body') {
		var w = window;
		if (isWin && myTag) w = myTag;
		if(w.document.documentElement && w.document.documentElement.scrollLeft) offset=w.document.documentElement.scrollLeft;
		else if(w.document.body && isValid(w.document.body.scrollLeft)) offset=w.document.body.scrollLeft;
	} else {
		myTag = getElement(myTag);
		if (myTag && aNum(myTag.scrollLeft)) offset = myTag.scrollLeft;
	}
	return offset;
}

/* Return top scroll position */
function getScrollTop(myTag, isWin){
	var offset=0;
	if (!isValid(myTag) || isWin || myTag == document || myTag.tagName.toLowerCase() == 'html' || myTag.tagName.toLowerCase() == 'body') {
		var w = window;
		if (isWin && myTag) w = myTag;
		if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop;
		else if(w.document.body && isValid(w.document.body.scrollTop)) offset=w.document.body.scrollTop;
	} else {
		myTag = getElement(myTag);
		if (myTag && aNum(myTag.scrollTop)) offset = myTag.scrollTop;
	}
	return offset;
}

/* Change element backgroung */
function chgBackground(myTag,color,image){
	if(!(myTag=getElement(myTag))) return '';
	var bg='';
	if(myTag.style) {
		if(aStr(color)) {
			if(!isOp6Dn) myTag.style.backgroundColor=color;
			else myTag.style.background=color;}
		if(aStr(image)) myTag.style.backgroundImage=(image!='')? 'url('+image+')' : null;
		if(!isOp6Dn) bg=myTag.style.backgroundColor;
		else bg=myTag.style.background;
	}
	return bg;
}

/* Change element font color */
function chgColor(myTag,newColor){
	if(!(myTag=getElement(myTag))) return '';
	var color='';
	if(myTag.style && isValid(myTag.style.color)) {
		if(aStr(newColor)) myTag.style.color=newColor;
		color=myTag.style.color;
	}
	return color;
}

/* Change element clip */
function chgClip(myTag,top,right,bottom,left){
	if(!(myTag=getElement(myTag)))	return;
	if(myTag.style) {
		if (aNum(left)) myTag.style.clip='rect('+top+'px '+right+'px '+bottom+'px '+left+'px)';
		else myTag.style.clip='rect(0 '+parseInt(myTag.style.width)+'px '+parseInt(myTag.style.height)+'px 0)';
	}
}

/* Change element display */
function chgDisplay(myTag,newDisp){
	if(!(myTag=getElement(myTag))) return null;
	if(myTag.style && isValid(myTag.style.display)) {
		if (aStr(newDisp)) myTag.style.display = newDisp;
		return myTag.style.display;
	}
	return null;
}

/* Change element visibility */
function chgVisibility(myTag,toShow){
	if(!(myTag=getElement(myTag))) return null;
	if(myTag.style && isValid(myTag.style.visibility)) {
		if (isValid(toShow)) myTag.style.visibility = toShow ? 'visible' : 'hidden';
		return myTag.style.visibility;
	}
	return null;
}

/* Set element visibility to show */
function setShow(myTag) {
	return chgVisibility(myTag,1);
}

/* Set element visibility to hidden */
function setHidden(myTag){
	return chgVisibility(myTag,0);
}

/* Set element position */
function moveTo(myTag,x,y,z){
	if (aNum(x)) Left(myTag,x);
	if (aNum(y)) Top(myTag,y);
	if (aNum(z)) ZIndex(myTag,z);
}

/* Set element size */
function resizeTo(myTag,width,height){
	Width(myTag,width);
	Height(myTag,height);
}

// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   EVENT LISTENER STUFF   XXXXX

/* Check for scroll event */
function chkScrollEvent(){
	if (window.xSEL) setTimeout('chkScrollEvent()', 250);
	var sLeft = getScrollLeft(), sTop = getScrollTop();
	if (window.xPSL != sLeft || window.xPST != sTop) { 
		window.xPSL = sLeft; 
		window.xPST = sTop; 
		if (window.xSEL) window.xSEL(); 
	}
}

/* Check for resize event */
function chkResizeEvent(){
	if (window.xREL) setTimeout('chkResizeEvent()', 250);
	var screenWidth = getScreenWidth(), screenHeight = getScreenHeight();
	if (window.xPCW != screenWidth || window.xPCH != screenHeight) { 
		window.xPCW = screenWidth; 
		window.xPCH = screenHeight; 
		if (window.xREL) window.xREL(); 
	}
}

/* Check for event type and sync */
function chkEvent(evt) {
	var e = evt || window.event;
	if(!e) return;
	if(e.type) this.type = e.type;
	if(e.target) this.target = e.target;
	else if(e.srcElement) this.target = e.srcElement;
	if (e.relatedTarget) this.relatedTarget = e.relatedTarget;
	else if (e.type == 'mouseover' && e.fromElement) this.relatedTarget = e.fromElement;
	else if (e.type == 'mouseout') this.relatedTarget = e.toElement;
	if(isOp6Dn) { 
		this.pageX = e.clientX; 
		this.pageY = e.clientY; 
	} else if(isValid(e.pageX,e.pageY)) { 
		this.pageX = e.pageX; 
		this.pageY = e.pageY; 
	} else if(isValid(e.clientX,e.clientY)) { 
		this.pageX = e.clientX + getScrollLeft(); 
		this.pageY = e.clientY + getScrollTop(); 
	}
	if (isValid(e.offsetX,e.offsetY)) {
		this.offsetX = e.offsetX;
		this.offsetY = e.offsetY;
	} else if (isValid(e.layerX,e.layerY)) {
		this.offsetX = e.layerX;
		this.offsetY = e.layerY;
	} else {
		this.offsetX = this.pageX - getLeftParent(this.target);
		this.offsetY = this.pageY - getTopParent(this.target);
	}
	if (e.keyCode) { 
		this.keyCode = e.keyCode; 
	} else if (isValid(e.which) && e.type.indexOf('key')!=-1) { 
		this.keyCode = e.which; 
	}
	this.shiftKey = e.shiftKey;
	this.ctrlKey = e.ctrlKey;
	this.altKey = e.altKey;
}

/* Check prevent default and sync */
function chkPreventDefault(e){
	if (e && e.preventDefault) e.preventDefault();
	else if (window.event) window.event.returnValue = false;
}

/* Check Stop Propagation and sync */
function chkStopPropagation(evt){
	if (evt && evt.stopPropagation) evt.stopPropagation();
	else if (window.event) window.event.cancelBubble = true;
}

/* Add event listener to element */
function createEventListener(myTag,myEvent,myListener,capture){
	if(!(myTag=getElement(myTag))) return;
	myEvent=myEvent.toLowerCase();
	if((!isIE4Up && !isOp7Up) && myTag==window) {
		if(myEvent=='resize') { 
			window.xPCW=getScreenWidth(); 
			window.xPCH=getScreenHeight(); 
			window.xREL=myListener; 
			chkResizeEvent(); 
			return; 
		}
		if(myEvent=='scroll') { 
			window.xPSL=getScrollLeft(); 
			window.xPST=getScrollTop(); 
			window.xSEL=myListener; 
			chkScrollEvent(); 
			return; 
		}
	}
	var eventHandle='myTag.on'+myEvent+'=myListener';
	if(myTag.addEventListener) myTag.addEventListener(myEvent,myListener,capture);
	else if(myTag.attachEvent) myTag.attachEvent('on'+myEvent,myListener);
	else eval(eventHandle);
}

/* Remove Event Listener */
function killEventListener(myTag,myEvent,myListener,capture){
	if(!(myTag=getElement(myTag))) return;
	myEvent=myEvent.toLowerCase();
	if((!isIE4Up && !isOp7Up) && myTag==window) {
		if(myEvent=='resize') { 
			window.xREL=null; 
			return; 
		}
		if(myEvent=='scroll') { 
			window.xSEL=null; 
			return; 
		}
	}
	var eventHandle='myTag.on'+myEvent+'=null';
	if(myTag.removeEventListener) myTag.removeEventListener(myEvent,myListener,capture);
	else if(myTag.detachEvent) myTag.detachEvent('on'+myEvent,myListener);
	else eval(eventHandle);
}

// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   DRAG-DROP STUFF   XXXXX

function disableDrag(myDiv, last){
	if (!window.dragMgr) return;
	myDiv = getElement(myDiv);
	myDiv.setDraggable = false;
	myDiv.ODS = null;
	myDiv.OD = null;
	myDiv.ODE = null;
	killEventListener(myDiv, 'mousedown', OMD, false);
	if (dragMgr.mm && last) {
		dragMgr.mm = false;
		killEventListener(document, 'mousemove', OMM, false);
	}
}

var dragMgr = {myDiv:null, mm:false};

function enableDrag(myDiv,myODS,myOD,myODE){
	myDiv = getElement(myDiv);
	myDiv.setDraggable = true;
	myDiv.ODS = myODS;
	myDiv.OD = myOD;
	myDiv.ODE = myODE;
	createEventListener(myDiv, 'mousedown', OMD, false);
	if (!dragMgr.mm) {
		dragMgr.mm = true;
		createEventListener(document, 'mousemove', OMM, false);
	}
}

/* On mouse down */
function OMD(e) {
	var evt = new chkEvent(e);
	var myDiv = evt.target;
	while(myDiv && !myDiv.setDraggable) {
		myDiv = getParent(myDiv);
	}
	if (myDiv) {
		chkPreventDefault(e);
		myDiv.DPX = evt.pageX;
		myDiv.DPY = evt.pageY;
		dragMgr.myDiv = myDiv;
		createEventListener(document, 'mouseup', OMU, false);
		if (myDiv.ODS) {
			myDiv.ODS(myDiv, evt.pageX, evt.pageY);
		}
	}
}

/* On mouse move */
function OMM(e) {
	var evt = new chkEvent(e);
	if (dragMgr.myDiv) {
		chkPreventDefault(e);
		var myDiv = dragMgr.myDiv;
		var dx = evt.pageX - myDiv.DPX;
		var dy = evt.pageY - myDiv.DPY;
		myDiv.DPX = evt.pageX;
		myDiv.DPY = evt.pageY;
		if (myDiv.OD) {
			myDiv.OD(myDiv, dx, dy);
		} else {
			moveTo(myDiv, Left(myDiv) + dx, Top(myDiv) + dy);		
		}
	}  
}

/* On mouse up */
function OMU(e) {
	if (dragMgr.myDiv) {
		chkPreventDefault(e);
		killEventListener(document, 'mouseup', OMU, false);	
		if (dragMgr.myDiv.ODE) {
			var evt = new chkEvent(e);
			dragMgr.myDiv.ODE(dragMgr.myDiv, evt.pageX, evt.pageY);
		}
		dragMgr.myDiv = null;
	}  
}

// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

var DDBox = new Array();

function DragDrop(BoxId,initX,initY,WaitId) {
	var me = this;
  	var Box = getElement(BoxId);
	var Wait = getElement(WaitId);
  	var x, y, w, h;

  	this.onunload = function() {
    	if (isIE4Up) {
      		disableDrag(BoxId);
      		me = Box = null;
    	}
  	}

  	function barOnDrag(e,mdx,mdy) {
    	moveTo(Box, Left(Box) + mdx, Top(Box) + mdy);
  	}

  	function DDOnMousedown() {
  		ZIndex(Box, DragDrop.z++);
  	}

  	DragDrop.z++;
  	moveTo(Box, initX, initY);
	
  	enableDrag(BoxId, null, barOnDrag, null);
  	Box.onmousedown = DDOnMousedown;
  	setShow(Box);
	setHidden(Wait);
}

DragDrop.z = 0;

function saveLocation(myDiv,lt,tp) {
	var myDiv = getElement(myDiv);
	var cntID = myDiv.id.substr(4);

	if ((Left(myDiv) != lt) && (Top(myDiv) != tp)) {
		var url = "process.asp?code=updcontent&left=" + 
		Left(myDiv) + "&top=" + Top(myDiv) +
		"&cntid=" + cntID;	
		window.location=url;	
	}
}

var x = 20;
var y = 70;
function setVisible(obj)
{
	obj = getElement(obj);
	if (obj.style.visibility == 'visible') setHidden(obj);
	else setShow(obj);
}
function placeIt(obj) {
	obj = getElement(obj);

    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
    }
  
 	theLeft = scrOfX
	theTop  = scrOfY
  
	theLeft += x;
	theTop += y;
	obj.style.left = theLeft + 'px' ;
	obj.style.top = theTop + 'px' ;
	setTimeout("placeIt('layer1')",500);
}

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x){return(x<0||x>9?"":"0")+x}
function isDate(val,format){var date=getDateFromFormat(val,format);if(date==0){return false;}return true;}
function compareDates(date1,dateformat1,date2,dateformat2){var d1=getDateFromFormat(date1,dateformat1);var d2=getDateFromFormat(date2,dateformat2);if(d1==0 || d2==0){return -1;}else if(d1 > d2){return 1;}return 0;}
function formatDate(date,format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length < 4){y=""+(y-0+1900);}value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}else if(H>12){value["h"]=H-12;}else{value["h"]=H;}value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H > 11){value["a"]="PM";}else{value["a"]="AM";}value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=LZ(s);while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(value[token] != null){result=result + value[token];}else{result=result + token;}}return result;}
function _isInteger(val){var digits="1234567890";for(var i=0;i < val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length < minlength){return null;}if(_isInteger(token)){return token;}}return null;}
function getDateFromFormat(val,format){val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getYear();var month=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(i_format < format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c) &&(i_format < format.length)){token += format.charAt(i_format++);}if(token=="yyyy" || token=="yy" || token=="y"){if(token=="yyyy"){x=4;y=4;}if(token=="yy"){x=2;y=2;}if(token=="y"){x=2;y=4;}year=_getInt(val,i_val,x,y);if(year==null){return 0;}i_val += year.length;if(year.length==2){if(year > 70){year=1900+(year-0);}else{year=2000+(year-0);}}}else if(token=="MMM"||token=="NNN"){month=0;for(var i=0;i<MONTH_NAMES.length;i++){var month_name=MONTH_NAMES[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12){month -= 12;}i_val += month_name.length;break;}}}if((month < 1)||(month>12)){return 0;}}else if(token=="EE"||token=="E"){for(var i=0;i<DAY_NAMES.length;i++){var day_name=DAY_NAMES[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val += day_name.length;break;}}}else if(token=="MM"||token=="M"){month=_getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return 0;}i_val+=month.length;}else if(token=="dd"||token=="d"){date=_getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return 0;}i_val+=date.length;}else if(token=="hh"||token=="h"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}i_val+=hh.length;}else if(token=="HH"||token=="H"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}i_val+=hh.length;}else if(token=="KK"||token=="K"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}i_val+=hh.length;}else if(token=="kk"||token=="k"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}i_val+=hh.length;hh--;}else if(token=="mm"||token=="m"){mm=_getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}i_val+=mm.length;}else if(token=="ss"||token=="s"){ss=_getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}i_val+=ss.length;}else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}else{return 0;}i_val+=2;}else{if(val.substring(i_val,i_val+token.length)!=token){return 0;}else{i_val+=token.length;}}}if(i_val != val.length){return 0;}if(month==2){if( ((year%4==0)&&(year%100 != 0) ) ||(year%400==0) ){if(date > 29){return 0;}}else{if(date > 28){return 0;}}}if((month==4)||(month==6)||(month==9)||(month==11)){if(date > 30){return 0;}}if(hh<12 && ampm=="PM"){hh=hh-0+12;}else if(hh>11 && ampm=="AM"){hh-=12;}var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();}
function parseDate(val){var preferEuro=(arguments.length==2)?arguments[1]:false;generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');var d=null;for(var i=0;i<checkList.length;i++){var l=window[checkList[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}return null;}

function addCommas(nStr) {
   nStr += '';
   if (nStr.indexOf(".") == -1) {
      x1 = nStr;
	  var rgx = /(\d+)(\d{3})/;
	  while (rgx.test(x1)) {
	     x1 = x1.replace(rgx, '$1' + ',' + '$2');
	  }
	  return x1;	   
   } else {
      x = nStr.split('.');
	  x1 = x[0];
	  x2 = x.length > 1 ? '.' + x[1] : '';
	  var rgx = /(\d+)(\d{3})/;
	  while (rgx.test(x1)) {
	     x1 = x1.replace(rgx, '$1' + ',' + '$2');
	  }
	  return x1 + x2;
   }
}
