 

	function nullcheck(n) {
		if ( !n || n == undefined || n == "" || String(n).replace(/\s*/gi, "") == "" || n == "undefined" || n == null || trim(n) == "") {return ""}
		return n;
	}
	function setDefault(str, def) {
		if (nullcheck(str) == "") { return def; }
		else { return str; }
	}
	
	function trim(str) {
		str = String(str);
		var objRegExp = /^(\s*)$/;
		if(objRegExp.test(str)) {//check for all spaces
			str = str.replace(objRegExp, "");
			if( str.length == 0) { return str; }
		}
		objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;//check for leading & trailing spaces
		if(objRegExp.test(str)) { //remove leading and trailing whitespace characters
			str = str.replace(objRegExp, '$2');
		}
		return str;
	}
	
	
	//==============================================================================
	function validateExpression (Val, RE) {
		var re = new RegExp(RE);
		if (Val.search(RE) == -1) { return false; }
		else { return true; }
	}
	//==============================================================================
	
	
	
	
	function myInnerText(obj, val) { //this is a limited version of innerText
		if (document.addEventListener) { // dom, and in this case, much more annyoing
			//destroy all child nodes
			var i = 0;
			var objLen = obj.childNodes.length;  
			for (i = 0; i < objLen; i++){ obj.removeChild(obj.childNodes[0]); }
			if (nullcheck(val) != "") { obj.appendChild(document.createTextNode(val)); } 
			return;
		}
		if (document.attachEvent) { //ie
			obj.innerText = val;
		}
	}