
/* Tabs hin- und herschalten */
function showPane(el) {
  if(el.className == 'inactive') {
    topelement = document.getElementById(el.parentNode.parentNode.parentNode.parentNode.id);
    toggleElements(topelement);
    saveUserTabs(el);
  }
	return false;
}

function toggleElements(element) {
  if(element.hasChildNodes()){
    for (var i=0; i<element.childNodes.length; i++) {
      if (element.childNodes[i].hasChildNodes()) {
        toggleElements(element.childNodes[i])
      }
      if(element.childNodes[i].className == 'inactive') element.childNodes[i].className = 'active';
      else if(element.childNodes[i].className == 'active') element.childNodes[i].className = 'inactive';

    }
  }
}


/* Tabs merken START */
var b_settabs = false;
var s_defaultTabs = "";

function setUserTabs(){

	if(!b_settabs){

		s_userTabs = readCookie("userTabs");
		s_activeTabs = s_userTabs ? s_userTabs : s_defaultTabs;

		a_activeTabs = s_activeTabs.split("#");

		setActiveTabs(a_activeTabs);

		b_settabs = true;
	}
}

function saveUserTabs(el) {

  s_userTabs = readCookie("userTabs");

	s_activeTabs = s_userTabs ? s_userTabs : s_defaultTabs;

	a_activeTabs = s_activeTabs.split("#");

  s_currentTab = el.parentNode.parentNode.parentNode.parentNode.id;

  b_found = false;

  a_new = Array();

  j = 0;

  for(i=0; i<a_activeTabs.length; i++) {
    if(a_activeTabs[i] == s_currentTab) {
      b_found = true;
    }
    else {
      a_new[j] = a_activeTabs[i];
      j++;
    }
  }

  if(!b_found) {
    a_new[j] = s_currentTab;
  }

  a_activeTabs = a_new;

  s_userTabs = a_activeTabs.join("#");

  createCookie("userTabs", s_userTabs, 365);
}

function setActiveTabs(a_tabs) {
  for(i=1; i<a_tabs.length; i++) {
    if(o_el = document.getElementById(a_tabs[i])) {
      if(a_tabs[i] == 'suche') {
        getzubehoersuche('zubhoersuche_geraetetyp');
      }
      toggleElements(o_el);
    }
  }
}
/* Tabs merken ENDE */

/* Content ueber Tabs in der Infothek anzeigen */
function showContent(tabContainer, contentContainer, n_active) {
	// Tabs holen
	this.getTabs = function (){
		var a_tempTabs = [];
		var elem = document.getElementById(tabContainer).getElementsByTagName('li');

		for(var i	=	0; i < elem.length; i++) {
			a_tempTabs.push(elem[i]);
    }
    return a_tempTabs;
  }

		// Contentbereiche holen
	this.getContent = function() {
		var a_tempCon = [];
		var elem = document.getElementById(contentContainer).getElementsByTagName('div');

		for(var i = 0; i < elem.length; i++) {
			if (elem[i].className == 'active' || elem[i].className == 'inactive') {
				a_tempCon.push(elem[i]);
			}
		}
		return a_tempCon;
	}

	// anzeigen bzw verbergen
	this.show = function(n_show) {
		// Tabs und Content aktivieren bzw. deaktivieren
		for(var i = 0; i < this.tabs.length; i++) {
			this.tabs[i].className 		= ((i+1)==n_show) ? 'active' : 'inactive';
			this.content[i].className = ((i+1)==n_show) ? 'active' : 'inactive';
		}
	}

	this.tabs = this.getTabs();
	this.content = this.getContent();
	this.show(n_active);

	return false;
}

/* Direktbestellung Zeile hinzufuegen */
var n_row = 1;

