﻿/*
 * Type detection for numbers using commas instead of decimal point
 */
jQuery.fn.dataTableExt.aTypes.push(
			function(sData) {
			    var sValidChars = "0123456789-,";
			    var Char;
			    var bDecimal = false;

			    /* Check the numeric part */
			    for (i = 0; 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 'numeric-comma';
			}
		);

/*
 * Sorting for numbers using comma instead of decimal point
 */
jQuery.fn.dataTableExt.oSort['numeric-comma-asc'] = function(a, b) {
    var x = (a == "-") ? 0 : a.replace(/,/, ".");
    var y = (b == "-") ? 0 : b.replace(/,/, ".");
    x = parseFloat(x);
    y = parseFloat(y);
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};

jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a, b) {
    var x = (a == "-") ? 0 : a.replace(/,/, ".");
    var y = (b == "-") ? 0 : b.replace(/,/, ".");
    x = parseFloat(x);
    y = parseFloat(y);
    return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};