/**
 * base js for multi-mart.ru
 * @copyright (c) 2009 Sokolov Innokenty
 * @date 21/01/10 11:29:27
 */
if(!Q)var Q={};Q.tradeBay={mini_cart:function(){Q.ajax.get("/index/ajax/getCart/",function(data){data=data.split(".");Q.id("cart_models").innerHTML=data[0];Q.id("cart_price").innerHTML=data[1];});},uncheckFilter:function(t,g){this.tf=Q.id(t);this.tf.c=Q.id(t+"_count");this.tf.c.v=this.tf.c.innerHTML;this.tf.i=this.tf.getElementsByTagName("input");if(!g){for(i=0;i<this.tf.i.length;i++){if(this.tf.i[i].type=="checkbox"){this.tf.i[i].checked=false;}}}},checkFilter:function(){this.click2=Q.tradeBay.filterButton.onclick;Q.tradeBay.filterButton.onclick=null;var a='';for(i=0;i<this.tf.i.length;i++){if(this.tf.i[i].type=="checkbox"&&this.tf.i[i].checked){if(a)a+=",";a+=this.tf.i[i].name;}}
if(!a){this.tf.c.innerHTML=this.tf.c.v;this.stop=true;if(Q.tradeBay.filterButton){Q.tradeBay.filterButton.onclick=function(){window.location.href='/модели/';};}
return;}else{this.stop=false;}
Q.ajax.post("/search/ajax/filterFastSearch/",{elm:a},function(data){d=data.split("|");if(!Q.tradeBay.stop){Q.tradeBay.tf.c.innerHTML=d[0];if(Q.tradeBay.filterButton){if(d[0]!="0"){Q.tradeBay.filterButton.onclick=function(){window.location.href="/модели/"+d[1];};}else{Q.tradeBay.filterButton.onclick=this.click2;}}}});},hoverModel:function(p,c){if(!c)return;var d=Q.btn("div",p);for(var i=0;i<d.length;i++){if(d[i].className==c){d[i].onmouseover=function(){this.style.borderColor="#ccc";}
d[i].onmouseout=function(){this.style.borderColor="white";}}}}}
Q.tradeBay.sell={inpts:[],upload_dir:"/etc/img/photos/uploads/",editFilter:function(self,id,nf){var n="off"
if(self.checked)n="on";Q.ajax.post("/models/ajax/filterPower/",{action:n,model_id:id,filter:nf},function(data){if(data=="OK"){}});},editInput:function(self,id,mode,row_id){if(!this.editElm){this.editElm=Q.id(id);this.editElm.mode=mode;this.editElm.row_id=row_id;this.editElm.ot=this.editElm.innerHTML;this.editElm.innerHTML="";var input=document.createElement("input");input.type="text";input.className="editInput";input.value=this.editElm.ot;this.editElm.input=input;this.editElm.appendChild(input);var save=document.createElement("input");save.type="button";save.value="сохранить";save.onclick=function(){Q.tradeBay.sell.editInputSave();}
this.editElm.appendChild(save);var cancel=document.createElement("input");cancel.type="button";cancel.value="отмена";cancel.onclick=function(){Q.tradeBay.sell.editInputCancel();}
this.editElm.appendChild(cancel);this.editElm.editB=self;self.style.display="none";}},editInputSave:function(){if(!this.editElm||!this.editElm.mode||!this.editElm.row_id)return;Q.ajax.post("/index/ajax/editInputSave/",{mode:this.editElm.mode,row_id:this.editElm.row_id,col:this.editElm.id,text:this.editElm.input.value},function(data){if(data=="OK"){}else alert(data);});this.editElm.innerHTML=this.editElm.input.value;this.editElm.editB.style.display="";this.editElm=null;},editInputCancel:function(){if(!this.editElm)return;this.editElm.innerHTML=this.editElm.ot;this.editElm.editB.style.display="";this.editElm=null;},editTextarea:function(){this.d=Q.id("collection_description");if(this.d.style.display!="none"){if(!this.de){this.de=document.createElement("textarea");this.de.style.width="100%";this.de.style.height=(this.d.offsetHeight>100)?this.d.offsetHeight+"px":"100px";this.de.className="editCollectionDescription";this.ddiv=document.createElement("div");this.ddiv.style.width=(this.d.offsetWidth>200)?this.d.offsetWidth+"px":"200px";this.ddiv.appendChild(this.de);this.save=document.createElement("input");this.save.type="button";this.save.value="сохранить";this.save.onclick=function(){Q.tradeBay.sell.editTextareaSave();}
this.ddiv.appendChild(this.save);this.cancel=document.createElement("input");this.cancel.type="button";this.cancel.value="отмена";this.cancel.onclick=function(){Q.tradeBay.sell.editTextareaCancel();}
this.ddiv.appendChild(this.cancel);this.d.parentNode.insertBefore(this.ddiv,this.d);}
this.de.value=this.d.innerHTML.replace(/\n<br(.*?)>/ig,"\n").replace(/<br(.*?)>\n/ig,"\n").replace(/<br(.*?)>/ig,"\n");this.ddiv.style.display="block";this.d.style.display="none";}},editTextareaSave:function(){this.d.innerHTML=this.de.value.replace(/\n/g,"<br />");Q.ajax.post("/collections/ajax/saveDescription",{collection_id:Q.tradeBay.collection_id,collection_description:this.d.innerHTML},function(data){if(data=="OK"){}else alert(data);});this.d.style.display="block"
this.ddiv.style.display="none";},editTextareaCancel:function(){this.d.style.display="block"
this.ddiv.style.display="none";},editCollectionPhoto:function(self,id){var photo=Q.id("collection_photo");if(!Q.iframeUpload.form){Q.iframeUpload.action="/index/ajax/editCollectionPhoto/&collection_id="+id;Q.iframeUpload.parent=self.parentNode;Q.iframeUpload.create(function(data){if(!data)return;data=data.split(".");if(data[1]=="jpg"||data[1]=="jpeg"||data[1]=="png"||data[1]=="gif"){photo.src=Q.tradeBay.sell.upload_dir+data[0]+"."+data[1];Q.id(Q.iframeUpload.name).innerHTML="";Q.id(Q.iframeUpload.form_id).style.display="none";}else{alert("ошибка загрузки файла.");}});}},modelCreatePlusPhoto:function(self){if(!this.photoRows)this.photoRows=2;else this.photoRows++;var div=document.createElement("div");var input=document.createElement("input");input.type="file";input.name="model_photo_"+this.photoRows;input.size=20;div.appendChild(input);var del=document.createElement("input");del.type="button";del.value="-";del.title=this.photoRows;del.onclick=function(){Q.tradeBay.sell.inpts[this.title].parentNode.removeChild(Q.tradeBay.sell.inpts[this.title]);}
div.appendChild(del);this.inpts[this.photoRows]=div;Q.id("forPhoto").appendChild(div);},modelUploadPhoto:function(self,id){if(!Q.iframeUpload.form){Q.iframeUpload.action="/index/ajax/modelUploadPhoto/&model_id="+id;Q.iframeUpload.parent=self.parentNode;Q.iframeUpload.create(function(data){if(!data)return;data=data.split(".");if(data[1]=="jpg"||data[1]=="jpeg"||data[1]=="png"||data[1]=="gif"){window.location.reload(true);}else{alert("ошибка загрузки файла.");}});}},setModelIndexPic:function(self){if(!this.model_id)return false;var as=Q.btn("a",Q.id("model_gallery"));for(i=0;i<as.length;i++){if(as[i].rel==self.alt){as[i].className="model_preview curr";Q.ajax.post("/index/ajax/modelSetCurrentPhoto/",{model_id:this.model_id,photo_current:self.alt},function(data){Q.id("main_model_photo").src=self.src;Q.tradeBay.buy.lmmpsrc=self.src;});}else{as[i].className="model_preview";}}},deleteModelPic:function(self){if(!this.model_id)return false;var q=confirm("Вы действительно хотите удалить фото ?!?");if(!q)return;var photo=self.parentNode.rel;Q.ajax.post("/index/ajax/deleteModelPic/",{model_id:this.model_id,photo:photo},function(data){if(data=="OK"){self.parentNode.parentNode.removeChild(self.parentNode);}});},deleteModel:function(self,model_id){var q=confirm("Вы действительно хотите удалить модель ?!?");if(!q)return;Q.ajax.post("/index/ajax/deleteModel/",{model_id:model_id},function(data){if(data=="OK"){self.parentNode.parentNode.removeChild(self.parentNode);}});},deleteCollection:function(self,collection_id){var q=confirm("Вы действительно хотите удалить коллекцию ?!?");if(!q)return;Q.ajax.post("/index/ajax/deleteCollection/",{collection_id:collection_id},function(data){if(data=="OK"){self.parentNode.parentNode.removeChild(self.parentNode);}});self.parentNode.parentNode.parentNode.removeChild(self.parentNode.parentNode);}}
Q.tradeBay.buy={finish:function(maker_id){Q.ajax.post("/cart/ajax/oformit/",{login:Q.getCookie("login"),hash:Q.getCookie("hash"),maker_id:maker_id},function(data){data=data.split("|");if(data[0]=="OK"){var table=Q.id("maker_"+maker_id);var div=document.createElement("div");div.innerHTML="Заказ номер <a href=\"/заказы/"+data[1]+"/\">№"+data[1]+"</a> успешно оформлен.<br />Производитель: "+data[2]+".";div.className="cart_done";table.parentNode.insertBefore(div,table);table.parentNode.removeChild(table);}else{alert("эта функция доступна только зарегистрированным пользователям!");}});},add_to_cart:function(id,size){if(!id)return;this.id=id;if(typeof size!="object"&&size.length>0)return
if(this.popup){this.close_popup();}
var t=(document.all)?document.body.scrollTop:window.pageYOffset;var s=(screen.availTop)?screen.availTop/2:300;var div=document.createElement("div");div.className="popup";div.style.top=parseFloat(t+s)+"px";div.onmouseover=function(){document.body.onclick=null;}
div.onmouseout=function(){Q.tradeBay.buy.bind_close_popup();}
div.appendChild(this.create_size_h());for(i=0;i<size.length;i++){div.appendChild(this.create_size(size[i]));}
var ok=document.createElement("input");ok.type="button";ok.className="ok";ok.value="добавить";ok.onclick=function(){Q.tradeBay.buy.add_to_cart_ok();}
div.appendChild(ok);var cancel=document.createElement("input");cancel.type="button";cancel.className="cancel";cancel.value="отмена";cancel.onclick=function(){Q.tradeBay.buy.close_popup();}
div.appendChild(cancel);this.popup=div;document.body.appendChild(this.popup);setTimeout("Q.tradeBay.buy.bind_close_popup();",10);},add_to_cart_ok:function(){if(!this.id)return;var inputs=Q.btn("input",this.popup);var p=[];for(i=0;i<inputs.length;i++){if(inputs[i].type=="text"&&inputs[i].value>0){p.push(this.id+"."+inputs[i].title+".."+inputs[i].value);}}
if(p==""){alert("укажите кол-во");}else{Q.ajax.post("/models/ajax/add_to_cart/",{id:this.id,items:p.join("...")},function(data){if(data=="OK"){Q.tradeBay.mini_cart();Q.tradeBay.buy.close_popup();alert("модель успешно добавлена в корзину!");}else alert(data);});}},create_size:function(name){var size=document.createElement("div");var span=document.createElement("span");span.innerHTML=name+": ";size.appendChild(span);var input=document.createElement("input");input.type="text";input.size=2;input.maxLength=2;input.value=0;input.title=name;input.onchange=function(){if(!this.value||this.value<0||isNaN(parseFloat(this.value)))this.value=0;this.value=parseFloat(this.value);}
size.appendChild(input);return size;},create_size_h:function(){var size=document.createElement("div");size.className="h";var b=document.createElement("b");b.innerHTML="размер";b.className="l";size.appendChild(b);var b=document.createElement("b");b.innerHTML="кол-во";size.appendChild(b);return size;},bind_close_popup:function(){document.body.onclick=function(){if(Q.tradeBay.buy.popup){document.body.onclick=null;Q.tradeBay.buy.close_popup();}}},close_popup:function(){this.popup.parentNode.removeChild(this.popup);this.popup=null;document.body.onclick=null;},delete_cart_item:function(self,id,size){if(!id)return;var q=confirm("Вы действительно хотите удалить товар [ "+id+" ] ?!?");if(!q)return;Q.ajax.post("/index/ajax/delete_cart_item/",{id:id,size:size},function(data){if(data=="OK"){var prev=self.parentNode.parentNode.previousSibling;var prevprev=prev.previousSibling;var next=self.parentNode.parentNode.nextSibling;if(prev.className!="model"&&next.className!="model"){if(prevprev.className=="maker"){self.parentNode.parentNode.parentNode.removeChild(prevprev);}
self.parentNode.parentNode.parentNode.removeChild(prev);}
self.parentNode.parentNode.parentNode.removeChild(self.parentNode.parentNode);window.location.href="/корзина/"}});},clear_mini_cart:function(){Q.setCookie("cart_items",null,-30);Q.tradeBay.mini_cart();},clear_cart:function(){var q=confirm("Вы действительно хотите очистить корзину ?!?")
if(q){Q.setCookie("cart_items",null,-30);window.location.reload(true);}},add_to_favorit:function(what,id){if(!what||!id)return;var n="";if(what==1)n="коллекция";else if(what==2)n="модель";Q.ajax.post("/index/ajax/add_to_favorit/",{what:what,id:id},function(data){if(data=="NO_AUTH"){alert("эта функция доступна только зарегистрированным пользователям!");}else if(data=="EXIST"){alert("эта "+n+" уже присутствует в избранном!");}else if(data=="OK"){alert(n+" успешно добавлена в избранное!");}else alert(data);});},preview:function(src,b){if(b&&this.mmp&&this.lmmpsrc){this.mmp.src=this.lmmpsrc;return;}
if(!this.mmp){this.mmp=Q.id("main_model_photo");this.lmmpsrc=this.mmp.src;}
this.mmp.src=src;}}
