/*****************************************/
/** Usable Forms 2.0, November 2005     **/
/** Written by ppk, www.quirksmode.org  **/
/** Instructions for use on my site     **/
/**                                     **/
/** You may use or change this script   **/
/** only when this copyright notice     **/
/** is intact.                          **/
/**                                     **/
/** If you extend the script, please    **/
/** add a short description and your    **/
/** name below.                         **/
/*****************************************/


/************************* start configurator calculator*******************************/
function kaufm(x){
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  var p = k.indexOf('.');
  return k.substring(0, p) + ',' + k.substring(p+1, p+3);
}

function isANumber(n){
	var s = "" + n;
	var ziffern = "0123456789.,";
	for (var i=0; i<s.length; i++)
		if (ziffern.indexOf(s.charAt(i))==-1)
			return false;
	return true;
}

function calc_volume() {
	var widthCalc = document.getElementsByName("width")[0].value;
	widthCalc = widthCalc.replace(",",".");
	var lengthCalc = document.getElementsByName("length")[0].value;
	lengthCalc = lengthCalc.replace(",",".");
	var heightCalc = 1;
	
	/*
	if(document.getElementsByName("height")[0]){
		var heightCalc = document.getElementsByName("height")[0].value;
		heightCalc = heightCalc.replace(",",".");
	}
	else{
		var heightCalc=1;
	}
	*/
	if(!isANumber(widthCalc) || !isANumber(heightCalc) || !isANumber(lengthCalc)){
		return;
	}
	var qty = parseFloat(document.getElementsByName("products_qty")[0].value);	
	var price = getPrice(qty); 
	var attrib_sum_before = 0.0; var attrib_sum_after = 0.0;

	// attribute prices
	var tmpmaxattr = document.getElementById('attrib_range');
	if(tmpmaxattr != null && tmpmaxattr != undefined){
		var maxattr = tmpmaxattr.value;
		maxattr = maxattr.split("|");
	}
	else
		var maxattr = 2;
	for (var i = 0; i <= (maxattr.length - 2); i++){
		var tmpIndex = "id[" + maxattr[i] + "]";
		var z = document.getElementsByName(tmpIndex);
		var id;
		for(var j=0; j< z.length; j++){
			var item = z[j];
			if(item.type == "radio" && item.checked){
				id = item.value;
			}
			if(item.type == "select-one"){
				id = item.options[item.selectedIndex].value;
			}
		}
		var tmpCalcMode=document.getElementsByName('calc'+tmpIndex)[0].value; 
		
		if(tmpCalcMode != undefined){
			if(tmpCalcMode == "before") attrib_sum_before = attrib_sum_before + lookupPrice(id);
			if(tmpCalcMode == "after") attrib_sum_after = attrib_sum_after + lookupPrice(id);
		}
	}
	
/* BOF Workaround Template Rolladen Endschiene Form und Farben Options 30.11.2011-----------------------------------------------------------------*/
			 
			 var option_endschieneform_id = 0.0;			
			 option_endschieneform_id = $("input[name='id[56]']:checked").val();
			 option_endschieneform_price = parseFloat($("input[id='priceid"+option_endschieneform_id+"']").val());
			 if(option_endschieneform_price > 0){option_endschieneform_price = option_endschieneform_price*widthCalc;}else{option_endschieneform_price =0;}
			 /*Reset of hidden option  */
			 if(option_endschieneform_id == 253){
			 	 $("input[id='op699']").attr('checked',false);
				 $("input[id='op700']").attr('checked',false);
				 
			 	 $("input[id='op913']").attr('checked',false);
				 $("input[id='op915']").attr('checked',false);
				/* $("input[id='op254']").attr('checked',true);*/
			/* workspace 	
				$("input[id='op699']").attr('checked',false);
				 $("input[id='op700']").attr('checked',false);
			 	 $("input[id='op782']").attr('checked',false);
				 $("input[id='op784']").attr('checked',false);
				 $("input[id='op254']").attr('checked',true);
			*/	
								 
			 }
			 
			 var option_endschienefarbe_id = 0.0;			
			 option_endschienefarbe_id = $("input[name='id[57]']:checked").val();
			 option_endschienefarbe_price = parseFloat($("input[id='priceid"+option_endschienefarbe_id+"']").val());
			 if(option_endschienefarbe_price > 0){option_endschienefarbe_price = option_endschienefarbe_price*widthCalc;}else{option_endschienefarbe_price =0;}
			 
			 var option_rolladenfarbe_id = 0.0;			
			 option_rolladenfarbe_id = $("input[name='id[73]']:checked").val();
			 option_rolladenfarbe_price = parseFloat($("input[id='priceid"+option_rolladenfarbe_id+"']").val());			 
			 if(option_rolladenfarbe_price > 0){option_rolladenfarbe_price = option_rolladenfarbe_price*widthCalc*lengthCalc;}else{option_rolladenfarbe_price =0;}
			 			 
			if(option_endschienefarbe_id > 0){/* rolladen template*/
			var volume = widthCalc * lengthCalc * heightCalc;
	        document.getElementsByName("calcresult")[0].value= kaufm(volume);
	        var price_before= parseFloat(price) + attrib_sum_before;
	        document.getElementsByName("price")[0].value = kaufm(price_before);
			
			document.getElementsByName("calcprice")[0].value =kaufm((volume * price) + option_endschieneform_price + option_endschienefarbe_price + option_rolladenfarbe_price);
			}
 else{/*Regular Template*/
			
			/* BOF Workaround Template Rolladen Endschiene Form und Farben Options-----------------------------------------------------------------*/			 			 
	
	
	var volume = widthCalc * lengthCalc * heightCalc;
	document.getElementsByName("calcresult")[0].value= kaufm(volume);
	var price_before= parseFloat(price) + attrib_sum_before;
	document.getElementsByName("price")[0].value = kaufm(price_before);
	
	// DIATOM Internet & Medien GmbH - 04.06.2010
	//document.getElementsByName("calcprice")[0].value= kaufm((volume * price_before) + attrib_sum_after);
	check_price_new = ((volume * price_before) + attrib_sum_after);
	if( check_price_new < price_before ) {
	   document.getElementsByName("calcprice")[0].value = kaufm(price_before);
	} else {
	   document.getElementsByName("calcprice")[0].value = kaufm((volume * price_before) + attrib_sum_after);
	}
	
}/* end  else regular template */


	
	// DIATOM Internet & Medien GmbH - 04.06.2010
	
	// DIATOM Internet & Medien GmbH - 10.06.2010
	calc_rastprice(attrib_sum_after);
	// DIATOM Internet & Medien GmbH - 10.06.2010

}

