var gross=null;

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}

function setKategorieElementHoehe () {
	var i=1, max = 0, obj, obj_preis, marg;	

	//hoechstes element[artKopf_] suchen
	while ( document.getElementById("artKopf_" + i) != null ) {
		obj = document.getElementById("artKopf_" + i);
		if ( max < obj.offsetHeight ) {
			max = obj.offsetHeight;
		} i++;
	}
	//alle artKopf_ - elemente auf das hoechste element setzen
	for (i=1; document.getElementById("artKopf_" + i) != null; i++) {
		obj = document.getElementById("artKopf_" + i);
		if ( (max-2)>0 ) 
			obj.style.height = (max-2)+"px"; //2 -> padding-bottom		
	} 

	//hoechstes element[ar_img_] suchen
	max = 0; i=1;
	while ( document.getElementById("ar_img_" + i) != null ) {
		obj = document.getElementById("ar_img_" + i);		
		if ( max < obj.offsetHeight ) {
			max = obj.offsetHeight;
		} i++;
	}

	//alle ar_fuss_ - elemente auf relativ das hoechste element setzen
	for (i=1; document.getElementById("ar_img_" + i) != null; i++) {
		obj = document.getElementById("ar_img_" + i);
		obj2 = document.getElementById("ar_fuss_" + i);	
		marg = (max-obj.offsetHeight);
		if (marg>0) 
			obj2.style.marginTop = marg+"px";
	}
}

function Material(Mat)
{
		var MatUrl;
		breite=500
		hoehe=400
		var fenster_property = "width=" + breite + ",height=" + hoehe +",resizable=1";
		var links = Math.ceil((screen.width - breite) /2);
		var oben = Math.ceil((screen.height - hoehe - 40) /2);
		if (gross != null)
		if (!gross.closed) gross.close();
		fenster_property += ",screenX=" + links + ",screen=" + oben +", left=" + links + ",top=" + oben +",scrollbars=yes";  //Platzieren(screen x/y für NN, left/top für IE
		MatUrl="/rts/"+Mat+".asp";
		gross=window.open(MatUrl,"bild",fenster_property);
		gross.document.close ();
		gross.focus();
}

function fensterSchliessen()
{
		if (gross != null)
				if (!gross.closed)
						gross.close();
}



function add(field)
{
	if ( (! isNaN(field.value)) && (field.value < 99) )
	{
		field.value++;
	}
}



function sub(field)
{
	if ( (! isNaN(field.value)) && (field.value > 1) )
	{
		field.value--;
	}
}

function radioSelectedIndex (radioname)
// da man sich bei RadioButtons den selektierten Wert nicht so einfach mit .selectedIndex liefern lassen kann wie z.B. bei Listboxen, habe ich diese Funktion hier geschrieben
// uebergabe des Paramters als Objekt (nicht nur der radiobuttonname): z.B.: document.formular.radioname oder document.forms.formular.radioname
// man koennte in der Funktion auch gleich den Value (Wert) uebergeben, aber ich brauch manchmal auch ein anderes Attribut des gewaehlten Radio Buttons
{
		var wert;
		wert = 0;

		for (var i = 0; i < radioname.length; i++) {

                if( radioname[i].checked) {
                		wert = i;
                		break;
                		// man koennte auch gleich hier mit return den Wert zurueckgeben, return bricht gleich die gesamte Funktion ab
                }
		}

		return wert;
}

function radioIndexByValue (radioname, val)
// liefert den Radiobutton aus einer Kollektion mit einem entsprechenden Value
{
		var wert = 0;

		for (var i = 0; i < radioname.length; i++) {

                if( radioname[i].value == val) {
                		wert = i;
                		break;
                		// man koennte auch gleich hier mit return den Wert zurueckgeben, return bricht gleich die gesamte Funktion ab
                }
		}

		return wert;
}

function selectIndexByValue (selectname, val)
// liefert den Index aus einer select-Box zu dem entsprechenden Value
{
		var wert = 0;

		for (var i = 0; i < selectname.length; i++) {

                if( selectname[i].value == val) {
                		wert = i;
                		break;
                		// man koennte auch gleich hier mit return den Wert zurueckgeben, return bricht gleich die gesamte Funktion ab
                }
		}

		return wert;
}

function entfUngZeichen (zk)
{
        var ergebnis;
        ergebnis = '';
        var chr;
        for(var i=0; i < zk.length; i++) {
            chr = zk.charAt(i) + '';
            if  ( (chr>="0") & (chr<="9") )
            { ergebnis = ergebnis + chr; };
        }
        return ergebnis;
}

