// get any type of html objects by id/name
function nex_get_object(v4,v5)
  {
  var v1,v2,v3;
  if(!v5)v5=document;
  if(v5.getElementsByName)v3=v5.getElementsByName(v4);
  if(!v3&&v5.getElementById)v3=v5.getElementById(v4);
  if(!v3&&v5.all)v3=v5.all[v4];
  if(!v3&&v5.images.length)v3=v5.images[v4];
  if(!v3&&v5.forms.length)for(v2=0;v2<v5.forms.length;v2++)if(v5.forms[v2].name==v4)v3=v5.forms[v2];else if(v5.forms[v2].elements[v4])v3=v5.forms[v2].elements[v4];
  if(!v3&&v5.layers){if(v5.layers[v4])v3=v5.layers[v4];for(v1=0;!v3&&v1<v5.layers.length;v1++)v3=nex_get_object(v4,v5.layers[v1].document);}
  return v3;
  }

function toggleBillAddress(id, hide)
  {
  var obj = gOb(id);
  if (obj)
    {
    var disp = obj.style.display;
    if (disp=='none' && !hide)
      obj.style.display = (document.all && !window.opera) ? 'inline' : 'table-row-group';
    else if (hide)
      obj.style.display = 'none';
    }
  }

function setItems(elm, index, inc, max, form, wine) {
  var obj;
  if (form && document.forms[form])
    obj = document.forms[form].elements[elm];
  else
    obj = nex_get_object(elm);
  if (obj.length && obj[index])
    obj = obj[index];

  if (typeof(obj.value)!='undefined') {
    var count = (isNaN(obj.value) || obj.value=='') ? 0 : parseFloat(obj.value);

    if (wine && (count<5 || (count<=6 && inc<0)))
      inc = inc*3;
    else if (wine)
      inc = inc*6;

    if ((inc>0 || count>1) && (inc<0 || count<max || max=='off'))
      obj.value = count+inc;
    }
}


function checkItems(obj, max, wine) {
  var count = parseFloat(obj.value);
  var old_count = count;
  var rnd = count<5 ? 3 : 6;
  if (wine)
    count = Math.ceil(count/rnd)*rnd;
  if (max!='off' && count > max)
    obj.value = max;
  else if (count != old_count)
    obj.value = count;
}

function quicksearch(v) {
  if (v && v!=='0' && /^[0-9,]+$/.test(v))
    location.href = '../products/?catID='+v;
  else if (v && v!=='0')
    location.href = v;
}


function gOb(id){return document.getElementById(id);}

function teaserBox(layer) {
	if(layer == 1){	
		gOb("teaserBoxImg_1").src = "../images/layout/nav_teaserbox_left_active.gif";
		gOb("teaserBoxImg_2").src = "../images/layout/nav_teaserbox_right_passive.gif";
		gOb("teaserBoxContent_1").style.display = "block";
		gOb("teaserBoxContent_2").style.display = "none";
	}else if(layer == 2){
		gOb("teaserBoxImg_1").src = "../images/layout/nav_teaserbox_left_passive.gif";
		gOb("teaserBoxImg_2").src = "../images/layout/nav_teaserbox_right_active.gif";
		gOb("teaserBoxContent_1").style.display = "none";
		gOb("teaserBoxContent_2").style.display = "block";
	}
}

imgPath = "../images/layout/";
arrNavA = new Array(
	"nav_01.gif",
	"nav_active_01.gif",
	"nav_02.gif",
	"nav_active_02.gif",
	"nav_03.gif",
	"nav_active_03.gif",
	"nav_04.gif",
	"nav_active_04.gif",
	"nav_05.gif",
	"nav_active_05.gif",
	"nav_06.gif",
	"nav_active_06.gif",
	"nav_07.gif",
	"nav_active_07.gif",
	"nav_08.gif",
	"nav_active_08.gif",
	"nav_09.gif",
	"nav_active_09.gif",
	"nav_10.gif",
	"nav_active_10.gif"
);

arrObjNavA = new Array();
for(i = 0;i < arrNavA.length;i++){
	arrObjNavA[i] = new Image();
	arrObjNavA[i].src = imgPath+arrNavA[i]; 
}

function switchNavImg(id,img){
	gOb(id).src = arrObjNavA[img].src;
}

function switchNavCss(id,klasse){
	gOb(id).className = klasse;
}

function showLayer(id){
  var obj;
  if (obj = gOb(id))
    obj.style.visibility = "visible";
}
function hideLayer(id){
  var obj;
  if (obj = gOb(id))
	  obj.style.visibility = "hidden";
}


