﻿// Cikkvalaszto

// termekek Array - server oldalrol
termek = new Array( 
    new Array('125', 'ADSL Light'),
    new Array('147', 'Panasonic telefon')
);

// valaszok altal definialt cikkek server oldalrol
cikkvalasz = { 
    '348_370' : '421',  // 1. termek cikkvalaszto cikke
    '348_371' : '422',  // 1. termek cikkvalaszto cikke
    '349_370' : '423',  // 1. termek cikkvalaszto cikke
    '349_371' : '424',  // 1. termek cikkvalaszto cikke
    '350_370' : '425',  // 1. termek cikkvalaszto cikke
    '350_371' : '426',  // 1. termek cikkvalaszto cikke
    '381' : '427',      // 1. termek szorosan kapcsolodo cikke
    '383' : '428',      // 1. termek szorosan kapcsolodo (kotelezoen valasztando) cikke

    '390' : '429',      // 2. termek cikkvalaszto cikke
    '391' : '430',      // 2. termek cikkvalaszto cikke
    '326' : '431'       // 2. termek szorosan kapcsolodo cikke
};

// cikk adatok: cikknev, listaar(megrendeleskor, belepesidij), havi szamlan egyszer fizetendo ar, szamlan havonta fizetendo
cikk = { 
    '421' : new Array('2 év hűségidővel, modem nélkül',     0, 10000, 3000),
    '422' : new Array('2 év hűségidővel, modemmel',         0, 11000, 3500),
    '423' : new Array('1 év hűségidővel, modem nélkül',     0, 12000, 4000),
    '424' : new Array('1 év hűségidővel, modemmel',         0, 17000, 3000),
    '425' : new Array('hűségidő nélkül, modem nélkül',      0, 20000, 3000),
    '426' : new Array('hűségidő nélkül, modemmel',          0, 22000, 4000),
    '427' : new Array('szereléssel',                        0, 5000, 4000),
    '428' : new Array('kötelező',                           0, 0, 0),

    '429' : new Array('2.cikkv. Nem',                       3000, 0, 0),
    '430' : new Array('2.cikkv. Igen',                      4000, 0, 0),
    '431' : new Array('szorosan kapcsolódó',                7000, 0, 0)
};

