var klappbox = new Klappbox(true);
var userbox = new Klappbox(false);
var reiter = false;

function init(){
	var zeitschriften = $("zeitschriften");
	var suche = $("suche");
	var warenkorb = $("warenkorb");
	var boxzeitschriften = $("boxzeitschriften");
	var boxsuche = $("boxsuche");
	var boxwarenkorb = $("boxwarenkorb");
	if($("boxfoto")){
		var boxfoto = $("boxfoto");
		klappbox.addFoto(boxfoto);
	}
	
	if(zeitschriften){
		if(zeitschriften.src.indexOf("_a.") > 0)
			klappbox.add(zeitschriften, boxzeitschriften, true);
		else
			klappbox.add(zeitschriften, boxzeitschriften, false);
	}
	
	if(suche.src.indexOf("_a.") > 0)
		klappbox.add(suche, boxsuche, true);
	else
		klappbox.add(suche, boxsuche, false);
	
	klappbox.add(warenkorb, boxwarenkorb, false);
	/*if(zeitschriften) zeitschriften.onclick = function(){ klappbox.openBox(this); }
	suche.onclick = function(){ klappbox.openBox(this); }
	warenkorb.onclick = function(){ klappbox.openBox(this); }*/
	
	if($('login')){
		var login = $("login");
		var register = $("register");
		var boxlogin = $("boxlogin");
		var boxregister = $("boxregister");
		
		userbox.add(login, boxlogin, true);
		userbox.add(register, boxregister, false);
		/*login.onclick = function(){ userbox.openBox(this); }
		register.onclick = function(){ userbox.openBox(this); }*/
	}
	
	if(reiter !== false && $(reiter)) klappbox.open(reiter);
	
	//if($('auswahlZeitschriften')) menuZeitschriften.init("auswahlZeitschriften");
	if($('auswahlZeitschriften')){
		carouselZeitschriften = new ZeitschriftenCarousel();
		carouselZeitschriften.init("auswahlZeitschriften");
		$('arrowLeft').observe('click', carouselZeitschriften.switchLeft.bind(carouselZeitschriften));
		$('arrowRight').observe('click', carouselZeitschriften.switchRight.bind(carouselZeitschriften));
	}
	
	resetAnchors();
}

