/**
 * @author Christoph Terno
 */

function eingabe() {
	document.getElementById('urleingabe').innerHTML = "<form action='/index.php' method='get'><p>URL: <input type='hidden' name='p' value='suche_auslesen' /><input type='text' name='url' style='width: 350px'></p><p style='text-align: right'><input type='submit' value='Eintragen' class='submit'></p></form>";
}

/**
 * @author Christoph Fiolka
 */
 
function add_space(max_i){
  var Td = document.createElement('td');
  var Img = document.createElement('img');
  Img.src = '/images/trans.gif';
  Img.style.width = '13px';
  Img.style.height = '1px';
  Td.appendChild(Img);
	for(var i = 1; i <= max_i; i++){
    var Tr = document.getElementById('t'+i);
    Tr.insertBefore(Td.cloneNode(true), Tr.firstChild);
 	}
}

function show_tt_filter(){
  ToolTip.show('filter_tt', '<ul><li>Die H&auml;kchen vor den Datenbanken (rpi-Artikel, rpi-Wiki-Artikel...)<br>zeigen an, welche Datenbanken im Moment durchsucht werden.</li><li>Wenn Sie auf eine <u>Datenbank</u> klicken (nicht auf ein Kontrollk&auml;stchen!),<br>dann wird ausschlie&szlig;lich die angeklickte Datenbank durchsucht.</li><li>Wenn Sie mehrere Datenbanken durchsuchen m&ouml;chten,<br>setzen Sie bei den gew&uuml;nschten Datenbanken H&auml;kchen,<br>indem sie auf die <u>Kontrollk&auml;stchen</u> klicken (nicht auf die Datenbank!).</li><li><a href=javascript:show_tt_filter_more();void(0);>Weitere Hinweise...</a></li></ul>','<div style="background-image: url(/images/hilfe.gif);background-repeat:no-repeat;background-position:0 1px;padding-left:16px">Bedienungshinweise</div>');
}
function show_tt_filter_more(){
  ToolTip.show('filter_tt', '<ul><li>In der Datenbank &quot;Material&quot; stehen Ihnen zus&auml;tzlich die<br>Suchkriterien &quot;Bildungs/Altersstufen&quot; und &quot;Themen&quot; zur Verf&uuml;gung.</li><li>Sie k&ouml;nnen mehrere Bildungs/Altersstufen gleichzeitig<br>w&auml;hlen, aber maximal nur ein Thema.</li><li>Wenn Sie ein Thema ausgew&auml;hlt haben, kann nicht<br>gleichzeitig eine andere Datenbank durchsucht werden.</li></ul>', '<div style="background-image: url(/images/hilfe.gif);background-repeat:no-repeat;background-position:0 1px;padding-left:16px">Weitere Bedienungshinweise</div>');
}
function show_tt_einstellungen(){
  ToolTip.show('einstellungen_tt', '<ul><li>Die &quot;<u>genaue</u> Suche&quot; erzielt nur Suchergebnisse, die <u>alle</u> Suchbegriffe enthalten.</li><li>Die &quot;<u>un</u>genaue Suche&quot; erzielt dagegen auch Suchergebnisse, die <u>nicht</u> alle Suchbegriffe enthalten.</li><li>Die kombinierte Suche fasst die Ergebnisse beider Sucharten zusammen.</li></ul>','<div style="background-image: url(/images/hilfe.gif);background-repeat:no-repeat;background-position:0 1px;padding-left:16px">Bedienungshinweise</div>');
}
function show_tt_suche(){
  ToolTip.show('suche_tt', 'Setzen Sie Ihre gesamten Eingaben in Anf&uuml;hrungsstriche,<br>wenn Sie nach einer genauen Wortgruppe suchen m&ouml;chten.','<div style="background-image: url(/images/hilfe.gif);background-repeat:no-repeat;background-position:0 1px;padding-left:16px">Bedienungshinweis</div>');
}

//#add#
f_id_arr = new Array('material', 'folder', 'rpi','wiki','forum','emz','relilex','','lbib','','','','blog');
f_txt_arr = new Array('Material', '&Ouml;ffentliche User-Ordner', 'rpi-Artikel','rpi-Wiki-Artikel','Foren-Beitr&auml;ge','AV-Verleihmedien','Lexikon-Artikel','','Literatur','','','','Blog-Artikel');

window.onload = ajax_backbutton_initialize;
function call_dg43_suche(anchorname){
	if(anchorname.length > 0){
		progr('block');
		x_dg43_suche_history(anchorname);
	
	}
}
function ajax_backbutton_initialize() {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(call_dg43_suche);
}
function dg43_suche(a,b,c,d){
	scrollTo(0, 0);
	progr('block');
	x_dg43_suche(a,b,c,d);

}
function progr(str){
	$('progress').style.display = str;
	if(typeof(ToolTip) == 'object'){
		ToolTip.show(false);
	}
}

