var _vorschau = null;

function formatiereArbeitLinks()
{
	var a_tags = document.getElementsByTagName( 'a');
	
	for( var i = 0; i < a_tags.length; i++)
	{
//		if( a_tags[i].id.substr( 0, 10) == 'bild_link_')
//		{
//			var id = a_tags[i].id.substr( 10, a_tags[i].id.length - 10);
//			formatiereStueckLink( a_tags[i], id);
//		}
//		else if( a_tags[i].id.substr( 0, 15) == 'warenkorb_link_')
		if( a_tags[i].id.substr( 0, 15) == 'warenkorb_link_')
		{
			var id = a_tags[i].id.substr( 15, a_tags[i].id.length - 15);
//			alert( a_tags[i].id);
			formatiereWarenkorbLink( a_tags[i], id);
		}
	}
}

function formatiereWarenkorbLinks()
{
	var a_tags = document.getElementsByTagName( 'a');
	
	for( var i = 0; i < a_tags.length; i++)
	{
		if( a_tags[i].id.substr( 0, 10) == 'bild_link_')
		{
			var id = a_tags[i].id.substr( 10, a_tags[i].id.length - 10);
			formatiereStueckLink( a_tags[i], id);
		}
		else if( a_tags[i].id.substr( 0, 20) == 'warenkorb_entfernen_')
		{
			var id = a_tags[i].id.substr( 20, a_tags[i].id.length - 20);
//			alert( a_tags[i].id);
			formatiereEntfernenLink( a_tags[i], id);
		}
	}
}

function formatiereStueckLink( obj, id)
{
	obj.href="javascript: void(0)";
	obj.onclick = function(){ oeffneBild( id);};
}

function formatiereWarenkorbLink( obj, id)
{
	obj.href = "javascript: void(0);";
	obj.onclick = function(){ inDenWarenkorb( id);};
}

function formatiereEntfernenLink( obj, id)
{
	obj.href = "javascript: void(0);";
	obj.onclick = function(){ entfernen( id);};
}

function oeffneBild( bild_id)
{
	alert( bild_id);
}

function entfernen( id)
{
	aktualisiereCookie( 0, id);
	location.href = location.href;
}

function aktualisiereWarenkorb()
{
	var a_tags = document.getElementsByTagName( 'a');
	
	for( var i = 0; i < a_tags.length; i++)
	{
		if( a_tags[i].id.substr( 0, 20) == 'warenkorb_entfernen_')
		{
			var id = a_tags[i].id.substr( 20, a_tags[i].id.length - 20);
			inDenWarenkorb( id);
		}
	}
	location.href = location.href;
}

function inDenWarenkorb( id)
{
	var obj_anzahl = document.getElementById( 'warenkorb_anzahl_' + id);
	var obj_artikel = document.getElementById( 'warenkorb_artikel_name_' + id);

	if( parseInt( document.getElementById( 'warenkorb_verfuegbar_' + id).value) < parseInt( obj_anzahl.value))
	{
		var verfuegbar = document.getElementById( 'warenkorb_verfuegbar_' + id).value;
		meldungVerfuegbar( name, verfuegbar);
		obj_anzahl.value = verfuegbar;
	}
	
	meldungWarenkorb( obj_artikel.value, obj_anzahl.value);
	aktualisiereCookie( Number( obj_anzahl.value), id);
}

function meldungWarenkorb( name, anzahl)
{
	var obj_warenkorb_meldung = document.getElementById( 'warenkorb_meldung');
	var obj_warenkorb_meldung_text = document.getElementById( 'warenkorb_meldung_text');
	obj_warenkorb_meldung_text.innerHTML = "Artikel " + name + " " + anzahl + "x in den Warenkorb gelegt!";
	
	centerDiv( obj_warenkorb_meldung);
	obj_warenkorb_meldung.style.display = "block";
}