function infoBox(obj,img){
if(navigator.platform.indexOf("mac") == -1){
	if(typeof document.getElementsByName("infoBox")[0] == 'undefined'){
		obj.onmousemove = trackMouse;
		
		var infoBoxDiv = document.createElement("div");
		infoBoxDiv.setAttribute("id","infoBox");
		infoBoxDiv.setAttribute("name","infoBox");
		infoBoxDiv.style.position = "absolute";
		infoBoxDiv.style.width = "100px";
		infoBoxDiv.style.height = "100px";
		infoBoxDiv.style.visibility = "hidden";
		document.getElementsByTagName("body")[0].appendChild(infoBoxDiv);
		
		var infoBoxImg = document.createElement("img");
		infoBoxImg.setAttribute("src",img);
		//infoBoxImg.setAttribute("width","110");
		//infoBoxImg.setAttribute("height","110");
    infoBoxImg.className = "imgBorder";
		document.getElementById("infoBox").appendChild(infoBoxImg);
		
		showLayer("infoBox");
		swapElem("infoBox");
	}else{
		showLayer("infoBox");
		swapElem("infoBox");
	}
}else{
		obj.onmousemove = trackMouse;
		
		var infoBoxDiv = document.createElement("div");
		infoBoxDiv.setAttribute("id","infoBox");
		infoBoxDiv.setAttribute("name","infoBox");
		infoBoxDiv.style.position = "absolute";
		infoBoxDiv.style.width = "182px";
		infoBoxDiv.style.height = "137px";
		infoBoxDiv.style.visibility = "hidden";
		document.getElementsByTagName("body")[0].appendChild(infoBoxDiv);
		
		var infoBoxImg = document.createElement("img");
		infoBoxImg.setAttribute("src",img);
		document.getElementById("infoBox").appendChild(infoBoxImg);
		
		showLayer('infoBox');
		swapElem("infoBox");
}}

function closeInfoBox(obj){
if(navigator.platform.indexOf("mac") == -1){
	if(typeof document.getElementsByName("infoBox")[0] != 'undefined'){
		swapElem("infoBox");
		document.getElementsByTagName("body")[0].removeChild(document.getElementById("infoBox"));
		obj.onmousemove = null; 
	}
}else{
		swapElem("infoBox");
		document.getElementsByTagName("body")[0].removeChild(document.getElementById("infoBox"));
		obj.onmousemove = null;
}}

function trackMouse(e){
	var ie = document.all?true:false;
	if (ie) {
		tempX = event.clientX + 5 + document.body.scrollLeft;
		tempY = event.clientY + 5 + document.body.scrollTop;
	}else{
		tempX = e.pageX + 5;
		tempY = e.pageY + 5;
	} 
	document.getElementById("infoBox").style.left = tempX;
	document.getElementById("infoBox").style.top = tempY;
}

floatX=0;
floatY=0;
layerwidth=0;
layerheight=0;
halign="left";
valign="top";
delayspeed=5;

// This script is copyright (c) Henrik Petersen, NetKontoret
// Feel free to use this script on your own pages as long as you do not change it.
// It is illegal to distribute the script as part of a tutorial / script archive.
// Updated version available at: http://www.echoecho.com/toolfloatinglayer.htm
// This comment and the 4 lines above may not be removed from the code.

NS6=false;
IE4=(document.all);
if (!IE4) {NS6=(document.getElementById);}
NS4=(document.layers);

function adjust() {
if ((NS4) || (NS6)) {
if (lastX==-1 || delayspeed==0)
{
lastX=window.pageXOffset + floatX;
lastY=window.pageYOffset + floatY;
}
else
{
var dx=Math.abs(window.pageXOffset+floatX-lastX);
var dy=Math.abs(window.pageYOffset+floatY-lastY);
var d=Math.sqrt(dx*dx+dy*dy);
var c=Math.round(d/10);
if (window.pageXOffset+floatX>lastX) {lastX=lastX+delayspeed+c;}
if (window.pageXOffset+floatX<lastX) {lastX=lastX-delayspeed-c;}
if (window.pageYOffset+floatY>lastY) {lastY=lastY+delayspeed+c;}
if (window.pageYOffset+floatY<lastY) {lastY=lastY-delayspeed-c;}
}
if (NS4){
document.layers['floatlayer'].pageX = lastX;
document.layers['floatlayer'].pageY = lastY;
}
if (NS6){
document.getElementById('floatlayer').style.left=lastX;
document.getElementById('floatlayer').style.top=lastY;
}
}
else if (IE4){
if (lastX==-1 || delayspeed==0)
{
lastX=document.body.scrollLeft + floatX;
lastY=document.body.scrollTop + floatY;
}
else
{
var dx=Math.abs(document.body.scrollLeft+floatX-lastX);
var dy=Math.abs(document.body.scrollTop+floatY-lastY);
var d=Math.sqrt(dx*dx+dy*dy);
var c=Math.round(d/10);
if (document.body.scrollLeft+floatX>lastX) {lastX=lastX+delayspeed+c;}
if (document.body.scrollLeft+floatX<lastX) {lastX=lastX-delayspeed-c;}
if (document.body.scrollTop+floatY>lastY) {lastY=lastY+delayspeed+c;}
if (document.body.scrollTop+floatY<lastY) {lastY=lastY-delayspeed-c;}
}
document.all['floatlayer'].style.posLeft = lastX;
document.all['floatlayer'].style.posTop = lastY;
} 
setTimeout('adjust()',50);
}

