function setvariations(el,parents){
console.log('setvariations for element ');
console.log(el);
console.log(' with parents '+parents);
if(jQuery(el).hasClass('disabled')){
return;
}
var keys=Object.keys(attarray);
for (var i=0;i<keys.length;i++){
var key=keys[i];
var nieje=true;
for (var j=0;j<parents.length;j++){
var par=parents[j];
if(par==key){
nieje=false;
}}
if(nieje){
console.log('nie je ma hodnotu '+nieje+'a prednastavujem select '+key+" na prazdnu hodnotu");
document.getElementById(key.toLowerCase()).value='';
jQuery(document.getElementById(key.toLowerCase())).trigger("change");
}}
jQuery(el).addClass('selected');
var id=el.getAttribute('data');
var par=id.split("_");
console.log('par is '+par);
if(par.length==3&&par[0]=="var"){
var cfg="";
console.log(parents);
for (var i=0;i<parents.length;i++){
if(cfg.length>0){
cfg +="_";
}
if(parents[i].toLowerCase()==par[1].toLowerCase()){
cfg +=par[2];
}else{
cfg +=document.getElementById(parents[i].toLowerCase()).value;
}}
console.log('cfg is: '+cfg);
if(varray[cfg]!==undefined){
console.log("nastavujem:");
console.log(varray[cfg].clear);
console.log(varray[cfg].yes);
console.log(varray[cfg].no);
console.log(varray[cfg].next);
for (var i=0;i<varray[cfg].clear.length;i++){
jQuery('#'+varray[cfg].clear[i]).removeClass('selected');
}
for (var i=0;i<varray[cfg].no.length;i++){
jQuery('#'+varray[cfg].no[i]).addClass('disabled');
if(jQuery('#'+varray[cfg].no[i]).hasClass('selected')){
idd=jQuery('#'+varray[cfg].no[i]).attr('data');
var parr=idd.split("_");
if(parr.length==3&&parr[0]=="var"){
console.log('rusim parr[1]'+parr[1]);
console.log('nastavujem select '+parr[1]+" na prazdnu hodnotu");
document.getElementById(parr[1].toLowerCase()).value='';
console.log('Spustam trigget  na prvok s id: '+parr[1].toLowerCase()+'na trigger change');
jQuery(document.getElementById(parr[1].toLowerCase())).trigger("change");
}}
jQuery('#'+varray[cfg].no[i]).removeClass('selected');
}
for (var i=0;i<varray[cfg].yes.length;i++){
jQuery('#'+varray[cfg].yes[i]).removeClass('disabled');
}
console.log('nastavujem hlavny meneny select '+par[1]+" na hodnotu "+par[2]);
document.getElementById(par[1].toLowerCase()).value=par[2];
jQuery(document.getElementById(par[1].toLowerCase())).trigger("change");
console.log('resetujem mnozstvo.');
jQuery('.qty').val(1);
console.log('spustam fix variations s parametrom key: '+varray[cfg].next);
fixvariations(varray[cfg].next);
}}
}
function fixvariations(key){
if(key!==null&&key!==""){
console.log('Startujem fixvariations s key: '+key);
var first="";
var active="";
for (var j=0;j<attarray[key].length;j++){
var cfg="var_"+key.toLowerCase()+"_"+attarray[key][j];
console.log(cfg);
if(jQuery('#'+cfg).hasClass('disabled')){
console.log("element "+'#'+cfg+"  ... has class disabled");
}else{
if(jQuery('#'+cfg).hasClass('selected')){
active=cfg;
console.log("element "+'#'+cfg+"  ... has class active");
}
else if(first===""){
first=cfg;
console.log("Element #"+cfg+"   ... is set as first");
}}
}
if(first!==""&&active==""){
console.log("The first element is: "+first);
jQuery('#'+first).addClass('selected');
idd=jQuery('#'+first).attr('data');
var parr=idd.split("_");
if(parr.length==3&&parr[0]=="var"){
console.log('nastavujem select '+parr[1]+" na hodnotu "+parr[2]);
document.getElementById(parr[1].toLowerCase()).value=parr[2];
console.log('################ On element '+document.getElementById(parr[1].toLowerCase())+' we trigger change event');
jQuery(document.getElementById(parr[1].toLowerCase())).trigger("change");
active=first;
}}
if(active){
console.log("############## trigger click na "+active);
jQuery("#"+active).trigger('click');
console.log("################ QUANTITY INPUT TRIGGER");
jQuery('.single_variation_wrap .quantity input').trigger('click');
}
console.log('koniec fixu');
}else{
console.log("###################We trigger event CHECK VARIATIONS on variations form!!! ##");
jQuery(".variations_form").trigger('check_variations');
}};