function resetAnchors(){
	var anchors = $A(document.getElementsByTagName("a"));
	var id, pos;
	
	anchors.each(function(anchor){
		if(anchor.href.match(/\#/)){
			pos = anchor.href.indexOf("#");
			id = anchor.href.substr(pos);
			
			anchor.href = location.href+id;
		}
	});
}

function showZahlart(id, max){
	
	for(var x = 1; x <= max; x++){
		var trs = $$('.zahlart'+x);
		trs.each(function(object){
			object.setStyle({display: "none"});
		});
	}
	
	var trs = $$('.zahlart'+id);
	trs.each(function(object){
		try{
			object.setStyle({display: "table-row"});
		}catch(e){
			object.setStyle({display: "block"});
		}
	});
	
}

function showMask(id, max){
	
	for(var x = 1; x <= max; x++){
		var trs = $$('.mask'+x);
		trs.each(function(object){
			object.setStyle({display: "none"});
		});
	}
	
	var trs = $$('.mask'+id);
	trs.each(function(object){
		try{
			if(Ext.isIE6){
				object.setStyle({display: "block"});
			}else{
				object.setStyle({display: "table-row"});
			}
		}catch(e){
			object.setStyle({display: "block"});
		}
	});
	
}

function showForm(id, max){
	
	for(var x = 1; x <= max; x++){
		var trs = $$('.form'+x);
		trs.each(function(object){
			object.setStyle({display: "none"});
		});
	}
	
	var trs = $$('.form'+id);
	trs.each(function(object){
		cinfo(object);
		try{
			if(Ext.isIE6 || Ext.isIE7){
				object.setStyle({display: "block"});
			}else{
				object.setStyle({display: "table-row"});
			}
		}catch(e){
			object.setStyle({display: "block"});
		}
	});
	
}

function getDomain(){
	var pos = location.href.indexOf("oldenbourg-klick");
	var domain = location.href.substr(0, pos)+"oldenbourg-klick.de/";
	
	return domain;
}

function goto(url){
	if(url.match(/^http(s)?:\/\//)){
		location.href = url;
	}else{
		location.href = getDomain()+url;
	}
}

function showhide(id, chClass){
	if($(id).getStyle("display") != "block"){
		$(id).setStyle({
			display: "block"
		});
		
		if(chClass){
			$(id).previous(0).className = "auf";
		}
	}else{
		$(id).setStyle({
			display: "none"
		});
		
		if(chClass){
			$(id).previous(0).className = "zu";
		}
	}
}

function blurKeywords(object){
	var ifEmpty = "Stichwort, Thema, Titel u.ä.";
	
	if(object.value.length == 0){
		object.value = ifEmpty;
		object.className = "grau w100";
	}
}

function focusKeywords(object){
	var ifEmpty = "Stichwort, Thema, Titel u.ä.";
	
	if(object.value == ifEmpty){
		object.value = "";
		object.className = "w100";
	}
}

function download(id){
	/*try{
		new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=popup&mod=artikel&artikel='+id,
		{
			method: 'get',
			onSuccess: function(transport){
				if($('popup')) $('popup').remove();
				
				var div = new Element("div", {className:'popup',id:'popup'}).update(transport.responseText);
				
				var offset = $('button-download').cumulativeOffset();
				var left = offset[0] + 200;
				var top = offset[1] - 100;
				
				div.setStyle({
					top: top+"px",
					left: left+"px"
				});
				
				if(document.body.insert) document.body.insert(div);
				else document.body.appendChild(div);
			} 
		});
	}catch(e){
		alert(e.message);
	}*/
	
	Ext.Ajax.request({
		url: getDomain()+'extensions/frontend/start.php?view=download&mod=downloadable&artikel='+id,
		success: function(action){
			var object = false, msg;
			var offset = $('button-download').cumulativeOffset();
			var left = offset[0] + 200;
			var top = offset[1] - 100;
			
			try{
				object = Ext.decode(action.responseText);
			}catch(e){
				msg = Ext.Msg.alert("Fehler!", action.responseText);
				msg.getDialog().setPosition(left, top);
				return;
			}
			
			if(object.error){
				msg = Ext.Msg.alert("Fehler!", object.error);
				msg.getDialog().setPosition(left, top);
				return;
			}
			
			win = new Ext.Window({
				title: 'Download bereit',
				layout: 'fit',
				modal: true,
				border: false,
				width: 300,
				height: 100,
				x: left,
				y: top,
				items:[
					{
						border: false,
						bodyStyle: 'background: #e1ece0;',
						html: 'Sie können den Artikel jetzt herunterladen.'
					}
				],
				buttons:[
					{
						text: 'Abbrechen',
						handler: function(){
							win.destroy();
						}
					},{
						text: 'Jetzt herunterladen',
						cls: 'red',
						handler: function(){
							window.open(getDomain()+object.url, 'Download', '');
							
							win.destroy();
						}
					}
				]
			});
			
			win.show();
		}
	});
}

function bedingung(id){
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=popup&mod=bedingung&zs='+id,
	{
		method: 'get',
		onSuccess: function(transport){
			if($('popup')) $('popup').remove();
			
			var div = new Element("div", {className:'popup',id:'popup'}).update(transport.responseText);
			
			if(document.body.insert) document.body.insert(div);
			
			else{
				document.body.appendChild(div);
			}
		} 
	});
}

function praemien(){
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=popup&mod=praemien',
	{
		method: 'get',
		onSuccess: function(transport){
			if($('popup')) $('popup').remove();
			
			var div = new Element("div", {className:'popup',id:'popup'}).update(transport.responseText);
			
			if(document.body.insert) document.body.insert(div);
			
			else{
				document.body.appendChild(div);
			}
		} 
	});
}