function isFarbeDunkel(farbcode) {
		var durchschnitt = parseInt('0x' + farbcode.substring(0, 2)) + parseInt('0x' + farbcode.substring(2, 4)) + parseInt('0x' + farbcode.substring(4, 6));
		durchschnitt = durchschnitt / 3;
		if (durchschnitt < 128) {
				return true;
		} else {
				return false;
		}
}


//wird nicht mehr gebracuht kann später gelöscht werden
function anbieterKZ (anbieter)
{
		var text;
				//css zeschiest das komplette layout, weil alle Standart HTML- Elemente überschrieben werden
				//            text = '<link rel="stylesheet" href="/css.css" type="text/css" />' +
        if (anbieter == 'kaiser') {
                text = '' +
				'<div align="middle"><img src="/i/logo.jpg" alt=""></div>' +
				'<div style="padding: 4px;">' +
				'	<div align="middle" style="padding-bottom: 4px; margin-bottom: 4px; border-bottom: 1px solid #999999;">' +
				'		<strong>Anbieterkennzeichng</strong><br />' +
				'		<strong>RAUMTEXTILIENSHOP</strong></div>' +
					'Kathrin Kaiser<br />' +
					'Parkstr. 4a<br />' +
					'08223 Werda<br />' +
					'Ust.-ID.: DE 245748043<BR><br />' +
					'Telefon: +49 (0)37463- 22536<br />' +
					'Fax: +49 (0)37463 - 22537<br />' +
					'E-Mail: plissee@raumtextilienshop.de';
				'</div>';
        } else {		// geier
								//text = '<link rel="stylesheet" href="/css.css" type="text/css">' +
                text = '' +
				'<div align="middle"><img src="/i/logo.jpg" alt=""></div>' +
				'<div style="padding: 4px;">' +
				'<div align="middle" style="padding-bottom: 4px; margin-bottom: 4px; border-bottom: 1px solid #999999;"><strong>Anbieterkennzeichng</strong><br>' +
				'<strong>RAUMTEXTILIENSHOP</strong></div>' +
                'Manja Geier<BR>' +
                'Pfarrstr. 28<BR>' +
                '08223 Werda<BR>' +
                'Ust.-ID.: DE 245301136<BR><BR>' +
                'Telefon: +49 (0)37463- 21207<br>' +
                'Fax: +49 (0)37463 - 21208 <br>' +
                'E-Mail: info@raumtextilienshop.de' +
                '</div>';
        };
        return text;
}


/************************************************************************************/
/* Dessin und Artikel */


function Ao (i, ar_no, ar_groesse, ar_picture, me_bez, pa_vk1, pa_vk2, fb_id, fb_bez, fb_picture, has_mini) {   // Artikelobjekt
		this.i = i;		// sozusagen die GruppenID (fuer die Gruppierung), um nicht den Titel und den Artikeltext abzufragen kann diese Nr genommen werden
		this.ar_no = ar_no;
		this.ar_groesse = ar_groesse;
		this.ar_picture = ar_picture;
		this.me_bez = me_bez;
		this.pa_vk1 = pa_vk1;
		this.pa_vk2 = pa_vk2;
		this.fb_id = fb_id;
		this.fb_bez = fb_bez;
		this.fb_picture = fb_picture;
		this.has_mini = has_mini;
};
var a = new Array();		// Artikel

