// Forestinvest foldkereso
// (C) Organik Webdesign

jQuery.fn.extend({
	mouseclicks: function(options) {
		options = jQuery.extend({
			sc_callback: function(){},
			dc_callback: function(){},
			sc_function: function(){},
			dc_latency: 300
		}, options);
		var mouseclick_flag = false;
		var mouseclick_timer;
		mouseclick_func = function(obj,c,o) {
			o.sc_function(obj);
			if(mouseclick_flag) {
				clearTimeout(mouseclick_timer);
				mouseclick_flag = false;
			} else {
				mouseclick_flag = true;
				mouseclick_timer = setTimeout(function(){
					mouseclick_func(obj,0,o);
				}, o.dc_latency);
				return false;
			}
			if(c)
				o.dc_callback(obj);
			else
				o.sc_callback(obj);
			return false;
		};
		return this.each(function(){
			$(this).click(function(){
				mouseclick_func(this,1,options);
				return false;
			});
		});
	}
});

var indices = [
	['one',   0],
	['two',   1],
	['three', 2],
	['four',  3],
	['five',  4],
	['six',   5],
	['seven', 6]
];

function get_ord(obj) {
	for (x in indices) {
		if (obj.hasClass(indices[x][0])) {
			return indices[x][1];
		}
	}
	return -1;
}

function change_sorting(b) {
	var obj = $(b);
	if (obj.hasClass('asc')) {
		obj.addClass('desc');
		obj.removeClass('asc');
	} else {
		obj.addClass('asc');
		obj.removeClass('desc');
	}
}

function change_order(b, forced) {
	var obj = $(b).parent().find('a.level');
	var ord = get_ord(obj);
	if (ord > 0) {
		if (forced) {
			$('div.ordering_button').each(function() {
				var btn = $('a.level', this);
				if (btn.hasClass(indices[ord-1][0])) {
					btn.removeClass('one two three four five six seven eight');
					btn.addClass(indices[ord][0]);
				}
			});
			obj.removeClass('one two three four five six seven eight');
			obj.addClass(indices[ord-1][0]);
		} else {
			$('div.ordering_button').each(function() {
				var btn = $('a.level', this);
				var btnord = get_ord(btn);
				if (btnord < ord) {
					btn.removeClass('one two three four five six seven eight');
					btn.addClass(indices[btnord+1][0]);
				}
			});
			obj.removeClass('one two three four five six seven eight');
			obj.addClass(indices[0][0]);
		}
	}
	change_sorting(b);
	post_page();
}

function post_page() {
	var url = live_site + '/index.php?option=com_adsmanager&page=foldkereso&ordering=';
	var parts = [];
	$('div.ordering_button').each(function() {
		var index = get_ord($('a.level', this));
		if (index > -1) {
			parts[index] = (
				$(this).attr('class').replace('ordering_button', '').replace(' ', '') +
				':' +
				($('a.arrow', this).is('.asc') ? 'asc' : 'desc')
			);
		}
	});
	window.location.replace(url + parts.join(','));
	return false;
}

function toggle_favourite() {
	var cbox = $(this);
	var adid = cbox.attr('name').replace('fav_', '');
	if (cbox.get(0).checked) {
		add_to_favourites(adid);
	} else {
		remove_from_favourites(adid);
	}
}

function reset_ordering() {
	window.location.replace(live_site + '/index.php?option=com_adsmanager&page=foldkereso');
	return false;
}

function show_btn_help(obj, text) {
	var parent = $(obj).parent();
	parent.find('span.help').text(text);
	parent.find('span.help', obj).show();
}

function hide_btn_help(obj) {
	var parent = $(obj).parent();
	parent.find('span.help').hide();
}

function print_all() {
	$('link.printing_styles').attr('href', $('link.printing_styles').attr('href').replace(
		/([^\/]+\.css)/, 'template_print.css'
	));
	window.print();
}

function print_favs() {
	$('link.printing_styles').attr('href', $('link.printing_styles').attr('href').replace(
		/([^\/]+\.css)/, 'template_print_favs.css'
	));
	window.print();
}

$(function(){
	$('div.ordering_button a.arrow').mouseclicks({
		sc_callback: function(o){ change_order(o, false); },
		dc_callback: function(o){ change_order(o, true); },
		sc_function: function(){},
		dc_latency: 200
	});
	$('tr input[type=checkbox]').click(toggle_favourite);
});