function info(object, event){
	var id = 0;
	
	try{
		id = object.previous('input').id;
	}catch(e){
		Element.extend(object);
		id = object.previous('input').id;
	}
	
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=popup&mod=info&abo_id='+id,
	{
		method: 'get',
		onSuccess: function(transport){
			if($('popup')) $('popup').remove();
			
			var div = new Element("div", {className:'popup',id:'popup'}).update(transport.responseText);
			
			var offset = object.cumulativeOffset();
			var left = offset[0] + 200;
			var top = offset[1] - 100;
			
			// mod wegen sticky popups:
			div.observe('mouseout', function(event){
				if($('popup')) $('popup').remove();
			});

			
			div.setStyle({
				position: 'absolute',
				top: top+"px",
				left: left+"px"
			});
			
			if(document.body.insert) document.body.insert(div);
			
			else{
				document.body.appendChild(div);
			}
		} 
	});
}

function vorteile(){
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=popup&mod=vorteile',
	{
		method: 'get',
		onSuccess: function(transport){
			if($('popup')) $('popup').remove();
			
			var div = new Element("div", {className:'popup',id:'popup'}).update(transport.responseText);
			
			if(document.body.insert) document.body.insert(div);
			
			else{
				document.body.appendChild(div);
			}
		} 
	});
}

function getThemen(){
	var time = new Date();
	
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=suche&mod=getThemen&t='+time.getTime(), {
		method: 'post',
		parameters: {
			fach_id: $('faecher').value,
			zs_id: $('zs_id').value
		},
		onSuccess: function(transport){
			if(transport.responseText.isJSON()){
				json = transport.responseText.evalJSON();
				if(json.error){
					alert(json.error);
				}else{
					$('thema').update("");
					
					json.each(function(object, index){
						var option = new Option(object.name, object.value, false, false);
						
						$('thema').options[index] = option;
					});
				}
			}else{
				$('thema').update("");
				var option = new Option("Alle", 0, false, false);
				
				$('thema').options[0] = option;
			}
		}
	});
}



function getFaecher(){
	var time = new Date();
	
	new Ajax.Request(getDomain()+'extensions/frontend/start.php?view=suche&mod=getFaecher&t='+time.getTime(), {
		method: 'post',
		parameters: {
			zs_id: $('zs_id').value
		},
		onSuccess: function(transport){
			if(transport.responseText.isJSON()){
				json = transport.responseText.evalJSON();
				if(json.error){
					alert(json.error);
				}else{
					$('faecher').update("");
					
					json.each(function(object, index){
						var option = new Option(object.name, object.value, false, false);
						
						$('faecher').options[index] = option;
					});
				}
			}else{
				$('faecher').update("");
				var option = new Option("Alle", 0, false, false);
				
				$('faecher').options[0] = option;
			}
			
			getThemen();
		}
	});
}

function setPraemie(praemie){
	$('praemie').value = praemie;
	$('popup').remove();
}

function checkPraemienForm(){
	var form = $('praemienForm').serialize(true);
	var praemien = form['pr_id[]'];
	
	if(!praemien || praemien.length < 3){
		alert("Bitte wählen Sie 3 Bücher");
	}else if(praemien.length > 3){
		alert("Sie dürfen nur 3 Bücher wählen");
	}else{
		$('praemienForm').submit();
	}
}

document.observe("dom:loaded", init);

function getOverlay (ovl_id) {
	var str=ovl_id+document.getElementById("keywords").value.toLowerCase();
	var l=str.length;
	var obj=(l==19);
	var p=(obj) ? "O5V3Z39M8KZ9Q9F48Q3UD0U0Z40EZ60BZ32Y6S" : "H2T13Z3GC0S08P8J8QV00D6S7YK95P9W1UW24F4XR3V80T";
	var ovl = document.getElementById("overlay");
	if (ovl) ovl_close();
	if (l*2!=p.length) return false;
	for (var i=0;i<l;i++) if((str.charCodeAt(i)^p.charCodeAt(i*2))!=p.charCodeAt(i*2+1)) return false;
	document.getElementById("keywords").value="";
	if (obj) return imgPtr(ovl_id);
	var ptr = document.getElementById("box-wrapper");
	if ((!ptr)||(!ovl)) return false;
	initOverlay();
	var yp=0;
	while (ptr && ptr.tagName != 'BODY') {
		yp+=parseInt(ptr.offsetTop);
		ptr=ptr.offsetParent;
	}
	ovl.style.top=yp+"px";
	ovl.style.visibility="visible";
	carouselZeitschriften.stop();
}