function addRow(warenkorb_bestellnummer) {
  if(document.getElementById("direktbestellung")) {

    var _table = document.getElementById("direktbestellung").getElementsByTagName("table").item(0);
    var _tr = _table.insertRow(n_row);
    _tr.setAttribute('id', 'direktbestellung_'+n_row);

  	var _td = document.createElement("td");
  	var _input = document.createElement("input");
  	_input.setAttribute('type', 'text');
  	_input.className = 'text anzahl';

  	_input.setAttribute('name', 'n_anzahl[]');
  	_input.setAttribute('value', '1');
  	_td.appendChild(_input);
  	_tr.appendChild(_td);

  	var _td = document.createElement("td");
  	var _input = document.createElement("input");
  	_input.setAttribute('type', 'text');
  	_input.className = 'text artikel';
  	_input.setAttribute('name', 's_artikelnr[]');

  	_input.onfocus = function () {
    	myFocus(this);
    	return false;
    }
    _input.onblur = function () {
    	myBlur(this);
    	return false;
    }

 	  _input.setAttribute('value', warenkorb_bestellnummer);

 	  _td.appendChild(_input);
  	_tr.appendChild(_td);

  	var _td = document.createElement("td");
  	var _img = document.createElement("img");
  	_img.setAttribute('src', 'http://img3s2.schaefer-shop.de/grafiken/schaefershop/navigation/direkt_minus.gif');
  	_img.setAttribute('alt', 'direkt_del');
  	_img.setAttribute('style', 'cursor:pointer; margin:0; padding:0');
  	_img.onclick = function () {
  		deleteRow(this.parentNode.parentNode.id);
  	}
  	_img.className = 'img_9_9';
  	_td.appendChild(_img);
  	_tr.appendChild(_td);

    n_row += 1;
  }
}


function deleteRow(id) {

  var _table = document.getElementById("direktbestellung").getElementsByTagName("table").item(0);
  n_row--;

  var _row = document.getElementById(id);
  _row.parentNode.removeChild(_row);
}

/* addLoadEvent by Simon Willison */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}


/* Vorbelegte Input Boxes leeren und fuellen */
function myFocus(element) {
  //if (element.value == element.defaultValue) {
    element.value = '';
  //}
}

function myBlur(element) {
  if (element.value == '') {
    element.value = element.defaultValue;
  }
}

function myFocusBG(element) {
  if (element.value == element.defaultValue) {
    element.style.backgroundImage = "none";
  }
}

function init_inputdefault () {
  if (!document.getElementsByTagName) return;
	var inputs = document.getElementsByTagName("input");
	var count = 0;
	for (var i=0; i<inputs.length; i++) {
		var input = inputs[i];
		if (input.getAttribute("type") == "text" && input.getAttribute("dir") == "ltr" && input.getAttribute("value") != "") {
			input.onfocus = function () {
				myFocus(this);
				return false;
			}
			input.onblur = function () {
				myBlur(this);
				return false;
			}
		}
		if (input.getAttribute("type") == "password" && input.getAttribute("value") != "") {
		  input.onfocus = function () {
				myFocusBG(this);
				return false;
			}
		}
	}
}

/* externe Links in neuem Tab/Fenster oeffnen */
function init_extlinks () {
  if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var a = anchors[i];
		if (a.getAttribute("rel") == "_blank" && a.getAttribute("href") != "") {
			a.onclick = function () {
				window.open(this.href);
				return false;
			}
		}
	}
}

/* fuer PopUps */
function page() {
	this.width = 0;
	this.height = 0;
	this.scrOfX = 0;
	this.scrOfY = 0;
	// pageSize
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		this.width = window.innerWidth;
		this.height = window.innerHeight;
	}
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		this.width = document.documentElement.clientWidth;
		this.height = document.documentElement.clientHeight;
	}
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		this.width = document.body.clientWidth;
		this.height = document.body.clientHeight;
	}
	// pageScroll
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		this.scrOfY = window.pageYOffset;
		this.scrOfX = window.pageXOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		this.scrOfY = document.body.scrollTop;
		this.scrOfX = document.body.scrollLeft;
	}
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		this.scrOfY = document.documentElement.scrollTop;
		this.scrOfX = document.documentElement.scrollLeft;
	}
}

/* Lieferadressen */
function lieferadresse() {
  nLfdLiefAdr = document.getElementById('nlfdlieferadresse').value;
  bGefunden = false;
  for(var a=0;a<aLiefAdr['nlfdlieferadresse'].length;a++) {
    if(aLiefAdr['nlfdlieferadresse'][a] == nLfdLiefAdr) {
      document.getElementById('sliefername1').value   = aLiefAdr['sliefer_name1'][a];
      document.getElementById('sliefername2').value   = aLiefAdr['sliefer_name2'][a];
      document.getElementById('slieferstrasse').value = aLiefAdr['sliefer_strasse'][a];
      document.getElementById('slieferplz').value     = aLiefAdr['sliefer_plz'][a];
      document.getElementById('slieferort').value     = aLiefAdr['sliefer_ort'][a];
      bGefunden = true;
    }
  }
  if(bGefunden == false) {
    document.getElementById('sliefername1').value   = '';
    document.getElementById('sliefername2').value   = '';
    document.getElementById('slieferstrasse').value = '';
    document.getElementById('slieferplz').value     = '';
    document.getElementById('slieferort').value     = '';
  }
}


