// in init.js

/*

  $('.hideit').hide();

*/

function hideshow(id1,id2) {
	if($('.'+id1).length>0 && $('.'+id2).length>0 && !$('.'+id2+'-tab').hasClass('selected')) {
	  $('.productContainer').removeClass('expanded');
	  $('.productDetailsFooter').css('display', 'none');
	  $('.'+id1).hide('slow');
	  $('.'+id2).show('slow');
	  setLongTextHeight();
  }
  event.returnValue=false;
	return(false);

}


function popup(url) {
 fenster=window.open(url, "Popupfenster", "width=500,height=250,resizable=no, scrollbars=yes");
 fenster.focus();
 return false;
}

// login funktionen...

function checkreturn (event) {
  var code=-1;
  // alert("event:"+event)
  if (event.which == null)
     code= event.keyCode;    // IE
  else
    if (event.which != 0 && event.charCode != 0)
     code= event.which;	  // All others
    else
     code= event.keyCode;
     // special key

  // if(code!=-1)
  // alert("code:"+code);

   if(code==13) {
     login();
     return(false);
   }



}





function login()
{

  var username = $('#login-mail').val();
  var passwort = $('#login-passwort').val();
	if(username.length<1 || passwort.length<1 || (username == 'Benutzername' && passwort == 'Kennwort') ) {
    alert("Bitte überprüfen Sie Ihren Schulbuchzentrum-Online.de Nutzernamen und Passwort.");
  } else {
    var url = '/includes/login.php';
    jQuery.post( url, { username: username, passwort: passwort}, LoginResponse, "text" );
  }

}

function LoginResponse(responseText)
{
  var erg=responseText;

  if(erg==" " || erg.indexOf("nogood")>-1) {
    alert("Bitte überprüfen Sie Ihren Schulbuchzentrum-Online.de Nutzernamen und Passwort.");
  } else {
  if(erg.indexOf("login")>-1) {
    if(erg.indexOf("spitznameaendern")>-1) {
      alert("Sie sind angemeldet.\nIhr Nutzername konnte leider nicht als Spitzname übernommen werden. Bitte ändern Sie ihn ggf. in Ihrem Profil.");
    } else {
      alert("Sie sind angemeldet.");
    }
    document.location.reload();

  }
  }

}


// ENDE login funktionen...

function checkBerufsschule() {
  // ist in irgendeinem Schnellfinder Berufsschule ausgew�hlt...???
  return($('[name="Schulform"]').val()=='Berufsschule');
}

var overlay=false;
function replaceSelect(name,value,params) {
	// alert("replaceSelect("+name+",value)");
	selectname=name;
	var erg='';
	var debug='';
	erg="replaceSelect:"+name+":"+value;

	// console.log("value "+name+": "+value);

	var isnull=false;
	// sortieren...
	var sortval=new Array();
	for (var member in value) {
		// bekommen wir eine Sortierung von der Datenbank ?
		if("null"==value[member]) isnull=true;
		sortval.push(member);
	}


	  // fancy formatierung nur wenn nicht versteckt...
	  fancydropdown='fancydropdown';
	  // nicht verstecken
	  var display='';


	  //console.log(name+"("+sortval.length+") fancydropdown "+fancydropdown+" "+display);
	  var select="<select name='"+name+"' "+display+" class=\""+fancydropdown+"\">\n";

	  // schöne namen für die erste Zeile des Pulldowns...
	  if(name=='klassenstufe') name='Klassenstufe';
	  if(name=='Bundesland') name='Bundesland/Staat';
	  if(name=='Fach') name='Schulfach';
	  if(name=='reihenkategorie') name='Kategorie';
	  ab='';
	  if(eval('params.'+selectname)) ab=" aufheben";

	  select+="<option value=''>"+name+ab+"</option>\n";

	// console.log("isnull "+isnull);

	function mySort(a,b) {
		return (( parseInt(value[a],10)  > parseInt(value[b],10)) ? 1 : -1);
	}

	function SortAbC(x,y){
	      var a = String(x).toUpperCase();
	      var b = String(y).toUpperCase();
	      if (a > b)
	         return 1;
	      if (a < b)
	         return -1;
	      return 0;
    }

	// console.log("vor sort "+name+": "+sortval);
	if(isnull!=true) {
		// sortierung nach datenbank
		sortval.sort(mySort);
	} else {
		// sortierung alphabetisch
		sortval.sort(SortAbC);
	}
	// console.log("sort "+name+": "+sortval);

	for (var i = 0; i < sortval.length; ++i) {
		var oname=sortval[i];
		var ovalue=value[sortval[i]];
		erg+=oname+"="+ovalue+"\n";
		selected="";
		//console.log(name+":"+oname+"="+ovalue);
		compare='encodeURI(params.'+selectname+")=='"+encodeURI(oname)+"'";
		// if(eval('params.'+selectname)!='')debug+=("1:"+eval('params.'+selectname)+"="+encodeURI(oname)+"\n");
		if(eval(compare)) selected=" selected=selected ";
		oname2=oname;
		if(selectname=='klassenstufe') {oname2="Klasse "+oname2}
		select+="<option value='"+(oname)+"' "+selected+">"+oname2+"</option>\n";
	};
	select+="</select>\n";
	// if(debug!='')alert(debug);


		// nur bei beruf..
	  if(name=='Beruf' &&  checkBerufsschule()==false) {
		  select='<input type="hidden" class="fd-peer" value="" name="'+selectname+'">';
	  }

	$('form[name="schnellfinder"] .fd-peer[name="'+selectname+'"]').closest('.selectContainer').html(select);
	$('form[name="schnellfinderoverlay"] .fd-peer[name*="'+selectname+'"]').closest('.selectContainer').html(select);
}