function calc_rastprice(attrib_sum_after) {

    rasterprice = document.getElementById("rasterpricelist").value;
	
	/*tax to applied for CH*/
	var tax_info = document.getElementById("tax_info").value;
	/*tax to applied for CH*/
	
    if( rasterprice == "" ) return;
    
    var widthCalc = document.getElementsByName("width")[0].value;
	widthCalc = widthCalc.replace(",",".");
	var lengthCalc = document.getElementsByName("length")[0].value;
	lengthCalc = lengthCalc.replace(",",".");
    
    i           = 0;
    rastWList   = new Array();
    rastHList   = new Array();
    rastOut     = new Array();
    rastLSpal   = new Array();
    
    rastLZeil   = rasterprice.split("\n");
    if( rastLZeil != "" ) {
        for(var k = 0; k < rastLZeil.length; k++) {
            rastLSpal[k] = rastLZeil[k].split(";");
            if( rastLSpal[k] != "" ) {
                for(var k2 = 0; k2 < rastLSpal[k].length; k2++) {
                    if( k != 0 && k2 != 0 ) {
                        v2 = rastLSpal[k][k2].replace(/\s/g, "");
                        if( v2 != '' ) {
                            rastOut[i]              = new Array();
                            rastOut[i]['height']    = rastLSpal[k][0];
                            rastOut[i]['width']     = rastLSpal[0][k2];
                            rastOut[i]['price']     = v2;
                            i++;
                        }
                    }
                }
            }
        } 
    }
    
    if( rastOut != "" ) {
        getRastHeight  = lengthCalc * 1000;
        getRastWidth   = widthCalc * 1000;
        rastPrice      = 0;
        curHeight      = 0;
        lastHeight     = 0;
        lastWidth      = 0;
        for(var k = 0; k < rastOut.length; k++) {
            if( getRastHeight <= rastOut[k]['height'] ) {
                if( getRastWidth <= rastOut[k]['width'] ) {
                    rastPrice = rastOut[k]['price'];
                    break;
                }
            }
            if( rastOut[k]['height'] > curHeight ) {
                lastHeight = rastOut[k]['height'];
            }
            curHeight      = rastOut[k]['height'];
            lastWidth      = rastOut[k]['width'];
        }
        if( rastPrice != 0 ) {
		/*tax to applied for CH*/
		if(tax_info == 0){
		rastPrice = parseFloat(rastPrice)/1.19;
		}		
		/*tax to applied for CH*/		
            /*rastPrice = parseInt(rastPrice) + attrib_sum_after;*/
			 var option_kastenfarbe_id = 0.0;			
			 option_kastenfarbe_id = $("input[name='id[72]']:checked").val();
			 option_kastenfarbe_price = parseFloat($("input[id='priceid"+option_kastenfarbe_id+"']").val())*widthCalc;
			 
			 var option_insekenschutz_id = 0.0;
			 option_insekenschutz_id = $("input[name='id[88]']:checked").val();
			 option_insekenschutz_price = parseFloat($("input[id='priceid"+option_insekenschutz_id+"']").val())*lengthCalc*widthCalc;
			 
			 var option_rolladenfarbe_id = 0.0;
			 option_rolladenfarbe_id = $("input[name='id[73]']:checked").val();
			 option_rolladenfarbe_price = parseFloat($("input[id='priceid"+option_rolladenfarbe_id+"']").val())*lengthCalc*widthCalc;
			 
			 var option_bedienart_id = 0.0;
			 option_bedienart_id = $("input[name='id[89]']:checked").val();
			 option_bedienart_price = parseFloat($("input[id='priceid"+option_bedienart_id+"']").val());			 
			 
			 var option_steuerung_id = 0.0;
			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());
			 
			 var option_fuehrungsschiene_form_id = 0.0;
			 option_fuehrungsschiene_form_id  = $("input[name='id[151]']:checked").val();
			 option_fuehrungsschiene_form_price = parseFloat($("input[id='priceid"+option_fuehrungsschiene_form_id+"']").val())*lengthCalc*2;
			 
			 
			 /* Workaround Rolladen Materials Start------------------------------------------------------------*/
			 var option_rolladen_material_id = 0.0;			
			 option_rolladen_material_id = $("input[name='id[150]']:checked").val();
			 option_rolladen_material_price = parseFloat($("input[id='priceid"+option_rolladen_material_id+"']").val())*lengthCalc*widthCalc;
			 
			 if (option_rolladen_material_price > 0){
			 
			 rastPrice = parseFloat(rastPrice) + option_rolladen_material_price;
			 
			 }
			 else{
			 rastPrice = parseFloat(rastPrice);
			 }
			 
			 if (option_rolladenfarbe_price > 0){
			 
			 rastPrice_option_farbe = parseFloat(rastPrice) + option_rolladenfarbe_price;
			 
			 }
			 else{
			 rastPrice_option_farbe = parseFloat(rastPrice);
			 }
			 
			 /* Workaround Rolladen Materials End------------------------------------------------------------*/
			 			 /* BOF Workaround Rolladen Reset bedienart------------------------------------------------------------*/
			 var mode_bedienart = 0;			
			 mode_bedienart = $("input[name='bedienart']:checked").val();
			 			 
			 if(mode_bedienart=='handbedienung'){
				 
				 $("input[id='op459']").attr('checked',false);
				 $("input[id='op652']").attr('checked',false);				 
				 $("input[id='op653']").attr('checked',false);
				 $("input[id='op460']").attr('checked',false);
				 $("input[id='op461']").attr('checked',false);
				 $("input[id='op561']").attr('checked',false);
				 
				 hand_bedienart_id = $("input[name='id[89]']:checked").val();
				 hand_bedienart_price = parseFloat($("input[id='priceid"+option_bedienart_id+"']").val());
				 if(hand_bedienart_price > 0){
				 rastPrice2 = parseFloat(rastPrice_option_farbe) + hand_bedienart_price;/*Price with motor options*/
				 }
				 else{
				 rastPrice2 = parseFloat(rastPrice_option_farbe);
			 }

			 }
			 else if(mode_bedienart=='motorbedienung'){
			 
				/* $("input[id='458']").attr('checked',false);*/
				 $("input[id='op592']").attr('checked',false);
				 $("input[id='op575']").attr('checked',false);
				 $("input[id='op562']").attr('checked',false);
	
				 motor_bedienart_id = $("input[name='id[89]']:checked").val();
				 motor_bedienart_price = parseFloat($("input[id='priceid"+option_bedienart_id+"']").val());
				 
				 if(motor_bedienart_price > 0){
				 rastPrice2 = parseFloat(rastPrice_option_farbe) + motor_bedienart_price;/*Price with motor options*/
				 }
				 else{
				 rastPrice2 = parseFloat(rastPrice_option_farbe);
				 }

			 }			 
			 
			 /* EOF Workaround Rolladen Reset bedienart------------------------------------------------------------*/
			 			 /* BOF Workaround Rolladen Reset Motors Steuerungen RM 26.11.2011------------------------------------------------------------*/
			
			 var motor_1 = 0;
			 var motor_2 = 0;
			 var motor_3 = 0;
			 var motor_4 = 0;
			 var motor_5 = 0;
			 var motor_6 = 0;			 
			 
			 motor_1=$("input[id='op459']:checked").val();/*acomax_endschaltermotor*/
			 motor_2=$("input[id='op652']:checked").val();/*acomax_elektron_endschaltermotor*/
			 motor_3=$("input[id='op653']:checked").val();/*acomax_funkmotor*/
			 motor_4=$("input[id='op460']:checked").val();/*somfy_endschaltermotor*/
			 motor_5=$("input[id='op461']:checked").val();/*somfy_elektron_endschaltermotor*/
			 motor_6=$("input[id='op561']:checked").val();/*somfy_funkmotor*/
			 
			 if(motor_1==459){/*acomax_endschaltermotor*/			 
			 /* motor2: acomax_elektron_endschaltermotor*/
			 $("input[id='op681_2']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682_2']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683_2']").attr('checked',false);/*acomax_cx140*/
			 /* motor3:acomax_funkmotor*/			 
			 $("input[id='op684']").attr('checked',false);/*acomax_cx421*/
			 $("input[id='op685']").attr('checked',false);/*acomax_cx425*/
			 $("input[id='op686']").attr('checked',false);/*acomax_cx441"*/
			 $("input[id='op909']").attr('checked',false);/*Acomax CX-445 Funkschaltuhr 15-Kanal"*/			 
			 /* motor4:somfy_endschaltermotor*/
			 $("input[id='op687']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor5:somfy_elektron_endschaltermotor*/
			 $("input[id='op687_5']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688_5']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689_5']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor6:somfy_funkmotor*/
			 $("input[id='op690']").attr('checked',false);/*somfy_telis1*/
			 $("input[id='op691']").attr('checked',false);/*somfy_telis4*/
			 $("input[id='op692']").attr('checked',false);/*somfy_chronis_smart*/
			 
			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());			 
			 }
			 else if(motor_2==652){/*acomax_elektron_endschaltermotor*/
			 /* motor1: acomax_endschaltermotor*/
			 $("input[id='op681']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683']").attr('checked',false);/*acomax_cx140*/			 
			 /* motor3:acomax_funkmotor*/			 
			 $("input[id='op684']").attr('checked',false);/*acomax_cx421*/
			 $("input[id='op685']").attr('checked',false);/*acomax_cx425*/
			 $("input[id='op686']").attr('checked',false);/*acomax_cx441"*/
			 $("input[id='op909']").attr('checked',false);/*Acomax CX-445 Funkschaltuhr 15-Kanal"*/			 
			 /* motor4:somfy_endschaltermotor*/
			 $("input[id='op687']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor5:somfy_elektron_endschaltermotor*/
			 $("input[id='op687_5']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688_5']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689_5']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor6:somfy_funkmotor*/
			 $("input[id='op690']").attr('checked',false);/*somfy_telis1*/
			 $("input[id='op691']").attr('checked',false);/*somfy_telis4*/
			 $("input[id='op692']").attr('checked',false);/*somfy_chronis_smart*/
			 
			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());			 
			 }
			 else if(motor_3==653){/*acomax_funkmotor*/			 
			 /* motor1: acomax_endschaltermotor*/
			 $("input[id='op681']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683']").attr('checked',false);/*acomax_cx140*/			 
			 /* motor2: acomax_elektron_endschaltermotor*/
			 $("input[id='op681_2']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682_2']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683_2']").attr('checked',false);/*acomax_cx140*/
			 /* motor4:somfy_endschaltermotor*/
			 $("input[id='op687']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor5:somfy_elektron_endschaltermotor*/
			 $("input[id='op687_5']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688_5']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689_5']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor6:somfy_funkmotor*/
			 $("input[id='op690']").attr('checked',false);/*somfy_telis1*/
			 $("input[id='op691']").attr('checked',false);/*somfy_telis4*/
			 $("input[id='op692']").attr('checked',false);/*somfy_chronis_smart*/

			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());			 
			 }
 			 else if(motor_4==460){/*somfy_endschaltermotor*/
			 /* motor1:acomax_endschaltermotor*/
			 $("input[id='op681']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683']").attr('checked',false);/*acomax_cx140*/
			 /* motor2: acomax_elektron_endschaltermotor*/
			 $("input[id='op681_2']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682_2']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683_2']").attr('checked',false);/*acomax_cx140*/			 
			 /* motor3:acomax_funkmotor*/
			 $("input[id='op684']").attr('checked',false);/*acomax_cx421*/
			 $("input[id='op685']").attr('checked',false);/*acomax_cx425*/
			 $("input[id='op686']").attr('checked',false);/*acomax_cx441"*/
			 $("input[id='op909']").attr('checked',false);/*Acomax CX-445 Funkschaltuhr 15-Kanal"*/
			 /* motor5:somfy_elektron_endschaltermotor*/
			 $("input[id='op687_5']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688_5']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689_5']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor6:somfy_funkmotor*/
			 $("input[id='op690']").attr('checked',false);/*somfy_telis1*/
			 $("input[id='op691']").attr('checked',false);/*somfy_telis4*/
			 $("input[id='op692']").attr('checked',false);/*somfy_chronis_smart*/
			 
			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());			 			 
			 }
			 else if(motor_5==461){/*somfy_elektron_endschaltermotor*/
			 /* motor1:acomax_endschaltermotor*/
			 $("input[id='op681']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683']").attr('checked',false);/*acomax_cx140*/
			 /* motor2: acomax_elektron_endschaltermotor*/
			 $("input[id='op681_2']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682_2']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683_2']").attr('checked',false);/*acomax_cx140*/			 
			 /* motor3:acomax_funkmotor*/
			 $("input[id='op684']").attr('checked',false);/*acomax_cx421*/
			 $("input[id='op685']").attr('checked',false);/*acomax_cx425*/
			 $("input[id='op686']").attr('checked',false);/*acomax_cx441"*/
			 $("input[id='op909']").attr('checked',false);/*Acomax CX-445 Funkschaltuhr 15-Kanal"*/
			 /* motor4:somfy_endschaltermotor*/
			 $("input[id='op687']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor6:somfy_funkmotor*/
			 $("input[id='op690']").attr('checked',false);/*somfy_telis1*/
			 $("input[id='op691']").attr('checked',false);/*somfy_telis4*/
			 $("input[id='op692']").attr('checked',false);/*somfy_chronis_smart*/			 

			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());
			 }
			 else if(motor_6==561){
			 /* motor1:acomax_endschaltermotor*/
			 $("input[id='op681']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683']").attr('checked',false);/*acomax_cx140*/
			 /* motor2: acomax_elektron_endschaltermotor*/
			 $("input[id='op681_2']").attr('checked',false);/*acomax_cx040*/
			 $("input[id='op682_2']").attr('checked',false);/*acomax_cx120*/
			 $("input[id='op683_2']").attr('checked',false);/*acomax_cx140*/			 
			 /* motor3:acomax_funkmotor*/
			 $("input[id='op684']").attr('checked',false);/*acomax_cx421*/
			 $("input[id='op685']").attr('checked',false);/*acomax_cx425*/
			 $("input[id='op686']").attr('checked',false);/*acomax_cx441"*/
			 $("input[id='op909']").attr('checked',false);/*Acomax CX-445 Funkschaltuhr 15-Kanal"*/
			 /* motor4:somfy_endschaltermotor*/
			 $("input[id='op687']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689']").attr('checked',false);/*somfy_chronis_uno_smart*/
			 /* motor5:somfy_elektron_endschaltermotor*/
			 $("input[id='op687_5']").attr('checked',false);/*somfy_inis_uno*/
			 $("input[id='op688_5']").attr('checked',false);/*somfy_inis_uno_comfort*/
			 $("input[id='op689_5']").attr('checked',false);/*somfy_chronis_uno_smart*/

			 option_steuerung_id = $("input[name='id[125]']:checked").val();
			 option_steuerung_price = parseFloat($("input[id='priceid"+option_steuerung_id+"']").val());			 			 
			 }
			 			 			 			 			 			 			  			 
			 /* EOF Workaround Rolladen Reset Motors Steuerungen RM 26.11.2011------------------------------------------------------------*/


			 			 
			if (option_bedienart_price > 0){			 
			 rastPrice2 = parseFloat(rastPrice_option_farbe) + option_bedienart_price;/*Price with motor options*/ 
			 if(option_steuerung_price> 0){
			 rastPrice2 = parseFloat(rastPrice_option_farbe) + option_bedienart_price + option_steuerung_price;/*Price with motor options*/ 
			 }            
			}
			else{
			rastPrice2 = parseFloat(rastPrice_option_farbe);
			}
						
			if (option_kastenfarbe_price > 0){
			rastPrice3 = rastPrice2 + option_kastenfarbe_price;
			rastPrice_total = parseFloat(rastPrice) + attrib_sum_after + option_kastenfarbe_price;
			 if(option_rolladenfarbe_price > 0){
			 rastPrice3 = rastPrice2 + option_kastenfarbe_price ;
			 rastPrice_total = parseFloat(rastPrice) + attrib_sum_after + option_kastenfarbe_price + option_rolladenfarbe_price;
			 }
			}
			else{
			rastPrice3 = rastPrice2;
			rastPrice_total = parseFloat(rastPrice) + attrib_sum_after ;
			 if(option_rolladenfarbe_price > 0){
			 rastPrice3 = rastPrice2;
			 rastPrice_total = parseFloat(rastPrice) + attrib_sum_after + option_rolladenfarbe_price;
			 }
			}
			/* workaround putzkasten id = 1828*/
			if($("input[name='products_id']").val()==1828 && $("input[name='id[88]']:checked").val()==456 ){
			 if(option_rolladenfarbe_price > 0){
			 rastPrice_total = rastPrice2 + option_rolladenfarbe_price;
			 }
			 else{
			 rastPrice_total = rastPrice2;
			 }
			}
			
			if(option_fuehrungsschiene_form_price >0){
			rastPrice_total = rastPrice_total + option_fuehrungsschiene_form_price;
			}
			/* option_insekenschutz_price pro qm RM 10-08-2011*/
			if(option_insekenschutz_price >0){
			rastPrice_total = rastPrice_total + option_insekenschutz_price;
			}
			
			var discount = parseFloat(rastPrice/0.9);/*discount 10%*/
			var discount5 = parseFloat(rastPrice/0.95);/*discount 5%*/
			
			var regular_price = rastPrice + discount;
			
			document.getElementsByName("calcprice_before_discount")[0].value = kaufm(parseFloat(discount));/*Price without discount*/ 			
			document.getElementsByName("calcprice_before_discount5")[0].value = kaufm(parseFloat(discount5));/*Price without discount*/
			
			 
			            			
			document.getElementsByName("calcprice_int1")[0].value = kaufm(rastPrice);/*Price without options*/
			
			document.getElementsByName("calcprice_int11")[0].value = kaufm(rastPrice_option_farbe);/*Price with behangsfarben options*/
			 
			if($("input[name='id[89]']:checked").val() >0){
			document.getElementsByName("calcprice_int2")[0].value = kaufm(rastPrice2);/*Price with motor options*/
			}
			else{
			document.getElementsByName("calcprice_int2")[0].value = kaufm(rastPrice_option_farbe);
			}
			document.getElementsByName("calcprice_int3")[0].value = kaufm(rastPrice3);
			document.getElementsByName("calcprice2")[0].value = kaufm(rastPrice_total);/* Total Price with all options*/
			
        }
    }
}

function calc_length() {
	var lengthCalc = document.getElementsByName("length")[0].value;

	lengthCalc = lengthCalc.replace(",",".");
	
	if(!isANumber(lengthCalc))
		return;

	var qty = parseFloat(document.getElementsByName("products_qty")[0].value);
	var price = getPrice(qty);
	var attrib_sum_before = 0.0; var attrib_sum_after = 0.0;

	// attribute prices
	var tmpmaxattr = document.getElementById('attrib_range');
	if(tmpmaxattr != null && tmpmaxattr != undefined)
		var maxattr = tmpmaxattr.value;
	for (var i = 1; i <= maxattr; i++){
		var tmpIndex = "id[" + i + "]";
		var z = document.getElementsByName(tmpIndex);
		var id;
		for(var j=0; j< z.length; j++){
			var item = z[j];
			if(item.type == "radio" && item.checked){
				id = item.value;
			}
			if(item.type == "select-one"){
				id = item.options[item.selectedIndex].value;
			}
		}
		var tmpCalcMode=document.getElementsByName("calc" + tmpIndex)[0].value; 
		if(tmpCalcMode != undefined){
			if(tmpCalcMode == "before") attrib_sum_before = attrib_sum_before + lookupPrice(id);
			if(tmpCalcMode == "after") attrib_sum_after = attrib_sum_after + lookupPrice(id);
		}
	}
	var volume = lengthCalc;
	/*var price_before= parseFloat(price) + attrib_sum_before;*/
	
	var option_rolladenfuehrung_oben_id = 0.0;			
	option_rolladenfuehrung_oben_id = $("input[name='id[163]']:checked").val();
	if(option_rolladenfuehrung_oben_id == 916){	
	option_rolladenfuehrung_oben_price = parseFloat($("input[id='priceid"+option_rolladenfuehrung_oben_id+"']").val())/lengthCalc;
	}
	else{
	option_rolladenfuehrung_oben_price = 0;
	}		
	var option_schienefarbe_id = 0.0;			
	option_schienefarbe_id = $("input[name='id[77]']:checked").val();
	option_schienefarbe_price = parseFloat($("input[id='priceid"+option_schienefarbe_id+"']").val());
	
	
	if(option_schienefarbe_price > 0){
	var price_before= parseFloat(price) + parseFloat(option_schienefarbe_price) + option_rolladenfuehrung_oben_price;
	}
	else{
	var price_before= parseFloat(price) + option_rolladenfuehrung_oben_price; /*+ attrib_sum_before;*/
	}
	/* bof option kastendeckel*/
	var option_kastendeckel_id = 0.0;			
	option_kastendeckel_id = $("select[name='id[128]'] option:selected").val();
	option_kastendeckel_price = parseFloat($("input[id='priceid"+option_kastendeckel_id+"']").val());
	if(option_kastendeckel_price > 0){
	var price_before= parseFloat(price) + parseFloat(option_kastendeckel_price);
	}
	/*else{
	var price_before= parseFloat(price) + attrib_sum_before;
	}*/	
	/*eof option kastendeckel*/
	document.getElementsByName("priceb")[0].value = kaufm(price_before) +" EUR";
	document.getElementsByName("calcprice")[0].value= kaufm((volume * price_before) + attrib_sum_after);
}
function getPrice(qty){
	var staffel = document.getElementsByName("staffelid");
	var price = document.getElementsByName("std_price")[0].value;
	
	// staffelpreise
	if(staffel != null){
		for(var x=0; x<staffel.length; x++){
			var tmpstring = (staffel[x]).value.split(":");
			if(qty >= tmpstring[0])
				price = tmpstring[1];
		}
	}
	return price;	
}

function lookupPrice(id){
	var tmpIndex = "priceid" + id;
	var price = document.getElementById("priceid" + id);
	if(price != null){
		return parseFloat(price.value);
	}
	else{
		return 0.0;
	}
}

function convFloat(num){
	num = num.replace(".","");
	num = num.replace(",",".");
	return num;
}	

/************************end configurator calculator************************************/

/***  MOD RM 19-07-2010****************************************************************/

/* Sticky Tooltip script (v1.0)
* Created: Nov 25th, 2009. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code
*/


var tooltip={
	tooltipoffsets: [20, - 210], //additional x and y offset from mouse cursor for tooltips
	fadeinspeed: 500, //duration of fade effect in milliseconds
	rightclickstick: true, //sticky tooltip when user right clicks over the triggering element (apart from pressing "s" key) ?
	bordercolors: ["black", "darkred"], //border color of tooltip depending on sticky state
	notice1: ["Rechter Mausclick fixiert das Bild"], //customize tooltip status message
	notice2: "Rechter Mausclick außerhalb <br /> schließt das Bild", //customize tooltip status message

	//***** NO NEED TO EDIT BEYOND HERE

	isdocked: false,

	positiontooltip:function($, $tooltip, e){
		var x=e.pageX+this.tooltipoffsets[0], y=e.pageY+this.tooltipoffsets[1]
		var tipw=$tooltip.outerWidth(), tiph=$tooltip.outerHeight(), 
		x=(x+tipw>$(document).scrollLeft()+$(window).width())? x-tipw-(tooltip.tooltipoffsets[0]*2) : x
		y=(y+tiph>$(document).scrollTop()+$(window).height())? $(document).scrollTop()+$(window).height()-tiph-10 : y
		$tooltip.css({left:x, top:y})
	},
	
	showbox:function($, $tooltip, e){
		$tooltip.fadeIn(this.fadeinspeed)
		this.positiontooltip($, $tooltip, e)
	},

	hidebox:function($, $tooltip){
		if (!this.isdocked){
			$tooltip.stop(false, true).hide()
			$tooltip.css({borderColor:'black'}).find('.status:eq(0)').css({background:this.bordercolors[0]}).html(this.notice1)
		}
	},

	docktooltip:function($, $tooltip, e){
		this.isdocked=true
		$tooltip.css({borderColor:'darkred'}).find('.status:eq(0)').css({background:this.bordercolors[1]}).html(this.notice2)
	},


	init:function(targetselector, tipid){
		jQuery(document).ready(function($){
			var $targets=$(targetselector)
			var $tooltip=$('#'+tipid).appendTo(document.body)
			if ($targets.length==0)
				return
			var $alltips=$tooltip.find('div.atip')
			if (!tooltip.rightclickstick)
				tooltip.notice1[1]=''
			tooltip.notice1=tooltip.notice1.join(' ')
			tooltip.hidebox($, $tooltip)
			$targets.bind('mouseenter', function(e){
				$alltips.hide().filter('#'+$(this).attr('data-tooltip')).show()
				tooltip.showbox($, $tooltip, e)
			})
			$targets.bind('mouseleave', function(e){
				tooltip.hidebox($, $tooltip)
			})
			$targets.bind('mousemove', function(e){
				if (!tooltip.isdocked){
					tooltip.positiontooltip($, $tooltip, e)
				}
			})
			$tooltip.bind("mouseenter", function(){
				tooltip.hidebox($, $tooltip)
			})
			$tooltip.bind("click", function(e){
				e.stopPropagation()
			})
			$(this).bind("click", function(e){
				if (e.button==0){
					tooltip.isdocked=false
					tooltip.hidebox($, $tooltip)
				}
			})
			$(this).bind("contextmenu", function(e){
				if (tooltip.rightclickstick && $(e.target).parents().andSelf().filter(targetselector).length==1){ //if oncontextmenu over a target element
					tooltip.docktooltip($, $tooltip, e)
					return false
				}
			})
			$(this).bind('keypress', function(e){
				var keyunicode=e.charCode || e.keyCode
				if (keyunicode==115){ //if "s" key was pressed
					tooltip.docktooltip($, $tooltip, e)
				}
			})
		}) //end dom ready
	}
}

//stickytooltip.init("targetElementSelector", "tooltipcontainer")

tooltip.init("*[data-tooltip]", "tooltip")

/* EOF   MOD RM 19.07-2010***********************************************************/
/***  MOD RM 19-07-2010****************************************************************/

/* Sticky coltip script (v1.0)
* Created: Nov 25th, 2009. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code
*/


var coltip={
	coltipoffsets: [20, - 210], //additional x and y offset from mouse cursor for coltips
	fadeinspeed: 500, //duration of fade effect in milliseconds
	rightclickstick: true, //sticky coltip when user right clicks over the triggering element (apart from pressing "s" key) ?
	bordercolors: ["black", "darkred"], //border color of coltip depending on sticky state
	notice1: ["Press \"s\"", "or right click", "to sticky box"], //customize coltip status message
	notice2: "Click outside this box to hide it", //customize coltip status message

	//***** NO NEED TO EDIT BEYOND HERE

	isdocked: false,

	positioncoltip:function($, $coltip, e){
		var x=e.pageX+this.coltipoffsets[0], y=e.pageY+this.coltipoffsets[1]
		var tipw=$coltip.outerWidth(), tiph=$coltip.outerHeight(), 
		x=(x+tipw>$(document).scrollLeft()+$(window).width())? x-tipw-(coltip.coltipoffsets[0]*2) : x
		y=(y+tiph>$(document).scrollTop()+$(window).height())? $(document).scrollTop()+$(window).height()-tiph-10 : y
		$coltip.css({left:x, top:y})
	},
	
	showbox:function($, $coltip, e){
		$coltip.fadeIn(this.fadeinspeed)
		this.positioncoltip($, $coltip, e)
	},

	hidebox:function($, $coltip){
		if (!this.isdocked){
			$coltip.stop(false, true).hide()
			$coltip.css({borderColor:'black'}).find('.status:eq(0)').css({background:this.bordercolors[0]}).html(this.notice1)
		}
	},

	dockcoltip:function($, $coltip, e){
		this.isdocked=true
		$coltip.css({borderColor:'darkred'}).find('.status:eq(0)').css({background:this.bordercolors[1]}).html(this.notice2)
	},


	init:function(targetselector, tipid){
		jQuery(document).ready(function($){
			var $targets=$(targetselector)
			var $coltip=$('#'+tipid).appendTo(document.body)
			if ($targets.length==0)
				return
			var $alltips=$coltip.find('div.ctip')
			if (!coltip.rightclickstick)
				coltip.notice1[1]=''
			coltip.notice1=coltip.notice1.join(' ')
			coltip.hidebox($, $coltip)
			$targets.bind('mouseenter', function(e){
				$alltips.hide().filter('#'+$(this).attr('data-coltip')).show()
				coltip.showbox($, $coltip, e)
			})
			$targets.bind('mouseleave', function(e){
				coltip.hidebox($, $coltip)
			})
			$targets.bind('mousemove', function(e){
				if (!coltip.isdocked){
					coltip.positioncoltip($, $coltip, e)
				}
			})
			$coltip.bind("mouseenter", function(){
				coltip.hidebox($, $coltip)
			})
			$coltip.bind("click", function(e){
				e.stopPropagation()
			})
			$(this).bind("click", function(e){
				if (e.button==0){
					coltip.isdocked=false
					coltip.hidebox($, $coltip)
				}
			})
			$(this).bind("contextmenu", function(e){
				if (coltip.rightclickstick && $(e.target).parents().andSelf().filter(targetselector).length==1){ //if oncontextmenu over a target element
					coltip.dockcoltip($, $coltip, e)
					return false
				}
			})
			$(this).bind('keypress', function(e){
				var keyunicode=e.charCode || e.keyCode
				if (keyunicode==115){ //if "s" key was pressed
					coltip.dockcoltip($, $coltip, e)
				}
			})
		}) //end dom ready
	}
}

//stickycoltip.init("targetElementSelector", "coltipcontainer")

coltip.init("*[data-coltip]", "coltip")

/* EOF   MOD RM 19.07-2010***********************************************************/


var containerTag = 'TR';

var compatible = (
	document.getElementById && document.getElementsByTagName && document.createElement
	&&
	!(navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1)
	);

if (compatible)
{
	document.write('<style>.accessibility{display: none}</style>');
	var waitingRoom = document.createElement('div');
}

var hiddenFormFieldsPointers = new Object();

function prepareForm()
{
	if (!compatible) return;
	var marker = document.createElement(containerTag);
	marker.style.display = 'none';

	var x = document.getElementsByTagName('select');
	for (var i=0;i<x.length;i++)
		addEvent(x[i],'change',showHideFields)

	var x = document.getElementsByTagName(containerTag);
	var hiddenFields = new Array;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('rel'))
		{
			var y = getAllFormFields(x[i]);
			x[i].nestedRels = new Array();
			for (var j=0;j<y.length;j++)
			{
				var rel = y[j].getAttribute('rel');
				if (!rel || rel == 'none') continue;
				x[i].nestedRels.push(rel);
			}
			if (!x[i].nestedRels.length) x[i].nestedRels = null;
			hiddenFields.push(x[i]);
		}
	}

	while (hiddenFields.length)
	{
		var rel = hiddenFields[0].getAttribute('rel');
		if (!hiddenFormFieldsPointers[rel])
			hiddenFormFieldsPointers[rel] = new Array();
		var relIndex = hiddenFormFieldsPointers[rel].length;
		hiddenFormFieldsPointers[rel][relIndex] = hiddenFields[0];
		var newMarker = marker.cloneNode(true);
		newMarker.id = rel + relIndex;
		hiddenFields[0].parentNode.replaceChild(newMarker,hiddenFields[0]);
		waitingRoom.appendChild(hiddenFields.shift());
	}
	
	setDefaults();
	addEvent(document,'click',showHideFields);
}