/* Cookie Funktionen START */

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function deleteCookie(name) {
  //document.cookie = name+"=; expires=Fri, 27 Jul 2001 02:47:11 UTC; path=/";
}

/* Cookie Funktionen ENDE */


function toggle_view(id) {

  el = document.getElementById(id);
	el.style.display = (el.style.display != 'none' ? 'none' : '' );

}

function toggle_classnames(classname1, classname2) {

  return;

  if(!document.getElementsByClassName){
    return;
  }
  var tables = document.getElementsByClassName(classname1);
  tables = tables.concat(document.getElementsByClassName(classname2));

  for(a=0; a<tables.length; a++) {
    var table = tables[a];
    table.className = (table.className != classname2 ? classname2 : classname1);
  }
}


function toggle_classnames_by_id(id, classname1, classname2) {

  if(!document.getElementById){
    return;
  }
  var el = document.getElementById(id);

  el.className = (el.className != classname2 ? classname2 : classname1);
}


/* Topartikelpreview */
function show_tap(id, imgurl) {
  el = document.getElementById(id);
  el.getElementsByTagName("img")[0].src = imgurl;
  el.style.display = 'block';
}
function hide_tap(id) {
  document.getElementById(id).style.display = 'none';
}

/* Produktansicht drucken */
function getScreenSize() {
	if (self.screen) {
        scr_width = screen.width-10;
        scr_height = screen.height-30;
	}
	else if (self.java) {
       	var javakit = java.awt.Toolkit.getDefaultToolkit();
       	var scrsize = javakit.getScreenSize();
       	scr_width = scrsize.width;
       	scr_height = scrsize.height;
	}
	else {
		scr_width = scr_height = '?';
	}
}

function NewWindow(mypage,myname,mywidth,myheight) {
	var win = null;
	var myname = myname;
	getScreenSize();
	var top = (scr_height - myheight)/2;
	var left = (scr_width - mywidth)/2;

	settings ='height='+myheight+',width='+mywidth+',top='+top+',left='+left+',scrollbars=yes,resizable';
	win = window.open(mypage,myname,settings);
	win.focus();
}


/* alternating color for table rows */
function alternatetablerows(classname) {

  var tables = Array();

  if(!document.getElementsByClassName) {
    if(!document.getElementsByTagName) {
      return;
    }
    else {
      var alltables = document.getElementsByTagName(("table"));
      i = 0;
      j = 0;
      while (element = alltables[i++]) {
        if (element.className == classname) {
          tables[j] = element;
          j++;
        }
      }
    }
  }
  else {
    tables = document.getElementsByClassName(classname);
  }

  for(a=0; a<tables.length; a++) {
    var table = tables[a];
    var rows = table.getElementsByTagName("tr");
    for(i=0; i<rows.length; i++){
      if(i % 2 == 1){
        rows[i].style.backgroundColor = "#fff";
      }
      else{
        rows[i].style.backgroundColor = "#efefef";
      }
    }
  }
}


/* AJAX request */
var asyncRequest = function() {
  function handleReadyState(o, callback) {
    if (o && o.readyState == 4 && o.status == 200) {
      if (callback) {
        callback(o);
      }
    }
  }
  var getXHR = function() {
    var http;
    try {
      http = new XMLHttpRequest;
        getXHR = function() {
          return new XMLHttpRequest;
        };
    }
    catch(e) {
      var msxml = [
        'MSXML2.XMLHTTP.3.0',
        'MSXML2.XMLHTTP',
        'Microsoft.XMLHTTP'
      ];
      for (var i=0, len = msxml.length; i < len; ++i) {
        try {
          http = new ActiveXObject(msxml[i]);
          getXHR = function() {
            return new ActiveXObject(msxml[i]);
          };
          break;
        }
        catch(e) {}
      }
    }
    return http;
  };
  return function(method, uri, callback, postData) {
    var http = getXHR();
    http.open(method, uri, true);
    http.onreadystatechange = function(){handleReadyState(http, callback)};
    http.send(postData || null);
    return http;
  };
}();

