glob={};
InitPage();


function InitPage() {
  cart_CookieToArray();
}



function go(url) {
  window.location.href=url;
}



function get(id) {
  return document.getElementById(id);
}



function getCookie(name) {
  var prefix=name+"=";
  var cookieStartIndex=document.cookie.indexOf(prefix);
  if(cookieStartIndex==-1) return null;
  var cookieEndIndex=document.cookie.indexOf(";",cookieStartIndex+prefix.length);
  if(cookieEndIndex==-1) cookieEndIndex=document.cookie.length;
  return unescape(document.cookie.substring(cookieStartIndex+prefix.length,cookieEndIndex));
}


function setCookie(name,value,save) {
  var expdate="";
  if(save) {
    expdate=new Date();
    expdate.setTime(expdate.getTime()+86400*10*1000); //+10d
    expdate="; expires="+expdate.toGMTString();
  }
  document.cookie=name+"="+value+"; path=/;"+expdate;
}



function delCookie(name) {
  expdate=new Date();
  expdate.setTime(expdate.getTime()-86400*100*1000); //-100d
  document.cookie=name+"=; path=/; expires="+expdate.toGMTString();
}



function InputDefaultText(id_el,text) {
  glob.sq_default=text;
  var el=get(id_el);

  el.onfocus=function() {
    if(this.value==text) {
      this.value='';
    }
    this.style.color='black';
  }

  el.onblur=function() {
    var v=this.value.replace(/^\s+$/,"");
    if(!v || v==text) {
      this.value=text;
      this.style.color='#999';
    }
  }

  el.onblur();
}



function chs(el,c) {
  el.className=c;
}



function getIframeDocument(id) {
  el=get(id);
  if(el.contentDocument) return el.contentDocument;
  if(el.contentWindow) return el.contentWindow.document;
  return el.document;
}



function form_Show(form_key) {
  get("form_informer_"+form_key).style.display="none";
  get("form_body_"+form_key).style.display="";
}



function form_OnLoad(form_key,is_but) {
  var d=getIframeDocument("form_"+form_key+"_iframe");
  if(!d.getElementById("status")) {return}

  var status=d.getElementById("status").innerHTML;
  var data=d.getElementById("data").innerHTML;
  d.body.innerHTML="";

  if(status==1) {
    if(is_but) {
      var ev='form_Show("'+form_key+'")';
      if(form_key=="gb") {ev="gb_FormShow(0)"}
      data+="<DIV class=form_sbmt2><BUTTON type=button onclick='"+ev+"'>OK</BUTTON></DIV>";
    }
    
    var info=get("form_informer_"+form_key);
    info.innerHTML=data;
    info.style.display="";
    get("form_body_"+form_key).style.display="none";
    document.forms["form_"+form_key].reset();
  } else if(status==0) {
    var er="";
    var A=data.split(/<BR>/i);
    for(var i=0; i<A.length; i++) {
      er+="- "+A[i]+"\n";
    }
    alert("Найдены ошибки!\n"+er);
  }
}



function form_AddFileField(form_key,id) {
  eval("var c=1+ffc_"+form_key+"_"+id+"++;");
  if(c>=5) {document.getElementById("form_addfile_"+form_key+"_"+id).style.display="none"}

  var newItem=document.createElement("div");
  newItem.innerHTML="<INPUT type=file name=field_"+id+"_"+c+" id=form_"+form_key+"_"+id+"_"+c+">";
  document.getElementById("form_file_"+form_key+"_"+id).appendChild(newItem);
  return false;
}



function form_CheckForm(form_key) {
  var er="";
  eval("var E=form_"+form_key+"_req;");

  for(i=0;i<E.length;i++) {
    var f=0;
    if(E[i][2]) {
      if(E[i][2]=="f") {
        eval("var n=ffc_"+E[i][0]);
        for(j=1;j<=n;j++) {
          var el=get("form_"+E[i][0]+"_"+j);
          if(el.value) {f=1}
        }
      } else {
        for(j=1;j<=E[i][2];j++) {
          if(get("form_"+E[i][0]+"_"+j).checked) {f=1}
        }
      }
    } else if(get("form_"+E[i][0]).value) {f=1}
	if(!f) {er+="- "+E[i][1]+"\n"}
  }

  if(er) {
    alert("Ошибка! Не заполнены следующие поля:\n"+er);
    return false;
  }
  return true;
}



function gb_FormShow(n) {
  if(n) {
    form_Show("gb");
    get("gb_add_but").style.display="none";
    get("gb_form").style.display="";
    get("form_gb_1").focus();
  } else {
    get("gb_add_but").style.display="";
    get("gb_form").style.display="none";
    document.forms["form_gb"].reset();
  }
}



function photo_nav(id,v) {
  if(v) {v="visible";} else {v="hidden";}
  get(id).style.visibility=v;
}



function sc_sort(n) {
  var cur_sort=getCookie("sort");
  if(cur_sort==n) {n=0}
  setCookie("sort",n,1);
  //window.location.href=window.location.href;
  window.location.href=sc_sort_url;
}