function centerDiv(div) 
{
	if (document.all)
    {
        var breite = document.body.clientWidth;
        var hoehe = document.body.clientHeight;
        var scroll_breite = document.body.scrollLeft;
        var scroll_hoehe = document.body.scrollTop;
        var hoehe_div = div.clientHeight;
        var breite_div = div.clientWidth;
    	breite_div = 400;
    	hoehe_div = 160;
    	
//    	alert( "Scroll Breite : " + scroll_breite + " / Breite : " + breite + " / Breite Div : " + breite_div);
//    	alert( "Scroll Höhe : " + scroll_hoehe + " / Hoehe : " + hoehe + " / Hoehe Div : " + hoehe_div);
    }
    else 
    {
    	var breite = window.innerWidth;
    	var hoehe = window.innerHeight;
    	var scroll_breite = window.scrollX;
    	var scroll_hoehe = window.scrollY;
    	var hoehe_div = div.offsetHeight;
    	var breite_div = div.offsetWidth;
    	breite_div = 400;
    	hoehe_div = 160;
    	scroll_breite = 0;
    	scroll_hoehe = 0;
    }
	
//	vorschau_y = parseInt( hoehe - hoehe_div) / 2;
//	document.getElementById( 'body').appendChild( _vorschau);
	
//	_vorschau.style.left = parseInt( vorschau_x + 60) + "px";
//	_vorschau.style.top = parseInt( scroll_hoehe + vorschau_y) + "px";
	
//	alert( div.style.width);
	
//	document.getElementById('body').appendChild( div);
//	alert( "Breie Fenster : " + breite + "px / ScrollBalkenX : " + scroll_breite + "px / Breite Div : " + breite_div + "px");

//	alert( "Scroll Breite : " + scroll_breite + " / Breite : " + breite + " / Breite Div : " + breite_div);
//	alert( "Scroll Höhe : " + scroll_hoehe + " / Hoehe : " + hoehe + " / Hoehe Div : " + hoehe_div);
//	
	div.style.left = parseInt( scroll_breite) + ( parseInt( breite - breite_div ) / 2) + "px";
	div.style.top = parseInt( scroll_hoehe) + ( parseInt( hoehe - hoehe_div ) / 2) + "px";
//	div.style.display = "block";
//	
//	if (document.all)
//    {
//		alert( div.style.left + " ," + div.style.top);
//    } 
	
//    div.style.left = '50%';
//    div.style.top = '50%';
//    div.style.marginLeft = "-" + parseInt( div.offsetWidth / 2) + "px";
//    div.style.marginTop = "-" + parseInt( div.offsetHeight / 2) + window.document.documentElement.scrollTop + "px";
}


function meldungVerfuegbar( name, anzahl)
{
	var obj_warenkorb_meldung = document.getElementById( 'warenkorb_verfuegbar');
	var obj_warenkorb_meldung_text = document.getElementById( 'warenkorb_verfuegbar_text');
	obj_warenkorb_meldung_text.innerHTML = "Artikel " + name + " ist nur noch " + anzahl + "x verfügbar.";

	if (document.all)
    {
        var breite = document.body.clientWidth;
        var hoehe = document.body.clientHeight;
        var scroll_breite = document.body.scrollLeft;
        var scroll_hoehe = document.body.scrollTop;
        var hoehe_div = obj_warenkorb_meldung.clientHeight;
        var breite_div = obj_warenkorb_meldung.clientWidth;
    	breite_div = 400;
    	hoehe_div = 160;
    }
    else 
    {
    	var breite = window.innerWidth;
    	var hoehe = window.innerHeight;
    	var scroll_breite = window.scrollX;
    	var scroll_hoehe = window.scrollY;
    	var hoehe_div = obj_warenkorb_meldung.offsetHeight;
    	var breite_div = obj_warenkorb_meldung.offsetWidth;
    	breite_div = 400;
    	hoehe_div = 160;
    }
//	obj_warenkorb_meldung.style.marginLeft = "-" + parseInt( breite - scroll_breite - breite_div) / 2 + "px";
//	obj_warenkorb_meldung.style.marginTop = "-" + parseInt( hoehe - scroll_hoehe - hoehe_div) / 2 + "px";
	obj_warenkorb_meldung.style.display = "block";
	
//	document.getElementById('body').appendChild( obj_warenkorb_meldung);
}

