var showOutput=true;
/*
JS equivalent to FirePHP output.
fb("Message");
fb("Message", "Label");
fb("Message", "Label", "level");  where level can be log (default), info, warn or error.
*/
function fb(supplied,label,level){if(typeof console!="undefined"&&typeof showOutput!="undefined"&&showOutput){var message=supplied;if(label!=undefined&&label!=""){message=label+": "+message}if(level!=undefined&&level!=""){switch(level.toLowerCase()){case"info":console.info(message);break;case"warn":console.warn(message);break;case"error":console.error(message);break;default:console.log(message);break}}else{console.log(message)}}}function assert(expr,message){if(!expr){fb(message,"Assertion Error","warn")}}
function createRequest(){
	var request=null;
	try {
		request = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request=null;
			}
		}
	}
	if (request==null){
		alert("Your browser does not support XMLHttpRequest");
	} else {
		return request;
	}
}
var cache = [];
preLoadImages = function() {
	var args_len = arguments.length;
	for (var i = args_len; i--;) {
		var cacheImage = document.createElement('img');
		cacheImage.src = arguments[i];
		cache.push(cacheImage);
	}
}
function focusElement(element){
	document.getElementById(element).focus();
}
function cleanUp(sample){
	var filteredValues='"';
	var i;
	var returnString="";
	for(i=0;i<sample.length;i++){
		var c=sample.charAt(i);
		if(filteredValues.indexOf(c)==-1){
			returnString+=c;
		} else {
			returnString+="'";
		}
	}
	return returnString;
}
function noSpace(sample){
	var filteredValues=' ';
	var i;
	var returnString="";
	for(i=0;i<sample.length;i++){
		var c=sample.charAt(i);
		if(filteredValues.indexOf(c)==-1){
			returnString+=c;
		}
	}
	return returnString;
}
function notNumbers(inputString){
	inputString=inputString.split(".");
	inputString=inputString.join("");
	var toMatch=/\D/
	return(toMatch.test(inputString));
}
function ordinal(inputNumber){
	var extension="th";
	switch(inputNumber%10){
		case 1:
			if(inputNumber!=11){
				extension="st";
			}
			break
		case 2:
			if(inputNumber!=12){
				extension="nd";
			}
			break
		case 3:
			if(inputNumber!=13){
				extension="rd";
			}
			break;
	}
	return(inputNumber+extension);
}
function decimalize(nStr){
	nStr=nStr.toFixed(2);
	nStr += '';
	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;
}
function daysInMonth(mo, yr){
	var funcFeb=yr%4==0 ? 29 : 28;
	var funcDaysInMonthArray=new Array("", 31, funcFeb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	return funcDaysInMonthArray[mo];
}
function monthName(index){
	var funcMonthArray=new Array("", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	return funcMonthArray[index];
}
////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                         //
// The following functions all have better equivalents in jQuery                    //
//                                                                                                         //
// If jQuery is being used, delete from here down.                                     //
//                                                                                                        //
///////////////////////////////////////////////////////////////////////////////////////
function getStyle(el,styleProp){
	var x = document.getElementById(el);
	if (x.currentStyle){
		var y = x.currentStyle[styleProp];
	} else if (window.getComputedStyle){
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	}
	return y;
}
function setVisible(element){
	document.getElementById(element).style.visibility="visible";
}
function setHidden(element){
	document.getElementById(element).style.visibility="hidden";
}
function setBlock(element){
	document.getElementById(element).style.display="block";
}
function setNone(element){
	document.getElementById(element).style.display="none";
}
function setValue(element, valueToSet){
	document.getElementById(element).value=valueToSet;
}
function getValue(element){
	if(document.getElementById(element)){
		return document.getElementById(element).value;
	} else {
		return 0;
	}
}
function setElement(element, valueToSet){
	document.getElementById(element).innerHTML=valueToSet;
}
function getElement(element){
	if(document.getElementById(element)){
		return document.getElementById(element).innerHTML;
	} else {
		return "";
	}
}