function overlayactive() {
  if($('#cboxLoadedContent #finderContentContainer').length>0)
    {return(true); } else {return(false);}
}

var buttonholder='';
function collectAllValues(Sekundarstufe) {
if(overlayactive()) Sekundarstufe=true;
  findercontent='#finderContent ';

  var erg='';
  // alert("collectAllValues(overlay:"+overlay+")"+$('#cboxLoadedContent
	// #finderContentContainer #finderContent').length+"?");
  // wenn ein overlay offen ist ersetzen wir ggf. im overlay(der rest is
	// sowieso nicht sichtbar)
  overlay=overlayactive();
  if(overlay==true) {
    findercontent='#cboxLoadedContent #finderContentContainer #finderContent ';
  }

  var params=new Object;
  $(findercontent+'.fd-peer').each(function(o,i) {
    if(i.value!='') {
      var addobj='params.'+i.name+"='"+i.value+"'";
      eval(addobj);
    }
    // f=c.find('.fd-dropdown-container').html("nix");

  });
  buttonholder=$(findercontent).find('.buttonContainer').html();
  $(findercontent).find('.buttonContainer').html('<img src="/bilder/loading.gif" title="Schnellfinder wird aktualisiert. Einen Moment.">');
  // alert("params:"+params);
  // $('.fd-peer[name*="'+selectname+'"]').closest('.selectContainer').html(
	if(Sekundarstufe==true) params.Sekundarstufe=1;
  $.getJSON("/suche/schnellfinder.php", params, function(json){
    var rows=-1;
    // var erg='';
    // alert("schnellfinder update start");
      jQuery.each(json, function(name, value) {
        if(name=='rows') {rows= value;}
        erg+=name+"="+value+"\n";
        if(typeof(value)== 'object' && name=='data' && rows!=0) {
          jQuery.each(value, function(name, value) {
            // alert("data1: "+name + ": " + value+"\n");
             if(typeof(value)== 'object') {
               // alert("calling replaceselect for "+name);
               replaceSelect(name,value,params);
             }
          });
        }
     });
    // alert("erg:"+erg);
      if(rows==0) {
        /*
		 * alert("Achtung: Ihre Kombination von Suchkriterien führt vermutlich
		 * zu keinen Ergebnissen!"+erg);
		 */
      } else {
        // set up dropdown aus init.js
        $('.fancydropdown').fancydropdown();
          if ($('.sortSelect select').size() > 0) {
            $('.sortSelect select').fancydropdown();
          }
      }
      $(findercontent).find('.buttonContainer').html(buttonholder);
      // alert("schnellfinder fin.");
  });


}


$(document).ready(function() {

  // versteckt in der suche,artikelansicht,reihenansicht sonstwo zu
	// versteckende divs mit der class hideit
   $('.hideit').hide();

  // Setzt die beforeActive Class für die Tabs links neben dem aktiven Tab
  // console.time('myselector');
  $('.tabsContainer .navigation li a.active').parent().prev().not('.first').find('a').addClass('beforeActive');
  // console.timeEnd('myselector');

  // f�r das login
   $("#login-mail").keypress(checkreturn);
   $("#login-passwort").keypress(checkreturn);
   $("#login-button").click(login);

   // Kontaktformulare prüfen
   $('.contact').find('button[type=submit]').click(function() {
    $pflichtfelder = $('.contact').find('.required');
      var $err = false;
      $($pflichtfelder).each(function (i, item) {
        $item = $(item).find('input, textarea, select').val();

        if ($item == "") {
          $(item).find('.formErrorContainer').show();
          $err = true;
        } else {
          $(item).find('.formErrorContainer').hide();
        }
        // console.log();
      });

      if ($err) {
        return false;
      }
   });


});