function aktualisiereCookie( anzahl, id)
{
	var aktuelle_anzahl = parseInt( getWarenkorbAnzahl());
	var warenkorb_string = '';
	var warenkorb_array = new Array();

	// wenn es einen cookie gibt
	// nicht genau den string abfragen, damit auch am anfang des cookies matcht
	if( document.cookie && document.cookie.indexOf( "korb_artist-in=") > 0)
	{
		var cookie_string = document.cookie;
		if( document.cookie.indexOf( "korb_artist-in=") > 0)
		{
			var teil_string = document.cookie.substr( document.cookie.indexOf( "warenkorb_artist-in=") + 20, document.cookie.length - document.cookie.indexOf( "warenkorb_artist-in=") + 20);
			warenkorb_string = Base64.decode( teil_string.substr( 0, teil_string.indexOf( ';')));
			
			if( teil_string && !warenkorb_string.length)
			{
				// wenn kein ; mehr enthalten, davon ausgehen, das string der inhalt ist
				if( teil_string.indexOf( ';') < 1)
				{
					warenkorb_string = Base64.decode( teil_string);
				}
			}
			if( warenkorb_string.length)
			{
				warenkorb_array = warenkorb_string.split( '|');
			}
			else
			{
				warenkorb_array[0] = warenkorb_string;
			}
		}
		var i = 0;
		
		// warenkorb durchlaufen
		for( i = 0; i < warenkorb_array.length; i++)
		{
			var artikel_anzahl = warenkorb_array[i].split( ',')[0];
			var artikel = warenkorb_array[i].split( ',')[1];
			
			// wenn schon eingetragen und auch die anzahl schon im cookie
			if( artikel == id && artikel_anzahl == anzahl)
			{
				break;
			}
			// wenn schon eingetragen, aber mit anderer anzahl
			else if( artikel == id && artikel_anzahl != anzahl)
			{
				if( anzahl == 0)
				{
					aktuelle_anzahl = parseInt( aktuelle_anzahl - artikel_anzahl);
					warenkorb_array.splice( i, 1);
				}
				else
				{
					aktuelle_anzahl = parseInt( aktuelle_anzahl - artikel_anzahl + anzahl);
					warenkorb_array[i] = anzahl + "," + id;
				}
				break;
			}
		}

		if( i && i == warenkorb_array.length)
		{
			aktuelle_anzahl = parseInt( aktuelle_anzahl + anzahl);
			warenkorb_array[parseInt( i)] = anzahl + "," + id;
		}

		warenkorb_string = warenkorb_array.join( '|');
	}
	// wenn nicht, einfach eintragen
	else
	{
		aktuelle_anzahl = parseInt( aktuelle_anzahl) + anzahl;
		warenkorb_string = anzahl + "," + id;
	}
	
	var ablauf = new Date();
	var infuenfTagen = ablauf.getTime() + ( 5 * 24 * 60 * 60 * 1000);
	ablauf.setTime( infuenfTagen);
	
	var code_string = Base64.encode( warenkorb_string);
	
	document.cookie = "warenkorb_artist-in=" + code_string + "; path=/; expires=" + ablauf.toGMTString();
	setWarenkorbAnzahl( aktuelle_anzahl);
}

function getWarenkorbAnzahl()
{
	var obj = document.getElementById( 'warenkorb_anzahl');
	var anzahl = 0; 
	var Ausdruck = /\(*?(\d+)\)*?/;
	Ausdruck.exec( obj.innerHTML);
	var anzahl = RegExp.$1;
	if( !anzahl.length)
	{
		anzahl = 0;
	}
	return anzahl;
}

function setWarenkorbAnzahl( anzahl)
{
	var obj = document.getElementById( 'warenkorb_anzahl');
	
	if( !anzahl)
	{
		anzahl = '';
	}
	else if( !parseInt( obj.innerHTML))
	{
		anzahl = '(' + anzahl + ')';
	}
	obj.innerHTML = anzahl;
}

/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
		} 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = 0;
		var c1 = 0;
		var c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
		}
		return string;
	}
};

var absoluter_html_pfad = '/webshop/';