function changedGroesse (i) {

		var farbe_alt = document.getElementById('FRB_' + i)[document.getElementById('FRB_' + i).selectedIndex].text;
		document.getElementById('FRB_' + i).length = 0;

		var gewaehlte_groesse;
		if (document.getElementById('groessen_' + i)) {
				gewaehlte_groesse = document.getElementById('groessen_' + i).value;
		} else {
				gewaehlte_groesse = '';
		}
		
		var icons_farben = '';
		var count_icons = 0;
		var attribute_set;		// caching
		
        for (var c = 1; c <= a.length - 1; c++) {
		
						attribute_set = a[c];

    		    if (i == attribute_set.i && attribute_set.ar_groesse == gewaehlte_groesse) {

						// Farben in Dropdown-Box setzen
						if (attribute_set.fb_bez == farbe_alt) {
								farbeGewaehlt = true;
						} else {
								farbeGewaehlt = false;
						}
                        document.getElementById('FRB_' + i).options[document.getElementById('FRB_' + i).length] = new Option(attribute_set.fb_bez, attribute_set.fb_id, false, farbeGewaehlt);
                        // Farben in bei Farb-Boxen setzen
						if (attribute_set.fb_picture != '') {
								if (attribute_set.has_mini == 1) {
										icons_farben = icons_farben + '<img src="' + PFAD_BILDER_MINI + attribute_set.fb_picture +'.jpg" alt="" style="width: 42px; border: 1px solid #999999; margin: 3px; cursor: pointer;" onclick="document.forms.gw.FRB_' + i + '.options[selectIndexByValue(document.forms.gw.FRB_' + i + ',' + attribute_set.fb_id + ')].selected = true; changedFarbe(' + i + ');">';
								} else {
										icons_farben = icons_farben + '<img src="' + PFAD_BILDER_KLEIN + attribute_set.fb_picture +'.jpg" alt="" style="width: 42px; border: 1px solid #999999; margin: 3px; cursor: pointer;" onclick="document.forms.gw.FRB_' + i + '.options[selectIndexByValue(document.forms.gw.FRB_' + i + ',' + attribute_set.fb_id + ')].selected = true; changedFarbe(' + i + ');">';
								}
								count_icons++;
						}

                }
        }
		if (document.getElementById('lieferbare_farben_' + i)) {
				if (count_icons < 1) {
						document.getElementById('lieferbare_farben_' + i).style.display = 'none';
				} else {
						document.getElementById('lieferbare_farben_' + i).style.display = 'block';
						document.getElementById('icons_farben_' + i).innerHTML = icons_farben;
				}
		}

		
		changedFarbe(i);
}


function changedFarbe (i) {

		var gewaehlte_groesse, obj;
		if (document.getElementById('groessen_' + i)) {
				gewaehlte_groesse = document.getElementById('groessen_' + i).value;
		} else {
				gewaehlte_groesse = '';
		}

		var gewaehlte_farbe = document.getElementById('FRB_' + i).value;
		var attribute_set;		// caching

		for (var c = 1; c <= a.length - 1; c++) {
				attribute_set = a[c];
				if (i == attribute_set.i && attribute_set.ar_groesse == gewaehlte_groesse && attribute_set.fb_id == gewaehlte_farbe) {
                        document.getElementById('id_' + i + '_me_bez_1').innerHTML = attribute_set.me_bez;
                        document.getElementById('id_' + i + '_me_bez_2').innerHTML = attribute_set.me_bez; 
                        if (attribute_set.pa_vk2 == 0.0 || attribute_set.pa_vk2 == 0) {							
								document.getElementById('id_' + i + '_alterpreis_text').style.display = 'none';
                        
						document.getElementById('id_' + i + '_preis').innerHTML = attribute_set.pa_vk1.toFixed(2).replace('.',',');
                        
						} else {
                                document.getElementById('id_' + i + '_alterpreis_text').style.display = 'inline';
                                document.getElementById('id_' + i + '_alterpreis_value').innerHTML = attribute_set.pa_vk1;
                                document.getElementById('id_' + i + '_preis').innerHTML = 
									attribute_set.pa_vk2.toFixed(2).replace('.',',');
                        }
						if (attribute_set.fb_picture != '') {
								document.getElementById('bild_' + i).src = PFAD_BILDER_KLEIN + attribute_set.fb_picture + '.jpg';
						}
                        break;
                }
		}

		if (typeof(changedFarbe2) == 'function') {			// zusaetzliche Sachen, die getan werden muessen, aber vom template abhaengig sind
				changedFarbe2(i);
		}		
}
//tausender Trennzeichenzeichen setzen
function tausenderTz(dez) {
    var n = dez;
    ns = String(n).replace('.', ',');
    var w = [];
    while (ns.length > 0) {
        var a = ns.length;
        if (a >= 3) {
            s = ns.substr(a - 3);
            ns = ns.substr(0, a - 3);
        } else {
            s = ns;
            ns = "";
        }
        w.push(s);
    }
    for (i = w.length - 1; i >= 0; i--) {
        ns += w[i] + ".";
    }
    ns = ns.substr(0, ns.length - 1);
    return ns.replace(/\.,/, ',');
}


function bildgrossi(i)
{
		var gewaehlte_farbe = document.getElementById('FRB_' + i).value;
		var attribute_set;		// caching

		for (var c = 1; c <= a.length - 1; c++) {
				attribute_set = a[c];
				if (i == attribute_set.i && attribute_set.fb_id == gewaehlte_farbe) {
						if (attribute_set.fb_picture == '') {
								bildgross(PFAD_BILDER_GROSS + attribute_set.ar_picture + '.jpg');
						} else {
								bildgross(PFAD_BILDER_GROSS + attribute_set.fb_picture + '.jpg');
						}
                        break;
                }
		}
}

