/******************************
 * Copyright© GardenaNet 2007 *
 * ****************************
 * info@gardena.net           *
 * ***************************/

// Parameter für PopUps definiren
var AutoClose = true;		// sollen PopUps automatisch geschlossen werden?
var PositionX = 100;		// X Position auf dem Bildschirm
var PositionY = 100;		// Y Position auf dem Bildschirm
var defaultWidth  = 800;	// Breite des Fensters
var defaultHeight = 800;	// breite des Fensters

// Funktion die mit dem event-handler onload in body gestartet wird
function load()
{
	initLightbox();
	painttablerows('pricetable', '#e6e6e6', '#ffffff', 'titolotabellaleft', '#cac188', '#dccf8b');		// Preis-Tabellen formattieren
	painttablerows2('pricetableengros', '#e6e6e6', '#ffffff');		// Preis-Tabellen formattieren
	loadformconditions();	// Checkform für Formulare aktivieren
}

// leere Funktion um Fehler bei der Initialisation zu vermeiden
function initLightbox ()
{}


// Funktion und Variablen für das einfache PopUp definieren
var openpage = false;
function opennew (file, breite, hoehe, scrollbars, status)
{
	if (scrollbars)
	{
		scrollbars = 'yes';
	} else {
		scrollbars = 'no';
	}
	if (status)
	{
		status = 'yes';
	} else {
		status = 'no';
	}
   openpage = window.open(file, "page","width="+breite+", height="+hoehe+", toolbar=no,location=no,status="+status+",directories=no,menubar=no,scrollbars="+scrollbars+",resizable=no,screenX=120,screenY=80,top=80,left=120");
   return false;
}

function check_popup ()
{
	if (AutoClose && openpage && openpage.closed != true)
	{
		openpage.close();
		openpage = false;
	}
}

// öffnet neues Popup popImage für SlideShow
function pop ()
{
	var kss = Picture.length - 1;
	if (jss != 1) kss = jss - 1;
	var file = PictureBig[kss];
	popImage(file, 'zoom');
}

if (parseInt(navigator.appVersion.charAt(0)) >= 4)
{
	var isNN = (navigator.appName == 'Netscape') ? 1 : 0;
	var isIE = (navigator.appName.indexOf('Microsoft') != -1) ? 1 : 0;
}

var optNN = 'scrollbars=no,width=' + defaultWidth + ',height=' + defaultHeight + ',left=' + PositionX + ',top=' + PositionY;
var optIE = 'scrollbars=no,width=150,height=100,left=' + PositionX + ',top=' + PositionY;

function popImage (imageURL, imageTitle)
{
	if (isNN)
	{
		imgWin = window.open('about:blank', '', optNN);
	}
	if (isIE)
	{
		imgWin = window.open('about:blank', '', optIE);
	}
	with (imgWin.document)
	{
		writeln('<html><head><title>Loading...</title>');
		writeln('<style>body{margin:0px;padding:0px;background-color:#ffffff;}</style>');
		writeln('<sc'+'ript>');
		writeln('var isNN,isIE;');
		writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
		writeln('isNN=(navigator.appName=="Netscape")?1:0;');
		writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
		writeln('function reSizeToImage(){');
		writeln('if (isIE){');
		writeln('window.resizeTo(100,100);');
		writeln('window.resizeTo(document.images[0].width + 10, document.images[0].height + 29);}');
        writeln('if (isNN){');
		writeln('window.innerWidth=document.images[0].width;');
		writeln('window.innerHeight=document.images[0].height;}}');
		writeln('function doTitle(){document.title="' + imageTitle + '";}');
		writeln('</sc'+'ript>');
		if (AutoClose)
		{
			writeln('</head><body scroll="no" onload="reSizeToImage();doTitle();self.focus();" onblur="self.close();">');
		} else {
			writeln('</head><body scroll="no" onload="reSizeToImage();doTitle();self.focus();">');
		}
		writeln('<img src=' + imageURL + ' style="display:block" /></body></html>');
		close();
	}
}