function addUpload( id)
{
	var objInputs = document.getElementById('bereich_uploads').getElementsByTagName('input');
	var anzahlInputs = objInputs.length;

	var objImages = document.getElementById( 'bereich_uploads').getElementsByTagName( 'img');
	var anzahlImages = objImages.length;

	var inputcheck_vorher = document.getElementById( 'filecheck_' + id);
	inputcheck_vorher.checked = "checked";
	inputcheck_vorher.value = "on";

// 	alert( anzahlInputs);

	//alert( objInputs[anzahlInputs-3].value);
	var image_vorher = document.getElementById( 'vorschau_' + id);
	//image_vorher.src = 'formatieren.php?file=' + objInputs[anzahlInputs-3].value + '&breite=100';
	image_vorher.style.backgroundImage = "url( '" + absoluter_html_pfad + "includes/formatieren.php?file=../images/layout/neues_bild.jpg&breite=100" + "')";

//	alert( objInputs[anzahlInputs - 11].name + " = " + objInputs[anzahlInputs - 11].value + " / " + objInputs[anzahlInputs - 10].name + " = " + objInputs[anzahlInputs - 10].value);
	
	// wenn das letzte element gefüllt, neues erstellen
	if( ( document.getElementById( 'file_' + id).value || id == 0 ) && 
		( 	
			objInputs[anzahlInputs - 14].value.length && 
			objInputs[anzahlInputs - 13].value.length )
		)
	{
		var input_container = document.createElement( 'div');
		input_container.className = 'input_container';
		
		var cabinet = document.createElement( 'cabinet');
		cabinet.className = 'cabinet img';
		cabinet.id = "vorschau_" + ( anzahlInputs / 14);
		cabinet.style.backgroundImage = "url( " + absoluter_html_pfad + "images/layout/kein_bild.jpg)";
		cabinet.style.width = "90px";
		cabinet.style.height = "45px";

		var stueck_id = document.createElement( 'input');
		stueck_id.type = "hidden";
		stueck_id.className = "stueck_id";
		stueck_id.name = 'stueck_id[' + ( anzahlInputs / 14) + ']';
		stueck_id.id = 'stueck_id_' + ( anzahlInputs / 14);

		var file_name = document.createElement( 'input');
		file_name.type = "hidden";
		file_name.className = "file_name";
		file_name.name = 'file_name[' + ( anzahlInputs / 14) + ']';
		file_name.id = 'file_name_' + ( anzahlInputs / 14);

		var stueck_seo_link = document.createElement( 'input');
		stueck_seo_link.type = "hidden";
		stueck_seo_link.className = "stueck_seo_link";
		stueck_seo_link.name = 'stueck_seo_link[' + ( anzahlInputs / 14) + ']';
		stueck_seo_link.id = 'stueck_seo_link_' + ( anzahlInputs / 14);

		var file = document.createElement( 'input');
		file.type = "file";
		file.className = "file";
		file.name = 'file[' + ( anzahlInputs / 14) + ']';
		file.id = 'file_' + ( anzahlInputs / 14);
		file.style.height = "55px";
		file.style.width = "100px";
		file.onchange = function() { addUpload( anzahlInputs / 14);};
		
		var filecheck = document.createElement( 'input');
		filecheck.type = "checkbox";
		filecheck.className = "filecheck";
		filecheck.id = "filecheck_" + ( anzahlInputs / 14);
		filecheck.name = "filecheck[" + ( anzahlInputs / 14) + "]";
		
		var stueck_info_container = document.createElement( 'div');
		stueck_info_container.className = "stueck_info_container";
		
		var stueck_name = document.createElement( 'input');
		stueck_name.type = "text";
		stueck_name.className = "stueck_name";
		stueck_name.name = 'stueck_name['  + ( anzahlInputs / 14) + ']';
		stueck_name.id = 'stueck_name_'  + ( anzahlInputs / 14);
		stueck_name.value = "Stück Name :";
		
		var stueck_material = document.createElement( 'input');
		stueck_material.type = "text";
		stueck_material.className = "stueck_material";
		stueck_material.name = 'stueck_material['  + ( anzahlInputs / 14) + ']';
		stueck_material.id = 'stueck_material_'  + ( anzahlInputs / 14);
		stueck_material.value = "Stück Material :";
		
		var stueck_format = document.createElement( 'input');
		stueck_format.type = "text";
		stueck_format.className = "stueck_format";
		stueck_format.name = 'stueck_format['  + ( anzahlInputs / 14) + ']';
		stueck_format.id = 'stueck_format_'  + ( anzahlInputs / 14);
		stueck_format.value = "Stück Format :";
		
		var stueck_preis = document.createElement( 'input');
		stueck_preis.type = "text";
		stueck_preis.className = "stueck_preis";
		stueck_preis.name = 'stueck_preis['  + ( anzahlInputs / 14) + ']';
		stueck_preis.id = 'stueck_preis_'  + ( anzahlInputs / 14);
		stueck_preis.value = "Stück Preis :";
		
		var stueck_gewicht = document.createElement( 'input');
		stueck_gewicht.type = "text";
		stueck_gewicht.className = "stueck_gewicht";
		stueck_gewicht.name = 'stueck_gewicht['  + ( anzahlInputs / 14) + ']';
		stueck_gewicht.id = 'stueck_gewicht_'  + ( anzahlInputs / 14);
		stueck_gewicht.value = "Stück Gewicht :";
		stueck_preis.value = "Stück Preis :";
		
		var stueck_anzahl = document.createElement( 'input');
		stueck_anzahl.type = "text";
		stueck_anzahl.className = "stueck_anzahl";
		stueck_anzahl.name = 'stueck_anzahl['  + ( anzahlInputs / 14) + ']';
		stueck_anzahl.id = 'stueck_anzahl_'  + ( anzahlInputs / 14);
		stueck_anzahl.value = "Stück Anzahl :";
		
		var stueck_beschreibung = document.createElement( 'input');
		stueck_beschreibung.type = "text";
		stueck_beschreibung.className = "stueck_beschreibung";
		stueck_beschreibung.name = 'stueck_beschreibung['  + ( anzahlInputs / 14) + ']';
		stueck_beschreibung.id = 'stueck_beschreibung_'  + ( anzahlInputs / 14);
		stueck_beschreibung.value = "Stück Beschreibung :";
		
		var stueck_sortierung_label = document.createElement( 'label');
		stueck_sortierung_label.className = "stueck_sortierung_label";
		stueck_sortierung_label.id = 'stueck_sortierung_label_'  + ( anzahlInputs / 14);
		stueck_sortierung_label.innerHTML = "Reihenfolge :";
		
		var stueck_sortierung = document.createElement( 'input');
		stueck_sortierung.type = "text";
		stueck_sortierung.className = "stueck_sortierung";
		stueck_sortierung.name = 'stueck_sortierung['  + ( anzahlInputs / 14) + ']';
		stueck_sortierung.id = 'stueck_sortierung_'  + ( anzahlInputs / 14);
		stueck_sortierung.value = "0";
		
		var stueck_ausschnitt_label = document.createElement( 'label');
		stueck_ausschnitt_label.className = "stueck_ausschnitt_label";
		stueck_ausschnitt_label.id = 'stueck_sortierung_label_'  + ( anzahlInputs / 14);
		stueck_ausschnitt_label.innerHTML = "Ausschnitt :";
		
		var stueck_ausschnitt = document.createElement( 'input');
		stueck_ausschnitt.type = "text";
		stueck_ausschnitt.className = "stueck_ausschnitt";
		stueck_ausschnitt.name = 'stueck_ausschnitt['  + ( anzahlInputs / 14) + ']';
		stueck_ausschnitt.id = 'stueck_ausschnitt_'  + ( anzahlInputs / 14);
		stueck_ausschnitt.value = "0";

		var schatten_div = document.createElement( 'div');
		schatten_div.className = 'image_shadow';
		
		var clear_div = document.createElement( 'div');
		clear_div.style.clear = "both";
		
		var clear_div_1 = document.createElement( 'div');
		clear_div_1.style.clear = "both";
		
		var ausgabebereich = document.getElementById( 'bereich_uploads');
		
		cabinet.appendChild( file);
		cabinet.appendChild( filecheck);
		schatten_div.appendChild( cabinet);
		input_container.appendChild( schatten_div);
		input_container.appendChild( file_name);
		stueck_info_container.appendChild( stueck_id);
		stueck_info_container.appendChild( stueck_name);
		stueck_info_container.appendChild( stueck_material);
		stueck_info_container.appendChild( stueck_format);
		stueck_info_container.appendChild( stueck_preis);
		stueck_info_container.appendChild( stueck_seo_link);
		stueck_info_container.appendChild( stueck_gewicht);
		stueck_info_container.appendChild( stueck_anzahl);
		stueck_info_container.appendChild( stueck_sortierung_label);
		stueck_info_container.appendChild( stueck_sortierung);
		stueck_info_container.appendChild( stueck_ausschnitt_label);
		stueck_info_container.appendChild( stueck_ausschnitt);
		stueck_info_container.appendChild( clear_div_1);
		input_container.appendChild( stueck_info_container);
		input_container.appendChild( stueck_beschreibung);
		input_container.appendChild( clear_div);
		ausgabebereich.appendChild( input_container);
	}
	else
	{
		alert( "Nicht alle daten eingetragen! Feld wird nicht übernommen !");
// 		alert( "letztes Inputfeld( " + objInputs[anzahlInputs-5].name + ") mit dem Inhalt *" + objInputs[anzahlInputs-5].value + "* ist noch leer !");
// 		alert( "letztes Inputfeld( " + objInputs[1].name + ") mit dem Inhalt *" + objInputs[1].value + "* ist noch leer !");
// 		alert( "letztes Inputfeld( " + objInputs[id].name + ") mit dem Inhalt *" + objInputs[id].value + "* ist noch leer !");
	}
}

