/*
 * - 2009-02-13 ck: Einführen eines zweiten Parameters id bei der Methode keywords_search()
 *					Browserüberprüfung auf IE6 (Probleme mit der Darstellung des Ergebisfensters)
 * - 2009-02-16 ck: Erstellen der Methoden jahre_search(), jahre_search_callback(), ausgaben_search()
 *					und ausgaben_search_callback()
 * - 2009-02-19 ck: Modifikationen der Methoden jahre_search_callback() und ausgaben_search_callback()
 * - 2009-07-17 ck: Alle Arten von Ärzten (auch Turnus- und Zahnärzte) dürfen sich Fachbereiche auswählen
 *					(> Telefonat Andrea Niemann 15.07.2009)
 * - 2009-07-20 ck: Erstellen der Methoden events_city_search() und events_city_search_callback()
 * - 2009-11-20 ck: Erstellen der Methode junpToFocus()
 */

function popupNormal(sUrl, sWidth, sHeight)
{
	var popup;

	popup = window.open(sUrl, 'PressRelease','toolbar=yes,location=no,directories=no,status=no,menubar=no,scrollbars=yes,screenX=10,screenY=10,resizable=yes,width=' + sWidth + ',height=' + sHeight, true);
	if(navigator.appName.indexOf('Netscape') != -1)
		popup.focus();
}

function popupPicture(sUrl, sWidth, sHeight)
{
	var popup;
	//var sWidth=sWidth+10;
	//var sHeight=sHeight+10;
	
	popup = window.open(sUrl, 'PictureViewer','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,screenX=10,screenY=10,resizable=yes,width=' + sWidth + ',height=' + sHeight, true);
	if(navigator.appName.indexOf('Netscape') != -1)
		popup.focus();
}

function printpage() {
	if (window.print)
		window.print();
	else
		alert("Leider unterstützt Ihr Browser diese Funktion nicht. Bitte aktivieren Sie die Druckfunktion Ihres Browsers manuell.");
}


function switch_favbox_tab_callback(response)
{
	box = document.getElementById('favbox_wrapper');
	if (!box)
		return;
	box.innerHTML = response;
}


function toggle_fachbereich()
{
	if (!document.getElementById) {
		return;
	}
	dd_usertyp 			= document.getElementById('usertyp');
	dd_arzttyp 			= document.getElementById('arzttyp');
	row_arzttyp 		= document.getElementById('tr__arzttyp');
	row_fachgebiete 	= document.getElementById('tr__fachgebiete');
	row_zahnarztpraxis 	= document.getElementById('tr__zahnarztpraxis');
	
	if (dd_usertyp.value == 'Arzt') {
		row_arzttyp.style.display = '';
		row_fachgebiete.style.display = '';
		
		if (dd_arzttyp.value == 'Zahnarzt') {
			row_zahnarztpraxis.style.display = '';
		} else {
			row_zahnarztpraxis.style.display = 'none';
		}
	} else {
		row_arzttyp.style.display = 'none';
		row_fachgebiete.style.display = 'none';
		row_zahnarztpraxis.style.display = 'none';
	}
}

function toggle_fachbereichNewsletter()
{
	if (!document.getElementById) {
		return;
	}
	dd_usertyp 			= document.getElementById('usertyp');
	dd_arzttyp 			= document.getElementById('arzttyp');
	row_arzttyp 		= document.getElementById('tr__arzttyp');
	row_fachgebiete 	= document.getElementById('tr__fachgebiete');
	row_zahnarztpraxis 	= document.getElementById('tr__zahnarztpraxis');
	
	if (dd_usertyp.value == 'Arzt') {
		row_arzttyp.style.display = '';
		row_fachgebiete.style.display = '';
		
		if (dd_arzttyp.value == 'Zahnarzt') {
			row_zahnarztpraxis.style.display = '';
		} else {
			row_zahnarztpraxis.style.display = 'none';
		}
	} else {
		row_arzttyp.style.display = 'none';
		row_zahnarztpraxis.style.display = 'none';
	}
}

function toggleSelection(element) {
	name = element.id.substr(0, element.id.length-5);

	if (element.id != name + '__all') {
		return;
	}
	elemente = document.getElementsByTagName('input');
	for(var i = 0; i < elemente.length; i++) {
		if(elemente[i].type == 'checkbox' && 
			   elemente[i].id.substring(0, element.id.length-3) == name + '__' && 
			   elemente[i].id != name + '__all') {
			if (element.checked) {	
				elemente[i].checked = true;
			} else {
				elemente[i].checked = false;
			}
		}
	}
}

// Funktion zur Ortssuche
// gesucht wird nach dem Suchbegriff, sofern das mehr als 3 Zeichen hat
function events_ctiy_search(text, id, doSubmit) {
	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6.0') != -1) {
		return;
	}

	if (typeof(timeout_ajaxnamesearch) != 'undefined')
		window.clearTimeout(timeout_ajaxnamesearch);
		
	text 		= text.replace(/^\s+|\s+$/g,"");

	if (text.length < 3) {
		hideWindow("events_city_proposals");
		return;
	}

	x_events_city_search(text, id, doSubmit, events_city_search_callback);
	timeout_ajaxnamesearch = window.setTimeout('hideWindow("events_city_proposals")', 10000);
}