// Funktion zum abwechselnden darstellen der Farben bei Preistabellen
function painttablerows (tableclass, color1, color2, tdclass, color3, color4)
{
    if (tableclass == '')
	{
		tableclass = 'prezzi';
	}
    var tableobjects = document.getElementsByTagName('table');
    for (var i = 0; i < tableobjects.length; i++)
    {
        if (tableobjects[i].className == tableclass)
        {
        	var color = color2;
        	var trobjects = tableobjects[i].getElementsByTagName('tr');
        	for (var a = 0; a < trobjects.length; a++)
        	{
                trobjects[a].style.background = color;
                if (color == color1)
				{
                    color = color2;
				} else {
                    color = color1;
                }
            }
			var color = color3;
			var tdobjects = tableobjects[i].getElementsByTagName('td');
			for (var a = 0; a < tdobjects.length; a++)
        	{
                if (tdobjects[a].className == tdclass)
				{
					tdobjects[a].style.background = color;
					if (color == color3)
					{
						color = color4;
					} else {
						color = color3;
					}
				}
            }
        }
	}
}
function painttablerows2(tableclass, color1, color2)
{
    if (tableclass == '')
	{
		tableclass = 'prezzi';
	}
    var tableobjects = document.getElementsByTagName('table');
    for (var i = 0; i < tableobjects.length; i++)
    {
        if (tableobjects[i].className == tableclass)
        {
            var color = color2;
            var trobjects = tableobjects[i].getElementsByTagName('tr');
            for (var a = 0; a < trobjects.length; a++)
            {
                trobjects[a].style.background = color;
                if (color == color1)
				{
                    color = color2;
				} else {
                    color = color1;
                }
            }
        }
	}
}

// Funktion in der die Konditionen der Formulare definiert sind
function loadformconditions()
{
	// beschreiben der Werte die geprüft werden sollen
	// es werden folgende Felder dem Array hinzugefügt:
		// Name der Variable im Formular
		// Typ der Variable: string, email, checkbox';
	
	if (document.getElementById('mailform'))
	{
		fields2check[0] = new Array('email',	 'email');
		fields2check[1] = new Array('betreff',	 'string');
		fields2check[2] = new Array('mitteilung','string');
		document.getElementById('email').focus();
	}
	if (document.getElementById('mailform2'))
	{
		fields2check[0] = new Array('email',	 'email');
		fields2check[2] = new Array('mitteilung','string');
		document.getElementById('email').focus();
	}
	if (document.getElementById('billform'))
	{
		fields2check[0] = new Array('surname',	 'string');
		fields2check[1] = new Array('address',	 'string');
		fields2check[2] = new Array('plz',		 'string');
		fields2check[3] = new Array('city',		 'string');
		fields2check[4] = new Array('tel',	 'string');
		fields2check[5] = new Array('email',	 'email');
		fields2check[6] = new Array('privacy',	 'checkbox');
		if (document.getElementById('pwd'))
		{
			fields2check[7] = new Array('pwd',	 'string');
		}
	}
}