function selectAll( obj)
{
	obj.select();
}

function checkeLieferAdresse()
{
	var lieferadresse_check = window.document.getElementById( 'check_abweichende_lieferadresse').checked;
	
	if( lieferadresse_check == true)
	{
		window.document.getElementById( 'liefer_adresse_container').style.display = "block";
	}
	else
	{
		window.document.getElementById( 'liefer_adresse_container').style.display = "none";
	}
}

function formatiereWarenkorbNavi()
{
	if( window.document.getElementById( 'button_zurueck'))
	{
		window.document.getElementById( 'button_zurueck').href = "javascript: void( 0);";
	}
	if( window.document.getElementById( 'button_weiter'))
	{
		window.document.getElementById( 'button_weiter').href = "javascript: void( 0);";
	}
}

function checkString( obj)
{
	var pattern=/^([a-zA-Z])/;
	
	if( pattern.test( obj.value))
	{
		obj.style.color = '#525254';
		return true;
	}
	else
	{
		if( obj.value != null &&
			obj.value.length > 0)
		{
			obj.style.color = '#ff0000';
		}
		return false;
	}
}

function checkInt( obj)
{
	var pattern=/^([0-9])/;
	
	if( pattern.test( obj.value))
	{
		obj.style.color = '#525254';
		return true;
	}
	else
	{
		if( obj.value != null &&
			obj.value.length > 0)
		{
			obj.style.color = '#ff0000';
		}
		return false;
	}
	
}

