var formname = null;
var alert_text = null;

function showTags() {
	$('tagselect').show(); 
	$('showtags').hide(); 
	$('hidetags').show();
	return false;
}

function hideTags() {
	$('tagselect').hide(); 
	$('showtags').show(); 
	$('hidetags').hide();
	return false;
}

function addToTags(text, hidden) {
	
	var completer = $('tags_completer');
	
	if (completer)
		completer.value = "";
	
	if(!text || text.length <= 0)
		return;
	
	tagsel = $('tagused');
	var count=0;
	if(tagsel.options && tagsel.options.length)
		count = tagsel.options.length;
	
	var optionid = "tag" + count;
	var new_opt = new Element('option', { value: text, id: "option_"+optionid});
	new_opt.insert(text);
	tagsel.insert(new_opt);
	
	var span_tpl = new Template('<span id="#{optid}" class="selectedtag'+(hidden?" hidden_tag":"")+'">#{tagtext}</span>');
	spanid = "span_"+optionid;
	var tpl_data = {optid: spanid, tagtext: text}
	span_tpl_data = span_tpl.evaluate(tpl_data);
	$('selectedtags_container').insert(span_tpl_data);
	$(spanid).observe('click', removeTag);
}

function refreshTags() {
	taggroup = $('groupsel').getValue();
	tags = $('tagselect').select("span");
	if(taggroup) {
		class_name = "group" + taggroup;
		for(var j=0;j<tags.length;j++) {
			if(!tags[j].hasClassName(class_name)) tags[j].hide();
			else tags[j].show();
		}
	}
	else
		for(var j=0;j<tags.length;j++) {
			tags[j].show();
		}
	
}

function selectTags() {
	tagsel = $('tagused');
	for(var i=0;i<tagsel.options.length;i++)
			tagsel.options[i].selected = true;
}

function addTag(el, target, hidden) {
	
	value = el.innerHTML;
	
	
	addToTags(value, hidden);
	return;
}

function removeSelectedTags(confirm_msg) { 
	if(confirm_msg && confirm_msg.length > 0) {
		if(!window.confirm(confirm_msg)) return;
	}
	tagsel = $('tagused');
	removed = new Array();
	for(var r=0;r<tagsel.options.length;r++) {
		if(tagsel.options[r].selected) {
			var oid = tagsel.options[r].id;
			removed.push(oid);
		}
	}
	for(var s=0;s<removed.length;s++) {
		$(removed[s]).remove();
	}
}

function removeTag() {
	
	if(alert_text && !window.confirm(alert_text)) return;
	
	spanid = this.id;
	baseid = spanid.replace("span_", "");
	optid = "option_"+baseid;
	$(spanid).remove();
	$(optid).remove();
}

function removeAllTags(confirm_msg) {
	if(confirm_msg && confirm_msg.length > 0) {
		if(!window.confirm(confirm_msg)) return;
	}
	tagsel = $('tagused');
	while(tagsel.childNodes.length > 0) {
		tagsel.removeChild(tagsel.firstChild);
	}
}

function addSelectedTag(li) {
	addToTags(li.id);
}

function showPageSelect(typename) {
	ps_container = $('page_selects');
	selects = ps_container.getElementsBySelector("div");
	for(var h=0;h<selects.length;h++) {
		if(selects[h].id == typename && selects[h].getStyle('display') == 'none') {
			selects[h].show();
		}
		else
			selects[h].hide();
	}
}

function updateSelectCount(typename) {
	type_container = $(typename);
	boxes = type_container.getElementsBySelector("input");
	select_count = 0;
	for(var w=0;w<boxes.length;w++) {
		if(boxes[w].checked) select_count++;
	}
	$(typename + "_count").update(select_count);
}

var tagobserver = function(event) { 
			submitted = inputObserver.checkSubmit(event);
			if(submitted) { 
				event.stop();
				var value = this.getValue();
				addToTags(value);
			}
			return !submitted;
}





