jQuery.fn.dataTableExt.aTypes.push( function ( sData )
{
	sData = typeof sData.replace == 'function' ?
		sData.replace( /<.*?>/g, "" ) : sData;
	
	var sValidFirstChars = "0123456789-";
	var sValidChars = "0123456789.,";
	var Char;
	var bDecimal = false;
	
	/* Check for a valid first char (no period and allow negatives) */
	Char = sData.charAt(0); 
	if (sValidFirstChars.indexOf(Char) == -1) 
	{
		return null;
	}
	
	/* Check all the other characters are valid */
	for ( var i=1 ; i<sData.length ; i++ ) 
	{
		Char = sData.charAt(i); 
		if (sValidChars.indexOf(Char) == -1) 
		{
			return null;
		}
		
		/* Only allowed one decimal place... */
		if ( Char == "." )
		{
			if ( bDecimal )
			{
				return null;
			}
			bDecimal = true;
		}
	}
	
	return 'num-html';
} );



jQuery.fn.dataTableExt.oSort['num-html-asc']  = function(a,b) {
	a = a.replace( /<.*?>/g, "" );
	b = b.replace( /<.*?>/g, "" );
	a = a.replace(/,*/g, "");
	b = b.replace(/,*/g, "");
	var x = (a=="-" || a==="") ? 0 : a*1;
	var y = (b=="-" || b==="") ? 0 : b*1;
	return x - y;
};

jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) {
	a = a.replace( /<.*?>/g, "" );
	b = b.replace( /<.*?>/g, "" );
	a = a.replace(/,*/g, "");
	b = b.replace(/,*/g, "");
	var x = (a=="-" || a==="") ? 0 : a*1;
	var y = (b=="-" || b==="") ? 0 : b*1;
	return y - x;
};


jQuery.fn.dataTableExt.oSort['date-html-asc'] = function(a,b) {
	a = a.replace( /<.*?>/g, "" );
	b = b.replace( /<.*?>/g, "" );
	var x = Date.parse( a );
	var y = Date.parse( b );
	if ( isNaN(x) || x==="" ) { x = Date.parse( "01/01/1970 00:00:00" ); }
	if ( isNaN(y) || y==="" ) { y =	Date.parse( "01/01/1970 00:00:00" ); }	
	return x - y;
};
jQuery.fn.dataTableExt.oSort['date-html-desc'] = function(a,b) {
	a = a.replace( /<.*?>/g, "" );
	b = b.replace( /<.*?>/g, "" );
	var x = Date.parse( a );
	var y = Date.parse( b );
	if ( isNaN(x) || x==="" ) { x = Date.parse( "01/01/1970 00:00:00" ); }
	if ( isNaN(y) || y==="" ) { y =	Date.parse( "01/01/1970 00:00:00" ); }	
	return y - x;
};