function checkEmail( obj)
{
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	
	if( pattern.test( obj.value))
	{
		obj.style.color = '#525254';
		return true;
	}
	else
	{
		alert( "Bitte geben Sie eine korrekte Email-Adresse ein !");
		if( obj.value != null &&
			obj.value.length > 0)
		{
			obj.style.color = '#ff0000';
		}
		return false;
	}
}

function checkeZahlungsart( url)
{
	var zahlungsarten = window.document.forms[0].zahlungsart;
	
	for( var i = 0; i < zahlungsarten.length; i++)
	{
		if( zahlungsarten[i].checked == true)
		{
			speichereAdresseInCookie( 'zahlungsart', zahlungsarten[i].value);
			location.href = url;
		}
	}
}

function checkeAdresse( url)
{
	var fehler = 0;
	var agb = 0;
	
	if( window.document.getElementById( 'check_agb').checked != true)
	{
		alert( "Bitte bestätigen Sie die AGB's !");
		speichereAdresseInCookie( 'agb_akzeptiert', '0');
		agb++;
	}
	else
	{
		speichereAdresseInCookie( 'agb_akzeptiert', '1');
	}

	if	( 
			window.document.getElementById( 'rechnung_adresse_anrede') == null ||
			window.document.getElementById( 'rechnung_adresse_anrede').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_anrede').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_anrede', window.document.getElementById( 'rechnung_adresse_anrede').value);
	}

	if	( 
			window.document.getElementById( 'rechnung_adresse_strasse') == null ||
			window.document.getElementById( 'rechnung_adresse_strasse').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_strasse').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_strasse', window.document.getElementById( 'rechnung_adresse_strasse').value);
	}
	
	if	( 
			window.document.getElementById( 'rechnung_adresse_telefon') == null ||
			window.document.getElementById( 'rechnung_adresse_telefon').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_telefon').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_telefon', window.document.getElementById( 'rechnung_adresse_telefon').value);
	}
	
	if	( 
			window.document.getElementById( 'rechnung_adresse_handy') == null ||
			window.document.getElementById( 'rechnung_adresse_handy').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_handy').value);
//		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_handy', window.document.getElementById( 'rechnung_adresse_handy').value);
	}
	
	if	( 
			!checkEmail( window.document.getElementById( 'rechnung_adresse_email')) ||
			window.document.getElementById( 'rechnung_adresse_email') == null ||
			window.document.getElementById( 'rechnung_adresse_email').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_email').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_email', window.document.getElementById( 'rechnung_adresse_email').value);
	}
	
	if	( 
			!checkString( window.document.getElementById( 'rechnung_adresse_vorname')) ||
			window.document.getElementById( 'rechnung_adresse_vorname') == null ||
			window.document.getElementById( 'rechnung_adresse_vorname').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_vorname').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_vorname', window.document.getElementById( 'rechnung_adresse_vorname').value);
	}
	
	if	( 
			!checkString( window.document.getElementById( 'rechnung_adresse_nachname')) ||
			window.document.getElementById( 'rechnung_adresse_nachname') == null ||
			window.document.getElementById( 'rechnung_adresse_nachname').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_nachname').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_nachname', window.document.getElementById( 'rechnung_adresse_nachname').value);
	}
	
	if	( 
			!checkInt( window.document.getElementById( 'rechnung_adresse_plz')) ||
			window.document.getElementById( 'rechnung_adresse_plz') == null ||
			window.document.getElementById( 'rechnung_adresse_plz').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_plz').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_plz', window.document.getElementById( 'rechnung_adresse_plz').value);
	}
	
	if	( 
			!checkString( window.document.getElementById( 'rechnung_adresse_ort')) ||
			window.document.getElementById( 'rechnung_adresse_ort') == null ||
			window.document.getElementById( 'rechnung_adresse_ort').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_ort').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_ort', window.document.getElementById( 'rechnung_adresse_ort').value);
	}
	
	if	( 
			!checkString( window.document.getElementById( 'rechnung_adresse_land')) ||
			window.document.getElementById( 'rechnung_adresse_land') == null ||
			window.document.getElementById( 'rechnung_adresse_land').value.length == 0
		)
	{
//		alert( window.document.getElementById( 'rechnung_adresse_land').value);
		fehler++;
	}
	else
	{
		speichereAdresseInCookie( 'rechnung_land', window.document.getElementById( 'rechnung_adresse_land').value);
	}
	
	if( window.document.getElementById( 'check_abweichende_lieferadresse').checked == true)
	{
		speichereAdresseInCookie( 'lieferadresse_abweichend', '1');

		if	( 
				window.document.getElementById( 'lieferung_adresse_anrede') == null ||
				window.document.getElementById( 'lieferung_adresse_anrede').value.length == 0
			)
		{
//			alert( "Adresse Anrede : " + window.document.getElementById( 'lieferung_adresse_anrede').value);
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_anrede', window.document.getElementById( 'lieferung_adresse_anrede').value);
		}
		
		if	(
				window.document.getElementById( 'liefer_adresse_vorname') == null ||
				window.document.getElementById( 'liefer_adresse_vorname').value.length == 0
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_vorname', window.document.getElementById( 'liefer_adresse_vorname').value);
		}
				
		if(
			window.document.getElementById( 'liefer_adresse_nachname') == null ||
			window.document.getElementById( 'liefer_adresse_nachname').value.length == 0
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_nachname', window.document.getElementById( 'liefer_adresse_nachname').value);
		}
		
		if	(
				window.document.getElementById( 'liefer_adresse_strasse') == null ||
				window.document.getElementById( 'liefer_adresse_strasse').value.length == 0 
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_strasse', window.document.getElementById( 'liefer_adresse_strasse').value);
		}
		
		if	(
				window.document.getElementById( 'liefer_adresse_plz') == null ||
				window.document.getElementById( 'liefer_adresse_plz').value.length == 0 
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_plz', window.document.getElementById( 'liefer_adresse_plz').value);
		}
		
		if	(
				window.document.getElementById( 'liefer_adresse_ort') == null ||
				window.document.getElementById( 'liefer_adresse_ort').value.length == 0 
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_ort', window.document.getElementById( 'liefer_adresse_ort').value);
		}
		
		if	(
				window.document.getElementById( 'liefer_adresse_land') == null ||
				window.document.getElementById( 'liefer_adresse_land').value.length == 0
			)
		{
			fehler++;
		}
		else
		{
			speichereAdresseInCookie( 'lieferung_land', window.document.getElementById( 'liefer_adresse_land').value);
		}
	}
	else
	{
		speichereAdresseInCookie( 'lieferadresse_abweichend', '0');
	}
	
	if( fehler > 0)
	{
		alert( "Bitte füllen sie alle Pflichtfelder (*) korrekt aus !");
	}
	else if( fehler == 0 && agb == 0)
	{
		speichereAdresseInCookie();
		location.href = url;
	}
}