//Sajax Callback Function für keywords_search()
function events_city_search_callback(erg)
{
	erg = eval("(" + erg + ")");

	events_city_proposals_div = document.getElementById('events_city_proposals');
	if (!events_city_proposals_div)
		return;
	if (erg.content == "") {
		events_city_proposals_div.style.display = "none";
	} else {
		events_city_proposals_div.style.display = "block";
		events_city_proposals_div.innerHTML = erg.content;
	}
}

//fügt einen vorgeschlagenen Begriff in das Textfeld ein
function insertProposalCity(id, proposal, doSubmit)
{
	document.getElementById(id).value = proposal;
	hideWindow("events_city_proposals");
	document.getElementById(id).focus();
	if (doSubmit == 'true') {
		document.terminfilter.submit();
	}
	return false;
}

// Funktion zur Tagsuche
// gesucht wird nach dem Suchbegriff, sofern das mehr als 3 Zeichen hat
function keywords_search(text, id, doSubmit, nameForm) {
	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6.0') != -1) {
		return;
	}

	if (typeof(timeout_ajaxnamesearch) != 'undefined')
		window.clearTimeout(timeout_ajaxnamesearch);
		
	text 		= text.replace(/^\s+|\s+$/g,"");

	if (text.length < 3) {
		hideWindow("keyword_proposals");
		return;
	}

	x_keywords_search(text, id, doSubmit, nameForm, keywords_search_callback);
	timeout_ajaxnamesearch = window.setTimeout('hideWindow("keyword_proposals")', 10000);
}

//Sajax Callback Function für keywords_search()
function keywords_search_callback(erg)
{
	erg = eval("(" + erg + ")");

	keyword_proposals_div = document.getElementById('keyword_proposals');
	if (!keyword_proposals_div)
		return;
	if (erg.content == "") {
		keyword_proposals_div.style.display = "none";
	} else {
		keyword_proposals_div.style.display = "block";
		keyword_proposals_div.innerHTML = erg.content;
	}
}

// Funktion zur Tagsuche im unteren Sucheingabefeld
// gesucht wird nach dem Suchbegriff, sofern das mehr als 3 Zeichen hat
function keywords_search_medicinic(text, id, doSubmit, nameForm) {
	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6.0') != -1) {
		return;
	}

	if (typeof(timeout_ajaxnamesearch) != 'undefined')
		window.clearTimeout(timeout_ajaxnamesearch);
		
	text 		= text.replace(/^\s+|\s+$/g,"");

	if (text.length < 3) {
		hideWindow("keyword_proposals_medicinic");
		return;
	}

	x_keywords_search(text, id, doSubmit, nameForm, keywords_search_medicinic_callback);
	timeout_ajaxnamesearch = window.setTimeout('hideWindow("keyword_proposals_medicinic")', 10000);
}

//Sajax Callback Function für keywords_search()
function keywords_search_medicinic_callback(erg)
{
	erg = eval("(" + erg + ")");

	keyword_proposals_div = document.getElementById('keyword_proposals_medicinic');
	if (!keyword_proposals_div)
		return;
	if (erg.content == "") {
		keyword_proposals_div.style.display = "none";
	} else {
		keyword_proposals_div.style.display = "block";
		keyword_proposals_div.innerHTML = erg.content;
	}
}

/**
 * Lädt Artikel für "Mehr zum Thema"
 */
function showMoreArticles(offset) {
	if (offset < 0) {
		offset = -1;
	}
	sajax_do_call("showMoreArticles", [offset, showMoreArticlesCallback]);
	
}

function showMoreArticlesCallback(erg) {

	erg = eval("(" + erg + ")");
	
	var weitere_news 			= document.getElementById('weitere_news');
	var weitere_news_next 		= document.getElementById('weitere_news_next');
	var weitere_news_previous 	= document.getElementById('weitere_news_previous');
	var weitere_news_page 		= document.getElementById('weitere_news_page');

	if (!weitere_news || !weitere_news_next || !weitere_news_previous) {
		return;
	} else {
		weitere_news.innerHTML = erg.content;
		
		if (erg.offset < 0) {
			erg.offset = -10;
			weitere_news_previous.style.visibility = "hidden";
		} else {
			weitere_news_previous.style.visibility = "visible";
		}
		var previousOffset = erg.offset - 10;
		var nextOffset     = erg.offset + 10;
		weitere_news_previous.onclick = function() { showMoreArticles(previousOffset); return false; };		
		weitere_news_next.onclick = function() { showMoreArticles(nextOffset); return false; };
		weitere_news_page.innerHTML = 'Seite ' + Math.round(erg.offset / 10 + 2);
	}
	
}

