$.tablesorter.addParser({
    id: 'money',
    is: function (s) {
        return false;
    },
    format: function (s) {
        return s.replace(',', '.');
    },
    type: 'numeric'
});

$.tablesorter.addParser({
    id: 'date',
    is: function (s) {
        return false;
    },
    format: function (s) {
        return s.replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/g, '$3-$2-$1');
    },
    type: 'text'
});

function pageLoadHandler() {
    //renderFieldgroups();	

    // altezza colonne
    var extraHeight = $('#content-extra').outerHeight({ margin: true });
    var mainHeight = $('#content-main').outerHeight();
    if (mainHeight < extraHeight) {
        $('#content-main').height(extraHeight);
    }

    // bordi arrotondati
    $('#step-content:not(.r), fieldset:not(.r), .fieldset_like:not(.r)').css({ '-moz-border-radius': '5px', '-webkit-border-radius': '5px' }).addClass('r');

    // tab
    $('ul.clickable').tabs({ fx: { opacity: 'toggle'} });

    // tooltip
    $('#content-main img, #content-main input[type="image"], .tip, .tutorial a').tooltip({ track: true, delay: 0, showURL: false, fade: 250 });

    // link esterni
    $('a[rel="external"]:not(.r)').click(function (e) {
        e.preventDefault();
        window.open(this.href);
    }).addClass('r');

    // finestre di popup
    $('a.popup:not(.r)').click(function (e) {
        e.stopPropagation();
        e.preventDefault();
        openRadWindow(this.href);
    }).addClass('r');
}

function collapsibles() {
    var togglers = $('.toggler a');
    togglers.click(function (e) {
        var collapsible, idx;
        idx = this.href.lastIndexOf('#');
        if (idx >= 0) {
            var collapsibleId = this.href.substr(idx);
            if (collapsibleId == "#next") {
                collapsible = $(this).parent('.toggler').next('.collapsible');
            } else {
                collapsible = $(collapsibleId);
            }

            e.preventDefault();
            collapsible.slideToggle();
        }
    });
}

function renderFieldsets() {
    var fieldsetsControls = $('fieldset *');

    fieldsetsControls.bind('click focus',
		function () {
		    $('fieldset').removeClass('current');

		    var currentFieldset = $(this).parents('fieldset');
		    if (currentFieldset != null) {
		        currentFieldset.addClass('current');
		    }
		}
	);
}

function renderFieldgroups() {
    var fieldgroups = $('.field_group');
    var fieldgroupsControls = $('.field_group *');

    fieldgroupsControls.bind('click focus',
        function () {
            fieldgroups.removeClass('fg_current');

            var currentFieldgroup = $(this).parents('.field_group');
            if (currentFieldgroup != null) {
                currentFieldgroup.addClass('fg_current');
            }
        }
    );
}

function alternatingTables() {
    var rows = $('table.alternating tbody > tr');

    rows.hover(function () {
        $(this).addClass('hover');
    }, function () {
        $(this).removeClass('hover');
    });
}

function selectableTables() {
    $('table.selection tr').click(function (e) {
        var checkbox = $(this).children().children(':checkbox');
        if (!$(e.target).is(':checkbox')) {
            if (checkbox.attr('checked')) {
                checkbox.removeAttr('checked');
            } else {
                checkbox.attr('checked', 'checked');
            }
        }

        if (checkbox.attr('checked')) {
            $(this).addClass('selected');
        } else {
            $(this).removeClass('selected');
        }
    });
}

function linkTables() {
    $('table.link tr').click(function (e) {
        var anchor = $(this).children().children('a:first');
        if (anchor != null) {
            var href = anchor.attr('href');
            e.preventDefault();
            if (href.substr(0, 11) == 'javascript:') {
                var script = anchor.attr('href').substr(11);
                eval(script);
            } else {
                window.location = href;
            }
        }
    });
}

function radioLists() {
    var lis = $('ul.radio > li');

    var radios = $('ul.radio li :radio');
    var labels = $('ul.radio li label');

    // impedisce il doppio trigger dell'evento click
    // dovuto a quello default della label
    labels.click(function (e) {
        e.preventDefault();
    });

    radios.click(function (e) {
        $(this).attr('checked', 'checked');
    });

    lis.click(function (e) {
        var radio = $(this).children(':radio');
        $(this).parent('ul').children('li').children(':radio').removeAttr('checked');
        radio.trigger('click');

        lis.removeClass('selected');
        $(this).addClass('selected');
    });

    lis.hover(function () { $(this).addClass('hover'); }, function () { $(this).removeClass('hover'); });

    // per il postback parziale
    radios.each(function () {
        var parent = $(this).parent('li');
        if ($(this).attr('checked')) {
            parent.addClass('selected');
        } else {
            parent.removeClass('selected');
        }
    });
}

function cleanAlert(msg) {
    return msg.replace(/\r\n/g, "<br />");
}

//function confirmCallback(arg)
//{
//    return arg;
//}

function alert(msg) { radalert(cleanAlert(msg)); }
//function confirm(msg) { radconfirm(cleanAlert(msg), confirmCallback); }

function openRadWindow(href, title) {
    var win = radopen(href, title);
    win.setSize(550, 400);
    win.Center();
}


function pageTransfer(result) {
    if (result != "0") {
        $.unblockUI;
        document.location.replace(result);
    }
}

function checkStatus(guid) {
    $.ajax({
        type: 'GET',
        url: 'CheckPage.aspx?Id=' + guid,
        cache: false,
        datatype: 'text',
        success: pageTransfer
    });
}

function ieAdjustments() {
    $('input[type="text"], input[type="password"], select, textarea').addClass('control');
    $('.RadComboBox + img').css({ 'padding-top': '2px', 'margin-left': '2px' });
}

function ie6Adjustments() {
    $('div.fieldset_like h2:first-child').addClass('first-child');
    $('button.button').hover(
        function () { $(this).addClass('hover'); },
        function () { $(this).removeClass('hover'); }
    );
    $('input + img, select + img, label + img').css('vertical-align', 'middle');
    $('img[@src$=.png]').ifixpng();
}