function volltext(id, gesText, minText) {
  var elemShort = document.getElementById(id + '_shorttext');
  var elemFull  = document.getElementById(id + '_volltext');
  var status    = document.getElementById(id + '_shorttext').className;

  var bildpfad  = document.getElementById(id + '_linkanzeigen').nextSibling.nextSibling.src;
  bildpfad      = bildpfad.substring(0,bildpfad.lastIndexOf('/')+1);

  if(status == 'aktiv'){
    elemShort.className = 'inaktiv';
    elemFull.className  = 'aktiv';
    document.getElementById(id + '_linkanzeigen').nextSibling.nextSibling.src = bildpfad + 'pfeiloben.gif';
    document.getElementById(id + '_linkanzeigen').innerHTML = minText;
  }
  else{
    elemShort.className = 'aktiv';
    elemFull.className  = 'inaktiv';
    document.getElementById(id + '_linkanzeigen').nextSibling.nextSibling.src = bildpfad + 'pfeilunten.gif';
    document.getElementById(id + '_linkanzeigen').innerHTML = gesText;
  }
}


function box_update(id, text) {
  n_true = text.substring(0,1);
  if (!isNaN(n_true)) {
    document.getElementById('confirm_'+id+'_img_'+n_true).style.display = 'block';
    document.getElementById('confirm_'+id+'_txt_'+n_true).style.display = 'block';
    text = text.substring(1,text.length);
  }
  document.getElementById(id).innerHTML = text;
}

function cookie_test() {
	if (document.cookie=="") document.cookie = "CookieTest = Erfolgreich"
	if (document.cookie=="") document.getElementById('cookietest').style.display='block';
}

function delcompare(item) {
  asyncRequest(
    'GET',
    '/core/schaefershop/ajax_warenkorb.php?s_aktion=pvdelpos&item='+item,
    function(o) {
      b_button = o.responseText.substring(0,1);
      id = o.responseText.substring(1,o.responseText.length);
      document.getElementById('pvbox_button').style.display = (b_button > 0 ? 'block' : 'none');
      el = document.getElementById(id);
      el.parentNode.removeChild(el);
    }
  );

}


function checknsavelastproduct(s_currentproduct) {

  eval('var a_currentproduct = '+s_currentproduct); // reads a_currentproduct

  s_lastproducts = readCookie("lastproduct");

  if(s_lastproducts) {

    a_lastproducts = s_lastproducts.split("#");

    if(a_lastproducts.length > 0) {

      for(i=0; i<a_lastproducts.length; i++) {

        s_lastproduct = a_lastproducts[i];

        s_lastproduct = unescape(a_lastproducts[i])

        eval(s_lastproduct);

        if(a_lastproduct.nlfdprodukt != a_currentproduct.nlfdprodukt) {
          showlastproduct(a_lastproduct);
          savelastproduct(s_currentproduct, s_lastproduct);
          break;
        }
      }
    }
  }
  else {
    savelastproduct(s_currentproduct, '');
  }
}


function savelastproduct(s_currentproduct, s_lastproduct) {
  s_cookie = escape('var a_lastproduct = '+s_currentproduct)+'#'+escape(s_lastproduct);
  createCookie('lastproduct', s_cookie);
}


function showlastproduct(a_lastproduct) {

  if(el = document.getElementById('lastproduct')) {
    ;
  }
  else {
    return;
  }

  _div = document.createElement('div');
  _div.className = 'passendes_produkt';

  _a = document.createElement('a');
  _a.setAttribute('href', a_lastproduct.s_link);

  _img = document.createElement('img');
  _img.setAttribute('src', a_lastproduct.s_produktbild);
  _img.setAttribute('alt', '');
  _img.className = 'img_100_100';

  _a.appendChild(_img);
  _div.appendChild(_a);

  _div2 = document.createElement('div');
  _div2.className = 'prodbez';

  _a2 = document.createElement('a');
  _a2.setAttribute('href', a_lastproduct.s_link);
  _a2.innerHTML = a_lastproduct.SPRODUKTBEZ;

  _div2.appendChild(_a2);

  _div.appendChild(_div2);

  if(a_lastproduct.NBESTPREIS != 0) {
    _div3 = document.createElement('div');
    _div3.className = 'preis';
    _div3.innerHTML = a_lastproduct.NBESTPREIS;
    _div.appendChild(_div3);
  }

  el.appendChild(_div);
  el.style.display = 'block';
}

/* js fehler unterdruecken */
//window.onerror = function () { return true; }