function sc_ImgOverInit(bkey) {
  if(!get("sc_ibox")) {
    var ibox=document.createElement('div');
    ibox.className="sc_ibox";
    ibox.id="sc_ibox";
    ibox.style.display="none";
    document.body.appendChild(ibox);
  }
  glob.ibox=[];

  eval("var A=sc_imgover_"+bkey);
  for(var i=0; i<A.length; i++) {
    var id="sc_"+bkey+"_"+A[i][0];
    var w=A[i][2]+20;
    var h=A[i][3]+20;
    
    eval("get('"+id+"').onmousemove=function(event) {sc_IboxMove(event)}");
    
    eval("get('"+id+"').onmouseover=function(event) {\
      glob.doc=DocumentSize();\
      glob.scroll=DocumentScroll();\
      glob.ibox.width="+w+";\
      glob.ibox.height="+h+";\
      with(get('sc_ibox').style) {display=''; width="+w+"; height="+h+"; background='white url("+A[i][1]+") 10px 10px no-repeat';}\
      sc_IboxMove(event);\
    }");
    
    eval("get('"+id+"').onmouseout=function(event) {get('sc_ibox').style.display='none'}");
  
  
  }
}



function sc_IboxMove(event) {
  var event=event||window.event;
  var mp=MousePosition(event);
  var x=mp.x;
  if(mp.x<glob.scroll.x+glob.doc.width/2) {x+=30} else {x-=glob.ibox.width+30}
  var y=glob.scroll.y+glob.doc.height/2-glob.ibox.height/2;
  if(mp.y<y-30) {y=mp.y+30} else if(mp.y>y+glob.ibox.height+30) {y=mp.y-glob.ibox.height-30}
  with(get('sc_ibox').style) {left=x; top=y;}
}



function cart_IbRefresh() {
  var c=getCookie("cart");
  if(glob._cart!=c) {
    glob._cart=c;
    cart_CookieToArray();
    
    if(c) {
      get("cart_x1").innerHTML="<a href="+glob.cart_url+"><img src=/t/i_cart.png></a>";
      get("cart_x2").innerHTML="<a href="+glob.cart_url+">Ваша корзина заказов</a><DIV>содержит <SPAN class=b>"+glob.cart_n_pos+"</SPAN> "+RusNumeral(glob.cart_n_pos,"товар","","а","ов")+"<BR>на сумму <SPAN class=b>"+tmp_Price(glob.cart_n_price)+"</SPAN></DIV>";
      get("cart_x0").style.display="";
    } else {
      get("cart_x0").style.display="none";
    }
  }
}



function cart_Add(bkey,id,price,quantity,node) {
  var f;
  for(var i=0; i<glob.cart.length; i++) {
    if(glob.cart[i][0]==id) {
      glob.cart[i][2]=Number(glob.cart[i][2])+Number(quantity);
      f=1;
    }
  }
  if(!f) {glob.cart.push([id,price,quantity,node])}

  cart_ArrayToCookie();
  cart_IbRefresh();

  get("sc_badd_"+bkey).style.display="none";
  get("sc_bgo_"+bkey).style.display="";
  
}



function cart_ArrayToCookie() {
  var c="";
  for(var i=0; i<glob.cart.length; i++) {
    c+=glob.cart[i].join("-")+",";
  }
  c=c.slice(0,c.length-1);
  setCookie("cart",c,1);
}



function cart_CookieToArray() {
  glob.cart=[];
  var tprice=0;
  var tpos=0;
  
  var C=getCookie("cart");
  if(C) {
    C=C.split(",");
    for(var i=0; i<C.length; i++) {
      var V=C[i].split("-");
      glob.cart.push(V);
      tpos+=Number(V[2]);
      tprice+=Number(V[2])*Number(V[1]);
    }
  }
  tprice=NormalPrice(tprice);

  glob.cart_n_price=tprice;
  glob.cart_n_pos=tpos;
}



function cart_IsInCart(id) {
  for(var i=0; i<glob.cart.length; i++) {
    if(id==glob.cart[i][0]) {return true}
  }
}



//---------------



function MousePosition(event) {
  var x=y=0;
  if(document.attachEvent!=null) { // Internet Explorer & Opera
    x=window.event.clientX+(document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    y=window.event.clientY+(document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  } else if(!document.attachEvent && document.addEventListener) { // Gecko
    x=event.clientX + window.scrollX;
    y=event.clientY + window.scrollY;
  }
  return {x:x, y:y};
}



function DocumentSize() {
  var width=document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
  var height=document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
  return {width:width, height:height};
}



function DocumentScroll() {
  var x=self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
  var y=self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
  return {x:x, y:y};
}



function NormalPrice(n) {
  if(n!=Math.round(n)) {n=Number(n).toFixed(2)}
  return n;
}



function tmp_Price(p) {
  var D=NormalPrice(p).toString().split(".");
  var out=D[0]+" руб.";
  if(D[1]) {out+=" "+D[1]+" коп."}
  return out;
}



function StringEndCut(s,sub) {
  var sl=sub.length;
  var t=s.substr(s.length-sl,sl);
  if(t==sub) {return s.substr(0,s.length-sl)} else {return s}
}



function RusNumeral(n,base,e1,e2,e3) {
  var p2;
  var end;
  n=String(n);
  
  var p1=n.substr(n.length-1,1);
  if(n>9) {p2=n.substr(n.length-2,1)}
  if(p2==1 || p1==0 || (5<=p1 && p1<=9)) {end=e3;}
    else if(p1==1) {end=e1;}
	  else {end=e2;}
  return base+""+end;
}
