
var color_selects = new Array();
var new_material_farben_map = [
	['Stoff',																	['M','ST'], 				[],							[]],
	['Stoff/Corii-Leder',											['M','ST','L'], 		[],							['L118','L124']],
	['Italienisches Rindsleder/Corii-Leder', 	['L'], 							[], 						['L118','L124']],
	['Stoff/Italienisches Rindsleder', 				['M','ST','L'], 		[], 						[]],
	['Italienisches Rindsleder/Stoff', 				['M','ST','L'], 		[], 						[]],
	['Italienisches Rindsleder',							['L'], 							[], 						[]],
	['Nappaleder',														['L','H'], 					[], 						[]],
	['Full Grain Leder',											['F'], 							[], 						[]],
	['Argentinisches Bullenleder',						['A'], 							[], 						[]],
	['Argentinisches Dickleder',							['AA','AAA'],				['A10','A11'], 	[]],
	
	['Stoff/Nappaleder',											['M','ST','L','H'],	[], 						[]],
	['Nappaleder/Stoff',											['M','ST','L','H'],	[], 						[]],
	['Stoff/Full Grain Leder',								['M','ST','F'],			[], 						[]],
	['Full Grain Leder/Stoff',								['M','ST','F'],			[], 						[]]
];
//			Materialname												Farbschlüssel		zusätzliche.		ausschließende -Farben



function set_farb_tumb(slc,_id,_ary){
	farbe = slc.options[slc.selectedIndex].text;
	idx = get_index_in_ary(_ary, 0, farbe);
	if(idx >= 0){
		//alert(idx + ' - ' + _ary[idx][2]);
		document.getElementById(_id).src = _ary[idx][2].toLowerCase(); // image_path + _val.toLowerCase();
	}
}
function get_index_in_ary(ary,pos,str){
	for (var i = 0; i < ary.length; i++) {
		if(ary[i][pos] == str) return i;
	}
	idx = -1;
}



function changeColors() {
	material_select = document.getElementById('prod_attr_material');
	var material = material_select.options[ material_select.selectedIndex ].text;
	material_map_idx = get_array_index(new_material_farben_map,material,0);
	if(material_map_idx >= 0){
		//alert('TEST:\n'+color_selects.join(' - '));
		/*
  	a = ["A13","AA9","AAA110"]
  	str_matchs_any_regxep(a[0],['A']);
  	str_matchs_any_regxep(a[1],['A']);
  	str_matchs_any_regxep(a[2],['A']);
  	str_matchs_any_regxep("ST11",['S']);
  	str_matchs_any_regxep("ST11",['T']);
  	str_matchs_any_regxep("ST11",['ST']);
		*/
	  for (var i = 0; i < color_selects.length; i++) {
	  	
	  	new_farb_ary = get_array_entries( color_selects[i][1], new_material_farben_map[material_map_idx][1], new_material_farben_map[material_map_idx][2], new_material_farben_map[material_map_idx][3] )
	  	//alert(new_farb_ary.join(" + "));
	  	
	    setSelectOptions( color_selects[i][0], new_farb_ary );
	    set_farb_tumb( document.getElementById(color_selects[i][0]), color_selects[i][2], color_selects[i][1] );
	   
	  }
	}else {
		//alert('Material nicht gefunden! <'+material+'>');
	}
}