function page(i){
	x_dg_open_page(43,i);
	progr('block');
	scrollTo(0, 0);
}

function fm(activate){
	Obj = $('f_material').checked = activate;
	
	Obj = $('f_material_jgst');
	Objtxt = $('f_material_jgst_t');
	
	if(activate){ // aktivieren
		Objtxt.className = '';
		Obj.disabled = false;
	}else{ //deaktivieren
		Objtxt.className = 'tdd';
		Obj.disabled = true;
	}
	
	for(var i = 0; i < f_material_jgst_arr.length; i++){
		
		Obj = $('f_material_jgst_' + f_material_jgst_arr[i]);
		Objtxt = $('f_material_jgst_' + f_material_jgst_arr[i] + '_t');
		
		if(activate && Objtxt.innerHTML.substr(Objtxt.innerHTML.length - 1, 1) == ')'){ // aktivieren
			Objtxt.className = '';
			Obj.disabled = false;
		}else{ //deaktivieren
			Objtxt.className = 'tdd';
			Obj.disabled = true;
		}
	}
}
	
function fmj(i, cnt){
	Obj = $('f_material_jgst_' + f_material_jgst_arr[i]);
	Objtxt = $('f_material_jgst_' + f_material_jgst_arr[i] + '_t');
	
	if(cnt > 0){
		Objtxt.innerHTML = f_material_jgst_t_arr[i] + ' (' + cnt + ')';
		Objtxt.className = '';
		Obj.disabled = false;
	}else{
		Objtxt.innerHTML = f_material_jgst_t_arr[i];
		Objtxt.className = 'tdd';
		Obj.disabled = true;
		Obj.checked = false;
	}
	
}

// Typ/Jgst-Filter-Checkboxen de/aktivieren
function f(id, cnt){
	Obj = $('f_' + f_id_arr[id - 1] );
	Objtxt = $('f_' + f_id_arr[id - 1] + '_t');
	if(!Obj)
		return;
	
	if(cnt > 0){
		Obj.disabled = false;
		Objtxt.className = '';
		Objtxt.innerHTML = f_txt_arr[id - 1] + ' (' + cnt + ')';
		if(id == 1){
			$('f_material_jgst').disabled = false;
			$('f_material_jgst_t').className = '';
		}
	}else{
		Obj.disabled = true;
		Objtxt.className = 'tdd';
			
		Obj.checked = false;
		Objtxt.innerHTML = f_txt_arr[id - 1];
		if(id == 1){ // Materialien-Altersstufen-Filter
		
			$('f_material_jgst').disabled = true;
			$('f_material_jgst_t').className = 'tdd';
		
			var prepend = 'f_material_jgst_';

			for(var i = 0; i < f_material_jgst_arr.length; i++){
				$(prepend + f_material_jgst_arr[i] + '_t').className = 'tdd';
				$(prepend + f_material_jgst_arr[i] + '_t').innerHTML = f_material_jgst_t_arr[i];
				$(prepend + f_material_jgst_arr[i]).disabled = true;
				$(prepend + f_material_jgst_arr[i]).checked = false;
	  		}
	  		
		}
	}
}
// Typ/Jgst-Filter-Checkboxen an/auschecken
function fc(id, bool){
	if(id.substr(0,3) == 'mj_'){
		id = 'material_jgst_' + id.substr(3);
	}

	Obj = $('f_' + id);
	Objtxt = $('f_' + id + '_t');
	if(!Obj)
		return;
		
	if(!Obj.disabled)
		Obj.checked = bool;
}
function disable_alle_typfilter(){
	for(var i = 0; i < f_id_arr.length; i++){
		if(f_id_arr[i]){
			Obj = $('f_' + f_id_arr[id - 1] );
			if(!Obj)
				continue;
			
			Obj.disabled = true;
			$('f_' + f_id_arr[id - 1] + '_t').className = 'tdd';
		}
	}
}

max_progress_frame = 71;

function start_progress(){
	if(typeof(progress_interval) != 'undefined')
		window.clearInterval(progress_interval);
    
  set_progress_frame(0);
	progress_interval = window.setInterval('set_progress_frame(1);',2000/max_progress_frame);
  $('s_progress').style.display = 'block';
}

function set_progress_frame(continue_progress){
  if(continue_progress){
		progress_frame++;  	
  }else{
	  progress_frame = 0;
  }
  
  if(progress_frame > max_progress_frame - 1){
	  window.clearInterval(progress_interval);
    $('s_progress').style.display = 'none';
   	return;
  }

  $('s_progress').style.backgroundPosition = '0 '+(progress_frame * -14)+'px';
}

current_click_id = 0;
ChangesArr = new Array;

function send_request(old_click_id){
	if(current_click_id != old_click_id)
  	return;
  
  var params = '';
  
  ChangesArr.each(function(param){
  	params += ';'+param;
  });
  
  ChangesArr = new Array;
  
  progr('block');
 	x_dg43_suche($('material_suche').value, 'multiple_filters', params);	
}