gnHover = function()
{
	if (!document.getElementById("nav1"))
	{
		return false;
	}
	var gnEls = document.getElementById("nav1").getElementsByTagName("LI");
	for (var i = 0; i < gnEls.length; i++)
	{
		gnEls[i].onmouseover = function()
		{
			var elem = this.getElementsByTagName("UL");
			if (elem && elem[0])
			{
				elem[0].style.left = 'auto';
			}
		}
		gnEls[i].onmouseout = function()
		{
			var elem = this.getElementsByTagName("UL");
			if (elem && elem[0])
			{
				elem[0].style.left = '-999em';
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", gnHover);


var versionstexte = new Array();
versionstexte['NR'] = new Array();
versionstexte['NR']['de'] = 'Holz roh gelassen';
versionstexte['NR']['it'] = 'Legno non trattato';
versionstexte['NR']['en'] = 'Wood untreated';
versionstexte['SC'] = new Array();
versionstexte['SC']['de'] = 'Roh nachgeschnitzt (bei Figuren über 36 cm)';
versionstexte['SC']['it'] = 'Figure parzialmente scolpite a mano (a partire da 36 cm)';
versionstexte['SC']['en'] = 'Figures partly handcarved (available as from 14 inch)';
versionstexte['N'] = new Array();
versionstexte['N']['de'] = 'Birntonbeize, mit Wachs poliert ';
versionstexte['N']['it'] = 'Mordente beige chiaro, lucidato a cera ';
versionstexte['N']['en'] = 'Light stain, wax polished';
versionstexte['NO'] = new Array();
versionstexte['NO']['de'] = 'Bemalte Augen und einige Details in Gold, mit Wachs poliert';
versionstexte['NO']['it'] = 'Occhi dipinti e alcuni particolari dorati, lucidato a cera';
versionstexte['NO']['en'] = 'Painted eyes and some particulars in gold, wax polished';
versionstexte['NS'] = new Array();
versionstexte['NS']['de'] = 'Nusstonbeize, mit Wachs poliert';
versionstexte['NS']['it'] = 'Mordente noce scuro, lucidato a cera ';
versionstexte['NS']['en'] = 'Dark stain, wax polished';
versionstexte['ZF'] = new Array();
versionstexte['ZF']['de'] = 'Birn- und Nusstonbeize, mit Wachs poliert';
versionstexte['ZF']['it'] = 'Mordente chiaro - scuro, lucidato a cera ';
versionstexte['ZF']['en'] = 'Light-dark stain, wax polished';
versionstexte['EH'] = new Array();
versionstexte['EH']['de'] = 'Eichenholz mit Wachs poliert';
versionstexte['EH']['it'] = 'Legno di quercia lucidato a cera';
versionstexte['EH']['en'] = 'Oak wood wax polished';
versionstexte['ZE'] = new Array();
versionstexte['ZE']['de'] = 'Eichen- bzw. Kastanienholz, mit Wachs poliert';
versionstexte['ZE']['it'] = 'Legno quercia o castagno, lucidato a cera';
versionstexte['ZE']['en'] = 'oak or chestnut wood, wax polished';
versionstexte['NH'] = new Array();
versionstexte['NH']['de'] = 'Einheimisches Nussholz, mit Wachs poliert';
versionstexte['NH']['it'] = 'Noce nazionale lucidato a cera';
versionstexte['NH']['en'] = 'National walnut wax polished';
versionstexte['ZN'] = new Array();
versionstexte['ZN']['de'] = 'Einheimisches Nussholz, mit Wachs poliert, und Gold';
versionstexte['ZN']['it'] = 'Noce nazionale, lucidato a cera e oro';
versionstexte['ZN']['en'] = 'National walnut, wax polished and gold';
versionstexte['C'] = new Array();
versionstexte['C']['de'] = 'Mit Ölfarbe lasiert';
versionstexte['C']['it'] = 'Dipinto con colori ad olio';
versionstexte['C']['en'] = 'Painted in oil colours';
versionstexte['IA'] = new Array();
versionstexte['IA']['de'] = 'Antikimitation mit Craquele';
versionstexte['IA']['it'] = 'Imitazione antica con craquele';
versionstexte['IA']['en'] = 'Antique imitation with craquele';
versionstexte['OA'] = new Array();
versionstexte['OA']['de'] = 'Antikausführung mit 24-karätiger Echtgoldauflage, lieferbar ab 36 cm';
versionstexte['OA']['it'] = 'Finitura antica, dorata con oro zecchino 24 carati';
versionstexte['OA']['en'] = 'Antique finished, 24 carat gold gilding, available as from 14 inch';

versionstexte['HB'] = new Array();
versionstexte['HB']['de'] = 'Buchsbaumholz';
versionstexte['HB']['it'] = 'Legno di bosso';
versionstexte['HB']['en'] = 'Boxwood';
versionstexte['HE'] = new Array();
versionstexte['HE']['de'] = 'Ebenholz';
versionstexte['HE']['it'] = 'Legno di ebano';
versionstexte['HE']['en'] = 'Ebonywood';
versionstexte['HS'] = new Array();
versionstexte['HS']['de'] = 'Birnbaumholz';
versionstexte['HS']['it'] = 'Legno di pero';
versionstexte['HS']['en'] = 'Pearwood';
versionstexte['HT'] = new Array();
versionstexte['HT']['de'] = 'Taguanuss (pflanzl. Elfenbein)';
versionstexte['HT']['it'] = 'Noce di tagua (avorio vegetale)';
versionstexte['HT']['en'] = 'Tagua nut (vegetable ivory)';
versionstexte['NH.'] = new Array();
versionstexte['NH.']['de'] = 'Nussholz';
versionstexte['NH.']['it'] = 'Noce nazionale';
versionstexte['NH.']['en'] = 'National walnut';
versionstexte['HH'] = new Array();
versionstexte['HH']['de'] = 'Hirschhorn';
versionstexte['HH']['it'] = 'Corno di cervo';
versionstexte['HH']['en'] = 'Staghorn';
versionstexte['ET'] = new Array();
versionstexte['ET']['de'] = 'Ebenholz und Taguanuss';
versionstexte['ET']['it'] = 'Ebano e noce di tagua';
versionstexte['ET']['en'] = 'Ebonywood and tagua nut';


var versionstimeout = false;
function showversion(version, evt)
{
	if (versionstimeout)
	{
		window.clearTimeout(versionstimeout);
		versionstimeout = false;
	}
	var versionsbox = document.getElementById('versionsbox');
	if (!versionsbox)
	{
		return false;
	}
	versionsbox.style.display = 'inline';
	//versionsbox.style.left = (get_position('x', evt) + 9) + 'px';
	//versionsbox.style.top = (get_position('y', evt) - 14) + 'px';
	versionsbox.style.top = (get_position('y', evt) - 180) + 'px'; //
	document.getElementById('versionstxt').innerHTML = '<b>' + version + '</b> = ' + versionstexte[version][lang];
	/*var versionsline = document.getElementById('versionsline');
	versionsline.style.display = 'inline';
	versionsline.style.top = (get_position('y', evt) - 40) + 'px';
	versionsline.style.width = (get_position('x', evt) / 2) + 'px';*/
	var imgobj = document.getElementById('versionsimage');
	if (!imgobj)
	{
		return false;
	}
	var img = new Image();
	img.src = '/images/ausf-' + version.toLowerCase() + '.jpg';
	img.onload = function(){adjust_imagepreview(imgobj, img);}
	adjust_imagepreview(imgobj, img);
	
	return false;
}

function adjust_imagepreview(imgobj, img)
{
	imgobj.src = img.src;
	imgobj.width = img.width;
	imgobj.height = img.height;
}


function hideversion()
{
	var versionsbox = document.getElementById('versionsbox');
	if (!versionsbox)
	{
		return false;
	}
	versionsbox.style.display = 'none';
	versionstimeout = false;
	/*var versionsline = document.getElementById('versionsline');
	versionsline.style.display = 'none';*/
}

// Funktion zum ermitteln der genauen Fensterposition mit Scrollposition
function get_position(type, evt)
{
	if (evt && evt.pageX)
	{
		var pos = { x: evt.pageX, y: evt.pageY };
	}
	else
	{
		var pos = { x: window.event.clientX, y: window.event.clientY };
	}
	switch (type)
	{
		case 'x':
			return parseInt(pos.x) + parseInt(get_page_scroll(type));
			break;
		case 'y':
			return parseInt(pos.y) + parseInt(get_page_scroll(type));
			break;
		default:
			return false;
	}
}

// Funktion zum ermitteln der Scroll-Position
function get_page_scroll(type)
{
	var xScroll, yScroll;
	if (self.pageYOffset)
	{
		yScroll = 0;	//self.pageYOffset;
		xScroll = 0;	//self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	{	// Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	}
	else if (document.body)
	{	// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}
	switch (type)
	{
		case 'x':
			return parseInt(xScroll);
			break;
		case 'y':
			return parseInt(yScroll);
			break;
		default:
			return arrayPageScroll = new Array(parseInt(xScroll), parseInt(yScroll));
	}
}

function changeprice(priceobjid, quantval, sumobjid)
{
	var priceobj = document.getElementById(priceobjid);
	var sumobj = document.getElementById(sumobjid);
	if (!priceobj || !sumobj)
	{
		return false;
	}
	var quant = parseInt(quantval);
	if (!isFinite(quant) || quant > 1000 || quant < 0)
	{
		sumobj.innerHTML = '&nbsp;';
		return false;
	}
	var price = priceobj.innerHTML.toLowerCase().replace('.', '').split("</span>");
	var pattern = /(\d+),(\d+)/;
	var dollar = '';
	if (price.length > 2)
	{
		pattern.exec(price[1])
		dollar = RegExp.$1 + '.' + RegExp.$2;
		dollar = toCurrency(dollar, '.', 3, quant);
		dollar = ' <span class=bigp><nobr>$ ' + dollar + '</nobr></span>';
	}
	pattern.exec(price[0])
	var euro = RegExp.$1 + '.' + RegExp.$2;
	euro = toCurrency(euro, '.', 3, quant);
	if (euro == '0,00')
	{
		sumobj.innerHTML = '';
	}
	else
	{
		sumobj.innerHTML = '<span class=big><nobr>&euro; ' + euro + '</nobr></span>' + dollar;
	}
}

function toCurrency(value, separator, ttz, quant)
{
	if (value == '')
	{
		return false;
	}
	if (separator == '')
	{
		separator = ',';
	}
	ttz = parseInt(ttz);
	if (!isFinite(ttz))
	{
		ttz = 3;
	}
	value = value.replace(',', '.');
	value = String(Math.round(parseFloat(value) * quant * 100) / 100);
	value = value.split('.');
	if (value.length == 1)
	{
		value[1] = '00';
	}
	if (value[1].length == 1)
	{
		value[1] += '0';
	}
	if (value[1].length == 0)
	{
		value[1] = '00';
	}
	if (value[0].length > 3)
	{
		value[0] = value[0].substr(0, value[0].length - 3) + separator + value[0].substr(value[0].length - 3);
	}
	if (value[0].length > 7)
	{
		value[0] = value[0].substr(0, value[0].length - 7) + separator + value[0].substr(value[0].length - 7);
	}
	return value.join(',');
}