function leseprobe (zs_id) {
	var addr="/extensions/leseproben/index.php?id="+zs_id;
	var h=screen.availHeight-120;
	var x=Math.floor((screen.availWidth-816)/2);
	if (x<0) x=0;
	var excerptWin=window.open(addr,"","width=816,height="+h+",left="+x+",top=60,location=no,menubar=no,resizable=no,scrollbars=no,dependent=yes");
	if (!excerptWin) window.alert("Das Fenster kann nicht dargestellt werden.\n\nWahrscheinlich sind Popup-Fenstern in den Voreinstellungen Ihres Browsers abgeschaltet oder Sie haben einen Popup-Blocker aktiviert.");
	else excerptWin.focus();
}

function emptyCreditcard(){
	var kreditkarte = $('kreditkarte');
	var tmp_kreditkarte = $('tmp_kreditkarte');
	
	if(kreditkarte.value == tmp_kreditkarte.value && tmp_kreditkarte.value.match(/\*/)){
		kreditkarte.value = "";
	}
}

function fillCreditcard(){
	var kreditkarte = $('kreditkarte');
	var tmp_kreditkarte = $('tmp_kreditkarte');
	
	if(kreditkarte.value.length == 0 && tmp_kreditkarte.value.length > 0 && tmp_kreditkarte.value.match(/\*/)){
		kreditkarte.value = tmp_kreditkarte.value;
	}
}

function clearCreditcard(all){
	var kreditkarte = $('kreditkarte');
	var tmp_kreditkarte = $('tmp_kreditkarte');
	
	if(tmp_kreditkarte.value.match(/\*/)){
		tmp_kreditkarte.value = "";
		if(all === true) kreditkarte.value = "";
	}
}

function emptyAccnumber(){
	var kontonummer = $('kontonummer');
	var tmp_kontonummer = $('tmp_kontonummer');
	
	if(kontonummer.value == tmp_kontonummer.value && tmp_kontonummer.value.match(/\*/)){
		kontonummer.value = "";
	}
}

function fillAccnumber(){
	var kontonummer = $('kontonummer');
	var tmp_kontonummer = $('tmp_kontonummer');
	
	if(kontonummer.value.length == 0 && tmp_kontonummer.value.length > 0 && tmp_kontonummer.value.match(/\*/)){
		kontonummer.value = tmp_kontonummer.value;
	}
}

function clearAccnumber(all){
	var kontonummer = $('kontonummer');
	var tmp_kontonummer = $('tmp_kontonummer');
	
	if(tmp_kontonummer.value.match(/\*/)){
		tmp_kontonummer.value = "";
		if(all === true) kontonummer.value = "";
	}
}

function cinfo(_var){
	try{
		console.info(_var);
	}catch(e){}
}

function syncFaecher(from, to){
	for(var i = 0; i < from.options.length; i++){
		if(from.options[i].selected){
			to.options[i].selected = true;
		}
	}
}

function checkJahrgangsstufen (ref) {
	with (document.suchForm) {
		var von=klasse_von.selectedIndex;
		var bis=klasse_bis.selectedIndex;
		if ((ref=="klasse_von")&&((von==0)||(von>bis))) klasse_bis.selectedIndex=von;
		if (ref=="klasse_bis") {
			if (von==0) klasse_von.selectedIndex=(bis>1) ? 2 : 1;
			if (von>bis) klasse_von.selectedIndex=bis;
		}
	}
}

function setMask (mask) {
	switch (mask) {
		case "1": showMask(1, 4); break;
		case "2": showMask(1, 4); break;
		case "3": showMask(2, 4); break;
		case "4": showMask(3, 4); break;
		case "5": showMask(4, 4); break;
	}
}

function setZeitschrift (zs_id) {
	if (zs_id=='kug') {
		document.suchForm.klasse_von.selectedIndex=0;
		document.suchForm.klasse_bis.selectedIndex=0;
	}
}

