var Parameter={oldValue:[],parameterId:null,parameterInfo:[],numEditValues:[],valueSuggest:[],filterValues:[],maxValueLength:255,categoryId:null,productId:null,showedLink:null,showNewvalue:false,emptyString:"#value!",showEditLink:function(a){a.removeClassName("hide");a.addClassName("show")},hideEditLink:function(a){a.removeClassName("show");a.addClassName("hide")},observe:function(b,d,a){var c=this;c.productId=b;c.categoryId=d;c.showNewValue=a;$$("#product-parameters tr").each(function(e){e.observe("mouseover",function(g){var f=$(e).select("a.param-edit");if(f.length!==0){if(f[0].id.split("-")[1]!=c.parameterId){c.showEditLink(f[0]);if(c.showedLink!==null&&c.showedLink!==f[0]){c.hideEditLink(c.showedLink)}c.showedLink=f[0]}}else{if(c.showedLink!==null&&c.showedLink!==f[0]){c.hideEditLink(c.showedLink)}}})});$$("#product-parameters tr").each(function(e){e.observe("mouseout",function(g){var f=$(e).select("a.param-edit");if(f.length!==0){if(f.length!==0){c.hideEditLink(f[0]);c.showedLink=null}}})});$$(".param-edit").each(function(e){e.observe("click",function(f){f.stop();if(c.parameterId!==null){Parameter.removeEditBox(c.parameterId,c.numEditValues[c.parameterId],c.oldValue[c.parameterId],"")}c.parameterId=Parameter.getParameterId(e);c.oldValue[c.parameterId]=$("param-value-"+c.parameterId).innerHTML;c.setParameterInfo(c,e)})})},getParameterId:function(a){var b=a.id.split("-");return b[b.length-1]},setParameterInfo:function(a,b){new Ajax.Request("/direct/ajax/user-values/get-info/",{parameters:"id="+a.parameterId,onComplete:function(c){if("ERROR"!=status){a.parameterInfo=c.responseText.evalJSON();a.filterValues[a.parameterId]=a.parameterInfo.filterValues;b.hide();Parameter.createEditBox(a,false);Parameter.observeSave(a);Parameter.observeClose(a);if(a.parameterInfo.type==="string"&&a.filterValues[a.parameterId].length===0){Parameter.enableValueSuggest(a)}$$(".showInput").each(function(d){d.observe("change",function(f){var h=Event.element(f);for(var e=0;e<h.length;e++){var g=$(h[e]);if(g.selected&&g.id!==""){a.parameterId=a.getParameterId(d);Parameter.removeEditBox(a.parameterId,a.numEditValues[a.parameterId],a.oldValue[a.parameterId],"");a.createEditBox(a,true);Parameter.observeSave(a);Parameter.observeClose(a);Parameter.enableValueSuggest(a)}}})})}else{if(c.responseText==="missing"){alert("Tento parameter už u tohoto produktu neexistuje.")}else{alert("Nastala chyba pri načítaní parametra. Skúste to prosím znova.")}}}})},createEditBox:function(d,j){var h=d.parameterInfo.type,f="",a=$("param-value-"+d.parameterId),e="",g='<p><input type="button" class="param-save" id="param-save-'+d.parameterId+'" value="uložiť" /> <input type="button" class="param-close" id="param-close-'+d.parameterId+'" value="zrušiť" /></p>';e=d.getParamValueFromString(d.oldValue[d.parameterId]);d.numEditValues[d.parameterId]=1;switch(h){case"bool":f='<select id="param-newValue-'+d.parameterId+'"><option> </option><option'+(e==="ano"?' selected="selected"':"")+">ano</option><option"+(e==="ne"?' selected="selected"':"")+">ne</option></select>";break;case"string":if(!j&&typeof d.filterValues[d.parameterId]!=="undefined"){var b=d.filterValues[d.parameterId].indexOf(e)!==-1;f='<select id="param-newValue-'+d.parameterId+'" class="showInput"><option>'+e+"</option>";d.filterValues[d.parameterId].each(function(m){if(m!=e){f+="<option>"+m+"</option>"}});f+='<option id="showInput-'+d.parameterId+'">Zadať hodnotu...</option>';f+="</select>"}if(f===""){f='<input type="text" size="20" id="param-newValue-'+d.parameterId+'" value="'+e+'" />'}break;case"f":f='<input type="text" size="10" id="param-newValue-'+d.parameterId+'" value="'+e+'" />';break;case"fxf":case"fxfxf":case"f-f":case"f/f":case"f/f/f":case"f:f":var c=h.split("f")[1],l=h.split("f").length;var k=a.innerHTML.split(c);d.numEditValues[d.parameterId]=k.length,i=0;d.parameterInfo.separator=c;for(i;i<d.numEditValues[d.parameterId];i++){f+='<input type="text" size="5" id="param-newValue-'+d.parameterId+"-"+i+'" value="'+e.split(c)[i].replace(/^\s+|\s+$/g,"")+'" />';if(i<d.numEditValues[d.parameterId]-1){f+=" "+c+" "}}break}a.innerHTML="<p>"+f+"</p>";Element.insert($("param-unit-"+d.parameterId),{after:g})},observeSave:function(b){var a=b.parameterId;$("param-save-"+a).observe("click",function(c){Parameter.saveValue(c,b)})},observeClose:function(b){var a=b.parameterId;$("param-close-"+a).observe("click",function(c){b.parameterId=null;Parameter.removeEditBox(a,b.numEditValues[a],b.oldValue[a],"")})},disableValueSuggest:function(a){delete Parameter.valueSuggest[a]},enableValueSuggest:function(a){var b=document.createElement("div");parameterId=a.parameterId;b.id="autocomplete-choices-"+parameterId;b.setAttribute("class","autocompleteScroll");$("param-value-"+parameterId).appendChild(b);a.valueSuggest[parameterId]=new Ajax.Autocompleter("param-newValue-"+parameterId,"autocomplete-choices-"+parameterId,"/direct/ajax/user-values/suggest-value/",{paramName:"q",minChars:0,parameters:"id="+parameterId+"&catId="+a.categoryId,submitOnEnter:false,hideOnEnter:true,enableOnFocus:true})},getParameterUnit:function(a){return $("param-unit-"+a).innerHTML},getParameterName:function(a){return $("param-name-"+a).innerHTML},getParamValueFromString:function(a){var b=document.createElement("div");b.innerHTML=a;if(b.firstChild.innerHTML!==undefined){return b.firstChild.innerHTML}else{return b.innerHTML}},saveValue:function(e,d){d.parameterId=Parameter.getParameterId(Event.element(e));var c=Parameter.getParameterName(d.parameterId),a=Parameter.getParameterUnit(d.parameterId),b=d.getParamValueFromString(d.oldValue[d.parameterId]),f=d.getNewParamValue(d.parameterId,d.numEditValues[d.parameterId],d.parameterInfo.separator,d.parameterInfo.type);if(Parameter.checkValue(f,b,d.parameterInfo)){if(f.value===""){f.value=d.emptyString}$("param-save-"+d.parameterId).hide();$("param-close-"+d.parameterId).hide();$("param-value-"+d.parameterId).hide();$("param-unit-"+d.parameterId).hide();$("param-save-"+d.parameterId).parentNode.addClassName("saving");new Ajax.Request("/direct/ajax/user-values/save/",{parameters:"paramId="+d.parameterId+"&productId="+d.productId+"&value="+encodeURIComponent(f.value)+"&unit="+encodeURIComponent(a)+"&name="+encodeURIComponent(c),onComplete:function(g){$("param-save-"+d.parameterId).parentNode.removeClassName("saving");$("param-value-"+d.parameterId).show();$("param-unit-"+d.parameterId).show();if(g.responseText===""||g.responseText==="duplicity"){Parameter.disableValueSuggest(d.parameterId);Parameter.removeEditBox(d.parameterId,d.numEditValues[d.parameterId],d.oldValue[d.parameterId],f.value);Parameter.parameterId=null;alert("Návrh na zmenu hodnoty uložený. Ďakujeme Vám.")}else{$("param-save-"+d.parameterId).show();$("param-close-"+d.parameterId).show();if(g.responseText==="type"){alert("Hodnota  je v nesprávnom formáte. Skúste znova načítať stránku a akciu opakujte.")}else{if(g.responseText==="missing"){alert("Tento parameter už u tohoto produktu neexistuje.")}else{alert("Nepodarilo sa uložiť návrh na zmenu parametra. Skúste to prosím znova.")}}}}})}},checkValue:function(f,a,e){var b=0;for(b;b<f.parts.length;b++){if(f.parts.length>1){$("param-newValue-"+Parameter.parameterId+"-"+b).value=f.parts[b]}else{$("param-newValue-"+Parameter.parameterId).value=f.parts[b]}var d=f.parts[b];if(d.length===0){return true}if(d.length>Parameter.maxValueLength){var c="Hodnota nesmie mať viac ako %s znakov!";c=c.replace(/%s/,Paramete.maxValueLength);alert(c);return false}if(e.type==="bool"){if(!Parameter.checkBool(d)){return false}}else{if(e.type==="string"){}else{if(!Parameter.checkNum(d,e.valueMin,e.valueMax)){if(e.valueMin+e.valueMax===0){var c="Hodnota musí byť číslo!"}else{var c="Vyplnená hodnota musí byť číslo v rozsahu od %s do %s!";c=c.replace(/%s/,e.valueMin).replace(/%s/,e.valueMax)}alert(c);return false}}}}if(f.value.toLowerCase()==a.toLowerCase()){Parameter.removeEditBox(Parameter.parameterId,Parameter.numEditValues[Parameter.parameterId],Parameter.oldValue[Parameter.parameterId],"");Parameter.parameterId=null;return false}return true},formatValue:function(b,a){if("string"!==typeof b){b=b+""}b=b.replace("/s+/"," ");b=b.replace(/^\s+|\s+$/g,"");if(a!=="string"&&a!=="bool"){b=b.replace(",",".")}return b},getNewParamValue:function(a,b,f,d){var e=[];e.separator=f;e.parts=[];if(b===1){e.value=$("param-newValue-"+a).value;e.parts[0]=$("param-newValue-"+a).value;if(d!=="bool"&&d!=="string"){e.value=e.value.replace(",",".");e.parts[0]=e.parts[0].replace(",",".")}}else{var c=0;e.value="";for(c;c<b;c++){e.value+=Parameter.formatValue($("param-newValue-"+a+"-"+c).value);e.parts[c]=Parameter.formatValue($("param-newValue-"+a+"-"+c).value);if(c<b-1){e.value+=" "+f+" "}if(d!=="bool"&&d!=="string"){e.parts[c]=e.parts[c].replace(",",".")}}if(d!=="bool"&&d!=="string"){e.value=e.value.replace(",",".")}}return e},removeEditBox:function(a,c,b,e){$("param-save-"+a).parentNode.remove();if(c===1){element=$("param-newValue-"+a);element.parentNode.removeChild(element)}else{var d=0;for(d;d<c;d++){$("param-newValue-"+a+"-"+d).remove()}}if(Parameter.showNewValue&&e!==""){if(e!==Parameter.emptyString){$("param-value-"+a).innerHTML=e;$("param-"+a).show()}else{$("param-"+a).parentNode.parentNode.remove()}}else{$("param-value-"+a).innerHTML=b;$("param-"+a).show()}},checkBool:function(a){return(a==="ano"||a==="ne")},checkNum:function(c,b,a){if(isNaN(c)){return false}else{if(b+a===0){return true}else{if(parseFloat(c)>=parseFloat(b)&&parseFloat(c)<=parseFloat(a)){return true}else{return false}}}},sendMissingParameterMessage:function(c,a){if(Check.empty(a.f_parameterName.value)){Notifikator.showError($(c),"CHYBA:Názov parametra nebol vyplnený!")}else{a.submit.value="Odosielam...";var b=new Ajax.Request("/direct/ajax/user-values/send-email-missing-parameter/",{parameters:"url="+encodeURIComponent(location.href)+"&parameterName="+encodeURIComponent(a.f_parameterName.value),onComplete:function(e){a.submit.value="Odoslať";var d=e.getResponseHeader("X-Status");if("ERROR"==d){Notifikator.showError($(c),"CHYBA: "+e.responseText)}else{Notifikator.clearValues(c);Notifikator.showOk($(c),"OK: Správa bola úspešne odoslaná!");var f=H.AlertBox.getInstance();if(f){f.fade()}}}})}}};