function extract_aryindex_from_ary_as_ary(ary,idx){
	new_ary = new Array();
	for (var i = 0; i < ary.length; i++) {
		new_ary.push(ary[i][idx]);
	}
	return new_ary;
}
function get_array_entries(ary, kennung_ary, additions_ary, except_ary) {
	new_ary = new Array();
	for (var i = 0; i < ary.length; i++) {
		if(str_matchs_any_regxep(ary[i][0],kennung_ary) && !str_in_ary(ary[i][0],except_ary)) {
			new_ary.push(ary[i]);
		}
	}
	new_ary = add_ary_entry_to_ary(new_ary, ary, additions_ary);
	
	return new_ary;
}
function add_ary_entry_to_ary(ary_to, ary, ary_add){
	for (var i = 0; i < ary.length; i++) {
		if( str_in_ary(ary[i][0],ary_add) ) ary_to.push(ary[i])		
	}
	return ary_to;
}
function str_matchs_any_regxep(str, regexp_ary) {
	// var regex = new RegExp("AAA\d*")
	// t.match( regex )
	for (var i = 0; i < regexp_ary.length; i++) {
		reg_str = "^"+regexp_ary[i]+"[0-9]+";
		var regex = new RegExp(reg_str)
		//alert("<"+str+">" + ' -> ' + reg_str + " -->> <" + str.match( regex ) + ">" )
		if(str.match( regex ) != null) return true;
	}
	return false;
}
function str_in_ary(str, ary) {
	for (var i = 0; i < ary.length; i++) {
		if(str.indexOf(ary[i]) >= 0) return true;
	}
	return false;
}
function get_array_index(ary, needl, idx){
  for (var i = 0; i < ary.length; i++) {
  	if(ary[i][idx] == needl) return i;
  }
  return -1;
}
function setSelectOptions(slc, opt_ary) {
	slc_obj = document.getElementById(slc);
	slc_obj.options.length = opt_ary.length;
	
	sorted_opt_ary = sort_farb_ary(opt_ary);
  for (var i = 0; i < sorted_opt_ary.length; i++) {
	  slc_obj.options[i].text = sorted_opt_ary[i][0];
		slc_obj.options[i].value = sorted_opt_ary[i][1];
  }
}
function sort_farb_ary(farb_ary){
	sorted_ary = new Array();
	tmp_ary = extract_aryindex_from_ary_as_ary(farb_ary,0);
	tmp_ary = tmp_ary.sort();
	for (var i = 0; i < tmp_ary.length; i++) {
		idx_tmp = get_index_in_ary( farb_ary, 0, tmp_ary[i] );
		if(idx_tmp >= 0) sorted_ary.push( farb_ary[idx_tmp] );
	}
	return sorted_ary;
}




function ChangePrice(preis){
	document.getElementById('product_price_span').innerHTML = formatZahl(preis,2,true);
	calcNewFRate();
}


function calcNewFRate(){
	var preis_str = document.getElementById('product_price_span').innerHTML.replace('.','').replace(',','.');	
	var preis = parseInt(preis_str);
	var prozent = finanzierungs_prozent_array[document.getElementById('finanzierungs_dauer_select').selectedIndex-1];
	if( document.getElementById('finanzierungs_dauer_select').options[document.getElementById('finanzierungs_dauer_select').selectedIndex].text == '-'){
		rate = preis;
	} else {
		var dauer = parseInt(document.getElementById('finanzierungs_dauer_select').options[document.getElementById('finanzierungs_dauer_select').selectedIndex].text);
		//rate = (preis + preis*(prozent / 100)) / dauer;
		rate = preis / 100 * prozent;
	}
	document.getElementById('product_finanzierung_rate_span').innerHTML = formatZahl(rate,2,true);
}


function Change_Attr_Value(attr) {
	////alert("aktualisieren");
	
	switch (attr) {
		case "material":
	  	////alert("material");
	  	
	  	var elem = document.getElementById('prod_attr_'+attr);
	  	
	   	var tmp = elem.options[elem.selectedIndex].text;
	   	var tmp_array = tmp.split(" ");
	   	
	   	////alert(elem.value);

			if(isArray(material_aufpreise_array[elem.options.length-1][elem.selectedIndex])) {
				document.getElementById('prod_attr_akt_'+attr).value = parseInt(material_aufpreise_array[elem.options.length-1][elem.selectedIndex][1]) * ( parseInt(document.getElementById('aktueller_preis').value) + parseInt(material_aufpreise_array[elem.options.length-1][elem.selectedIndex][0]) ) - parseInt(document.getElementById('aktueller_preis').value);
			} else {
				document.getElementById('prod_attr_akt_'+attr).value = material_aufpreise_array[elem.options.length-1][elem.selectedIndex];
			}
	    
	    ////alert(document.getElementById('prod_attr_akt_'+attr).value);
      
	  	break;
	  case "konstellation":
	    ////alert("konstellation");
		
			var k_array = new Array(
				document.getElementById('prod_attr_'+attr+"_1").options[document.getElementById('prod_attr_'+attr+"_1").selectedIndex].text,
	    	document.getElementById('prod_attr_'+attr+"_2").options[document.getElementById('prod_attr_'+attr+"_2").selectedIndex].text,
	    	document.getElementById('prod_attr_'+attr+"_3").options[document.getElementById('prod_attr_'+attr+"_3").selectedIndex].text
			);
			
			////alert(k_array[0]+" "+k_array[1]+" "+k_array[2]);
			k_array.sort().reverse();
			
			var konstallations_helper = k_array[0];
			if(k_array[1] != "" && k_array[1] != "-"){
				konstallations_helper += "-" + k_array[1];
				
				if(k_array[2] != "" && k_array[2] != "-")
					konstallations_helper += "-" + k_array[2];
			}
			
			////alert(konstallations_helper);
			
			for (var i=0;i<konstellations_aufpreise_array.length;i++) {
				if(konstellations_aufpreise_array[i][0] == konstallations_helper){
					////alert(konstellations_aufpreise_array[i][1]);
					
					document.getElementById('prod_attr_akt_'+attr).value = konstellations_aufpreise_array[i][1];
					break;
				}
			}
			
	    ////alert(document.getElementById('prod_attr_akt_'+attr).value);
	      
	    break;
	}
}