function setDefaults()
{
	var y = document.getElementsByTagName('input');
	for (var i=0;i<y.length;i++)
	{
		if (y[i].checked && y[i].getAttribute('rel'))
			intoMainForm(y[i].getAttribute('rel'))
	}

	var z = document.getElementsByTagName('select');
	for (var i=0;i<z.length;i++)
	{
		if (z[i].options[z[i].selectedIndex].getAttribute('rel'))
			intoMainForm(z[i].options[z[i].selectedIndex].getAttribute('rel'))
	}

}

function showHideFields(e)
{
	if (!e) var e = window.event;
	var tg = e.target || e.srcElement;

	if (tg.nodeName == 'LABEL')
	{
		var relatedFieldName = tg.getAttribute('for') || tg.getAttribute('htmlFor');
		tg = document.getElementById(relatedFieldName);
	}
		
	if (
		!(tg.nodeName == 'SELECT' && e.type == 'change')
		&&
		!(tg.nodeName == 'INPUT' && tg.getAttribute('rel'))
	   ) return;

	var fieldsToBeInserted = tg.getAttribute('rel');

	if (tg.type == 'checkbox')
	{
		if (tg.checked)
			intoMainForm(fieldsToBeInserted);
		else
			intoWaitingRoom(fieldsToBeInserted);
	}
	else if (tg.type == 'radio')
	{
		removeOthers(tg.form[tg.name],fieldsToBeInserted)
		intoMainForm(fieldsToBeInserted);
	}
	else if (tg.type == 'select-one')
	{
		fieldsToBeInserted = tg.options[tg.selectedIndex].getAttribute('rel');
		removeOthers(tg.options,fieldsToBeInserted);
		intoMainForm(fieldsToBeInserted);
	}
}

