/**
 * Ersatz fuer original mit redirection um artikelboxen nachzuladen
 */

function switchToolModeDemo(newMode, id) {
	// die globale setzen
	toolMode = newMode;
	var active = "link_lupe";
	var inactive = "link_artikelboxen";
	var setCursor = "crosshair";
	if (toolMode == "artikelboxen") {
		// evtl. shade schliessen
		if (leftSelector) {
			leftSelector.close();
		}
		if (rightSelector) {
			rightSelector.close();
		}
		active = "link_artikelboxen";
		inactive = "link_lupe";
		setCursor = "auto";

		if(id != undefined){
			holder = document.getElementById('left_selector');
			if(holder.getAttribute('loadedid') != id){
				loadholder = getHolder(id);
				window.location.href = loadholder.getAttribute('linkurl');
			}
		}
	}
	// Klassen der Links umschalten
	if (aObject = document.getElementById(active)) {
		aObject.className = aObject.className.replace(' inaktiv', ' aktiv');
	}
	if (iObject = document.getElementById(inactive)) {
		iObject.className = iObject.className.replace(' aktiv', ' inaktiv');
	}
	var leftPic = document.getElementById("bild_links");
	var rightPic = document.getElementById("bild_rechts");
	if (leftPic) {
		leftPic.style.cursor = setCursor;
	}
	if (rightPic) {
		rightPic.style.cursor = setCursor;
	}
}
function switch_articles_switcher(status){
	umsch = document.getElementById('umschalter');
	if(status == true){
		showElem(umsch);
	}
	else{
		hideElem(umsch);
	}
}
function switch_page(id){
	if(id == "none" || id == undefined){
		return;
	}
	holder = document.getElementById('epaper3id_'+id);
	if(holder == undefined){
		/*alert(id+holder);*/
	}
	/**
	 * articleboxumschalter an / aus
	 */
	switch_articles_switcher(hasArticles(id));
	image = document.getElementById('epaper3img_'+id);
	src = image.getAttribute('url');

	// switch from articleboxes to cutout mode if no articlesboxes are on this
	// page
	
	if ( !hasArticles(id) )
		switchToolMode('lupe');

	next = holder.getAttribute('nextid');
	prev = holder.getAttribute('previd');
	leaflet = holder.getAttribute('leaflet');
	pic = document.getElementById("single_page");
	pic.src = src;

	if ( document.getElementById('overlay') != undefined )  
			document.getElementById('overlay').style.display = 'block';

	sel = document.getElementById("left_selector");
	sel.setAttribute("cms_id", id);
	clickedLink = document.getElementById('mz_topLink');
	if(leaflet == "on"){
		clickedLink.className = clickedLink.className + ' on';
	}
	else{
		clickedLink.className = clickedLink.className.replace(' on', '');
	}

	updatePageElements( webroot + "page/articles/" + id, "article_container" );
	updatePageElements( webroot + "page/teasers/" + id, "teaser_container" );
}

/* generic AJAX helper, used when selecting different pages in page/show */
function updatePageElements( uri, target ) {

	// get the article-boxes related to the new page
	dojo.xhrGet( {
		url: uri,
		timeout: 5000,
		load: function( response, ioArgs ) {
			dojo.byId( target ).innerHTML = response;
			return response;
		},
		error: function( response, ioArgs ) {
			console.error( "HTTP status code: ", ioArgs.xhr.status );
			return response;
		}
	});
	

}

function hasArticles(id){
	holder = getHolder(id);
	has_articles = holder.getAttribute('has_articles');
	if(has_articles == "1"){
		return true;
	}
	else{
		return false;
	}
}
function isDisplayed(elem){
	if(elem.style.display == "block"){
		return true;
	}
	return false;
}
function showElem(elem){
	elem.style.display = "block";
}
function hideElem(elem){
	elem.style.display = "none";
}
function toggleDisplay(elem){
	if(elem.style.display == "block"){
		elem.style.display = "none";
	}
	else{
		elem.style.display = "block";
	}
}
function getHolder(id){
	holder = document.getElementById('epaper3img_'+id);
	return holder;
}
function getCurrentHolder(){
	/**alert('getting holder');*/
	sel = document.getElementById("left_selector");
	id = sel.getAttribute("cms_id");
	/*alert("currentid: "+id);*/
	return getHolder(id);
}
function getCurrentID(){
	sel = document.getElementById("left_selector");
	id = sel.getAttribute("cms_id");
	return id;
}
function next_page(){
	holder = getCurrentHolder();
	switch_page(holder.getAttribute('nextid'));
}
function prev_page(){
	holder = getCurrentHolder();
	switch_page(holder.getAttribute('previd'));
}
function setNavLink(link, id){
	link = document.getElementById(link+'but');
	if(link.style.visibility == "hidden"){
		link.style.visibility = 'visible';
	}
	else{
		link.style.visibility = 'hidden';
		
	}
	link.onClick = switch_page(id);
}
function demotoggle_Ressort(ressortname){

//updatePageElements( webroot + "page/displayByRessort/" + ressortname, "ressortList" );
//	return;

  	these = getElementsByClass(document,'previewPage','div');
  	firstpagefound = false;
	numOfVisibleRessorts = 0;

  	for(i = 0; i < these.length; i++){

  		erg = test('ressort_'+ressortname, these[i].className);
			
  		if(erg != null || ressortname == "all"){
				numOfVisibleRessorts += 1;
  			if(firstpagefound == false){
  				firstpagefound = true;
  				/*alert(these[i].getElementsByTagName("img")[0].getAttribute('thisid'));*/
  				switch_page(these[i].getElementsByTagName("img")[0].getAttribute('thisid'));
  			}
  			these[i].style.display = "block";
  		} else{
  			these[i].style.display = "none";
  		}
  	}

		toggleRessortListScrollBars( numOfVisibleRessorts );

}

/* if the ressort panel is a scrollfield, then hide the
 * scrollbars when we don't need them */
function toggleRessortListScrollBars( numOfVisibleRessorts ) {
	
		if ( document.getElementById('ressortList') 
			&& document.getElementById('ressortList').style.overflow == "scroll" ) { 
			
			if ( numOfVisibleRessorts < 13 ) {
				document.getElementById('verticalScrollOverlay').style.display = "block";
			} else {
				document.getElementById('verticalScrollOverlay').style.display = "none";
			}
		} 

}
function getFirstRessortPage(){
	
}
function getAsPDF(id){
	document.location.href = window.location.pathname+"?download/page/"+id;
}
function test(ressortname, classname){
  	var suchmuster = new RegExp(ressortname + " ");
  	erg = classname.match(suchmuster);
  	return erg;
}
function getElementsByClass(node,searchClass,tag) {
	var classElements = new Array();
	var els = node.getElementsByTagName(tag); // use "*" for all elements
	var elsLen = els.length;
	var pattern = new RegExp("\\b"+searchClass+"\\b");
	for (i = 0, j = 0; i < elsLen; i++) {
		 if ( pattern.test(els[i].className) ) {
			 classElements[j] = els[i];
			 j++;
		 }
	}
	return classElements;
}
function showFoo() {
	var el = getElementsByClass(document,'foo','*');
	alert(el.length);
}

/**
 * hovers the tabs 
 * edited 11.02.08 phil
 */
function hoverTab(tab, id, up, suffix) {
	if(suffix==undefined) suffix = '';
    var bck = (up ? 'h' : 'i');
    var mar = (up ? '8' : '16');
    tab.className = 'sd_tab' + suffix + id + bck + ' sd_tab';
    var el = gE('tab' + id + 'text');
    el.style.marginTop = mar + 'px';
}
