
sTable.renderedRows = [];
sTable.cols = [];
sTable.uberGrid = [];
sTable.ascDesc = 1;
sTable.colIndex = 0;
sTable.fTopRow = "";
sTable.tId = "";


if(document.all){
	sTable.ascArr = '&nbsp;<span style="font-family:webdings;line-height:2px">6</span>';
	sTable.dscArr = '&nbsp;<span style="font-family:webdings;line-height:2px">5</span>';
} else {
	sTable.ascArr = '&nbsp;<span style="">&#x25BE;</span>';
	sTable.dscArr = '&nbsp;<span style="">&#x25B4;</span>';
};

sTable.getEl = function(x){
	return document.getElementById(x);
};

sTable.isDigit = function(num){
	if(num.length>1){
		return false
	}
	var string="1234567890";
	if(string.indexOf(num)!=-1){
		return true
	}
	return false
};
	
sTable.sortCols = function(a,b){
	if(a&&b){
		var ac = a[sTable.colIndex];
		var bc = b[sTable.colIndex];
		if (ac){
			ac = ac.replace('$', '');
			ac = ac.replace('%', '');
			ac = ac.replace(',', '');
			a[sTable.colIndex] = ac;
		}
		if (bc){
			bc = bc.replace('$', '');
			bc = bc.replace('%', '');
			bc = bc.replace(',', '');
			b[sTable.colIndex] = bc;
		}
		if(isNaN(a[sTable.colIndex]*100000+b[sTable.colIndex]*100000)){
			if(a[sTable.colIndex]){
				x=a[sTable.colIndex].toString().toLowerCase();
				if(!document.all){
					x=x.replace(/\\s/g,"")
				}
				if(x.charAt(0)=="$"){
					x=x.replace("$","")
				};
				if(sTable.isDigit(x.charAt(0))&&(x.indexOf(",")!=-1)){
					x=x.replace(/,/g,"")
				}
			} else {
			x=""
		}
		if(b[sTable.colIndex]){
			y=b[sTable.colIndex].toString().toLowerCase();
			if(!document.all){
				y=y.replace(/\\s/g,"")
			}
					if(y.charAt(0)=="$"){
						y=y.replace("$","")
					};							
					if(sTable.isDigit(y.charAt(0))&&(y.indexOf(",")!=-1)){
						y=y.replace(/,/g,"")
					}
				} else {
					y="";
				} if (isNaN(x+y)){
					if(sTable.ascDesc==0){
						return((x<y)?1:((x>y)?-1:0))
					} else {
						return((x<y)?-1:((x>y)?1:0))
					} 
				} else {
					if(sTable.ascDesc==0){
						return y-x
					} else {
						return x-y
					}
				}
			} else {
				if(sTable.ascDesc==0){
					return b[sTable.colIndex]-a[sTable.colIndex]
				} else {
					return a[sTable.colIndex]-b[sTable.colIndex]
				}
			}
		}
};

sTable.rendr = function(x){
	if(sTable.colIndex!=x){
		sTable.ascDesc=1
	} 
	sTable.colIndex=x;
	tbl=rows="";
	if(sTable.uberGrid!=0){
		sTable.uberGrid.sort(sTable.sortCols);
		for(i=0;i<sTable.uberGrid.length;i++){
			if(sTable.renderedRows[sTable.uberGrid[i].idx]){
				rows += sTable.renderedRows[sTable.uberGrid[i].idx]
			}
		}
		tmpStr = "";
		for (i=0;i<sTable.fTopRow.length;i++){
			if(sTable.sortable[i]){
				if(i==sTable.colIndex){
					if(sTable.ascDesc==0){
						tmpArr = sTable.ascArr;sTable.ascDesc=1;
					} else {
						tmpArr = sTable.dscArr;sTable.ascDesc=0;
					}
					tmpStr += '<td class="col'+i+'"><a href="#" onclick="sTable.rendr('+i+');return false;">'+sTable.fTopRow[i]+tmpArr+"</a></td>";
				} else {
					tmpStr += '<td class="col'+i+'"><a href="#" onclick="sTable.rendr('+i+');return false;">'+sTable.fTopRow[i]+"</a></td>";
				}
			} else {
				tmpStr += '<td class="col'+i+'">"'+sTable.fTopRow[i]+'"</td>"';
			}
		} 
		tmpStr = '<tr class="tHeader">'+tmpStr+'</tr>';
		sTable.cDiv.innerHTML='<table cellpadding="2" cellspacing="0" id="'+sTable.tId+'">'+tmpStr+rows+'</table>';
	}
	var tObj = sTable.getEl(sTable.tId);
	for(i=1;i<tObj.rows.length;i++){
		if(i%2==0){
			tObj.rows[i].className="odd";
		} else {
			tObj.rows[i].className="even";
		}
	}
};
	
	sTable.ini = function(x){
		sTable.tObj = sTable.getEl(x);
		sTable.tId = x;
		for(i=0;i<sTable.tObj.rows.length;i++){
			sTable.uberGrid[i]=[];
			for(j=0;j<sTable.tObj.rows[i].cells.length;j++){
				if(sTable.tObj.rows[i]){
					tmpNode=sTable.tObj.rows[i].cells[j];
					if(typeof tmpNode.textContent!="undefined"){
						tmpNode=tmpNode.textContent.replace(/^\\s+|\\s+$/g,"")
					} else if(typeof tmpNode.innerText!="undefined"){
						tmpNode=tmpNode.innerText.replace(/^\\s+|\\s+$/g,"")
					} else if(typeof tmpNode.text!="undefined"){
						tmpNode=tmpNode.text.replace(/^\\s+|\\s+$/g,"")
					}
					sTable.uberGrid[i][j] = tmpNode
				}
			}
		}
	
	sTable.fTopRow = sTable.uberGrid[0];
	sTable.uberGrid[0]=[];

	for(i=1;i<sTable.tObj.rows.length;i++){
		if(i%2==0){
			sTable.tObj.rows[i].className="odd"
		} else {
			sTable.tObj.rows[i].className="even"
		}
		sTable.renderedRows[i]="<tr>"+sTable.tObj.rows[i].innerHTML+"</tr>";
		sTable.uberGrid[i].idx=i
	}
}	

	