function removeOthers(others,fieldsToBeInserted)
{
	for (var i=0;i<others.length;i++)
	{
		var show = others[i].getAttribute('rel');
		if (show == fieldsToBeInserted) continue;
		intoWaitingRoom(show);
	}
}

function intoWaitingRoom(relation)
{
	if (relation == 'none') return;
	var Elements = hiddenFormFieldsPointers[relation];
	for (var i=0;i<Elements.length;i++)
	{
		waitingRoom.appendChild(Elements[i]);
		if (Elements[i].nestedRels)
			for (var j=0;j<Elements[i].nestedRels.length;j++)
				intoWaitingRoom(Elements[i].nestedRels[j]);
	}
}

function intoMainForm(relation)
{
	if (relation == 'none') return;
	var Elements = hiddenFormFieldsPointers[relation];
	for (var i=0;i<Elements.length;i++)
	{
		var insertPoint = document.getElementById(relation+i);
		insertPoint.parentNode.insertBefore(Elements[i],insertPoint);
		if (Elements[i].nestedRels)
		{
			var fields = getAllFormFields(Elements[i]);
			for (var j=0;j<fields.length;j++)
			{
				if (!fields[j].getAttribute('rel')) continue;
				if (fields[j].checked || fields[j].selected) 
					intoMainForm(fields[j].getAttribute('rel'));
			}
		}
	}
}

function getAllFormFields(node)
{
	var allFormFields = new Array;
	var x = node.getElementsByTagName('input');
	for (var i=0;i<x.length;i++)
		allFormFields.push(x[i]);
	var y = node.getElementsByTagName('option');
	for (var i=0;i<y.length;i++)
		allFormFields.push(y[i]);
	return allFormFields;
}

/** ULTRA-SIMPLE EVENT ADDING **/

function addEvent(obj,type,fn)
{
	if (obj.addEventListener)
		obj.addEventListener(type,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent("on"+type,fn);
}

addEvent(window,"load",prepareForm);


/** PUSH AND SHIFT FOR IE5 **/

function Array_push() {
	var A_p = 0
	for (A_p = 0; A_p < arguments.length; A_p++) {
		this[this.length] = arguments[A_p]
	}
	return this.length
}

if (typeof Array.prototype.push == "undefined") {
	Array.prototype.push = Array_push
}

function Array_shift() {
	var A_s = 0
	var response = this[0]
	for (A_s = 0; A_s < this.length-1; A_s++) {
		this[A_s] = this[A_s + 1]
	}
	this.length--
	return response
}

if (typeof Array.prototype.shift == "undefined") {
	Array.prototype.shift = Array_shift
}