function CalcNewPreis() {
	////alert("calc");
	
	return parseInt(document.getElementById('aktueller_preis').value) + parseInt(document.getElementById('prod_attr_akt_material').value) + parseInt(document.getElementById('prod_attr_akt_konstellation').value);
}




function ChangeImage(preis){
	
	ChangePrice(preis);
	return true;
	
	////alert("change");
	str = preis.toString();
	////alert(str);

	var tausender = parseInt(( preis/1000));

	if(tausender > 0){																//falls zahl größer als 1000 ist
		/*
		document.images['preis_image_1'].width = 25;
		document.images['preis_image_1'].Height = 41;

		document.images['preis_image_2'].width = 10;
		document.images['preis_image_2'].Height = 41;
*/
		for(var i=1,inner_count = 1; i <= str.length; i++,inner_count++) {
			if(inner_count == 2){
				document.images['preis_image_' + inner_count].src = image_path + "punkt.jpg";	
				inner_count++;
			}
			////alert("i:"+i+" c:"+inner_count+" ->"+str.charAt(inner_count-1));
			document.images['preis_image_' + inner_count].src = image_path + str.charAt(i -1) + ".jpg";
		}

	} else {																						// falls zahl kleiner als 1000 ist

		document.images['preis_image_1'].src = image_path + "space.gif";
		//document.images['preis_image_1'].width = 1;
		//document.images['preis_image_1'].Height = 9;

		document.images['preis_image_2'].src = image_path + "space.gif";
		//document.images['preis_image_2'].width = 1;
		//document.images['preis_image_2'].Height = 9;

		for(var i=3; i < str.length+3; i++) {
			////alert(str.charAt(i - 3));
			document.images['preis_image_' + i].src = image_path + str.charAt(i - 3) + ".jpg";
		}

////alert("w:"+document.images['preis_image_1'].width+" h:"+document.images['preis_image_1'].Height);

	}
}




var idx_array = new Array("pro","far","lie","fin","kon"); 
var path = "templates/d024_v1/bilder/";
//templates/d024_v1/bilder/tab_far_on.jpg


var path_array = new Array(
											new Array(path+"tab_"+idx_array[0]+"_on.jpg",path+"tab_"+idx_array[0]+"_off.jpg"),
											new Array(path+"tab_"+idx_array[1]+"_on.jpg",path+"tab_"+idx_array[1]+"_off.jpg"),
											new Array(path+"tab_"+idx_array[2]+"_on.jpg",path+"tab_"+idx_array[2]+"_off.jpg"),
											new Array(path+"tab_"+idx_array[3]+"_on.jpg",path+"tab_"+idx_array[3]+"_off.jpg"),
											new Array(path+"tab_"+idx_array[4]+"_on.jpg",path+"tab_"+idx_array[4]+"_off.jpg")											
											); 

function my_show_4(s,h1,h2,h3) { 
	set(s);
	unset(h1);
	unset(h2);
	unset(h3);
}

function my_show_5(s,h1,h2,h3,h4) { 
	set(s);
	unset(h1);
	unset(h2);
	unset(h3);
	unset(h4);
}

function my_show_6(s,h1,h2,h3,h4,h5) { 
	set(s);
	unset(h1);
	unset(h2);
	unset(h3);
	unset(h4);
	unset(h5);
}

function set(dom){
	if ( document.getElementById('d'+dom) ) document.getElementById('d'+dom).style.display = "inline";
	if ( document.getElementById('i'+dom) ) document.getElementById('i'+dom).className = 'aktiv';
	
	//document.getElementById('i'+dom).src = path + "tab_" + idx_array[dom-1] + "_on.jpg";
	//path_array[dom-1][0] = path + "tab_" + idx_array[dom-1] + "_on.jpg";
	//path_array[dom-1][1] = path + "tab_" + idx_array[dom-1] + "_on.jpg";
}

function unset(dom){
	if ( document.getElementById('d'+dom) ) document.getElementById('d'+dom).style.display = "none";
	if ( document.getElementById('i'+dom) ) document.getElementById('i'+dom).className = '';
	
	//document.getElementById('i'+dom).src = path + "tab_" + idx_array[dom-1] + "_off.jpg";
	//path_array[dom-1][0] = path + "tab_" + idx_array[dom-1] + "_on.jpg";
	//path_array[dom-1][1] = path + "tab_" + idx_array[dom-1] + "_off.jpg";
}

