var stm;
var mu_data = new Object()

var sids = new Object;
var hids = new Object;

function setout(t){
	clearTimeout(stm);
	stm = setTimeout("clerere()", 300);
	$(t).removeClass('over').addClass('out');
}

function setin(a, t){
	$(t).removeClass('out').addClass('over');

	if(a) show_el(a, "d_rops");
	clearTimeout(stm);
}

function clerere(){	hide_set("d_rops"); }

function swap_class(el, c1, c2){
	if(el.className.indexOf(c1) != -1){
		$(el).removeClass(c1).addClass(c2);
	} else {
		$(el).removeClass(c2).addClass(c1);
	}
}

function setall(form_name, val, cl){
	$("#"+ form_name +"_form").find("input[type='checkbox']").each(function(){
		$(this).attr('checked', val);
		$(this.parentNode.parentNode).removeClass('ov').removeClass('ou').addClass(cl);
	});

	checker(form_name, null);
}

function checker(form_name, el){
	if(el){
		swap_class(el.parentNode.parentNode, 'ov', 'ou');
	}

	a = $("#"+ form_name +"_form").find("input[type='checkbox'][checked=true]");

	if(a.size()){
		$('#mu_' + form_name + ', #mu_' + form_name + '_d').show();
	} else {
		$('#mu_' + form_name + ', #mu_' + form_name + '_d').hide();
	}
}

function ch_select_change(a, form_name, avar){
	a = a || $('#sel_' + form_name).val();

	msg = mu_data[form_name]['action'][a].confirm;
	var cnf = false;
	if(msg){
		cnf = confirm(msg);
	} else {
		cnf = true;
	}

	if(!cnf){
		$('#sel_' + form_name).val(0);
		return false;
	} else {
		f = $('#' + form_name + '_form');

		f.attr('action', mu_data[form_name]['action'][a].f_action);
		$("input[name=sba]", f).attr({'value': a, 'name': avar });
		$("input[name=checkname]", f).attr({'value': form_name });

		if(mu_data[form_name]['parent_name']){
			$("input[name=parent]", f).attr({'value': mu_data[form_name]['parent_value'], 'name': mu_data[form_name]['parent_name'] });
		}

		f.submit();
		return false;
	}
}

function l2_reload_opener(url, add, clear_param){
	while((pos = url.indexOf(clear_param)) != -1){
		lpos = url.indexOf("&", pos);
		if(lpos == -1){
			lpos = url.length;
		}

		url = url.substr(0, pos) + url.substring(lpos + 1);
	}
	while((pos = url.indexOf(add)) != -1){
		url = url.substr(0, pos) + url.substr(pos + add.length);
	}

	last_char = url.charAt(url.length - 1);
	if(last_char == "?" || last_char == "&"){
		url = url.substr(0, url.length - 1);
	}

	if(add){
		if(url.indexOf("?") != -1) {
			delim = "&";
		} else if(add){
			delim = "?";
		}
	}
	opener.location.href = url + delim + add;
	window.close();
}

function linked_file(fname){
	if($('#' + fname).val()){
		$('#lf_' + fname).hide();
	} else {
		$('#lf_' + fname).show();
	}
}

function check_auto_add(name){
	if($("#" + name).val() == 'new'){
		$("#" + name + '_sugg_div').show();
		$("#" + name + '_sugg').focus();
	} else {
		$("#" + name + '_sugg_div').hide();
	}
}


function l2show_fields(prefix, a){
	for(var i = 0; i < a.length; i++){
		$("#uf_" + prefix + a[i]).show();
	}
}

function l2hide_fields(prefix, a){
	for(var i = 0; i < a.length; i++){
		$("#uf_" + prefix + a[i]).hide();
	}
}

function l2enable_fields(prefix, a){
	for(var i = 0; i < a.length; i++){
		$('#' + prefix + a[i]).attr('disabled', false);
	}
}

function l2disable_fields(prefix, a){
	for(var i = 0; i < a.length; i++){
		$('#' + prefix + a[i]).attr('disabled', true);
	}
}

function show_set(catset){
	catset = catset || 'default';

	for(i in hids[catset]){
		show_el(i, catset, 1);
	}
}

function hide_set(catset, except){
	catset = catset || 'default';

	for(i in sids[catset]){
		if(!except || (except && except != i)){
			hide_el(i, catset);
		}
	}
}

function hide_el(id, catset){
	catset = catset || 'default';

	hi_add(id, catset);

	$("#" + id).hide();

	return true;
}

function hi_add(id, catset){
	catset = catset || 'default';

	if(!hids[catset]){
		hids[catset] = new Array();
	}

	hids[catset][id] = 1;
}

function sh_add(id, catset){
	catset = catset || 'default';

	if(!sids[catset]){
		sids[catset] = new Array();
	}
	sids[catset][id] = 1;
}
function show_el(id, catset, skipall){
	catset = catset || 'default';

	sh_add(id, catset);

	if(!skipall){
		hide_set(catset, id);
	}

	$('#' + id).show();

	return true;
}


function show_hide(id, catset) {
	if($('#' + id).css('display') == "none"){
		show_el(id, catset);
	} else {
		hide_el(id, catset);
	}

	return true;
}

function switch_visibility(id, e, s1, s2) {
	var sender;

	if(e){
		sender = e;

		if(sender.innerHTML.toUpperCase() == s1.toUpperCase()){
			sender.innerHTML = s2;
		} else {
			sender.innerHTML = s1;
		}
	}

	$('#' + id).toggle();
	//$('#' + id).show();
	return false;
}