var aTabMenu  = new Array("tab01", "tab02", "tab03");
var tabSuffix = "_contents";
var tabClass = "tabButton";

function tab(caller) {

	for (var i=0; i < aTabMenu.length; i++){

		var tab = document.getElementById(aTabMenu[i] + tabSuffix);
		var btn = document.getElementById(aTabMenu[i]);

		if(tab != null) {
			tab.style.display="none";
		}

		if(btn != null) {
			btn.className = tabClass;
		}
	}

	var tab = document.getElementById(caller.id + tabSuffix);
	var btn = document.getElementById(caller.id);

	if(tab != null) {
		tab.style.display="block";
	}

	if(btn != null) {
		btn.className = tabClass + onStr;
	}
}

function myClass(caller, class_name)
{
	caller.className = class_name;
}

function checkStatus(caller)
{

	if(caller.className=="country" && caller.value > 0)
	{
		var obj = document.getElementById('location_any');
		obj.checked = false;
		var locationList = document.getElementsByClassName(caller.id)
		for(var i = 0; i<locationList.length;i++) {
			locationList[i].checked = false;
		}
		
	}
	else if(caller.value < 1 && caller.checked == true) {

		// 'any' element selected
		var oField = document.forms[0];

		for (var i = 0; i < oField.length; i++){
			if(oField[i].name == caller.name && oField[i].id != caller.id) {
				oField[i].checked = false;
			}
		}
		
		var countryList = document.getElementsByClassName('country');
		for (var i = 0; i < countryList.length; i++) {
			countryList[i].checked = false;
		}

	} else if (caller.value > 0 && caller.checked == true) {
		// all other elements selected
		var match = /country_\d/.exec(caller.className);
		if(match!=null)
		{
			var deselectCountry = document.getElementById(match);
			deselectCountry.checked = false;
		}
		var oField = document.forms[0];
		for (var i = 0; i < oField.length; i++){
			if(oField[i].name == caller.name && oField[i].value < 1) {
				oField[i].checked = false;
			}
		}
	}
}

function selectTag(caller)
{
	
	var prefixSel = 'sel_';
	var prefixCld = 'cld_'
	var oCldParent = document.getElementById(prefixCld + caller.id);
	var oSelParent = document.getElementById(prefixSel + caller.id);

	if(caller.checked && oCldParent != null) {
		// the element is in the tag cloud
		// lets move it to the selected area

		var oSelParent = document.createElement("div");
		oSelParent.id = prefixSel + caller.id;
		oSelParent.className = 'tick';
		oSelParent.innerHTML = oCldParent.innerHTML;

		var oSelected = document.getElementById('selected_tags');
		var oTagCloud = document.getElementById('tag_cloud');

		if(oSelected != null) {
			oSelected.appendChild(oSelParent);
		}

		if(oTagCloud != null) {
			oTagCloud.removeChild(oCldParent);
		}

		var oChecked = document.getElementById(caller.id);
		oChecked.checked = true;

	} else if (!caller.checked && oSelParent != null) {

		// the element is selected
		// lets move it to the cloud

		var oCldParent = document.createElement("div");
		oCldParent.id = prefixCld + caller.id;
		oCldParent.className = 'tick';
		oCldParent.innerHTML = oSelParent.innerHTML;

		var oSelected = document.getElementById('selected_tags');
		var oTagCloud = document.getElementById('tag_cloud');

		if(oTagCloud != null) {
			oTagCloud.appendChild(oCldParent);
		}

		if(oSelected != null) {
			oSelected.removeChild(oSelParent);
		}

		var oChecked = document.getElementById(caller.id);
		oChecked.checked = false;
	}
}
document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');

	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) 
			retnode.push(elem[i]);
	}
	return retnode;
}; 