function speichereAdresseInCookie( eintrag_name, eintrag_wert)
{
	var adresse_string = '';
	var adresse_array = new Array();

	// wenn es einen cookie gibt
	// nicht genau den string abfragen, damit auch am anfang des cookies matcht
	if( document.cookie && document.cookie.indexOf( "_rechnung_artist-in=") > 0)
	{
		var cookie_string = document.cookie;
		if( document.cookie.indexOf( "_rechnung_artist-in=") > 0)
		{
			var teil_string = document.cookie.substr( document.cookie.indexOf( "adresse_rechnung_artist-in=") + "adresse_rechnung_artist-in=".length, document.cookie.length - document.cookie.indexOf( "adresse_rechnung_artist-in=") + "adresse_rechnung_artist-in=".length);
			adresse_string = Base64.decode( teil_string.substr( 0, teil_string.indexOf( ';')));
			
			if( teil_string && !adresse_string.length)
			{
				// wenn kein ; mehr enthalten, davon ausgehen, das string der inhalt ist
				if( teil_string.indexOf( ';') < 1)
				{
					adresse_string = Base64.decode( teil_string);
				}
			}
			if( adresse_string.length)
			{
				adresse_array = adresse_string.split( '|');
			}
			else
			{
				adresse_array[0] = adresse_string;
			}
		}
		var i = 0;
		
		// warenkorb durchlaufen
		for( i = 0; i < adresse_array.length; i++)
		{
			var aktueller_eintrag_name = adresse_array[i].split( ';')[0];
			var aktueller_eintrag_wert = adresse_array[i].split( ';')[1];
			
			// wenn schon eingetragen und auch die anzahl schon im cookie
			if( eintrag_name == aktueller_eintrag_name && eintrag_wert == aktueller_eintrag_wert)
			{
				break;
			}
			// wenn schon eingetragen, aber mit anderer anzahl
			else if( eintrag_name == aktueller_eintrag_name && eintrag_wert != aktueller_eintrag_wert)
			{
				if( aktueller_eintrag_wert == '')
				{
					adresse_array.splice( i, 1);
				}
				else
				{
					adresse_array[i] = eintrag_name + ";" + eintrag_wert;
				}
				break;
			}
		}

		if( i && i == adresse_array.length)
		{
			adresse_array[parseInt( i)] = eintrag_name + ";" + eintrag_wert;
		}

		adresse_string = adresse_array.join( '|');
	}
	// wenn nicht, einfach eintragen
	else
	{
		adresse_string = eintrag_name + ";" + eintrag_wert;
	}
	
	var ablauf = new Date();
	var infuenfTagen = ablauf.getTime() + ( 5 * 24 * 60 * 60 * 1000);
	ablauf.setTime( infuenfTagen);
	
	var code_string = Base64.encode( adresse_string);
	
	document.cookie = "adresse_rechnung_artist-in=" + code_string + "; path=/; expires=" + ablauf.toGMTString();
}

