summaryrefslogtreecommitdiffstats
path: root/main/survey/js/DragDrop/dragdrop.js
diff options
context:
space:
mode:
Diffstat (limited to 'main/survey/js/DragDrop/dragdrop.js')
-rw-r--r--main/survey/js/DragDrop/dragdrop.js1550
1 files changed, 1550 insertions, 0 deletions
diff --git a/main/survey/js/DragDrop/dragdrop.js b/main/survey/js/DragDrop/dragdrop.js
new file mode 100644
index 0000000..d379c7f
--- /dev/null
+++ b/main/survey/js/DragDrop/dragdrop.js
@@ -0,0 +1,1550 @@
+//var refresh = 0;
+var refresh = [];
+var skatlastOkvir = [];
+
+//************funkcija, ki skrbi za inicializacijo draggable elementov in delovanje drag and drop ob dvojnem kliku
+function Draggable(tip, spremenljivka, vre_id, ajax, anketa, site_url, usr_id, other, mobile){
+ var top_cat = -1;
+ var left_cat = -1;
+ if (mobile == 0 || mobile == 2){
+ top_cat = -6;
+ left_cat = -6;
+ }
+
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).addClass('drag_and_drop').detach().appendTo('#half_frame_dropping_'+spremenljivka) //zeleni element s kategorijami dodaj v zacetnem kontejnerju
+ .draggable({ //ureditev, da je element draggable
+ cursor: 'move',
+ //revert: true,
+ revert: function(socketObj)
+ {
+ checkBranching();
+ //if false then no socket object drop occurred, reverting happens
+ if(socketObj === false){
+ //ce je tip kategorije en odgovor in smo premaknili kategorijo odgovora od levega okvirja proti desnemu
+ if (tip == 1 && draggableOver[spremenljivka] == true){
+ $('#half2_frame_dropping_'+spremenljivka).toggleClass('frame_dropping_hover_right_single');//sprozi preklop sloga levega okvirja
+ //console.log('Yo!');
+ }
+ draggableOver[spremenljivka] = false;
+ return true;
+ }
+ else {
+ return false;
+ }
+ },
+ //stack: '#half_'+spremenljivka+' div',
+ stack: '#half2_'+spremenljivka+' div',
+ opacity: 0.9,
+ containment: '#prestavljanje_'+spremenljivka,
+ })
+ .dblclick(function() { //ob dvojnem kliku na kategorijo, to prenesi kot odgovor na ustrezno mesto
+ var vre_id = $(this).attr('value');
+ var id_parent = $(this).parent().attr('id'); //hrani id bloka v katerem se trenutno nahaja mozen odgovor
+ var other = $(this).attr('missing'); //spremenljivka, ki hrani vrednost atributa missing
+ var other_present = $('#half2_frame_dropping_'+spremenljivka).children('div').attr('missing'); //missing, ki je trenutno v desnem bloku
+ checkBranching();
+
+ if (id_parent == 'half_frame_dropping_'+spremenljivka){ //ce je trenuten odgovor v levem bloku
+ if( ( (tip == 1 && other == 0) ) || ( (tip == 2) && (other_present != 0) ) || ( (other != 0) ) ) {//ce je preneseni odgovor tipa 1 ("radio") in ni missing-a,
+ //ALI ce je preneseni odgovor tipa 2 ("checkbox") in je missing prisoten v desnem bloku ALI ce je preneseni odgovor missing
+ //sprazni blok z odgovori oz. prenesi morebitne obstojece odgovore nazaj v levi blok in zbrisi trenutni (missing) odgovor iz baze
+ if (ajax){ //zbrisi trenutne odgovore iz baze
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop2_data', {spremenljivka: spremenljivka, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke
+ }
+ $('.ui-draggable[name="vrednost_'+spremenljivka+'"]').appendTo('#half_frame_dropping_'+spremenljivka);//prenesi skupino odgovorov v levi (zacetni) blok
+ }
+
+ $('#half2_frame_dropping_'+spremenljivka).prepend(this); //pripopaj na zacetek seznama odgovorov (desni blok) izbrani missing
+ if (ajax){ //vnesi missing odgovor v bazo
+ $.post(site_url+'/main/survey/ajax.php?a=accept_dragdrop1', {spremenljivka: spremenljivka, vre_id: vre_id, anketa: anketa, usr_id: usr_id}); //post-aj potrebne podatke
+ }
+
+ draggableOver[spremenljivka] = false;
+ draggableOnDroppable[vre_id] = true; //kategorija odgovora je v desnem okviru
+
+ } //konec if za levi blok
+ else if(id_parent == 'half2_frame_dropping_'+spremenljivka){ //ce je trenuten odgovor v desnem bloku
+
+ if(other != 0 || other == 0){
+ var vre_id = $(this).attr('value');
+ $('#half_frame_dropping_'+spremenljivka).prepend(this); //pripopaj prenesno na zacetek seznama kategorij
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).draggable( 'option', 'appendTo', '#half_frame_dropping_'+spremenljivka);
+ $('#vrednost_if_'+usr_id).remove();
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke
+ }
+ }
+
+/* if(other == 0){
+ var vre_id = $(this).attr('value');
+ $('#half_'+spremenljivka).prepend(this); //pripopaj preneseno na zacetek seznama kategorij
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).draggable( 'option', 'appendTo', '#half_'+spremenljivka);
+ $('#vrednost_if_'+usr_id).remove();
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke
+ }
+ } */
+ draggableOver[spremenljivka] == false; //nismo vec v over dogodku
+ draggableOnDroppable[vre_id] = false;
+ } //konec if za desni blok
+
+ });
+
+ //dodajanje atributov, ki so prisotni pri vseh ostalih kategorijah odgovorov
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).attr({'value':vre_id, 'name':'vrednost_'+spremenljivka, 'onclick':'checkBranching();', 'missing':other});
+
+ //ureditev visine kategorije (div) glede na prisotnost slike ali vecvrsticnega teksta
+ var default_cat_height = 15;
+ var final_height = 0;
+ //var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).text().length; //hrani stevilo znakov, ki so vpisani v trenutni kategoriji odgovora
+ var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html().length; //hrani stevilo znakov, ki so vpisani v trenutni kategoriji odgovora
+ //console.log('Število znakov v kategoriji: '+cat_text_length);
+
+ var num_of_br = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' br').length; //hrani stevilo br oz. ročnih vnosov novih vrstic
+ //console.log('Število br v kategoriji: '+num_of_br);
+
+ var num_imgs = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').length; //hrani stevilo img v interesiranem div-u
+ //console.log('Število slik v kategoriji: '+num_imgs);
+
+ var max_cat_text_length = 30; //hrani max stevilo dolzine teksta do katerega ni potrebno samodejno dodati <br>
+
+
+ if( (cat_text_length > max_cat_text_length) && (num_of_br == 0) && (num_imgs == 0) ){//ce je tekst daljsi od 30 znakov, nima breakov ali slik dodaj <br>
+ //if( (cat_text_length > max_cat_text_length) ){//ce je tekst daljsi od 35 znakov dodaj <br>
+ //console.log('Tekst je daljši od '+max_cat_text_length+' znakov');
+ //var txt2 = txt1.slice(0, 3) + "bar" + txt1.slice(3);
+ //var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).text();
+ var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html();
+ //console.log(txt);
+ var txt_alt = txt.slice(0, max_cat_text_length) + "<br>" + txt.slice(max_cat_text_length);
+ //console.log(txt_alt);
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html(txt_alt);
+ final_height = final_height + default_cat_height + 25;
+ //console.log(final_height);
+ }
+ /* else if( (cat_text_length > max_cat_text_length) && (num_of_br == 0) && (num_imgs != 0) ){//ce je tekst daljsi od 35 znakov, nima breakov, ima pa sliko dodaj <br>
+
+ var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html();
+ console.log(txt);
+ var n_img_start = txt.search("<img"); //var n = str.search("W3Schools"); //hrani index, kjer se začne html za sliko
+ var n_img_end = txt.indexOf(">");
+ console.log(n_img_start);
+ console.log(n_img_end);
+ //var txt_alt = txt.slice(0, max_cat_text_length) + "<br>" + txt.slice(max_cat_text_length);
+ //console.log(txt_alt);
+ //$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html(txt_alt);
+ //final_height = final_height + default_cat_height + 25;
+ //console.log(final_height);
+
+ } */
+
+
+ if (num_imgs != 0){ // ce imamo sliko
+
+ var img_height = 0;
+ //var max_width = $('.ranking').width();
+ var max_width = 230;
+ var img = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img');
+ var img_width = img.width();
+ //console.log("img_width: "+img_width);
+
+ var img_height = img.height();
+ //console.log("img_height: "+img_height);
+
+ if (img_width > max_width){
+ img_height = (img_height / img_width) * max_width;
+ img.css({width: max_width});
+ img.css({height: img_height});
+ //$('#vre_id_'+vre_id).css({height: height});
+ //console.log("Vecji od max width");
+ }
+
+ //ureditev mobilne različice prikazovanja slik znotraj kategorij odgovorov
+/* if (mobile == 1){ //ce je mobilnik
+ img_height = (img_height / img_width) * 100;
+ img_width = 100;
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').attr('style', 'margin: auto !important'); //dodaj atribut
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').css({'height':img_height,'width':img_width}); //ustrezno spremeni visino in sirino slike
+ } */
+ //ureditev mobilne različice prikazovanja - konec
+
+ //console.log("img_height: "+img_height);
+ if(img_height > 25){ //ce je visina slike vecja od default visine kategorije
+ final_height = final_height + img_height;
+ }
+
+
+
+ //ureditev visine variable_holder, ki je znotraj okvirja !!!!!!!!!!
+ //$('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').css({'height':(final_height + img_height)+'px'});
+ }
+
+ if(num_of_br != 0){
+ var br_height = num_of_br*25;
+
+ if (num_imgs == 0){
+ final_height = final_height + default_cat_height + br_height;
+ }
+ else{
+ final_height = final_height + br_height;
+ }
+
+
+ //console.log(final_height);
+ if( (img_height < 25) && (img_height != 0) ){
+ final_height = final_height + img_height;
+ }
+ }
+ if (final_height != 0){
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).css({'height':final_height}); //dodaj style atributu še novo višino za levi blok
+ }
+ //ureditev visine kategorije (div) glede na prisotnost slike ali vecvrsticnega teksta - konec
+
+
+}
+//***********************************************************************
+
+//*********funkcija, ki skrbi za delovanje drag and drop funkcionalnosti
+function DragDropDelovanje(tip, spremenljivka, site_url, ajax, anketa, usr_id, num_of_cats, mobile, checkbox_limit){
+ //*****za mobilne naprave
+ var top_cat = -1;
+ var left_cat = -1;
+ var default_var_height = 290;
+ if (mobile == 0 || mobile == 2){
+ top_cat = -6;
+ left_cat = -6;
+ default_var_height = 220; //default visina celotnega vprasanja @ mobile == 0 (desktop) in mobile == 2 (tablica)
+ }
+
+ //*********************
+ //ureditev visine celotnega vprasanja, ce je ta visja od default-a*******************************************************************
+ var cat_total_height_left = 0; //hrani trenutno visino levega okvirja kategorij odgovorov
+ var cat_margin_left = 0;
+ var cat_max_height = 0; //hrani trenutno najvecjo visino trenutne kategorije
+ var cat_default_inline_text_length = 16; //default dolzina teksta v eni vrstici kategorij odgovorov
+ //var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').height(); //visina naslova vprasanja (besedila vprasanja)
+ var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').outerHeight(true); //visina naslova vprasanja (besedila vprasanja)
+ var visinaPaddingovMarginovVprasanja = $('#spremenljivka_'+spremenljivka).outerHeight(true) - $('#spremenljivka_'+spremenljivka).height();
+ var visinaPaddingovMarginovHolder = $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').outerHeight(true) - $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height();
+ var pomoznoBesediloHeight = 40; //visina besedila "Razpoložljive kategorije:"
+ //ureditev visine puscice med blokoma okvirjev
+ var variable_holder_height = $('#spremenljivka_'+spremenljivka+' .variable_holder').height(); //visina variable_holder, potrebna za visino puscice med blokoma
+
+ $('#spremenljivka_'+spremenljivka+' td.middle img').css({'top' : (naslov_height + variable_holder_height/2) + 'px'}); //visina puscice med blokoma okvirjev
+
+
+
+ if (ajax){
+ //console.log('Getting data on load');
+ $.get(site_url+'/main/survey/ajax.php?a=get_dragdrop1_data', {spremenljivka: spremenljivka, anketa: anketa}, function(data){ //get potrebnih podatkov za resevanje missing
+
+ var array_length = data.length; //hrani koliko podatkov je prisotnih v polju s podatki iz baze
+ var vre_id = []; //polje, ki hrani id-je vrednosti vseh kategorij odgovorov interesirane spremenljivke
+ //var cat_total_height = 0; //hrani trenutno visino celotnega trenutnega vprasanja
+
+ //console.log(array_length); //prikazi koliko podatkov je prisotnih v polju s podatki iz baze
+ for(var i = 0; i < array_length; i++){ //sprehodi se po vseh vrednostih polja vre_id
+ vre_id[i] = data[i]; //polje iz podatkov iz baze data[], shrani v polje vre_id[]
+
+ var cat_height = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).height(); //visina kategorije z oznako
+ var cat_height_real = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).outerHeight(true); //realna visina kategorije z oznako
+
+ //console.log('Visina '+(i + 1)+': '+cat_height_real);
+
+ if(mobile == 1){ //ko je mobilnik, uredi velikost okvirja kategorije glede na dolzino besedila
+ var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).text().length; //dolzina teksta v kategoriji odgovora
+ //console.log("Dolžina besedila v kategoriji: "+cat_text_length);
+ if(cat_text_length > (cat_default_inline_text_length)*2 ){ //ce je dolzina teksta v kategoriji daljsa 2-krat vec od default (16)
+ //console.log("Tekst je daljši!");
+ var num_of_rows = cat_text_length / cat_default_inline_text_length;
+ //console.log("num_of_rows: "+num_of_rows);
+ cat_height_real = cat_height_real + 25 * (num_of_rows - 2); //trenutno visino kategorije povecaj za 25
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).css({'height':(cat_height_real)+'px'}); //spremeni visino kategorije
+ }
+ }
+
+ cat_total_height_left = cat_total_height_left + cat_height_real; //izracun koncne realne visine levega okvirja
+
+ if (cat_max_height < cat_height){ //ce je maksimalna visina kategorije manjsa od trenutne visine kategorije
+ cat_max_height = cat_height; //naj bo vrednost max visine kategorije trenutna visina kategorije
+ }
+
+ }
+
+ var koncnaVisinaVprasanja = cat_total_height_left + naslov_height + pomoznoBesediloHeight + visinaPaddingovMarginovVprasanja + visinaPaddingovMarginovHolder*4;
+
+ commentHeight = GetCommentHeight(spremenljivka);
+
+ $('#spremenljivka_'+spremenljivka).css({'height':(koncnaVisinaVprasanja + commentHeight)+'px'});
+
+ $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').css({'height':(koncnaVisinaVprasanja*0.90)+'px'}); //visina variable_holder
+
+ //*************urejanje visine levega okvirja kategorij odgovorov
+ $('#half_frame_dropping_'+spremenljivka).css({'height':(cat_total_height_left)+'px'});//visina levega okvirja
+
+ //*************urejanje visine desnega okvirja glede na visino levega okvirja, ki hrani kategorije odgovorov
+ if (tip != 1){ //ce nimamo kategorije vec odgovorov
+ $('#half2_frame_dropping_'+spremenljivka).css({'height':(cat_total_height_left)+'px'}); //visina desnega okvirja
+ }
+ else if (tip == 1){ //ce imamo kategorije en odgovor
+ $('#half2_frame_dropping_'+spremenljivka).css({'height':(cat_max_height)+'px'});//visina desnega okvirja
+ }
+
+ default_var_height = $('#spremenljivka_'+spremenljivka).height();
+ //console.log("default_var_height konec: "+default_var_height);
+
+ //urejanje visine na kateri se nahaja gumb za ponastavljanje vprašanja
+ ResetButtonHeight(spremenljivka);
+ //urejanje visine na kateri se nahaja gumb za ponastavljanje vprašanja - konec
+
+ }, "json");
+ }
+
+
+
+
+ //***********************************************************************************************************************************
+ $('#half_frame_dropping_'+spremenljivka)
+ .droppable({
+ //hoverClass: 'frame_ranking_hover',
+ hoverClass: 'frame_dropping_hover',
+ drop: function (event, ui) {
+ checkBranching();
+ //$(this).prepend(ui.draggable); //pripopaj na zacetek seznama odgovorov (desni blok)
+ //ui.draggable.position( { of: $(this), my: 'left top', at: 'left top' } ); //pozicijoniraj levi zgornji del elementa z odgovorom na levem zgornjem delu droppable
+ //ui.draggable.offset( { of: $(this), my: 'left top', at: 'left top' } );
+
+ //$(ui.draggable).detach().css({top: -6,left: -6}).appendTo(this);
+ $(ui.draggable).detach().css({top: top_cat,left: left_cat}).appendTo(this);
+ //$(ui.draggable).addClass('drag_and_drop').detach().appendTo(this);
+ $(ui.draggable).addClass('drag_and_drop_right');
+
+ //brisi podatke prenesenega odgovora iz baze
+ var vre_id = ui.draggable.attr('value');
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke za brisanje
+ }
+ draggableOver[spremenljivka] == false; //nismo vec v over dogodku
+ draggableOnDroppable[vre_id] = false;
+
+ },
+ out: function (event, ui) { //ob izhodu iz drop zone
+ //answer_coming[spremenljivka] = true;
+ //console.log('out');
+ $(ui.draggable).removeClass('drag_and_drop_right');
+ $(ui.draggable).addClass('drag_and_drop');
+ }
+ });
+
+ //var stevilo_zdaj = $('#half2_frame_dropping_'+spremenljivka).children('div').attr('missing');
+ //var other_present = $(this).children('div').attr('missing');
+ //console.log(stevilo_zdaj);
+
+ //if (tip == 1 && ($('#half2_frame_dropping_'+spremenljivka).children('.ranking').length != 0) ){ //ce je tip vprasanja kategorije en odgovor
+ if (tip == 1){ //ce je tip vprasanja kategorije en odgovor
+ $('#half2_frame_dropping_'+spremenljivka)
+ .droppable({
+ //hoverClass: 'frame_ranking_hover',
+ hoverClass: 'frame_dropping_hover_right_single',
+ //accept: '#half_'+spremenljivka+' div',
+ drop: function (event, ui) { //ob dropanju odgovora v desni blok
+ //console.log("Drop");
+ checkBranching();
+
+ var vre_id = ui.draggable.attr('value');
+ var other = ui.draggable.attr('missing'); //spremenljivka, ki hrani vrednost atributa missing
+ var other_present = $(this).children('div').attr('missing'); //missing, ki je trenutno v desnem bloku
+ var cat_right = $(this).children('div').css('height'); //ali je prisotna kaksna kategorija v desnem okvirju? Undefined = ne
+
+
+ //ce je preneseni odgovor tipa 1 ("radio") in ni missing-a,
+ //ALI ce je preneseni odgovor tipa 2 ("checkbox") in je missing prisoten v desnem bloku
+ //ALI ce je preneseni odgovor missing
+ //sprazni blok z odgovori oz. prenesi morebitne obstojece odgovore nazaj v levi blok
+ if( ( (tip == 1 && other == 0 && cat_right) ) || ( (tip == 2) && (other_present != 0) ) || ( (other != 0) ) ) {
+ $('.ui-draggable[name="vrednost_'+spremenljivka+'"]').appendTo('#half_frame_dropping_'+spremenljivka);//prenesi skupino odgovorov v levi (zacetni) blok
+ }
+
+ //pozicioniranje draggable na pravo mesto
+ $(ui.draggable).removeClass('drag_and_drop');//odstranimo, ker je nepotrebno na levi strani
+ $(ui.draggable).detach().css({top: top_cat,left: left_cat}).appendTo(this); //najprej pozicioniramo na zacasni lokaciji
+ $(ui.draggable).addClass('drag_and_drop_right');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ //pozicioniranje draggable na pravo mesto - konec
+
+ if (ajax){
+ //post-aj potrebne podatke za belezenje v bazo
+ //in zbrisi trenutno hranjene podatke, ce je to potrebno
+ $.post(site_url+'/main/survey/ajax.php?a=accept_dragdrop1', {other_present: other_present, other: other, cat_right: cat_right, tip: tip, spremenljivka: spremenljivka, vre_id: vre_id, anketa: anketa, usr_id: usr_id});
+ }
+ draggableOver[spremenljivka] = false; //zabelezi, da draggable ni vec over
+ draggableOnDroppable[vre_id] = true; //kategorija odgovora je v desnem okviru
+ },
+ over: function (event, ui) { //ob izhodu iz drop zone
+ draggableOver[spremenljivka] = true; //zabelezi, da je draggable over
+ checkBranching();
+ },
+ out: function (event, ui) { //ob izhodu iz drop zone
+ draggableOver[spremenljivka] = false; //zabelezi, da draggable ni vec over
+ $(ui.draggable).removeClass('drag_and_drop_right'); //odstranimo slog, ker drugace se draggable ne vidi, ko ga premikamo
+/* var vre_id = ui.draggable.attr('value');
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke za brisanje
+ } */
+ }
+ });
+ }
+ //else if( tip == 2 || (tip == 1 && ($('#half2_frame_dropping_'+spremenljivka).children('.ranking').length == 0) ) ) { //ce je tip vprasanja kategorije vec odgovorov in pri kategorije en odgovor ni nobenih odgovorov v desnem okvirju
+ else if( tip == 2 ) { //ce je tip vprasanja kategorije vec odgovorov in pri kategorije en odgovor ni nobenih odgovorov v desnem okvirju
+ $('#half2_frame_dropping_'+spremenljivka)
+ .droppable({
+ //hoverClass: 'frame_ranking_hover',
+ hoverClass: 'frame_dropping_hover',
+ //accept: '#half_'+spremenljivka+' div',
+ drop: function (event, ui) { //ob dropanju odgovora v desni blok
+ checkBranching();
+ //console.log("Drop");
+
+ var vre_id = ui.draggable.attr('value');
+ var other = ui.draggable.attr('missing'); //spremenljivka, ki hrani vrednost atributa missing
+ var other_present = $(this).children('div').attr('missing'); //missing, ki je trenutno v desnem bloku
+
+
+
+ if( ( (tip == 2) && (other_present != 0) ) || ( (other != 0) ) ) {
+ //ce je preneseni odgovor tipa 2 ("checkbox") in je missing prisoten v desnem bloku
+ //ALI ce je preneseni odgovor missing
+ //sprazni blok z odgovori oz. prenesi morebitne obstojece odgovore nazaj v levi blok
+ $('.ui-draggable[name="vrednost_'+spremenljivka+'"]').appendTo('#half_frame_dropping_'+spremenljivka);//prenesi skupino odgovorov v desni (zacetni) blok
+ }
+
+ var numItems = $(this).children('div').length; //trenutno stevilo elementov v desnem okvirju
+ numItems=numItems+1;
+ if(checkbox_limit!=0&&numItems>checkbox_limit){ //ce je nastavljen limit in stevilo elementov vecje od limita
+ ui.draggable.draggable('option','revert',true); //vrni preneseni in odvecni element nazaj v levi okvir
+ }else{ //drugace
+ //pozicioniranje draggable na pravo mesto
+ $(ui.draggable).removeClass('drag_and_drop'); //odstranimo, ker je nepotrebno na levi strani
+ $(ui.draggable).detach().css({top: top_cat,left: left_cat}).appendTo(this); //najprej pozicioniramo na zacasni lokaciji
+ $(ui.draggable).addClass('drag_and_drop_right'); //dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ //pozicioniranje draggable na pravo mesto - konec
+ if (ajax){
+ //post-aj potrebne podatke za belezenje v bazo
+ //in zbrisi trenutno hranjene podatke, ce je to potrebno
+ $.post(site_url+'/main/survey/ajax.php?a=accept_dragdrop1', {other_present: other_present, other: other, tip: tip, spremenljivka: spremenljivka, vre_id: vre_id, anketa: anketa, usr_id: usr_id}); //post-aj potrebne podatke za belezenje v bazo
+ }
+ }
+ },
+ out: function (event, ui) { //ob izhodu iz drop zone
+ $(ui.draggable).removeClass('drag_and_drop_right'); //odstranimo slog, ker drugace se draggable ne vidi, ko ga premikamo
+/* var vre_id = ui.draggable.attr('value');
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke za brisanje
+ } */
+ }
+ });
+ }
+
+ //Ureditev povrnitve odgovorov (iz desne strani) v levo
+ $('#resetDragDrop_'+spremenljivka).click(function(){
+
+ var rightFrameHasChildren = ($('#half2_frame_dropping_'+spremenljivka).has('div').length ? 'Da' : 'Ne');
+ //console.log("Imamo kaj v desnem okvirju? "+rightFrameHasChildren);
+
+ if (rightFrameHasChildren == 'Da'){
+ $('#half2_frame_dropping_'+spremenljivka).children('div').each(function(index) { //preleti vse prisotne odgovore v desnem okvirju
+ var vre_id = $(this).val();
+ //console.log(index + ": " + vre_id);
+ $('#half_frame_dropping_'+spremenljivka).prepend(this); //pripopaj prenesno na zacetek seznama kategorij
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).draggable( 'option', 'appendTo', '#half_'+spremenljivka);
+ $('#vrednost_if_'+usr_id).remove();
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop1_data', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa}); //post-aj potrebne podatke
+ }
+ draggableOver[spremenljivka] == false; //nismo vec v over dogodku
+ draggableOnDroppable[vre_id] = false;
+ });
+ //console.log("Reset answers");
+ }
+ });
+
+
+}
+//**************************************************************************************
+//************funkcija, ki skrbi za inicializacijo draggable elementov pri gridih
+function GridDraggable(tip, spremenljivka, vre_id, ajax, anketa, site_url, usr_id, other, mobile, skatle)
+{
+ //*****za mobilne naprave
+ var top_cat = -1;
+ var left_cat = -1;
+ if (mobile == 0 || mobile == 2){
+ top_cat = -6;
+ left_cat = -6;
+ top_cat_right = 30;
+ }
+ //*********************
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).addClass('drag_and_drop').detach().appendTo('#half_frame_dropping_'+spremenljivka) //zeleni element s kategorijami dodaj v zacetnem kontejnerju
+ .draggable({ //ureditev, da je element draggable
+ cursor: 'move',
+ //revert: true,
+ helper: 'original',
+ zIndex: 100,
+ revert: function(socketObj)
+ {
+ checkBranching();
+ var revert = false;
+ var cat_default_height = 37;
+ var cat_margin_left = 10 + 5*2 + 1*2;
+ //var indeks_revert_1 = last_indeks[spremenljivka];
+ var last_vre_id_revert = last_vre_id[spremenljivka];
+ var trenutna_vre_id_revert = vre_id_global[spremenljivka];
+ //console.log("trenutna_vre_id_revert: "+trenutna_vre_id_revert);
+ //var indeks_revert = indeks_global[spremenljivka];
+ var indeks_revert = last_drop[trenutna_vre_id_revert];
+ vre_id = trenutna_vre_id_revert;
+ //grd_id = last_indeks[spremenljivka];
+ grd_id = indeks_revert;
+ var prejsnji_okvir = $('#half2_frame_dropping_'+last_indeks[spremenljivka]+'_'+spremenljivka);
+ var trenutni_okvir = $('#half2_frame_dropping_'+last_drop[trenutna_vre_id_revert]+'_'+spremenljivka);
+ var draggable = draggable_global[trenutna_vre_id_revert];
+ var skatle = skatlastOkvir[spremenljivka];
+ //console.log("Skatle za "+spremenljivka+" so:"+skatle);
+
+ //if false then no socket object drop occurred.
+ if(socketObj === false){
+ //revert the peg by returning true
+ //console.log("Reverting!")
+ revert = true;
+
+ if(tip == 6){
+ //ce odgovora ni v levem okvirju (ima indeks = 0),
+ //ce se odgovor reverta nazaj v desni okvir
+ if(indeks_revert != 0){
+ //oznacimo, da je trenutna kategorija odgovora v desnem okvirju
+ draggableOnDroppable[last_vre_id_revert][indeks_revert] = true;
+ //draggableOverDroppable[vre_id] = false;
+ draggableOverDroppable[vre_id][indeks_revert] = true;
+ //console.log('draggableOverDroppable['+vre_id+']['+indeks_revert+']: '+draggableOverDroppable[vre_id][indeks_revert]);
+ //postimajo visino
+ frame_and_question_height(trenutni_okvir, spremenljivka, num_grids_global[spremenljivka], cat_margin_left, cat_default_height, draggable);
+ //console.log("Frame and question height iz reverta");
+ }
+ var prejsnji_okvir_kat_prisotna = [];
+ var stevilo_prisotnih = prejsnji_okvir.children('div').length;
+ //console.log("stevilo_prisotnih:"+stevilo_prisotnih);
+ //var prejsnji_okvir_kat_prisotna = prejsnji_okvir.children('div').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju
+
+ for(var z = 1; z <= stevilo_prisotnih; z++){
+ prejsnji_okvir_kat_prisotna[z] = prejsnji_okvir.children('div :nth-child('+z+')').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju, kateri odgovori so prisotni
+ //console.log("prejsnji_okvir_kat_prisotna["+z+"]: "+prejsnji_okvir_kat_prisotna[z]);
+ //}
+ //console.log("Tukaj!");
+ //ce zadnje obiskani okvir je bil eden od desnih in smo startali iz levega
+ if(last_indeks[spremenljivka] != 0 && indeks_revert == 0){
+ //spremeni velikost zadnje obiskanega desnega okvirja
+ //console.log("Tukaj!");
+ if(prejsnji_okvir_kat_prisotna[z] === undefined){
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids_global[spremenljivka], cat_margin_left, draggable_global[trenutna_vre_id_revert]);
+ }
+ last_indeks[spremenljivka] = 0;
+ }
+ //ce prejsnji okvir ni trenutni in ne revert-amo nazaj v levi okvir
+ if ( (last_indeks[spremenljivka] != last_drop[trenutna_vre_id_revert]) && (indeks_revert != 0) ){
+ //uredi velikost okvirja
+ frame_height(spremenljivka, vre_id, grd_id, revert);
+
+ //ce ni kategorije z odgovorom v okvirju
+ if(prejsnji_okvir_kat_prisotna[z] === undefined){
+ //uredi velikost zadnje obiskanega okvirja
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids_global[spremenljivka], cat_margin_left, draggable_global[trenutna_vre_id_revert]);
+ }
+
+ //uredi velikost celotnega vprasanja
+ //console.log("Uredi velikost celotnega vprašanja");
+ //*******************dinamicna visina celotnega vprasanja glede na vsebino prenesenih desnih okvirjev
+ //var default_var_height = $('#spremenljivka_'+spremenljivka).height();
+ var default_var_height = 1;
+ dynamic_question_height(spremenljivka, num_grids_global[spremenljivka], mobile, skatle);
+ //************************************ konec - dinamicna visina celotnega vprasanja glede na visino prenesenih desnih okvirjev
+
+ }
+ }
+
+ //ce so skatlasti okvirji
+ if(skatle){
+ //console.log("Imamo skatle ob revertu");
+ //$(draggable).addClass('drag_and_drop_box_right');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ $(draggable).addClass('drag_and_drop_box_right_after_refresh');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ var pravaVisina = calcPravaVisina(prejsnji_okvir, draggable, 0, spremenljivka, 0, 0, 1); //calcPravaVisina(okvir, draggable, indeks, spremenljivka, refresh, zapStevKategorije, revert) //visina/pozicija prenesene kategorije v desnem okvirju
+ //console.log("pravaVisina:"+pravaVisina);
+
+ //ustavi animacijo revert-a, da za tem lahko takoj pozicioniramo kategorijo odgovora na pravo mesto
+ //$(draggable).finish();
+ //$(draggable).stop();
+
+ //pozicioniraj kategorijo odgovora na pravo mesto
+ $(draggable).css({top:pravaVisina+'!important'});
+ //pozicioniraj kategorijo odgovora na pravo mesto - konec
+
+
+ }
+ }
+ return true;
+ }
+ else{
+ //socket object was returned,
+ //we can perform additional checks here if we like
+ //alert(socketObj.attr('id')); would work fine
+ //console.log(socketObj.attr('id'));
+ //return false so that the peg does not revert
+ //console.log("Success!");
+ revert = false;
+ return false;
+ }
+ },
+ stack: '#half2_'+spremenljivka+' div',
+ opacity: 0.9,
+ containment: '#spremenljivka_'+spremenljivka,
+ });
+
+
+ //dodajanje atributov, ki so prisotni pri vseh ostalih kategorijah odgovorov
+
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).attr({'reverted':false,'value':vre_id, 'name':'vrednost_'+spremenljivka, 'onclick':'checkBranching();', 'missing':other});
+
+ //ce je tabela vec odgovorov, rabimo clone
+ if(tip == 16){
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).draggable( "option", "helper", "clone" );
+ }
+
+ //ureditev visine kategorije (div) glede na prisotnost slike ali vecvrsticnega teksta
+ var default_cat_height = 15;
+ var final_height = 0;
+ //var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).text().length; //hrani stevilo znakov, ki so vpisani v trenutni kategoriji odgovora
+ var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html().length; //hrani stevilo znakov, ki so vpisani v trenutni kategoriji odgovora
+ //console.log('Število znakov v kategoriji: '+cat_text_length);
+
+ var num_of_br = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' br').length; //hrani stevilo br oz. ročnih vnosov novih vrstic
+ //console.log('Število br v kategoriji: '+num_of_br);
+
+ var num_imgs = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').length; //hrani stevilo img v interesiranem div-u
+ //console.log('Število slik v kategoriji @grids: '+num_imgs);
+
+ var max_cat_text_length = 30; //hrani max stevilo dolzine teksta do katerega ni potrebno samodejno dodati <br>
+
+
+ if( (cat_text_length > max_cat_text_length) && (num_of_br == 0) && (num_imgs == 0) ){//ce je tekst daljsi od 30 znakov, nima breakov ali slik dodaj <br>
+ //if( (cat_text_length > max_cat_text_length) ){//ce je tekst daljsi od 35 znakov dodaj <br>
+ //console.log('Tekst je daljši od '+max_cat_text_length+' znakov');
+ //var txt2 = txt1.slice(0, 3) + "bar" + txt1.slice(3);
+ //var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).text();
+ var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html();
+ //console.log(txt);
+ var txt_alt = txt.slice(0, max_cat_text_length) + "<br>" + txt.slice(max_cat_text_length);
+ //console.log(txt_alt);
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html(txt_alt);
+ final_height = final_height + default_cat_height + 25;
+ //console.log(final_height);
+ }
+ /* else if( (cat_text_length > max_cat_text_length) && (num_of_br == 0) && (num_imgs != 0) ){//ce je tekst daljsi od 35 znakov, nima breakov, ima pa sliko dodaj <br>
+
+ var txt = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html();
+ console.log(txt);
+ var n_img_start = txt.search("<img"); //var n = str.search("W3Schools"); //hrani index, kjer se začne html za sliko
+ var n_img_end = txt.indexOf(">");
+ console.log(n_img_start);
+ console.log(n_img_end);
+ //var txt_alt = txt.slice(0, max_cat_text_length) + "<br>" + txt.slice(max_cat_text_length);
+ //console.log(txt_alt);
+ //$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).html(txt_alt);
+ //final_height = final_height + default_cat_height + 25;
+ //console.log(final_height);
+
+ } */
+
+
+ if (num_imgs != 0){ // ce imamo sliko
+
+ var img_height = 0;
+ //var max_width = $('.ranking').width();
+ var max_width = 230;
+ var img = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img');
+ var img_width = img.width();
+ //console.log("img_width: "+img_width);
+
+ var img_height = img.height();
+ //console.log("img_height: "+img_height);
+
+ if (img_width > max_width){
+ img_height = (img_height / img_width) * max_width;
+ img.css({width: max_width});
+ img.css({height: img_height});
+ //$('#vre_id_'+vre_id).css({height: height});
+ //console.log("Vecji od max width");
+ }
+
+ //ureditev mobilne različice prikazovanja slik znotraj kategorij odgovorov
+/* if (mobile == 1){ //ce je mobilnik
+ img_height = (img_height / img_width) * 100;
+ img_width = 100;
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').attr('style', 'margin: auto !important'); //dodaj atribut
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id+' img').css({'height':img_height,'width':img_width}); //ustrezno spremeni visino in sirino slike
+ } */
+ //ureditev mobilne različice prikazovanja - konec
+
+ //console.log("img_height: "+img_height);
+ if(img_height > 25){ //ce je visina slike vecja od default visine kategorije
+ final_height = final_height + img_height;
+ }
+
+
+
+ //ureditev visine variable_holder, ki je znotraj okvirja !!!!!!!!!!
+ //$('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').css({'height':(final_height + img_height)+'px'});
+ }
+
+ if(num_of_br != 0){
+ var br_height = num_of_br*25;
+
+ if (num_imgs == 0){
+ final_height = final_height + default_cat_height + br_height;
+ }
+ else{
+ final_height = final_height + br_height;
+ }
+
+
+ //console.log(final_height);
+ if( (img_height < 25) && (img_height != 0) ){
+ final_height = final_height + img_height;
+ }
+ }
+ if (final_height != 0){
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).css({'height':final_height}); //dodaj style atributu še novo višino za levi blok
+ }
+
+}
+//***********************************************************************
+//var cat_total_height_left = 0; //hrani trenutno visino levega okvirja kategorij odgovorov
+//*********funkcija, ki skrbi za delovanje drag and drop grid funkcionalnosti
+function GridDragDropDelovanje(num_grids, indeks, tip, spremenljivka, site_url, ajax, anketa, usr_id, num_of_cats, mobile, skatle){
+ //var default_var_height_1 = [];
+ //*****za mobilne naprave
+ var top_cat = -1;
+ var left_cat = -1;
+ var default_var_height = 290; //default visina celotnega vprasanja
+ if (mobile == 0 || mobile == 2){
+ top_cat = -6;
+ left_cat = -6;
+ top_cat_right = 30;
+ var default_var_height = 220; //default visina celotnega vprasanja
+ }
+ //*********************
+ //ureditev visine celotnega vprasanja, ce je ta visja od default-a*******************************************************************
+ //var cat_margin_left = 10 + 5*2 + 1*2; //hrani rob za ureditev visine levega okvirja = margin_spodnji + padding(spredi pa zadi) + border(spredi pa zadi) + neznanka
+ var cat_max_height = 0; //hrani trenutno najvecjo visino tretnutne kategorije
+ var cat_default_height = 37;
+ //var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').height(); //visina naslova vprasanja (besedila vprasanja)
+ var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').outerHeight(true); //visina naslova vprasanja (besedila vprasanja)
+ var visinaPaddingovMarginovVprasanja = $('#spremenljivka_'+spremenljivka).outerHeight(true) - $('#spremenljivka_'+spremenljivka).height();
+ var visinaPaddingovMarginovHolder = $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').outerHeight(true) - $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height();
+ var pomoznoBesediloHeight = 40; //visina besedila "Razpoložljive kategorije:"
+ var cat_default_inline_text_length = 16; //default dolzina teksta v eni vrstici kategorij odgovorov
+
+ //ureditev visine puscice med blokoma okvirjev
+ var variable_holder_height = $('#spremenljivka_'+spremenljivka+' .variable_holder').height(); //visina variable_holder, potrebna za visino puscice med blokoma
+ $('#spremenljivka_'+spremenljivka+' td.middle img').css({'top' : (naslov_height + variable_holder_height/2) + 'px'}); //visina puscice med blokoma okvirjev
+ if (ajax){
+ //console.log('Getting data on load');
+ $.get(site_url+'/main/survey/ajax.php?a=get_dragdrop1_data', {spremenljivka: spremenljivka, anketa: anketa}, function(data){ //get potrebnih podatkov za resevanje missing
+
+ //trenutna visina celotnega vprasanja
+ var default_var_height = $('#spremenljivka_'+spremenljivka).height();
+ //console.log("default_var_height: "+default_var_height + " indeks: "+indeks+" num of grids: "+num_grids);
+
+ if(indeks == 1){//samo enkrat pojdi skozi leve kategorije odgovorov
+ var cat_total_height_left = 0; //hrani trenutno visino levega okvirja kategorij odgovorov
+ var array_length = data.length; //hrani koliko podatkov je prisotnih v polju s podatki iz baze
+ var vre_id = []; //polje, ki hrani id-je vrednosti vseh kategorij odgovorov interesirane spremenljivke
+
+ for(var i = 0; i < array_length; i++){ //sprehodi se po vseh vrednostih polja vre_id v levem bloku
+ vre_id[i] = data[i]; //polje iz podatkov iz baze data[], shrani v polje vre_id[]
+
+ var cat_height = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).outerHeight(); //visina kategorije
+ var cat_height_real = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).outerHeight(true); //realna visina kategorije z oznako
+
+ //console.log('Visina '+(i + 1)+': '+cat_height_real);
+
+ if(mobile == 1){ //ko je mobilnik, uredi velikost okvirja kategorije glede na dolzino besedila
+ var cat_text_length = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).text().length; //dolzina teksta v kategoriji odgovora
+
+ if(cat_text_length > (cat_default_inline_text_length)*2.5 ){ //ce je dolzina teksta v kategoriji daljsa 2-krat vec od default (16) - DATI NA 2,5 KRATNIK
+ //console.log("Tekst je daljši!");
+ //console.log("Dolžina besedila v kategoriji: "+cat_text_length);
+ var num_of_rows = cat_text_length / cat_default_inline_text_length;
+ //console.log("num_of_rows: "+num_of_rows);
+
+ cat_height = cat_height + 25 * (num_of_rows - 1); //trenutno visino kategorije povecaj za 25
+ //cat_height_real = cat_height_real + 25 * (num_of_rows - 1); //trenutno visino kategorije povecaj za 25
+ //console.log("num_of_rows final: "+ (num_of_rows - 1));
+
+ //$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).css({'height':(cat_height_real)+'px'}); //spremeni visino kategorije
+ $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id[i]).css({'height':(cat_height)+'px'}); //spremeni visino kategorije
+ }
+ //console.log("cat_height ajax za spremenljivko:"+spremenljivka+" "+cat_height);
+ }
+
+ cat_total_height_left = cat_total_height_left + cat_height_real; //izracun koncne visine levega okvirja
+
+
+ if (cat_max_height < cat_height){ //ce je maksimalna visina kategorije manjsa od trenutne visine kategorije
+ cat_max_height = cat_height; //naj bo vrednost max visine kategorije trenutna visina kategorije
+ }
+
+
+ }
+ //*************urejanje visine levega okvirja kategorij odgovorov
+ $('#half_frame_dropping_'+spremenljivka).css({'height':(cat_total_height_left)+'px'});//visina levega okvirja
+ }
+
+ if (mobile == 0 || mobile == 2){
+ if(skatle){
+ var title_heigth_real = $('.frame_dropping_titles_box').outerHeight(true);
+ }else{
+ var title_heigth_real = $('.frame_dropping_titles').outerHeight(true);
+ }
+ }else{
+ if(skatle){
+ var title_heigth_real = $('.frame_dropping_titles_box_mobile').outerHeight(true);
+ }else{
+ var title_heigth_real = $('.frame_dropping_titles_mobile').outerHeight(true);
+ }
+
+ }
+
+ if(indeks == 1){ //samo enkrat pojdi skozi desne okvirje
+ for(var j = 1; j <= num_grids; j++){ //preglej vse desne okvirje v desnem bloku
+ //realna visina trenutnega okvirja***************************************
+ var okvir_height_real = $('#half2_frame_dropping_'+j+'_'+spremenljivka).outerHeight(true);
+ frame_total_height_right[spremenljivka] = frame_total_height_right[spremenljivka] + okvir_height_real + title_heigth_real;
+ //console.log(j+" frame_total_height_right["+spremenljivka+"]:"+frame_total_height_right[spremenljivka]);
+
+ //ureditev pravilnega pozicioniranja kategorij ob refreshu @okvir skatlaste oblike
+ //console.log("Refresh je:"+refresh);
+ if(refresh[spremenljivka] == 1 && skatle){
+ //console.log("Je refresh");
+ var desniOkvir = $('#half2_frame_dropping_'+j+'_'+spremenljivka);
+ var cat_right = desniOkvir.children('div').outerHeight(true);//belezi visino kategorije odgovora, ce je ta prisotna v trenutnem desnem okvirju
+ if(cat_right){ //ce je kaj v okvirju, uredi pravi visino za kategorijo
+ var zapStevKategorije = 1;
+ desniOkvir.children('div').each(function () {
+ var trenutnaVisinaKategorije = $(this).outerHeight(true);
+ //console.log("trenutnaVisinaKategorije:"+trenutnaVisinaKategorije);
+ //var trenutnaVisinaKategorije = 0;
+ var pravaVisina = calcPravaVisina(desniOkvir, $(this), j, spremenljivka, refresh[spremenljivka], zapStevKategorije);
+ desniOkvir.prepend($(this).css({top: pravaVisina})); //prenesi ustrezni odgovor
+ zapStevKategorije++;
+ });
+ //var pravaVisina = calcPravaVisina(desniOkvir, 0, j, spremenljivka, refresh);
+ }
+
+ }else{
+ //console.log("Ni bilo refresha");
+ }
+ //ureditev pravilnega pozicioniranja kategorij ob refreshu @okvir skatlaste oblike - konec
+ }
+ //console.log(" frame_total_height_right["+spremenljivka+"]:"+frame_total_height_right[spremenljivka]);
+ if(refresh[spremenljivka] == 1 && skatle){
+ refresh[spremenljivka] = 0;
+ }
+ }
+
+ default_var_height_1[spremenljivka] = $('#spremenljivka_'+spremenljivka).height(); //belezenje celotne zacetne visine spremenljivke
+
+ if(cat_total_height_left > frame_total_height_right[spremenljivka]){ //ce je trenutna visina levega okvirja z odgovori vecja od koncne visine desnega okvirja
+ //console.log("Levi vecji od desnega za "+spremenljivka);
+ if( (cat_total_height_left > default_var_height) ){ //ce je koncna visina levega okvirja z odgovori vecja od visine celotnega vprasanja
+ dynamic_question_height_sub(cat_total_height_left, spremenljivka, default_var_height_1[spremenljivka]); //ustrezno spremeni visino celotnega vprasanja
+ }else if(cat_total_height_left < default_var_height_1[spremenljivka]){ //ce je koncna visina levega okvirja z odgovori manjsi od visine celotnega vprasanja
+ dynamic_question_height_sub(cat_total_height_left, spremenljivka, default_var_height_1[spremenljivka]); //ustrezno spremeni visino celotnega vprasanja
+ } else{
+ dynamic_question_height_sub(cat_total_height_left, spremenljivka, default_var_height_1[spremenljivka]);//ustrezno spremeni visino celotnega vprasanja
+ }
+
+ //ce je trenutna visina levega okvirja z odgovori manjsa od koncne visine desnega okvirja
+ }else if(cat_total_height_left < frame_total_height_right[spremenljivka]){
+ //console.log("Levi manjsi od desnega za "+spremenljivka);
+
+ frame_total_height_right[spremenljivka] = frame_total_height_right[spremenljivka] + naslov_height + pomoznoBesediloHeight + visinaPaddingovMarginovVprasanja + visinaPaddingovMarginovHolder*5;
+
+ $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height(frame_total_height_right[spremenljivka]*0.9);
+
+ commentHeight = GetCommentHeight(spremenljivka);
+
+ $('#spremenljivka_'+spremenljivka).height(frame_total_height_right[spremenljivka]+commentHeight);
+ }
+
+
+
+ //urejanje visine na kateri se nahaja gumb za ponastavljanje vprašanja
+ ResetButtonHeight(spremenljivka);
+ //urejanje visine na kateri se nahaja gumb za ponastavljanje vprašanja - konec
+
+ }, "json");
+ }
+
+ //************************ konec - ureditev visine celotnega vprasanja, ce je ta visja od default-a
+
+ //console.log("Grid delovanje: "+num_grids);
+
+ $('#half_frame_dropping_'+spremenljivka)
+ .droppable({
+ //hoverClass: 'frame_dropping_hover',
+ drop: function (event, ui) {
+ checkBranching();
+
+ //$(ui.draggable).detach().css({top: -6,left: -6}).appendTo(this);
+ $(ui.draggable).detach().css({top: top_cat,left: left_cat}).appendTo(this);
+ $(ui.draggable).addClass('drag_and_drop_right');
+
+ var vre_id = ui.draggable.attr('value');
+
+ if (ajax && tip == 6){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop_grid_data_1', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa, indeks: last_indeks[spremenljivka]}); //post-aj potrebne podatke za brisanje
+ //}
+ draggableOnDroppable[vre_id][last_indeks[spremenljivka]] = false; //oznacimo, da smo trenutno kategorijo odgovora odstranili iz okvirja
+ draggableOverDroppable[vre_id][last_indeks[spremenljivka]] = false;
+ //console.log('draggableOverDroppable['+vre_id+']['+last_indeks[spremenljivka]+']: '+draggableOverDroppable[vre_id][last_indeks[spremenljivka]])
+ var prejsnji_okvir = $('#half2_frame_dropping_'+last_indeks[spremenljivka]+'_'+spremenljivka);
+ var prejsnji_okvir_kat_prisotna = prejsnji_okvir.children('div').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju
+ if(prejsnji_okvir_kat_prisotna === undefined && last_indeks[spremenljivka] != 0){
+ //console.log("Levi frame last frame func");
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, ui.draggable); //spremeni visino zadnje obiskanega okvirja
+ }
+ dynamic_question_height(spremenljivka, num_grids, mobile, skatle);
+ last_indeks[spremenljivka] = 0;
+ last_drop[vre_id] = 0;
+ last_vre_id[spremenljivka] = 0;
+
+ }
+ from_left[vre_id] = true;
+/* var default_var_height = $('#spremenljivka_'+spremenljivka).height();
+ default_var_height_1[spremenljivka] = default_var_height; */
+ },
+ out: function (event, ui) { //ob izhodu iz drop zone
+ $(ui.draggable).removeClass('drag_and_drop_right');
+ $(ui.draggable).addClass('drag_and_drop');
+ //answer_coming[spremenljivka] = true;
+ //var vre_id = ui.draggable.attr('value');
+ //console.log("from_left["+vre_id+"]: "+from_left[vre_id]);
+ },
+ over: function (event, ui) {
+ var vre_id = ui.draggable.attr('value');
+ //potrebno pridobiti informacijo ze tukaj, ker drugace so tezave @ revert v levi okvir
+ vre_id_global[spremenljivka] = vre_id;
+ draggable_global[vre_id] = ui.draggable;
+
+ $(ui.draggable).removeClass('drag_and_drop_box_right_after_refresh');
+
+ }
+ });
+
+
+ $('#half2_frame_dropping_'+indeks+'_'+spremenljivka)
+ .droppable({
+ //hoverClass: 'frame_ranking_hover',
+ //hoverClass: 'frame_dropping_hover',
+ tolerance: "pointer",
+ //accept: '#half_'+spremenljivka+' div',
+ drop: function (event, ui) { //ob dropanju odgovora v desni blok
+ //console.log("Drop");
+
+ checkBranching();
+
+ if(mobile == 0 || mobile == 2){
+ //$(this).toggleClass('frame_dropping_wider'); //spremeni videz trenutnega okvirja
+ }else if(mobile == 1){
+ //$(this).toggleClass('frame_dropping_wider_mobile'); //spremeni videz trenutnega okvirja
+ }
+
+
+ num_grids = num_grids_global[spremenljivka];
+ var vre_id = ui.draggable.attr('value');
+ var other = ui.draggable.attr('missing'); //spremenljivka, ki hrani vrednost atributa missing
+ var other_present = $(this).children('div').attr('missing'); //missing, ki je trenutno v desnem bloku
+ var cat_right = $(this).children('div').outerHeight(true); //ali je prisotna kaksna kategorija v trenuntem desnem okvirju? Undefined = ne
+ var vre_id_present = $(this).children('div').attr('value'); //vre_id kategorije odgovora, ki je prisotna v okvirju ob dropu
+ //var draggable_global[spremenljivka] = ui.draggable;
+ draggable_global[vre_id] = ui.draggable;
+
+ //*******************dinamicna visina celotnega vprasanja glede na vsebino prenesenih desnih okvirjev
+ var title_heigth = 26; //visina okvricka z naslovom
+ var height_beside = 40; //visina od zacetka vprasanja do prvega okvirja (in malo po zadnjem okvirju)
+ var final_height_right_block = 0; //hrani koncno visino desnega bloka, torej vseh prisotnih okvirjev
+ final_height_right_block = final_height_right_block + height_beside; //koncni visini dodamo se "praznino" med zacetkom vprasanja in prvim okvirjem
+
+ for(var j = 1; j <= num_grids; j++){ //preglej vse okvirje
+ //notranja visina trenutnega okvirja***************************************
+ var okvir_height = $('#half2_frame_dropping_'+j+'_'+spremenljivka).outerHeight(true);
+ //*************************************************************************
+ final_height_right_block = final_height_right_block + okvir_height + title_heigth;
+ //console.log('Koncna visina desnega bloka: '+final_height_right_block);
+ }
+
+ //trenutna visina celotnega vprasanja
+ var default_var_height = $('#spremenljivka_'+spremenljivka).height();
+ //console.log('Default: '+default_var_height);
+ //console.log('Final: '+final_height_right_block);
+ if(final_height_right_block > default_var_height){
+ $('#spremenljivka_'+spremenljivka).css({'height':final_height_right_block+'px'});
+ //da ne bo pri mobilnikih prevec skrito vprasanje
+ $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').css({'height':(final_height_right_block - 100)+'px'});
+
+ }
+ //************************************ konec - dinamicna visina celotnega vprasanja glede na visino prenesenih desnih okvirjev
+
+ //ce je tabela - en odgovor
+ if(tip == 6){
+ //pozicioniranje draggable na pravo mesto
+ if (cat_right && skatle){ //ce je ze nekaj v okvirju in imamo okvirje skatlaste oblike
+ $(ui.draggable).removeClass('drag_and_drop');//odstranimo, ker je nepotrebno
+ $(ui.draggable).removeClass('drag_and_drop_box_right_after_refresh');//odstranimo, ker je nepotrebno
+ var pravaVisina = calcPravaVisina(this, ui.draggable); //visina/pozicija prenesene kategorije v desnem okvirju
+ $(ui.draggable).detach().css({top: (pravaVisina), left: left_cat}).prependTo(this); //pozicioniraj kategorijo odgovora na pravo mesto tako, da je nad prejsnjim
+ if($(this).children('div').hasClass('drag_and_drop_box_right_after_refresh')){ //ce so v okvirju kategorije, po refreshu
+ $(ui.draggable).addClass('drag_and_drop_box_right_after_refresh');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }else{
+ $(ui.draggable).addClass('drag_and_drop_box_right_over');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }
+ }else{
+ $(ui.draggable).removeClass('drag_and_drop');//odstranimo, ker je nepotrebno
+ $(ui.draggable).detach().css({top: top_cat,left: left_cat}).appendTo(this); //najprej pozicioniramo na zacasni lokaciji
+ if(skatle){ //ce je okvir skatlaste oblike
+ $(ui.draggable).removeClass('drag_and_drop_box_right_after_refresh');//odstranimo, ker je nepotrebno na levi strani
+ $(ui.draggable).addClass('drag_and_drop_box_right');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }else{
+ $(ui.draggable).addClass('drag_and_drop_right');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }
+ }
+
+ //pozicioniranje draggable na pravo mesto - konec
+
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=accept_dragdrop_grid', {vre_id_present: vre_id_present, tip: tip, spremenljivka: spremenljivka, vre_id: vre_id, anketa: anketa, usr_id: usr_id, indeks: indeks, cat_right: cat_right, last_vre_id: last_vre_id[spremenljivka]}); //post-aj potrebne podatke za belezenje v bazo
+ if(last_drop[vre_id] != indeks || last_drop[vre_id] != 0){
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop_grid_data_1', {spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa, indeks: last_drop[vre_id]}); //post-aj potrebne podatke za brisanje
+ }
+ }
+ }
+ else if(tip == 16 && draggableOnDroppable[vre_id][indeks] == false){ //ce je tabela - vec odgovorov in odgovora ni v trenutnem okvirju, uredi clone
+ var visina_test = ui.draggable.css('height');
+ //pozicioniranje draggable na pravo mesto**********************
+ if(cat_right && skatle){ //ce je ze nekaj v okvirju in je ta skatlaste oblike
+ var pravaVisina = calcPravaVisina(this, ui.draggable); //visina/pozicija prenesene kategorije v desnem okvirju
+
+ $(ui.draggable.clone()).detach().css({top: pravaVisina,left: left_cat, height: visina_test}).prependTo(this); //pozicioniraj kategorijo odgovora na pravo mesto in dodaj ustrezno visino
+
+ if($(this).children('div').hasClass('drag_and_drop_box_right_after_refresh')){ //ce so v okvirju kategorije, po refreshu
+ $(this).children(ui.draggable).addClass('drag_and_drop_box_right_after_refresh');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }else{
+ $(this).children(ui.draggable).addClass('drag_and_drop_box_right_over');//dodamo slog, ki dokoncno postavi draggable na pravo lokacijo
+ }
+ }else{
+ if(skatle){ //ce je okvir skatlaste oblike
+ $(ui.draggable.clone()).detach().css({top: top_cat,left: left_cat, height: visina_test}).addClass('drag_and_drop_box_right').appendTo(this); //pozicioniraj kategorijo odgovora na pravo mesto in dodaj ustrezno visino
+ }else{
+ $(ui.draggable.clone()).detach().css({top: top_cat,left: left_cat, height: visina_test}).addClass('drag_and_drop_right').appendTo(this); //pozicioniraj kategorijo odgovora na pravo mesto in dodaj ustrezno visino
+ }
+ }
+ //pozicioniranje draggable na pravo mesto - konec**************************
+
+ if (ajax){
+ $.post(site_url+'/main/survey/ajax.php?a=accept_dragdrop_grid', {vre_id_present: vre_id_present, tip: tip, spremenljivka: spremenljivka, vre_id: vre_id, anketa: anketa, usr_id: usr_id, indeks: indeks, cat_right: cat_right, last_vre_id: last_vre_id[spremenljivka]}); //post-aj potrebne podatke za belezenje v bazo
+ }
+ }
+
+ if(last_indeks[spremenljivka] !== undefined){
+ var prejsnji_okvir = $('#half2_frame_dropping_'+last_indeks[spremenljivka]+'_'+spremenljivka);
+ var prejsnji_okvir_kat_prisotna = prejsnji_okvir.children('div').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju
+ //console.log("last_indeks[spremenljivka][indeks]: "+last_indeks[spremenljivka][indeks]);
+ if(last_indeks[spremenljivka] == 0 || prejsnji_okvir_kat_prisotna === undefined){
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, ui.draggable); //spremeni visino zadnje obiskanega okvirja
+ }
+ }
+
+ last_drop[vre_id] = indeks; //zabelezi indeks okvirja zadnjega drop-a
+ draggableOnDroppable[vre_id][indeks] = true; //oznacimo, da je trenutna kategorija odgovora v okvirju
+ if(tip == 6){
+ from_left[vre_id] = false;
+ }
+ },
+ over: function (event, ui) { //ob prenosu trenutne kategorije odgovora nad okvirjem
+ //console.log("Over");
+ num_grids = num_grids_global[spremenljivka];
+ checkBranching();
+ var vre_id = ui.draggable.attr('value');
+ var vre_id_present = $(this).children('div').attr('value'); //vre_id kategorije odgovora, ki je prisotna v okvirju ob dropu
+ vre_id_global[spremenljivka] = vre_id;
+ var trenutni_okvir = $('#half2_frame_dropping_'+indeks+'_'+spremenljivka);
+ //console.log("from_left["+vre_id+"]: "+from_left[vre_id]);
+
+ if (last_indeks[spremenljivka] == 0 && tip == 6){ //ce prenasamo kategorije odgovora iz levega okvirja
+ last_indeks[spremenljivka] = indeks; //zabelezi indeks prejsnjega okvirja
+
+ }else {
+
+ var last_vrednost_id_temp = last_vre_id[spremenljivka];
+ var prejsnji_okvir = $('#half2_frame_dropping_'+last_indeks[spremenljivka]+'_'+spremenljivka);
+
+ //if(tip == 16 || tip == 6){
+ if(tip == 6){
+ var prejsnji_okvir_kat_prisotna = [];
+ var stevilo_prisotnih = prejsnji_okvir.children('div').length;
+ //console.log(stevilo_prisotnih);
+ for(var z = 1; z <= stevilo_prisotnih; z++){
+ //prejsnji_okvir_kat_prisotna = prejsnji_okvir.children('div').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju
+ prejsnji_okvir_kat_prisotna[z] = prejsnji_okvir.children('div :nth-child('+z+')').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju, kateri odgovori so prisotni
+ //console.log("prejsnji_okvir_kat_prisotna["+z+"]: "+prejsnji_okvir_kat_prisotna[z]);
+
+ if(last_vrednost_id_temp != 0){
+ //ce v prejsnjem okvirju ni nicesar in (v prejsnjem okvirju ni nicesar ali je identifikacija ista trenutni)
+ if( (draggableOnDroppable[last_vrednost_id_temp][indeks] == false) && ( (prejsnji_okvir_kat_prisotna === undefined) || (prejsnji_okvir_kat_prisotna == vre_id) ) ){
+ if ( (tip == 16 && draggableOnDroppable[vre_id][last_indeks[spremenljivka]] == false) || tip == 6 ){
+ //spremeni visino prejsnjega okvirja
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, ui.draggable);
+ //console.log("Spreminjam prejsnji okvir");
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+ if(vre_id_present !== undefined){
+ //ce ni se nicesar v trenutnem okvirju, ali odgovor je na poti v okvir in je vprasanje tipa 16 (tabela - vec odgovorov) ali 6 (tabela - en odgovor)
+ if (draggableOnDroppable[vre_id_present][indeks] != true || (draggableOverDroppable[vre_id][indeks] == false && (tip == 16 || tip == 6) ) ){
+ //zabelezi, da je odgovor nad okvirjem
+ draggableOverDroppable[vre_id][indeks] = true;
+ if ((tip == 16 && draggableOnDroppable[vre_id][indeks] == false) || tip == 6){
+ //uredi visino okvirja in celotnega vprasanja
+ frame_and_question_height(trenutni_okvir, spremenljivka, num_grids, cat_margin_left, cat_default_height, ui.draggable);
+ if(from_left[vre_id] != false){
+ dynamic_question_height(spremenljivka, num_grids, mobile, skatle);
+ }
+
+ //console.log("Tukaj 1");
+ }
+ }
+ }else{
+
+ if (vre_id_present === undefined || (draggableOverDroppable[vre_id][indeks] == false && (tip == 16 || tip == 6) ) ){
+ //zabelezi, da je odgovor nad okvirjem
+ draggableOverDroppable[vre_id][indeks] = true;
+ if ( (tip == 16 && (draggableOnDroppable[vre_id][indeks] == false || last_drop[vre_id] == 0 )) || tip == 6){
+ //uredi visino okvirja in celotnega vprasanja
+ frame_and_question_height(trenutni_okvir, spremenljivka, num_grids, cat_margin_left, cat_default_height, ui.draggable);
+ if(from_left[vre_id] != false){
+ dynamic_question_height(spremenljivka, num_grids, mobile, skatle);
+ }
+ //console.log("Tukaj 2");
+ }
+ }
+ }
+
+ //spremeni videz trenutnega okvirja
+ if(draggableOverDroppable[vre_id][indeks] == true){
+ if(mobile == 0 || mobile == 2){
+ //$(this).toggleClass('frame_dropping_wider');
+ }
+ else if(mobile == 1){
+ //$(this).toggleClass('frame_dropping_wider_mobile');
+ }
+ }
+
+ last_indeks[spremenljivka] = indeks; //zabelezi indeks (trenutnega oz. bodocega) prejsnjega okvirja
+ cat_pushed[spremenljivka] = false;
+ },
+ out: function (event, ui) { //ob izhodu iz drop zone
+ //console.log("Out");
+ num_grids = num_grids_global[spremenljivka];
+ var vre_id = ui.draggable.attr('value');
+ var vre_id_present = $(this).children('div').attr('value'); //vre_id kategorije odgovora, ki je prisotna v okvirju ob dropu
+ var prejsnji_okvir = $('#half2_frame_dropping_'+last_indeks[spremenljivka]+'_'+spremenljivka);
+ var prejsnji_okvir_kat_prisotna = prejsnji_okvir.children('div').attr('value'); //belezi, ce je kaj prisotnega v prejsnjem okvirju
+ //console.log("Out");
+ //draggableOnDroppable[vre_id] = false; //oznacimo, da smo tretnutno kategorijo odgovora odstranili iz okvirja
+
+
+ //if(draggableOverDroppable[vre_id] == true && tip == 16){
+ if(draggableOverDroppable[vre_id][indeks] == true && ( (tip == 16 && draggableOnDroppable[vre_id][last_indeks[spremenljivka]] == false) || tip == 6) ){
+ //console.log("Last frame out pri indeksu: "+last_indeks[spremenljivka]);
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, ui.draggable);
+ }
+ last_vre_id[spremenljivka] = vre_id;
+ last_indeks[spremenljivka] = indeks;
+ if( tip == 6 || (tip == 16 && draggableOnDroppable[vre_id][last_indeks[spremenljivka]] == false) ){
+ draggableOnDroppable[vre_id][indeks] = false; //oznacimo, da trenutne kategorije odgovora ni v okvirju
+ }
+ draggableOverDroppable[vre_id][indeks] = false;
+ draggable_global[vre_id] = ui.draggable;
+
+ //spremeni videz prejsnjega okvirja
+ if(draggableOverDroppable[vre_id][indeks] == false){
+ if(mobile == 0 || mobile == 2){
+ //prejsnji_okvir.toggleClass('frame_dropping_wider');
+ }else if(mobile == 1){
+ //prejsnji_okvir.toggleClass('frame_dropping_wider_mobile');
+ }
+ }
+
+ if(skatle){ //ce so okvirji skatlaste oblike
+ $(ui.draggable).removeClass('drag_and_drop_box_right'); //odstranimo slog, ker drugace se draggable ne vidi, ko ga premikamo
+ $(ui.draggable).removeClass('drag_and_drop_box_right_over'); //odstranimo slog, ker drugace se draggable ne vidi, ko ga premikamo
+ $(ui.draggable).removeClass('drag_and_drop_box_right_after_refresh');//drag_and_drop_box_right_after
+
+ }else{
+ $(ui.draggable).removeClass('drag_and_drop_right'); //odstranimo slog, ker drugace se draggable ne vidi, ko ga premikamo
+ }
+
+
+ }
+ });
+
+ //********************** odstranitev odgovorov iz desnih okvirjev @ tabela - vec odgovorov
+ // ce je tabela - vec odgovorov
+ if(tip == 16){ //uredi odstranjevanje kategorij odgovorov iz desnega okvirja ob kliku na njih
+
+ $('#half2_frame_dropping_'+indeks+'_'+spremenljivka).click(function(){
+
+ $('#half2_frame_dropping_'+indeks+'_'+spremenljivka).children().click(function(){ //ob kliku na kategorijo odgovora
+
+ var index1 = $('#half2_frame_dropping_'+indeks+'_'+spremenljivka).children().index(this); //indeks klikanega odgovora
+ var prejsnji_okvir = $('#half2_frame_dropping_'+indeks+'_'+spremenljivka); //
+ var vre_id = $('#half2_frame_dropping_'+indeks+'_'+spremenljivka+' div:nth-child('+(index1 + 1)+')').attr('value');
+ var draggable = $('#half2_frame_dropping_'+indeks+'_'+spremenljivka+' div:nth-child('+(index1 + 1)+')');
+
+ $('#half2_frame_dropping_'+indeks+'_'+spremenljivka+' div:nth-child('+(index1 + 1)+')').detach();//odstrani odgovor iz okvirja
+
+ if (ajax){ //odstrani podatek o odgovoru iz baze
+ $.post(site_url+'/main/survey/ajax.php?a=delete_dragdrop_grid_data', {tip: tip, spremenljivka: spremenljivka, vre_id: vre_id, usr_id: usr_id, anketa: anketa, indeks: indeks}); //post-aj potrebne podatke za brisanje
+ }
+ //console.log(draggableOnDroppable[vre_id][indeks]);
+ last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, draggable); //spremeni visino zadnje obiskanega okvirja
+ draggableOnDroppable[vre_id][indeks] = false; //oznacimo, da smo trenutno kategorijo odgovora odstranili iz okvirja
+ //console.log("draggableOnDroppable["+vre_id+"]["+indeks+"]: "+draggableOnDroppable[vre_id][indeks]);
+ draggableOverDroppable[vre_id][indeks] = false;
+ from_left[vre_id] = true;
+ dynamic_question_height(spremenljivka, num_grids, mobile, skatle);
+ //console.log("vre_id: "+vre_id);
+
+ ResetButtonHeight(spremenljivka);//povrni gumb na zacetno visino
+ });
+
+ });
+
+ }
+ //********************** konec - odstranitev odgovorov iz desnih okvirjev @ tabela - vec odgovorov
+}
+//**************************************************************************************
+
+//ureja visino ovirja in kategorije vprasanja
+function frame_and_question_height(trenutni_okvir, spremenljivka, num_grids, cat_margin_left, cat_default_height, draggable){
+
+ //uredi visino okvirja in celotnega vprasanja
+ var other = draggable.attr('missing'); //spremenljivka, ki hrani vrednost atributa missing
+ var other_present = trenutni_okvir.children('div').attr('missing'); //missing, ki je trenutno v desnem bloku
+
+ //***************** glede na visino trenutno prenesenih kategorij odgovora, povecaj visino okvirja
+ var cat_height_now = draggable.outerHeight(true); //visina kategorije, trenutno prenesenega odgovora
+ var cat_right = trenutni_okvir.children('div').outerHeight(true); //visina kategorije odgovora, ce je ta prisotna v trenutnem desnem okvirju
+
+ //ce je v trenutnem desnem okvirju ze prisotna kategorija odgovora,
+ if(cat_right){
+ var whole_heigth = trenutni_okvir.height(); //trenutna visina desnega okvirja
+ var okvir_height = whole_heigth + cat_height_now; //trenutni visini okvirja dodaj se visino trenutne kategorije
+ trenutni_okvir.css({'height':(okvir_height)+'px'}); //visina trenutnega desnega okvirja
+ //console.log('Koncna visina: '+(okvir_height));
+ }else{ //drugace
+ if (cat_height_now < 15){ //ce je visina trenutne kategorije odgovova manjsa od 15
+ cat_height_now = 15; //naj bo visina okvirja 15px, prej 20px
+ }
+ trenutni_okvir.css({'height':(cat_height_now)+'px'}); //visina trenutnega desnega okvirja
+ //console.log('Koncna visina: '+(cat_height_now));
+ }
+ //************************************ konec - glede na visino trenutno prenesenih kategorij odgovora, povecaj visino okvirja
+}
+
+//funkcija za urejanje visine okvirjev
+function frame_height(spremenljivka, vre_id, grd_id, revert, refresh){
+ //console.log("frame_height");
+ //***************** glede na visino trenutno prenesenih kategorij odgovora, povecaj visino okvirja
+ //visina trenutno prenesenega odgovora*************
+ var cat_default_height = 37;
+ //var cat_height_now = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).outerHeight(true); //visina trenutne kategorije odgovora
+ if (vre_id != 0){
+ var cat_height_now = $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).outerHeight(); //visina trenutne kategorije odgovora
+ }
+ //console.log("cat_height_now:"+cat_height_now);
+ //*************************************************visina trenutno prenesenega odgovora - konec
+
+
+ if (refresh == 1){ //visina trenutnih kategorij v okvirju, ce je refresh
+ //var cat_height_now
+ var visinaPrisotnihKategorij = 0;
+ //console.log("grd_id:"+grd_id);
+ $('#half2_frame_dropping_'+grd_id+'_'+spremenljivka).children('div').each(function () {
+ var trenutnaVisinaKategorije = $(this).outerHeight(true);
+ visinaPrisotnihKategorij = visinaPrisotnihKategorij + trenutnaVisinaKategorije;
+ });
+ var cat_height_now = visinaPrisotnihKategorij;
+ //console.log("cat_height_now:"+cat_height_now);
+ }
+
+ var cat_right = $('#half2_frame_dropping_'+grd_id+'_'+spremenljivka).children('div').outerHeight(true);//belezi visino kategorije odgovora, ce je ta prisotna v trenutnem desnem okvirju
+
+ //ce je v trenutnem desnem okvirju ze prisotna kategorija odgovora, trenutni visini okvirja dodaj se visino trenutne kategorije
+ //if(cat_right || revert){
+ if(cat_right || revert || refresh){
+ var whole_heigth = $('#half2_frame_dropping_'+grd_id+'_'+spremenljivka).outerHeight();
+ //console.log("whole_heigth:"+whole_heigth);
+ //cat_height_now = cat_height_now + cat_margin_left; //izracun koncne visine desnega okvirja, ce imamo ze kategorije v okvirju
+ //var okvir_height = parseInt(whole_heigth) + parseInt(cat_height_now);
+ var okvir_height = whole_heigth + cat_height_now;
+ $('#half2_frame_dropping_'+grd_id+'_'+spremenljivka).css({'height':(okvir_height)+'px'}); //visina desnega okvirja
+ //console.log('Koncna visina: '+(okvir_height));
+
+ }else{ //drugace
+ //cat_height_now = cat_height_now + cat_default_height; //izracun koncne visine desnega okvirja, ce ni kategorij v okvirju
+ if (cat_height_now < 15){ //ce je visina trenutne kategorije odgovova manjsa od 15, prej 20
+ cat_height_now = 15; //naj bo visina okvirja 15px, prej 20px
+ }
+ $('#half2_frame_dropping_'+grd_id+'_'+spremenljivka).css({'height':(cat_height_now)+'px'}); //visina trenutnega desnega okvirja
+ //console.log('Koncna visina okvirja z odgovorom: '+(cat_height_now));
+ }
+ //************************************ konec - glede na visino trenutno prenesenih kategorij odgovora, povecaj visino okvirja
+
+ //console.log("cat_height_now ["+vre_id+"]: "+cat_height_now);
+}
+//************** konec - funkcije za urejanje visine okvirjev
+
+//***************funkcija za urejanje visine zadnje obiskanega okvirja @ drag and drop
+function last_frame_height(prejsnji_okvir, spremenljivka, num_grids, cat_margin_left, draggable){
+ //console.log("last_frame_height");
+ //****glede na odstrajeno kategorijo odgovora, trenutni visini okvirja odstrani visino odstranjene kategorije
+
+ var trenutna_visina_okvirja = prejsnji_okvir.height();
+ var trenutna_visina_kategorije = draggable.outerHeight(true);//visina odnesene kategorije odgovora
+ koncna_visina_zapuscenega_okvirja = trenutna_visina_okvirja - trenutna_visina_kategorije;
+
+ //console.log("trenutna_visina_okvirja:"+trenutna_visina_okvirja);
+ //console.log("trenutna_visina_kategorije:"+trenutna_visina_kategorije);
+ //console.log("koncna_visina_zapuscenega_okvirja:"+koncna_visina_zapuscenega_okvirja);
+
+
+ if (koncna_visina_zapuscenega_okvirja < 15){
+ koncna_visina_zapuscenega_okvirja = 15;
+ }
+
+ prejsnji_okvir.css({'height':(koncna_visina_zapuscenega_okvirja)+'px'}); //visina trenutnega desnega okvirja
+}
+//*************** konec - funkcija za urejanje visine zadnje obiskanega okvirja
+
+//********* skrbi za koncno ureditev visine celotnega vprasanja glede na visino (levega ali desnega) bloka @ drag and drop
+function dynamic_question_height_sub(frame_height, spremenljivka){
+ //console.log("dynamic_question_height_sub za "+spremenljivka);
+
+ //var default_var_height = $('#spremenljivka_'+spremenljivka).height(); //trenutna visina celotnega vprasanja
+ var default_var_height = $('#spremenljivka_'+spremenljivka).outerHeight(true); //trenutna visina celotnega vprasanja
+
+ var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').outerHeight(true);
+ var visinaPaddingovMarginovVprasanja = $('#spremenljivka_'+spremenljivka).outerHeight(true) - $('#spremenljivka_'+spremenljivka).height();
+ var visinaPaddingovMarginovHolder = $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').outerHeight(true) - $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height();
+ var pomoznoBesediloHeight = 40; //visina besedila "Razpoložljive kategorije:", za mobilne naprave
+
+ var vmesnaVisinaOkvirja = realnaVisina(spremenljivka, frame_height);
+
+ //if( (frame_height + naslov_height) > default_var_height){ //ce je koncna visina okvirja vecja od trenutne default visine celotnega vprasanja
+ if( (vmesnaVisinaOkvirja) > default_var_height){ //ce je koncna visina okvirja vecja od trenutne default visine celotnega vprasanja
+ updateHeight(spremenljivka, frame_height);
+ //console.log("Spreminjam 1");
+ }else if((vmesnaVisinaOkvirja) < default_var_height){ //ce je koncna visina okvirja manjsa od trenutne default visine celotnega vprasanja
+ var koncnaVisinaVprasanja = $('#spremenljivka_'+spremenljivka).outerHeight(true); //trenutna visina celotnega vprasanja;
+ //console.log("koncnaVisinaVprasanja:"+koncnaVisinaVprasanja+" spremenljivka: "+spremenljivka);
+ updateHeight(spremenljivka, 0, koncnaVisinaVprasanja);
+
+ $('#spremenljivka_'+spremenljivka).height(koncnaVisinaVprasanja); //koncna visina celotnega vprasanja
+
+ //da ne bo pri mobilnikih prevec skrito vprasanje, spremeni visino variable_holder
+ $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height(koncnaVisinaVprasanja*0.85);
+ //console.log("Spreminjam 2");
+ }
+}
+
+//*********** ureja dinamicno visino celotnega vprasanja glede na visino prenesenih kategorij odgovorov iz desnih okvirjev v levega
+function dynamic_question_height(spremenljivka, num_grids, mobile, skatle){
+ //console.log("dynamic_question_height za:"+spremenljivka);
+
+/* if (mobile == 0 || mobile == 2){
+ var title_heigth = $('.frame_dropping_titles').outerHeight(true);
+ }else{
+ var title_heigth = $('.frame_dropping_titles_mobile').outerHeight(true);
+ } */
+ if (mobile == 0 || mobile == 2){
+ if(skatle){
+ var title_heigth = $('.frame_dropping_titles_box').outerHeight(true);
+ }else{
+ var title_heigth = $('.frame_dropping_titles').outerHeight(true);
+ }
+ }else{
+ if(skatle){
+ var title_heigth = $('.frame_dropping_titles_box_mobile').outerHeight(true);
+ }else{
+ var title_heigth = $('.frame_dropping_titles_mobile').outerHeight(true);
+ }
+
+ }
+
+ var final_height_right_block = 0; //hrani koncno visino desnega bloka, torej vseh prisotnih okvirjev
+ var frame_height_left = $('#half_frame_dropping_'+spremenljivka).outerHeight(true); //visina celotnega levega okvirja
+ //console.log('Koncna visina levega bloka: '+frame_height_left);
+
+ //pridobi visino desnega bloka
+ for(var j = 1; j <= num_grids; j++){ //preglej vse okvirje na desni strani
+ var okvir_height = $('#half2_frame_dropping_'+j+'_'+spremenljivka).outerHeight(true); //visina trenutnega okvirja
+ final_height_right_block = final_height_right_block + okvir_height + title_heigth; //vmesna visina desnega okvirja
+ }
+ //console.log('Koncna visina desnega bloka: '+final_height_right_block);
+ //pridobi visino desnega bloka - konec
+
+ var default_var_height = $('#spremenljivka_'+spremenljivka).height(); //trenutna visina celotnega vprasanja
+ //console.log("default_var_height: "+default_var_height);
+
+ var vmesnaVisinaVprasanjaLevo = realnaVisina(spremenljivka, frame_height_left);
+ var vmesnaVisinaVprasanjaDesno = realnaVisina(spremenljivka, final_height_right_block);
+
+ //ce je visina celotnega vprasanja manjsa od okvirja/bloka (levi ALI desni)
+ if( (default_var_height < (vmesnaVisinaVprasanjaLevo)) || (default_var_height < (vmesnaVisinaVprasanjaDesno)) ){
+ if(frame_height_left < final_height_right_block){
+ //console.log("Levi manjsi od desnega");
+ dynamic_question_height_sub(final_height_right_block, spremenljivka); //glede na visino desnega bloka uredi velikost celotnega vprasanja
+ }else if(frame_height_left > final_height_right_block){
+ //console.log("Levi vecji od desnega");
+ dynamic_question_height_sub(frame_height_left, spremenljivka); //glede na visino levega bloka uredi velikost celotnega vprasanja
+ }
+ }else if (frame_height_left < final_height_right_block){
+ updateHeight(spremenljivka, final_height_right_block); //posodobi visino vprasanja
+ //console.log("Spreminjam A1");
+ }else if (frame_height_left > final_height_right_block){
+ updateHeight(spremenljivka, frame_height_left); //posodobi visino vprasanja
+ //console.log("Spreminjam A2");
+ }
+}
+
+//posodobi visino celotnega vprasanja in variable_holder
+function updateHeight(spremenljivka, final_height_block, visinaVprasanja){
+ //console.log("updateHeight za:"+spremenljivka);
+ if(visinaVprasanja){
+ var koncnaVisinaVprasanja = visinaVprasanja;
+ koncnaVisinaVariableHolder = koncnaVisinaVprasanja*0.85;
+ }
+ else{
+ var koncnaVisinaVprasanja = realnaVisina(spremenljivka, final_height_block);
+ koncnaVisinaVariableHolder = koncnaVisinaVprasanja*0.95;
+ }
+
+ commentHeight = GetCommentHeight(spremenljivka);
+
+ //ureditev visine celotnega vprasanja
+ $('#spremenljivka_'+spremenljivka).height(koncnaVisinaVprasanja + commentHeight);
+
+ //da ne bo pri mobilnikih prevec skrito vprasanje, spremeni visino variable_holder
+ $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height(koncnaVisinaVariableHolder);
+}
+
+//vrne realno visino vprasanja/bloka
+function realnaVisina(spremenljivka, final_height_block){
+ var naslov_height = $('#spremenljivka_'+spremenljivka+' .naslov').height();
+ var visinaPaddingovMarginovVprasanja = $('#spremenljivka_'+spremenljivka).outerHeight(true) - $('#spremenljivka_'+spremenljivka).height();
+ var visinaPaddingovMarginovHolder = $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').outerHeight(true) - $('#spremenljivka_'+spremenljivka+' div.variable_holder.clr').height();
+ var pomoznoBesediloHeight = 40; //visina besedila "Razpoložljive kategorije:"
+
+ var realnaVisina = final_height_block + naslov_height + pomoznoBesediloHeight + visinaPaddingovMarginovVprasanja + visinaPaddingovMarginovHolder*4;
+
+ return realnaVisina;
+}
+
+//vrne visino/pozicijo prenesene kategorije v desnem skatlastem okvirju
+function calcPravaVisina(tole, draggable, indeks, spremenljivka, refresh, zapStevKategorije, revert){
+ //console.log("refresh:"+refresh);
+
+ var visinaDesnegaOkvirja = $(tole).outerHeight();
+ //console.log("visinaDesnegaOkvirja:"+visinaDesnegaOkvirja);
+ var visinaPreneseneKategorije = 0;
+ if(draggable){
+ visinaPreneseneKategorije = $(draggable).outerHeight(true);
+ }
+
+ //console.log("visinaPreneseneKategorije:"+visinaPreneseneKategorije);
+
+ var visinaPrisotnihKategorij = 0;
+ var steviloKategorij = 0;
+ $(tole).children('div').each(function () {
+ var trenutnaVisinaKategorije = $(this).outerHeight(true);
+ visinaPrisotnihKategorij = visinaPrisotnihKategorij + trenutnaVisinaKategorije;
+ steviloKategorij++;
+ });
+ //console.log("steviloKategorij:"+steviloKategorij);
+ //console.log("visinaPrisotnihKategorij:"+visinaPrisotnihKategorij);
+ //console.log("zapStevKategorije:"+zapStevKategorije);
+
+ //ce je refresh ali revert
+ if( refresh == 1 || revert == 1){
+ if (visinaDesnegaOkvirja < visinaPrisotnihKategorij){ //ce je visina desnega okvirja manjsa od visine prisotnih kategorij
+ //console.log("visinaDesnegaOkvirja < visinaPrisotnihKategorij");
+ if(refresh == 1){
+ $('#half2_frame_dropping_'+indeks+'_'+spremenljivka).css({'height':(visinaPrisotnihKategorij)+'px'}); //visina desnega okvirja
+ }
+ visinaDesnegaOkvirja = $(tole).outerHeight();
+ //console.log("visinaDesnegaOkvirja po refresh:"+visinaDesnegaOkvirja);
+ }
+
+ if(steviloKategorij > 1){
+ var pravaVisina = visinaDesnegaOkvirja - visinaPrisotnihKategorij;
+ }else{
+ var pravaVisina = visinaDesnegaOkvirja - visinaPreneseneKategorije;
+ }
+ }else{
+ var pravaVisina = visinaDesnegaOkvirja - visinaPrisotnihKategorij - visinaPreneseneKategorije;
+ }
+
+ //console.log("pravaVisina za sprem "+spremenljivka+" :"+pravaVisina);
+ //console.log("-------------------------");
+ return pravaVisina;
+}
+
+//urejanje visine na kateri se nahaja gumb za ponastavljanje vprašanja
+function ResetButtonHeight(spremenljivka){
+ $('#resetDragDrop_'+spremenljivka).position({
+ my: "left bottom",
+ at: "left bottom",
+ of: "#spremenljivka_"+spremenljivka,
+ collision: 'none'
+ });
+
+ var currentTop = $('#resetDragDrop_'+spremenljivka).css('top');
+ var commentHeight = 0;
+ if($('#spremenljivka_'+spremenljivka+' .comment').length > 0) { //ce je prisoten komentar, dodamo nekaj visine
+ commentHeight = 200;
+ }
+ var newTop = parseInt(currentTop) - 20 - commentHeight;
+ $('#resetDragDrop_'+spremenljivka).css('top', newTop+'px');
+}
+
+//funkcija, ki skrbi za preverjanje prisotnosti komentarja in vrne ustrezno dodatno visino, ki jo je potrebno dodati celotnemu vprasanju, da je komentar viden
+function GetCommentHeight(spremenljivka){
+ var commentHeight = 0;
+ if($('#spremenljivka_'+spremenljivka+' .comment').length > 0) { //ce je prisoten komentar, dodamo nekaj visine
+ commentHeight = 150;
+ }
+ return commentHeight;
+}