function test(f){
	//alert("'"+f.options[f.selectedIndex].text+"'");
}

function hide_service_contents(ary) {
	for (i = 0; i < ary.length; i++){
		if(document.getElementById(ary[i]))
			document.getElementById(ary[i]).style.display = "none";
	}
}


function toggle_service_contents(ary) {
	if(document.getElementById(ary[0]).style.display == 'inline'){
		state = 'none';
		new_class = "switchHead switchSign";
	} else {
		state = 'inline';
		new_class = "switchHead switchSign switchSignOpen";
	}
	
	for (i = 0; i < ary.length; i++){
		if(document.getElementById(ary[i]))
			document.getElementById(ary[i]).style.display = state;
		if(document.getElementById(ary[i]+"_link"))
			document.getElementById(ary[i]+"_link").className = new_class;
	}
	return false;
}


function service_content(elem) {
	if(document.getElementById(elem).style.display == "none") {
		if(document.getElementById(elem+"_hide_link"))
			document.getElementById(elem+"_hide_link").style.display = "inline";
			
		if(document.getElementById(elem+"_show_link"))
			document.getElementById(elem+"_show_link").style.display = "none";
			
		if(document.getElementById(elem))
			document.getElementById(elem).style.display = "inline";
	} else {
		if(document.getElementById(elem+"_hide_link"))
			document.getElementById(elem+"_hide_link").style.display = "none";
		
		if(document.getElementById(elem+"_show_link"))
			document.getElementById(elem+"_show_link").style.display = "inline";
		
		if(document.getElementById(elem))
			document.getElementById(elem).style.display = "none";
	}
	return false;
}

function service_content2(elem) {
	if(document.getElementById(elem)){
		if(document.getElementById(elem).style.display == "none") {
			document.getElementById(elem).style.display = "inline";
			document.getElementById(elem+"_link").className = "switchHead switchSign switchSignOpen";
		} else {		
			document.getElementById(elem).style.display = "none";
			document.getElementById(elem+"_link").className = "switchHead switchSign";
		}
	}
	return false;
}


// usage: format_zahl( number [, number]  [, bool]  )

function formatZahl(zahl, k, fix){
    if(!k) k = 0;
    var neu = '';
    // Runden
    var f = Math.pow(10, k);
    zahl = '' + parseInt( zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;
    // Komma ermittlen
    var idx = zahl.indexOf('.');
    // fehlende Nullen einfügen
    if(fix)
    {
         zahl += (idx == -1 ? '.' : '' )
         + f.toString().substring(1);
    }
    // Nachkommastellen ermittlen
    idx = zahl.indexOf('.');
    if( idx == -1) idx = zahl.length;
    else neu = ',' + zahl.substr(idx + 1, k);
 
    // Tausendertrennzeichen
    while(idx > 0)
    {
        if(idx - 3 > 0)
        	neu = '.' + zahl.substring( idx - 3, idx) + neu;
        else
        	neu = zahl.substring(0, idx) + neu;
        
        idx -= 3;
    }
    return neu;
}



function GetNewPrice(){
	var preis = 0;
	var material_select = document.getElementById('prod_attr_material');
	var material = material_select.options[material_select.selectedIndex].text;
	
	if(document.getElementById('prod_attr_konstellation') != null){		// eckgarnitur
		preis = preis_array[index_of(material_array,material)];
		//alert('ecke: '+preis);
	} else {																													// garnitur
		s1 = document.getElementById('prod_attr_konstellation_1');
		s2 = document.getElementById('prod_attr_konstellation_2');
		s3 = document.getElementById('prod_attr_konstellation_3');
		
		preis = preis_array[index_of(material_array,material)][parseInt(s1.options[s1.selectedIndex].text)-1];
		if(isDigit(s2.options[s2.selectedIndex].text)) preis += preis_array[index_of(material_array,material)][parseInt(s2.options[s2.selectedIndex].text)-1];
		if(isDigit(s3.options[s3.selectedIndex].text)) preis += preis_array[index_of(material_array,material)][parseInt(s3.options[s3.selectedIndex].text)-1];
		
		//alert('garnitur: '+preis);
	}
	
	// versandkosten

	
	preis = (preis / dollarkurs + versandpauschale) * mehrwertsteuer;
	
	preis = preis - (preis % 1);
	preis = preis - (preis % 10);
	
	ChangePrice(preis);
}
