/* * (c) eisei 2007-2008 * */ $(function(){ //config is van: var nyitooldal = true; //ez azert kell, hogy pl kirakjuk a csekboxokat, ahol valaszthat az userka a tobbi lap közülm, kéri-e. //ez donti el, milyen sorrendben jojjenek a kerdeses oldalak. var oldaltipusok_object = new Object(); oldaltipusok_object['1']=['agyak','Szeretne ajánlatot matracokra és lécesbetétekre?','Ajánaltkérés matracokra és lécesbetétekre']; oldaltipusok_object['2']=['haloszoba','Szeretne ajánlatot ágykeretekre és hálószoba bútorokra?','Ajánaltkérés hálószobabútorokra']; oldaltipusok_object['3']=['gyapju','Szeretne ajánlatot párnákra és gyapjútermékekre?','Ajánaltkérés gyapjútermékekre és párnákra']; //inicializálunk $('#f_ezmindiglatszoadat').attr('value','inicializálva üresnek'); $('#f_agytipus_select > option:eq(0)').attr('selected','selected'); $('#f_eagyanyag_select > option:eq(0)').attr('selected','selected'); //ezt az objektumot "listener" szerusegnek hasznaljuk. ha vmit elront au user, beleteszunk egy propertyt, ha kijavitja, kivesszuk. Minden interakcio utan meglessuk, hogy van-e az arrayban property, ha van, nem lephet tovabb. MAJD. var tovabblephet = new Array(); function addTovabblephet (ertek,ujraellenorzes) { var hozzaadhato=true; for (i in tovabblephet) { if (tovabblephet[i] == ertek) hozzaadhato=false; } if (hozzaadhato == true) tovabblephet.push(ertek); if (ujraellenorzes == true) isTovabblephete(); } function removeTovabblephet (ertek,ujraellenorzes) { var tmptomb = new Array(); for (i in tovabblephet) { if (tovabblephet[i] != ertek) tmptomb.push(tovabblephet[i]); } tovabblephet=tmptomb; if (ujraellenorzes == true) isTovabblephete(); } function isTovabblephete() { if (tovabblephet.length<1) { //$('#f_kesz_gomb').attr('disabled',''); } else { //alert ('hibak szama: ' + tovabblephet.length); //$('#f_kesz_gomb').attr('disabled','disabled'); } } //melyik lappal is kell kezdeni? ez lehet 1, 2 vagy 3. van-e urlben vmi info, vagy kezdjük az elsővel? var lapazonosito = $(document).getUrlParam("ajanlat") ? $(document).getUrlParam("ajanlat") : 1; if (oldaltipusok_object[lapazonosito][0] == undefined) { lapazonosito = 1; //elso oldal } //megjelenitjuk a szukseges oldalt... lapmegjelenites(lapazonosito); //indulasi hibak if (oldaltipusok_object[lapazonosito][0] == 'agyak') { addTovabblephet('nemvalasztottagytipust',true); //nem választott még ágytípust addTovabblephet('nemvalasztottagyanyagot',true); //nem választott még ágy anyagot } else if (oldaltipusok_object[lapazonosito][0] == 'haloszoba') { //foo } else if (oldaltipusok_object[lapazonosito][0] == 'gyapju') { //foo } else { alert ('bibi 2'); } //beallitjuk az oldalak kitoltesenek allapotat, ami egy szam: 2: kesz, 1: epp ezt csinaljuk, -1: nem eldontott, -2: nem kell. var oldal_kitoltesenek_allapota_array = new Array(); oldal_kitoltesenek_allapota_array[1]= -2;//agyak oldal_kitoltesenek_allapota_array[2]= -2;//haloszoba oldal_kitoltesenek_allapota_array[3]= -2;//gyapju //az epp aktualis oldalt kivalasztjuk (epp ezt csinaljuk) oldal_kitoltesenek_allapota_array[lapazonosito]= 1; //meghivjuk lapvaltast, ami most inicializalja a checkboxokat a tovabbi ajanlatokhoz. lapvaltas(); nyitooldal=false; //BIND: a tovabbi checkboxok valtogatjak mely lapok kellenek a kesobbiekben $('.tovabbiajanlatokcheck').click(function(){ var i = $(this).val(); oldal_kitoltesenek_allapota_array[i] = (oldal_kitoltesenek_allapota_array[i]==-1 ? -2 : -1); //alert (oldal_kitoltesenek_allapota_array[i]); tovabbgomb_atnevezes(); }); //BIND : tovább gombra a lapváltást rádobjuk. $('#f_kesz_gomb').click(function(){ lapvaltas(); return false; }); //BIND : agyak oldalon a nekem/paromnak izet elintezzuk: $('#agyak_sajatadataim_trigger').change(function() { if ($(this).val() == 1 ) { //magamnak $('.agyak_sajatadataim').attr('colSpan','2'); $('.agyak_sajatadataim + td').addClass('hidden'); } else { //páromnak is $('.agyak_sajatadataim').attr('colSpan','1'); $('.agyak_sajatadataim + td').removeClass('hidden'); } }); //majd egyből el is tüntetjük a párom részt, lévén a default az egyszemélyes érdeklődés. $('.agyak_sajatadataim').attr('colSpan','2'); $('.agyak_sajatadataim + td').addClass('hidden'); //BIND : gyapju oldalon a nekem/paromnak izet elintezzuk: $('#gyapju_sajatadataim_trigger').change(function() { if ($(this).val() == 1 ) { //magamnak $('.gyapju_sajatadataim').attr('colSpan','2'); $('.gyapju_sajatadataim + td').addClass('hidden'); } else { //páromnak is $('.gyapju_sajatadataim').attr('colSpan','1'); $('.gyapju_sajatadataim + td').removeClass('hidden'); } }); //majd egyből el is tüntetjük a párom részt, lévén a default az egyszemélyes érdeklődés. $('.gyapju_sajatadataim').attr('colSpan','2'); $('.gyapju_sajatadataim + td').addClass('hidden'); //eltüntetjük a lodaingot és megjelenítjük a valós tartalmat. $('#content_loading').addClass('hidden'); $('#content_loaded').removeClass('hidden'); // fuggvenyeink function tovabbgomb_atnevezes() { var len = oldal_kitoltesenek_allapota_array.length; var ennyioldalvan = 0; for (var i = 0; i < len; i++) { if (oldal_kitoltesenek_allapota_array[i]==-1) { ennyioldalvan++; } } if (ennyioldalvan > 0) { $('#f_kesz_gomb').attr('value','Tovább'); } else { $('#f_kesz_gomb').attr('value','Ajánlatkérés elküldése'); } } function hibatr_hiba(id,text) { //hiba megjenlenitese $('#hibatr_' + id +' > td > p').html( text ); $('#hibatr_' + id ).removeClass('hidden'); } function hibatr_siker(id) { //hiba eltuntetese $('#hibatr_' + id +' > td > p').html(''); $('#hibatr_' + id ).addClass('hidden'); } function lapmegjelenites(x) { //lap megjelenitese (lapszam) $('#lap_' + x).removeClass('hidden'); //Átállítjuk a navibart. $('#holvagyok').html(oldaltipusok_object[x][2]) } function lapeltuntetes(x) { //lap eltuntetese (lapszam) $('#lap_' + x).addClass('hidden'); } var ajax_levelkuldes_output=function(xml) { var ajax_error = 0; $(xml).find('kritikusHiba').each( function () { alert ('Kritikus hiba | id:' + $(this).attr('id') + ', hibaszöveg: ' + $(this).text()); ajax_error = 1; } ); if (ajax_error == 1) { alert("hiba, próbálja újra! (" + hiba +")"); } else { //alert("siker! (" + xml +") \n IRÁNY A KÖSZÖNÖOLDAL"); top.location="sikeres_ajanlatkeres.html" } } var ajax_hibaellenorzes_output=function(xml) { var ajax_error = 0; $(xml).find('kritikusHiba').each( function () { alert ('Kritikus hiba | id:' + $(this).attr('id') + ', hibaszöveg: ' + $(this).text()); ajax_error = 1; } ); $(xml).find('hiba').each( function () { hibatr_hiba($(this).attr('id'), $(this).text()); ajax_error = 1; } ); $(xml).find('siker').each( function () { hibatr_siker($(this).attr('id')); } ); //ha nincs hiba, lehet a következő lapra lépni. Ha nincs több lap, akkor el lehet küldeni a levelet a bionak és köszönni szépen. if (ajax_error == 0) { //eltuntetjuk a nevv es vim oldalt $('#lap_nevcim').addClass('hidden'); $('#tovabbi_megrendelesek_div').html(''); //eltüntetjük a további checkboxokat... oldal_kitoltesenek_allapota_array[lapazonosito]=2; lapeltuntetes(lapazonosito); var kovetkezooldal=0; var len = oldal_kitoltesenek_allapota_array.length; for (var i = 0; i < len; i++) { if (oldal_kitoltesenek_allapota_array[i]==-1) { kovetkezooldal=i; } } //ha nincs több oldal, levelet küldünk if (kovetkezooldal==0) { //alert ($('#bioform').html()); //de mindenekelött appendeljünk egyet. a bioformba beletesszuk hiddenekbe, melyik oldalakra volt kivancsi az user: var len = oldal_kitoltesenek_allapota_array.length; for (i in oldaltipusok_object) { if (oldal_kitoltesenek_allapota_array[i]!=-2) { $('#bioform').append(''); } } //alert ("kesz, megy a level..."); $('#bioform').ajaxSubmit({ type: "POST", url: 'inc/scripts/ajanlatkero_formfeldolgozas.php', beforeSubmit: showRequest, success: ajax_levelkuldes_output, error: function(hiba){ alert("hiba, próbálja újra! (" + hiba +")"); } }); //ha van több oldal, folytatjuk a kitöltést } else { //megjelenitjuk a kovetkezo oldalt. lapmegjelenites(kovetkezooldal); //az epp aktualis oldalt kivalasztjuk (epp ezt csinaljuk) oldal_kitoltesenek_allapota_array[kovetkezooldal]= 1; //atallitjuk a jelenlegi oldalt a kovetkezo, kitoltendo oldalra. lapazonosito=kovetkezooldal; //Átírjuk a továnn gombot, ha köll tovabbgomb_atnevezes(); } } else { //$('.systemlol').append('Hiba volt divet ki'); $('#hibap').html('Hiba történt a kérdőív kitöltése közben, kérem ellenőrizze!').removeClass('hidden'); } } ///////DEMO function showRequest(formData, jqForm, options) { return true; // formData is an array; here we use $.param to convert it to a string to display it // but the form plugin does this for you automatically when it submits the data var queryString = $.param(formData); // jqForm is a jQuery object encapsulating the form element. To access the // DOM element for the form do this: // var formElement = jqForm[0]; alert('About to submit: \n\n' + queryString); // here we could return false to prevent the form from being submitted; // returning anything other than false will allow the form submit to continue return true; } ///////DEMO //kapvaltas, azaz mi tortenik, ha megnyomjuk a kész/tovább gombot. ezen kivül inicializálája az első oldalt function lapvaltas() { //nyito oldal init if (nyitooldal==true) { //checkboxok kiirasa var ezeklesznekacheckboxok = '
| ' + oldaltipusok_object[i][1] + ' | ' +'' +' |