function loescheCookie( name)
{
	var ablauf = new Date();
	var abgelaufen = ablauf.getTime() - 3600000;
	ablauf.setTime( abgelaufen);
	
	document.cookie = name + "" + "; path=/; expires=" + ablauf.toGMTString();
}

function updateMaus( e)
{
	var mouse_x = 0;
	var mouse_y = 0;
	var scroll_hoehe = 0;
	var scroll_breite = 0;
	var breite = 0;
	var hoehe = 0;
	var hoehe_div = 0;
	var breite_div = 0;
	
	if (document.all)
    {
        mouse_x = event.clientX + document.body.scrollLeft;
        mouse_y = event.clientY + document.body.scrollTop;
        breite = document.body.clientWidth;
        hoehe = document.body.clientHeight;
        scroll_breite = document.body.scrollLeft;
        scroll_hoehe = document.body.scrollTop;
//        alert( scroll_hoehe + " " + scroll_breite);

    	if( _vorschau)
    	{
			hoehe_div = _vorschau.clientHeight;
			breite_div = _vorschau.clientWidth;
    	}
    }
    else 
    {
        mouse_x = e.pageX;
        mouse_y = e.pageY;
//        breite = document.body.scrollWidth;
//        hoehe = document.body.scrollHeight;
//        breite = window.offsetWidth;
//        hoehe = window.offsetHeight;
//        breite = window.pageXOffset;
//        hoehe = window.pageYOffset;
        breite = window.innerWidth;
        hoehe = window.innerHeight;
        scroll_breite = window.scrollX;
        scroll_hoehe = window.scrollY;

    	if( _vorschau)
    	{
			hoehe_div = _vorschau.offsetHeight;
			breite_div = _vorschau.offsetWidth;
    	}
    }

	if( _vorschau)
	{
		var vorschau_x = mouse_x;
		var vorschau_y = mouse_y;
		
		var vorschau_x_add = 0;
		var vorschau_y_add = 0;
		
		vorschau_y = parseInt( hoehe - hoehe_div) / 2;
		document.getElementById( 'body').appendChild( _vorschau);
		
		_vorschau.style.left = parseInt( vorschau_x + 60) + "px";
		_vorschau.style.top = parseInt( scroll_hoehe + vorschau_y) + "px";
	}
}

function zeigeVorschau( id)
{
	var vorschau_alt = _vorschau;
	_vorschau = document.getElementById( "vorschau_" + id);
	
	if( vorschau_alt && vorschau_alt.id != _vorschau.id)
	{
		vorschau_alt.style.display = "none";
	}
	
	_vorschau.style.display = "block";
}

function versteckeVorschau()
{
	if( _vorschau)
	{
		_vorschau.style.display = "none";
	}
}

function zeigeLoader()
{
	if( document.getElementById( 'loader'))
	{
		document.getElementById( 'loader').style.display = "block";
	}
}

function versteckeLoader()
{
	if( document.getElementById( 'loader'))
	{
		document.getElementById( 'loader').style.display = "none";
	}
}

function setExternalLinks() {
    if (!document.getElementsByTagName) {
        return null;
    }
    var anchors = document.getElementsByTagName("a");
    for (var i=0;i < anchors.length;i++) {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
            anchor.setAttribute("target", "blank");
        }
    }
    return true;
}

document.onmousemove = updateMaus;