// WORTVORSCHL�GE //


function justwords(t) {
	x=t.replace(/[^a-z0-9äöüÄÖÜß\- ]/ig," ");
	// alert(t+"[]"+x);
	return(x);
}

var color='';
var currentjson={};
function zeigWortvorschlaege(json){
			// alert(json);
			currentjson=json;
			var i=0;
			var erg='<div class="auto_suggest_box_top"><br/></div>';
			var done=new Object();
			for(var entry in json){

			   // console.log(""+i+" "+json[entry].titel+"
				// "+json[entry].wordb+" "+json[entry].anzahl);

			   erg+='<div class="auto_suggest_box_entry" >';
			   erg+='  <p class="nothover"><a href="#" onclick="setStichwort(\''+json[entry].titel.replace(/&#39;/g,"\\&#39;")+'\',false,\''+json[entry].kategorie.replace(/&#39;/g,"\\&#39;")+'\');"> '+json[entry].titel+' (in '+json[entry].kategorie2+') </a></p>';
			   erg+='</div>';

			   i++;

		    }
			if(i>0) {
				 erg+='<div class="auto_suggest_box_entry" >';
				 erg+='  <p class="nothover"><a href="#" onclick="document.stichwortsuche.submit();"><b>weitere Ergebnisse zu &quot;'+lastword+'&quot; anzeigen</b></a></p>';
				 erg+='</div>';
			}
			erg+='<div class="auto_suggest_box_bottom"></div>';
			if(i==0)erg='';
			$("#vorschlaege").html(erg);
			erg='';
			vorschlagsindex=0;
}
schulform='';
var vorschlagsindex=0;
var lastword='';
function wortvorschlaege(t,event) {
	var code=event.keyCode;
	lastword='';
	 if (code == '13') {
	 	if(vorschlagsindex>0) {
	    	 if(vorschlagsindex<=currentjson.length) {
	    	 	setStichwort(currentjson[vorschlagsindex-1].titel,false,currentjson[vorschlagsindex-1].kategorie);
	    	 } else {
	    	 	document.stichwortsuche.submit();
	    	 }
    	 } else {
    	 document.stichwortsuche.submit();
    	 }
   	 } else {

   	 if((code == '38' || code == '40') && t.length > 3 ) {
   	  if (code == '38' ) {
   	  	// UP
   	  	vorschlagsindex--;
   	  }
   	  if (code == '40') {
   	  	// down
   	  	vorschlagsindex++;
   	  }
   	  if(vorschlagsindex<0) vorschlagsindex=0;
		// alert("vorschlagsindex:"+vorschlagsindex);


   	 } else {

	 if(t.length > 3 ) {
		lastword=t;
		 // alert(t.length);
		$("#vorschlaege").html('');
	 	// $.getJSON(url, data, callback)

		var data=new Object;
		data.wort=t;
		data.schulform=schulform;

	 	$.getJSON("/includes/vorschlaege.php",data ,zeigWortvorschlaege);
	 } else {
		$("#vorschlaege").html('');
	 }
	}
		 // end not code 13
   	 }
	var realindex=0;
   	  $('.auto_suggest_box_entry p').each(function(index) {
    		if(index+1==vorschlagsindex) {
    			// alert(index + ': ' + $(this).text());
    			$(this).removeClass( "nothover" );
    			$(this).addClass( "suggesthover" );
    		} else {
    			$(this).addClass( "nothover" );
    			$(this).removeClass( "suggesthover" );
    		}
    		realindex=index;
  	  });
  	  if(realindex+1<vorschlagsindex) vorschlagsindex=realindex+1;

}

function setStichwort(t,doAdd,tab) {
	// alert("setStichwort("+t+",doAdd,"+tab+")");
	t=justwords(t);
	// tab=escape(tab);


	if(doAdd) {
		$("input[name='Suchbegriffe']").attr('value',$.trim($("input[name='Suchbegriffe']").attr('value'))+" "+t);
		$("input[name='reihenkategorie']").attr('value',tab);
		document.stichwortsuche.submit();
	} else {
		$("input[name='Suchbegriffe']").attr('value',t+"");
		$("input[name='reihenkategorie']").attr('value',tab);
		document.stichwortsuche.submit();
	}
	wortvorschlaege($("input[name='stichwort']").attr('value'));
}

if($("input[name='Suchbegriffe']")) {
	$(document).ready(function() {
				$("input[name='Suchbegriffe']").keyup(function(event){wortvorschlaege($("input[name='Suchbegriffe']").attr('value'),event)});
	});
}
/* END WORTVORSCHL�GE */