var gross=null;
function bildgross(bildUrl)
{
	var breite = 500;
	var hoehe = 600;
	var fenster_property = "width=" + breite + ",height=" + hoehe +",resizable=1";
	var links = Math.ceil((screen.width - breite) /2);
	var oben = Math.ceil((screen.height - hoehe - 40) /2);
	if (gross != null)
	if (!gross.closed) gross.close();
	fenster_property += ",screenX=" + links + ",screen=" + oben +", left=" + links + ",top=" + oben +",scrollbars=yes";  //Platzieren(screen x/y für NN, left/top für IE
	gross=window.open("","bild",fenster_property);
	gross.document.open("text/html");
	gross.document.writeln("<html>");
	gross.document.writeln("  <head>");
	gross.document.writeln("    <title>Detailansicht</title>");
	// gross.document.writeln("  <link rel=stylesheet href=/css.css type=text/css>");
	gross.document.writeln("  </head>");
	gross.document.writeln("<body>");
	gross.document.writeln("    <div style='cursor: pointer; text-align: center;' onclick='window.close();'> ");
	gross.document.writeln("     <img src='" + bildUrl + "' title='Fenster schließen!' alt='Detailbild' style='border: 1px solid #eeeeee;'>");
	gross.document.writeln("    <div>");
	gross.document.writeln("</body>");
	gross.document.writeln("</html>");
	gross.document.close ();
	gross.focus();
}


function bestell(mng1, pic1)
{
		var menge = 0;
		var arid = "";
		var ok = true;
		for( i = 0; i < document.forms.gw.elements.length; i++ )
		{
				var s = document.forms.gw.elements[ i ].name;
				if ( s == mng1 )
						{ menge = document.forms.gw.elements[ i ].value.replace(',', '.'); }
				if ( s == pic1 )
						{ arid = document.forms.gw.elements[ i ].options[ document.forms.gw.elements[ i ].selectedIndex ].value; }
		};
		if ( ! ( menge > 0 && menge <= 900 )  ) {
				ok = false;
				alert( "Überprüfen Sie Ihre Eingaben auf gültige Mengen (0-900)!" );
		} else {
				//ok = confirm( menge.replace('.', ',') + " Stück des gewählten Artikels\nin den Warenkorb legen ?" );
				//if ( ok  ) {
						document.gw.BesArId.value = arid;
						document.gw.BesMng.value = menge;
						document.gw.submit();
				//}
		}
		return false;
}

// AJAX

// -- hier keine Meldungen anzeigen, weil der Firefox, einen Fehler bringt, wenn bereits die Seite verlassen wurde, aber das Ajaxzeugs noch laeuft
function show_exception( requestObject, ex) {
		alert("Keine AJAX-Anfrage an " + requestObject.url + " möglich: " + ex);
		Element.hide( $('ajax_lade') );
}

function show_failure( requestObject ) {
		alert("Fehler von Server: " + requestObject.statusText);
		Element.hide( $('ajax_lade') );
}

function ajax_response_artikeldetails(originalRequest) {

        var resp = originalRequest.responseText;
        var data = resp.evalJSON();
		
		document.getElementById('ar_text_erweitert_html').innerHTML = data.ar_text_erweitert_html;
		
        Element.hide( $('ajax_lade') );

}

function ajax_request_artikeldetails(fb_id) {

		Element.show( $('ajax_lade') );
        var myAjax = new Ajax.Request(
            '/autosites/artikel_ajax_request_artikeldetails.asp',
            {   method: 'post',
                // parameters: Form.serialize($('forumlar')),
                parameters: 'fb_id=' + fb_id,
                onComplete: ajax_response_artikeldetails,
                // onSuccess:   show_datum,
                onFailure:   show_failure,
                onException: show_exception
            }
        );
}


/* Dessin und Artikel */
/************************************************************************************/


// Mouseover - Texte
var h_transmission = 'Transmission: wie viel Prozent des Tageslichtes dieser Stoff hindurch lässt';
var h_reflexion = 'Reflexion: in welchem Grad Licht- und Wärmestrahlen an der Rückseite reflektiert werden';
var h_absorption = 'Absorption: in welcher Höhe Licht- und Wärmestrahlen vom Stoff verschluckt werden';

