				function getXMLObject(){
					try {
						// Firefox, Opera 8.0+, Safari
						return new XMLHttpRequest();
					}catch (e){
						// Internet Explorer
						try{
							return new ActiveXObject("Msxml2.XMLHTTP");
						}catch (e){
							try{
								return new ActiveXObject("Microsoft.XMLHTTP");
							}catch (e){
								alert("Your browser does not support AJAX!");
								return null;
							}
						}
					}
				}

				function hasValue(xmlCell,nullValue){
					if (xmlCell!=null){
						if (xmlCell.firstChild!=null){
							return xmlCell.firstChild.nodeValue;
						}else{
							return nullValue;
						}
						
					}else{
						return nullValue;
					}
				}


				Number.prototype.formatMoney = function(c, d, t){
					var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
					return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
				};
				function formatFloat(ftValue,dp){
					return ftValue.formatMoney(dp, ".", ",")
				}
				function formatInt(ftValue){
					return ftValue.formatMoney(0, ".", ",")
				}

				function numberShortForm(numStr,dep){
					if (numStr>1000000000){
						return formatFloat(numStr/1000000000,dep)+"B"
					}else if (numStr>1000000){
						return formatFloat(numStr/1000000,dep)+"M"
					}else if (numStr>1000){
						return formatFloat(numStr/1000,dep)+"K"
					}else{
						return formatFloat(numStr,dep)
					}
				}

				function writeNumberSign(strValue){
						return (strValue.search("-")>=0?"("+strValue.replace("-","")+")":strValue)
				}

				function clearTextBox(tbox) {
					for(var i=0; i<tbox.options.length; i++) {
						tbox.options[i].value = "";
						tbox.options[i].text = "";
						
					}
					BumpUp(tbox)
				}

				function BumpUp(box)  {
					for(var i=0; i<box.options.length; i++) {
						if(box.options[i].value == "")  {
							for(var j=i; j<box.options.length-1; j++)  {
								box.options[j].value = box.options[j+1].value;
								box.options[j].text = box.options[j+1].text;
							}
							var ln = i;
							break;
						}
					}
					if(ln < box.options.length)  {
						box.options.length -= 1;
						BumpUp(box);
					}
				}

				function checkDP(floatValue){
						return (floatValue<0.5? (floatValue==0? 0:3):(floatValue<100? 2:1))
				}
