var states = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
var color = 1;

function menu_item_click(obj, e, index) {
	if(e != null){
	    if (document.getElementById(obj).style.display == 'none'){
	    	document.getElementById(obj).style.display = 'block';
	    } else {
	    	document.getElementById(obj).style.display = 'none';
	    }
	   	states[index] = 1 - states[index];
	   	if(states[index] == 0) {
			e.innerHTML = '[-]';
	   	}
	   	else {
			e.innerHTML = '[+]';
   		}
   	}
}

function changeMenu(key){
	if(document.getElementById(key).style.display=='none') {
		document.getElementById(key).style.display='block';
	} else {
		document.getElementById(key).style.display='none';
	}
}

function goToTopic() {
	document.location.href = baseURL +'/search/AdvancedSearch.do?action-type=topicSearch&topic-type='+document.getElementById("filter_topic").value;
}

function setFilterValues(){
	setCheckSelect();
	document.getElementById('numberMark').value = 0;
	document.getElementById('filterTitle').value = document.getElementById('searchWord').value;
}

function goToNumber(numberPage) {
	document.getElementById('numberMark').value = numberPage;
	document.getElementById('filterForm').submit();
}

function replaceAll (soeg, erstat, streng) {
	var st = streng;
	if (soeg.length == 0){
		return st;
	}
	var idx = st.indexOf(soeg);
	while (idx >= 0) {
		st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
		idx = st.indexOf(soeg);
	}
	return st;
}

function checkAndOpenFilterMenus(){
	if(document.getElementById("checkSelec") != null){
		var checkSelec = document.getElementById("checkSelec").value;
		var temp = checkSelec.split('#');
		if (temp != null){
			for (var i=0; i< temp.length; i++){
				if(document.getElementById(temp[i]) != null){
					// check the checkboxes
					document.getElementById(temp[i]).checked = true;
					var id = document.getElementById(temp[i]).parentNode.parentNode.parentNode.id;
					if (id == 'sub0'){
						id = document.getElementById(temp[i]).parentNode.parentNode.id;
					}
					var parid="";
					// Genre, get parent element
					if (temp[i].indexOf('_')== -1){ // sub chapter of genre (ne, dr, co, en, do, li, ch, ad, tr, sp)
						if(temp[i] == 'do' || temp[i] == 'li' || temp[i]== 'ch' || temp[i] == 'ad' || temp[i] == 'tr' || temp[i] == 'sp'){
							parid="";
						}else{ // sub chapters with childs (ne, dr, co, en)
							parid = temp[i] + '_parent';
						}
						if (document.getElementById('sub0').style.display == 'none'){
								menu_item_click('sub0',document.getElementById('genre_img') , 0);
						}

					} else{
						// Rest, get parent element
						// if user only searched for the child of a genre sub chapter
						// (ne_1, dr_1.., co_1..,en_1..) open the "genre box"
						if (temp[i].indexOf('ne_') != -1 || temp[i].indexOf('dr_') != -1 || temp[i].indexOf('co_') != -1 || temp[i].indexOf('en_') != -1){
							if (document.getElementById('sub0').style.display == 'none'){
								menu_item_click('sub0',document.getElementById('genre_img') , 0);
							}
						}
						//e.g. tp_15 -> tp_parent
						parid = temp[i].substring(0,temp[i].lastIndexOf('_')) + '_parent';
					}
					if(parid != "") {
						var img = document.getElementById(parid).childNodes[0].childNodes[0];
						if(img == null){ // firefox
							img = document.getElementById(parid).childNodes[1].childNodes[1];
						}
						// don't close opened filters
						if (document.getElementById(id).style.display == 'none'){
							menu_item_click(id,img , id.substring(3));
						}
					}
				}
			}
		}
	}
}

function setCheckSelect(){
	var checks = document.getElementsByTagName("input");
	var lenCheck = checks.length;
	var setFilter = getCheckedIds(checks, lenCheck);
	var selects = document.getElementsByTagName("option");
	var lenSelect = selects.length;
	setFilter += getCheckedIds(selects, lenSelect);
	document.getElementById("checkSelec").value = setFilter;
}

function getCheckedIds(checkSelect, len){
	var setFilter="";
	for (var i = 0; i < len; i++) {
		if (checkSelect[i].selected || checkSelect[i].checked) {
			if(checkSelect[i].id != null && checkSelect[i].id != "" && checkSelect[i].id != " ") {
				setFilter += checkSelect[i].id + "#";
			}
		}
	}
	return setFilter;
}

/**
  * this function is called whenever the user wants to filter on decade. The search engine can either
  * search with a start and/or end date, or with a set of decades.
  */

function removeDateInterval(){
	document.getElementById('iDate').value = '';
	document.getElementById('eDate').value = '';
}

function toggleChildren(id, obj){
	//var plusMinus = obj.src;
	var plusMinus = obj.innerHTML;
	var child_id= 'child_'+id;
	if (plusMinus.lastIndexOf("[+]") != -1){
		//obj.src = '/VideoActive/images/new/minus.png';
		obj.innerHTML = '[-]'
		document.getElementById(child_id).style.display = 'block';
	} else{
		//obj.src = '/VideoActive/images/new/plus.png';
		obj.innerHTML = '[+]'
		document.getElementById(child_id).style.display = 'none';
	}
}

function orderResultsByDate(){
	var sd = document.getElementById('sortDir').value;
	if(sd == '' || sd == 'desc'){	
		sd = 'asc';	
	} else {
		sd = 'desc';
	}
	document.getElementById('sortDir').value = sd;
	document.getElementById('sortType').value = 'd';
	document.getElementById('filterForm').submit();
}