//cikkvalaszto arkalkulator
var goodsCalculator = Class.create( {
    initialize: function() {
		//init
	},

	//'Mi szerepel az arban?' doboz tartalmanak torlese
    clearPriceboxContents: function() {
		while ($('pricebox_contents').down())
		{
			if ($('pricebox_contents').down()) $('pricebox_contents').removeChild($('pricebox_contents').down());
		}
	},
    
    //arak kiszamolasa
    reCalc: function() {
        var cikkArr = new Array;
        var cikkvId = "";
        var cikkvSzkId = "";
        var priceListSumm = 0;
        var priceBillSumm = 0;
        var priceMonthlySumm = 0;
        
		this.clearPriceboxContents();
		
		//termekek
        termek.each( function( termElement ) {
            var aktGood = termElement[0];
			this.newUL = document.createElement("UL"); //'Mi szerepel az arban?' doboz-hoz uj UL

            //form elemek
            Form.getElements('goodsForm').each(function(formElement) {
                var elementIdSplit = formElement.id.split('_');
                
                this.newLI = document.createElement("LI"); //'Mi szerepel az arban?' doboz-hoz uj LI
				this.newSTR = document.createElement("STRING"); //es a tartalma
                
                //csak a RADIO-k es az aktualis termekhez tartozo kerdesek
                if ( (formElement.type == 'radio') && (aktGood == elementIdSplit[1]) ) {
                    if ( (formElement.checked) && (elementIdSplit[2] == 'cv') ) {//csak a checked RADIO-k es a cikkvalaszto kerdesek
                        cikkArr[cikkArr.length] = elementIdSplit[3];
                        
                        if ( $('priceCh_' + elementIdSplit[3]) != undefined ) {
                            $('priceCh_' + elementIdSplit[3]).style.display = 'none';
                        }
                    } else //csak a checked RADIO-k es a szorosan kapcsolodo kerdesek ha van ilyen azonositoju cikkvalasz
					if ( (formElement.checked) && ( elementIdSplit[2] == 'szk' ) && ( cikkvalasz[elementIdSplit[3]] != undefined) ) {
                        cikkvSzkId = cikkvalasz[elementIdSplit[3]];
                    } 
                    if ( (formElement.checked) && ( elementIdSplit[2] == 'szk' ) && ( $('priceCh_' + elementIdSplit[3]) != undefined ) ) { //csak a checked RADIO-k es a szorosan kapcsolodo kerdesek
                        $('priceCh_' + elementIdSplit[3]).style.display = 'none';
                    }
                }

				//hidden mezok
                if ( (formElement.type == 'hidden') && (aktGood == elementIdSplit[1]) ) {
                    if ( ( elementIdSplit[2] == 'szk' ) && ( cikkvalasz[elementIdSplit[3]] != undefined) ) {
                        cikkvSzkId = cikkvalasz[elementIdSplit[3]];
						this.newSTR.innerHTML = termElement[1] + ' ';
                    } 
                }
				
                //
                if ( cikkvalasz[cikkArr[0]] ) {
                    cikkvId = cikkvalasz[cikkArr[0]];
                }
                
                //
                if ( cikkArr[1] != undefined ) {
                    cikkvTxt = cikkArr[0] + '_' + cikkArr[1];
                    cikkvId = cikkvalasz[cikkvTxt];
					this.newSTR.innerHTML = termElement[1] + ' ' + cikk[cikkvTxt];
					$('pricebox_contents').appendChild(this.newUL).appendChild(this.newLI).appendChild(this.newSTR);
                    cikkvTxt = "";
                }
                
                //
                if ( cikk[cikkvId] ) {
                    priceListSumm += cikk[cikkvId][1];
                    priceBillSumm += cikk[cikkvId][2];
                    priceMonthlySumm += cikk[cikkvId][3];
					this.newSTR.innerHTML = termElement[1] + ' ' + cikk[cikkvId][0];
                    $('pricebox_contents').appendChild(this.newUL).appendChild(this.newLI).appendChild(this.newSTR);
					cikkvId = "";
                    cikkArr = [];
                }
                
                //szorosan kapcsolodo kerdes cikkazon.
                if ( cikk[cikkvSzkId] ) {
                    priceListSumm += cikk[cikkvSzkId][1];
                    priceBillSumm += cikk[cikkvSzkId][2];
                    priceMonthlySumm += cikk[cikkvSzkId][3];
                    this.newSTR.innerHTML = termElement[1] + ' ' + cikk[cikkvSzkId][0];
					$('pricebox_contents').appendChild(this.newUL).appendChild(this.newLI).appendChild(this.newSTR);
					cikkvSzkId = "";
                }
            });
		//aktualis ar kiszamolasanak vege        
		});
		
        //aktualis ar beirasa az ardobozba
        $("pricebox_listPrice").innerHTML = priceListSumm + " Ft";
		$("pricebox_billPrice").innerHTML = priceBillSumm + " Ft";
		$("pricebox_monthlyPrice").innerHTML = priceMonthlySumm + " Ft";
		
		
        //ARVALTOZAS kiszamolasa **************************************
		cikkvTxt = "";
		cikkArr = [];
        
        //termekek
        termek.each( function( termElement ) {
			aktGood = termElement[0];

			//form elemek
            Form.getElements('goodsForm').each(function(formElement) {
				elementIdSplit = formElement.id.split('_');
                if ( (formElement.type == 'radio') && (aktGood == elementIdSplit[1]) ) { //csak az aktualis termekhez tartozo kerdesek
					//alert(cikkvalasz[cikkArr[length]+'_'+elementIdSplit[3]] + ' - cikkArr[length]:' + cikkArr[length] + ' - ' + elementIdSplit[3])
					if ( (!formElement.checked) && ( elementIdSplit[2] == 'cv' ) && ( $('priceCh_' + elementIdSplit[3]) ) ) { //csak a nonChecked radiok + cikkvalaszto kerdesek
                            $('priceCh_' + elementIdSplit[3]).style.display = 'block';

                        radioGroupName = formElement.name;
                        radioGroupArr = document.getElementsByName(radioGroupName);
                        if (radioGroupArr.length > 2) {
                            for (i=0; i<radioGroupArr.length; i++) {
                                if ( (cikkArr.length == 1) || (cikkArr.length == 3) ) { //alert(cikkvalasz[cikkArr[0]+'_'+elementIdSplit[3]]+'vaneilyen')
                                    if ( cikkvalasz[cikkArr[0]+'_'+elementIdSplit[3]] != undefined ) {
                                        cikkArr[1] = elementIdSplit[3];
                                        cikkvTxt = cikkArr[0]+'_'+elementIdSplit[3];
                                    }
                                }
                                else {
                                    cikkArr[0] = elementIdSplit[3];//alert('else')
                                }
                            }
                        }   
                    } else
                    //csak a nonChecked RADIO-k es a szorosan kapcsolodo kerdesek
					if ( (!formElement.checked) && ( elementIdSplit[2] == 'szk' ) && ( cikkvalasz[elementIdSplit[3]] != undefined) ) {
                        cikkvSzkId = cikkvalasz[elementIdSplit[3]];
                    }
                    if ( (!formElement.checked) && ( elementIdSplit[2] == 'szk' ) && ( $('priceCh_' + elementIdSplit[3]) ) ) {
                        $('priceCh_' + elementIdSplit[3]).style.display = 'block';
                    }
				}
				
				if ( (formElement.type == 'hidden') && (aktGood == elementIdSplit[1]) ) {
                    if ( ( elementIdSplit[2] == 'szk' ) && ( cikkvalasz[elementIdSplit[3]] != undefined) ) {
                        cikkvSzkId = cikkvalasz[elementIdSplit[3]];
                    } 
                }
				
                if ( cikkvalasz[elementIdSplit[3]] ) {
                    cikkvId = cikkvalasz[elementIdSplit[3]];
                }
				
                if (cikkArr[1] != "")
				{
					cikkvTxt = cikkArr[0] + '_' + cikkArr[1];
				}
                
                if ( cikkvalasz[cikkvTxt] != undefined ) {
                    cikkvId = cikkvalasz[cikkvTxt];
	                //arvaltozas kiirasa
                    $('priceCh_' + elementIdSplit[3] + '_list').innerHTML = cikk[cikkvId][1] + 'n***na';
                    $('priceCh_' + elementIdSplit[3] + '_bill').innerHTML = cikk[cikkvId][2] + 'n***na';
                    $('priceCh_' + elementIdSplit[3] + '_monthly').innerHTML = cikk[cikkvId][3] + 'n***na';
                    
                    //reset vars
                    cikkvId = "";
					cikkvTxt = "";
					cikkArr[1] = "";
					cikkArr[cikkArr.length] = "";
                }
				
                if ( (cikk[cikkvSzkId]) && ($('priceCh_' + elementIdSplit[3] + '_list')) ) {
                    //arvaltozas kiirasa
                    $('priceCh_' + elementIdSplit[3] + '_list').innerHTML = cikk[cikkvSzkId][1] + 'nna';
                    $('priceCh_' + elementIdSplit[3] + '_bill').innerHTML = cikk[cikkvSzkId][2] + 'nna';
                    $('priceCh_' + elementIdSplit[3] + '_monthly').innerHTML = cikk[cikkvSzkId][3] + 'nna';
                    
                    //reset var
                    cikkvSzkId = "";
                } //alert ('length: ' + cikkArr.length + '  [0]: ' + cikkArr[0] + ' [1]: ' + cikkArr[1] + ' elementIdSplit[3]: ' + elementIdSplit[3])
				if ( (cikkArr.length == 4) && (cikkArr[1] == "") )
				{
					cikkArr = [];
				}
			});
		});
	}
});
//cikkvalaszto arkalkulator vege  **********************


var gCalc = new goodsCalculator();