function s(id, param){ // typfilter oder jahrgangsstufenfilter deaktivieren/aktivieren (false/true) oder exklusiv (x)
	if($(id).disabled)
		return;

  $('keep_filter_settings').checked=true;
    
  current_click_id++;
    
  if(param == 'x'){
  	ChangesArr = new Array;
  	dg43_suche($('material_suche').value, 'filter', id.substr(2), param);
    $('s_progress').style.display = 'none';  
  }else{
		window.setTimeout('send_request('+current_click_id+');',2000);
    var b = param ? '1' : '0';
    ChangesArr.push(id.substr(2)+':'+b);
		start_progress();
  }

}

function s_all(val){
  $('keep_filter_settings').checked=true;
	ChangesArr = new Array;
  current_click_id++;
	dg43_suche(val, 'alles');
  $('alles').checked=true;
}

function s_all_jgst(){
  $('keep_filter_settings').checked=true;
	if($('f_material_jgst').disabled)
		return;
	ChangesArr = new Array;
  current_click_id++;
	dg43_suche($('material_suche').value, 'filter', 'material_jgst');
  $('f_material_jgst').checked=true;
}

// Aktiviere das aktuelle Themensystematik-Element, öffne alle dazugehörenden Knoten
function tf(id){
	//disable_alle_typfilter();
	
	if($('ts'+id))
		$('ts'+id).className='';
		
	if($('tsr'+id))
		$('tsr'+id).checked = true;
	
	id = new String(id);

	var newid = '';
	if(id.length == 5){
		newid = 'ts'+id.substr(0,2)+'000';
		if(newid == 'ts'+id || !$(newid))
			return false;
		
		$(newid).className='';
			
		newid = 'ts'+id.substr(0,3)+'00';
		if(newid == 'ts'+id || !$(newid))
			return false;

		$(newid).className='';

		newid = 'ts'+id.substr(0,4)+'0';
		if(newid == 'ts'+id || !$(newid))
			return false;

		$(newid).className='';
		
	}else if(id.length == 6){
		newid = 'ts'+id.substr(0,3)+'000';
		if(newid == 'ts'+id || !$(newid))
			return false;
			
		$(newid).className='';
			
		newid = 'ts'+id.substr(0,4)+'00';
		if(newid == 'ts'+id || !$(newid))
			return false;

		$(newid).className='';

		newid = 'ts'+id.substr(0,5)+'0';
		if(newid == 'ts'+id || !$(newid))
			return false;

		$(newid).className='';
	}
}
function t(id, loesche_suchbegriff){
	
	if(loesche_suchbegriff){
	  $('keep_filter_settings').checked=true;
		progr('block');
		x_dg43_suche('', 'filter_ts', id);
	}else{
		if($('tsr' + id).disabled)
			return;
	
	  $('keep_filter_settings').checked=true;
		$('tsr' + id).checked = true;
		progr('block');
		x_dg43_suche($('material_suche').value, 'filter_ts', id);
	}
}
function tr(){ // Themensystematik-Reset: alle grau, entferne Trefferanzahl (Zahl)
	//disable das Element "Alle Themen"
	$('tst0').firstChild.className='tdd';
	$('tsr0').disabled = true;

	for(var i = 0; i < ts_arr.length; i++){
		var El = document.getElementById('tst'+ts_arr[i]);
		if(!El)
			continue;
		
		// disable ein Themensystematik-Element
		if(El.className != 'tdd'){
			El.className='tdd';
			document.getElementById('tsr' + ts_arr[i]).disabled = true;
		}
		// Knoten einklappen
		var El2 = document.getElementById('ts'+ts_arr[i]);
		if(El2)
			El2.className='tnd';

/*
		var html = El.innerHTML;
		
		if(html.substr(html.length - 1,1) == ')'){
			El.innerHTML = html.substr(0, html.indexOf('&nbsp;(') );
		}
*/
	}
}
// Aktiviere ein Themensystematik-Element
function ts(id, cnt, disabled){
	if($('tsr' + id)){ // Es gibt in der Themensystematik auch tote Relationen zu Themen-Strids, die nicht mehr existieren, so dass das hier geprüft werden muss
		if(!disabled){
			$('tsr0').disabled = false;
			$('tsr' + id).disabled = false;
			$('tst0').firstChild.className='';
			$('tst'+id).className='';
		}

		if($('tst'+id).innerHTML.substr($('tst'+id).innerHTML.length-1,1) != ')'){
			$('tst'+id).innerHTML += '&nbsp;(' + cnt + ')';
		}else{
			$('tst'+id).innerHTML = $('tst'+id).innerHTML.substr(0,$('tst'+id).innerHTML.indexOf('&nbsp;(')) + '&nbsp;(' + cnt + ')';
		}
	}
}
