/* by me */

$(function() {

    $('.switchable').live('click', function() {
    	$(this).siblings().toggleClass('hidden');
    });
    
    // --
    // set changing of order criterium
    $('#order_by').change(function() {
    	criterium = $('#order_by').val();
    	orderList('adverts', 'offer', criterium, 'asc');
    });
    // --
    
    // --
    // set changing of order direction (ascending vs. descending)
    $('#order_asc').click(function() {
    	criterium = $('#order_by').val();
    	orderList('adverts', 'offer', criterium, 'asc');
    });
    
    $('#order_desc').click(function() {
		criterium = $('#order_by').val();
    	orderList('adverts', 'offer', criterium, 'desc');    	
    });

    $('#app-select').change(function() {
        var val = $('#app-select').val();
        window.location.assign(Django.app_url + 'application/' + val + '/');
        /*
        $.ajax({
            type: 'POST',
            url: Django.app_url + 'application/' + val + '/',
            data: {},
            error: function() {
                alert('ajax error');
            },
            success: function(answer) {
                var f = $('#app-form-wrapper form');
                if (f.length > 0) {
                    $('#app-form-wrapper form').replaceWith($(answer));
                }
                else {
                    $('#app-form-wrapper').append($(answer));
                }
            }
        });
        */
    });
    
    $('#confirm-data-bttn').click(function() {
		var f = $('#review-form');
		var app_type = f.find('#app_type').val();
		f.attr('action', Django.app_url + 'application/' + app_type + '/commit/');
		f.submit();
	});
	
	$('#correct-data-bttn').click(function() {
		var f = $('#review-form');
		var app_type = f.find('#app_type').val();
		f.attr('action', Django.app_url + 'application/' + app_type + '/');
		f.submit();
	});
});

function alertArray (arr) {
	var s = '';
	for (key in arr) {
		//alert($(arr[key]).attr('class'));
		var id = $(arr[key]).attr('id');
		s += $('#' + id + ' .country .value').text() + '; ';
	}
	alert(s);
}

function orderList (containerID, listItemClass, orderByClass, order) {
	var list = new Array();
	$('#' + containerID + ' .' + listItemClass).each(function() {
		list.push(this);
	});
	list.sort(function(a, b) {
		var k = 0;
		if (order == 'asc') {
			k = 1;
		}
		else if (order == 'desc') {
			k = -1;
		}
		
		var id = $(a).attr('id');
		var d1 = $('#' + id + ' .' + orderByClass + ' .value').text();
		id = $(b).attr('id');
		var d2 = $('#' + id + ' .' + orderByClass + ' .value').text();
		
		if (d1 < d2) {
			return -1*k;
		}
		else if (d1 > d2) {
			return 1*k;
		}
		else {
			return 0;
		}	
	});

	var container = $('#' + containerID);
	container.contents().filter('.' + listItemClass).remove();
	for (key in list) {
		container.append($(list[key]));
	}
	
}