// Funktion zur Tagsuche
// gesucht wird nach dem Suchbegriff, sofern das mehr als 3 Zeichen hat
function keywords_search_advanced(text, id, doSubmit, nameForm) {
	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6.0') != -1) {
		return;
	}

	if (typeof(timeout_ajaxnamesearch) != 'undefined')
		window.clearTimeout(timeout_ajaxnamesearch);
		
	text 		= text.replace(/^\s+|\s+$/g,"");

	if (text.length < 3) {
		hideWindow("keyword_proposals_advanced");
		return;
	}

	x_keywords_search(text, id, doSubmit, nameForm, keywords_search_advanced_callback);
	timeout_ajaxnamesearch = window.setTimeout('hideWindow("keyword_proposals_advanced")', 10000);
}

//Sajax Callback Function für keywords_search()
function keywords_search_advanced_callback(erg)
{
	erg = eval("(" + erg + ")");

	keyword_proposals_div = document.getElementById('keyword_proposals_advanced');
	if (!keyword_proposals_div)
		return;
	if (erg.content == "") {
		keyword_proposals_div.style.display = "none";
	} else {
		keyword_proposals_div.style.display = "block";
		keyword_proposals_div.innerHTML = erg.content;
	}
}


// Funktion zur Selektion der Jahre
function jahre_search(id_medium, selected) {
	x_jahre_search(id_medium, selected, jahre_search_callback);
}

//Sajax Callback Function für jahre_search()
function jahre_search_callback(erg)
{
	erg = eval("(" + erg + ")");

	jahre_div = document.getElementById('dd_jahre');
	if (!jahre_div)
		return;
	if (erg.content == "") {
		jahre_div.innerHTML = 'Zu diesem Medium ist keine Ausgabe verfügbar.';
	} else {
		jahre_div.style.display = "block";
		jahre_div.innerHTML = erg.content;
	}
	document.erweiterte_suche.ausgabe.selectedIndex = 0;
	document.getElementById('input_ausgaben').style.display = "none";
}

// Funktion zur Selektion der Ausgaben
function ausgaben_search(jahr, id_medium, selected) {
	x_ausgaben_search(jahr, id_medium, selected, ausgaben_search_callback);
}

//Sajax Callback Function für ausgaben_search()
function ausgaben_search_callback(erg)
{
	erg = eval("(" + erg + ")");

	ausgaben_select = document.getElementById('ausgabe');
	if (!ausgaben_select)
		return;
	
	if (erg.content == "") {
		document.getElementById('input_ausgaben').style.display = "none";
		return;
	}
		
	document.getElementById('input_ausgaben').style.display = "block";
	ausgaben_select.innerHTML = erg.content;
}

// Blendet das div mit der gegebenen ID aus
function hideWindow(element)
{
	document.getElementById(element).style.display = "none";
}

//fügt einen vorgeschlagenen Begriff in das Textfeld ein
function insertProposal(id, proposal, doSubmit, nameForm)
{
	document.getElementById(id).value = proposal;
	if (id == 'q_advanced') {
		hideWindow("keyword_proposals_advanced");
	} else {
		hideWindow("keyword_proposals");
	}
	document.getElementById(id).focus();
	if (doSubmit == 'true') {
		document.getElementById(nameForm).submit();
	}
	return false;
}

/**
 * setzt aus Teilen eine E-Mail Adresse zusammen (als Spamschutz)
 * string acc		Account (Teil vor dem @)
 * string srv		Server  (Teil zwischen @ und erstem . nach dem @)
 * string dom		Domain	(Teil nach dem ersten . nach dem @)
 * string type		Ausgabetyp (Text oder Link)
 * string linktext	Linktext
 * string cssclass	CSS-Klasse
 */
function insertMail(acc, svr, dom, type, linktext, cssclass) {
	code = '';
	if (type == "link") {
		code = '<a href="mailto:' + acc + '@' + svr + '.' + dom + '" ';
		if (cssclass) {
			code += 'class="' + cssclass + '"';
		}
		code += '>';
		if (linktext) {
			code += Base64.decode(linktext);
		} else {
			code += acc + '@' + svr + '.' + dom;
		}
		code += '</a>';
	} else {
		code = acc + '@' + svr + '.' + dom;
	}
	document.write(code);
}

/**
 * schaltet zwischen den linken Artikeln um
 */
function switchArticles(ArticleToShow, ArticlesAll, NamesAll) {
	Articles = ArticlesAll.split(",");
	Names = NamesAll.split(",");
	
	for(i=0; i<Articles.length; i++) {
		if(Articles[i] == ArticleToShow) {
			document.getElementById('article'+Articles[i]).style.display ='';
			document.getElementById('ArticleTab' + (i+1)).innerHTML = '<h2>' + Names[i] + '</h2>';
		} else {
			document.getElementById('article'+Articles[i]).style.display ='none';
			document.getElementById('ArticleTab' + (i+1)).innerHTML = '<a href="#" onclick="switchArticles(' + Articles[i] + ', \'' + ArticlesAll + '\', \'' + NamesAll + '\')">' + Names[i] + '</a>';			
		}
	}
	return false;
}

/**
 * Schwerpunkt-Dropdown
 */
function jumpToFocus(value) {
	document.focusSelect.action = value;
	document.focusSelect.submit();
}