function define()
{
if ((NS4) || (NS6)) 
{ 
if (halign=="left") {floatX=ifloatX};
if (halign=="right") {floatX=window.innerWidth-ifloatX-layerwidth-20};
if (halign=="center") {floatX=Math.round((window.innerWidth-20)/2)-Math.round(layerwidth/2)};
if (valign=="top") {floatY=ifloatY};
if (valign=="bottom") {floatY=window.innerHeight-ifloatY-layerheight};
if (valign=="center") {floatY=Math.round((window.innerHeight-20)/2)-Math.round(layerheight/2)};
}
if (IE4) 
{
if (halign=="left") {floatX=ifloatX};
if (halign=="right") {floatX=document.body.offsetWidth-ifloatX-layerwidth-20}
if (halign=="center") {floatX=Math.round((document.body.offsetWidth-20)/2)-Math.round(layerwidth/2)}
if (valign=="top") {floatY=ifloatY};
if (valign=="bottom") {floatY=document.body.offsetHeight-ifloatY-layerheight}
if (valign=="center") {floatY=Math.round((document.body.offsetHeight-20)/2)-Math.round(layerheight/2)}
}
}

function popupDiv(uri){
	popup.window.location.href = uri;
}
function createPopupDiv(){
	if(!gOb("popupDiv")){
		var left = (screen.availWidth - 496) / 2;
		var top =  (screen.availHeight - 589) / 2 -80;
		var popupDiv = document.createElement("div");
		popupDiv.setAttribute("id","popupDiv");
		popupDiv.style.position = "absolute";
		popupDiv.style.left = left+"px";
		popupDiv.style.top = top+"px";
		popupDiv.style.backgroundColor = "#ffffff";
		document.getElementById("floatlayer").appendChild(popupDiv);
		popupDiv.innerHTML = popup.document.getElementsByTagName("body")[0].innerHTML;
		swapElem("popupDiv");
		document.onmousedown=initializiere_drag;
		document.onmouseup=new Function("dragapproved=false;");
	}
}

function killPopupDiv(){
	swapElem("popupDiv");
	document.onmousemove= null;
	document.getElementById("floatlayer").removeChild(document.getElementById("popupDiv"));
}

//Drag und Drop Funktion fuer ie4+ und NS6//
var ie4=document.all;
var ns6=document.getElementById&&!document.all;

function initializiere_drag(e){
	crossobj=ns6? document.getElementById("popupDiv") : document.all.popupDiv;
	var firedobj=ns6? e.target : event.srcElement;
	var topelement=ns6? "HTML" : "BODY";
	while (firedobj.tagName!=topelement&&firedobj.name!="dragImg"){
		firedobj=ns6? firedobj.parentNode : firedobj.parentElement;
	}
	if (firedobj.name=="dragImg"){
		offsetx=ie4? event.clientX : e.clientX;
		offsety=ie4? event.clientY : e.clientY;
		tempx=parseInt(crossobj.style.left);
		tempy=parseInt(crossobj.style.top);
		dragapproved=true;
		document.onmousemove=drag_drop;
	}
}

function drag_drop(e){
	swapElem("popupDiv");
	if (ie4&&dragapproved){
		crossobj.style.left=tempx+event.clientX-offsetx;
		crossobj.style.top=tempy+event.clientY-offsety;
		return false
	}else if (ns6&&dragapproved){
		crossobj.style.left=tempx+e.clientX-offsetx;
		crossobj.style.top=tempy+e.clientY-offsety;
		return false
	}
}
//Drag und Drop Funktionen enden hier//

function getElemOffset(element){	
	parents = element.offsetParent;
	oh = element.offsetTop;
	ol = element.offsetLeft;
 	while (parents) {
 		oh+=parents.offsetTop;
		ol+=parents.offsetLeft;
		parents=parents.offsetParent;
	 }
	return Array(ol,oh,ol+element.offsetWidth,oh+element.offsetHeight);
}
hElements = new Array();
function swapElem(layerID){
	status = (document.getElementById(layerID).style.visibility == 'visible')?'visible':'hidden';
	layerO = getElemOffset(document.getElementById(layerID));
	selects = document.getElementsByTagName('select');
	for(i=0;i<selects.length;i++){
		selectO = getElemOffset(selects[i]);
		if(((selectO[0] >= layerO[0]) && (selectO[0] <= layerO[2]) && (selectO[1] >= layerO[1]) && (selectO[1] <= layerO[3])) || ((selectO[2] <= layerO[2]) && (selectO[2] >= layerO[0]) && (selectO[3] <= layerO[3]) && (selectO[3] >= layerO[1]))){
			if(typeof(hElements['S'+i]) == "undefined")hElements['S'+i]=0;
			if(status == 'hidden'){
				hElements['S'+i]++;
				selects[i].style.visibility = status;
			} else {
				hElements['S'+i]--;
				if(hElements['S'+i]==0)selects[i].style.visibility = status;

			}			
		}
	}
}

function show_elem(id)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).style.visibility = "visible";
	}
}
function hide_elem(id)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).style.visibility = "hidden";
	}
}	
		
function css_klasse(id,css_klasse)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).className = css_klasse;
	}
}
