var visible = 0;

function huh(elementName){
  var el;
  el = document.getElementById(elementName); 

  if (el.style.display == "none") {
    if (document.visible) document.visible.style.display = "none";
    el.style.display = "";
    document.visible=el;
  } else {
    el.style.display = "none";
    document.visible = 0;
  }
}

function unhide(elementName){
  document.getElementById(elementName).style.display="";
}

function hide(elementName){
  document.getElementById(elementName).style.display="none";
}


function getXmlHttpRequestObject() {
  if (window.XMLHttpRequest) {
      return new XMLHttpRequest(); 
  } else if(window.ActiveXObject) {
      return new ActiveXObject("Microsoft.XMLHTTP"); 
  } else { return false; }
}                       

var oReq = getXmlHttpRequestObject();             
var edDate = '';
var edName = '';
var edText = '';

function orderRequest(request,handle) {
  if (oReq.readyState == 4 || oReq.readyState == 0) {
    oReq.open("GET", 'order.php?'+request, true);
    oReq.onreadystatechange = handle; 
    oReq.send(null);
  }
}

function orderHandle() {
  if (oReq.readyState == 4) {
    hide('oform');
    document.getElementById('order').innerHTML = oReq.responseText;
  }
}


function PreloadImages(imagea){
  if (imagea){
    var imgFiles = PreloadImages.arguments;
    var preloadArray = new Array();
    for (var i=0; i<imgFiles.length; i++){
      preloadArray[i] = new Image;
      preloadArray[i].src = imgFiles[i];
    }
  }
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
  if (curCookie.length <= 4096) document.cookie = curCookie;
  else alert("Добавление отменено");
}

function checkForm(){
                if(calc.FIO.value == ''){
                                alert('Поле "ФИО" должно быть заполнено');
                                return false;
                }
                if(calc.email.value == ''){
                                alert('Поле "EMAIL" должно быть заполнено');
                                return false;
                }
                if(calc.otziv.value == ''){
                                alert('Поле "ОТЗЫВ" должно быть заполнено');
                                return false;
                }
                return true;
}

//чтение кукис
function getCookie(name,convert) {
  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;
  var strRet = document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex);
  return ((convert==1)? strRet : unescape(unescape(strRet)));
}

function img(file){
  document.all["fullimg"].style.visibility = "hidden";
  document.all["fullimg"].style.display = "none";
  document.images["fullimg"].src="pizza/"+file+".gif";
  obj = document.all["my_order"];
  document.all["fullimg"].style.visibility = "visible";
  document.all["fullimg"].style.display = "block";
  document.all["pizza"].style.visibility ="visible";
  document.all["pizza"].style.display ="block";
  document.all["fullimg"].style.left="0px";
}
function unimg() {
  orderShow();
}

function replace_string(txt,cut_str,paste_str) { 
        var f=0;
        var ht='';
        ht = ht + txt;
        f=ht.indexOf(cut_str);
        while (f!=-1)
        { 
                //цикл для вырезания всех имеющихся подстрок 
                f=ht.indexOf(cut_str);
                if (f>0)
                {
                        ht = ht.substr(0,f) + paste_str + ht.substr(f+cut_str.length);
                };
        };
        return ht
};

function add2order(id, name, act, price, gr) {
  var cnt;
  if(act=="add") cnt=1;
  else cnt=-1;
  var r=Math.random()*1000;
  loc = replace_string(document.location, "#","-");
  req = "id="+id+"&nm="+name+"&cnt="+cnt+"&pr="+price+"&rf="+loc+"&gr="+gr+"&uid="+uid+"&a="+r;
  orderRequest(encodeURI(req),orderHandle); 
}

function orderClear() {
  if (confirm('Вы уверены, что хотите отменить заказ?\nВсе данные будут утеряны!')) {
    var r=Math.random()*1000;
    req = "cnt=0"+"&uid="+uid+"&a="+r;
    orderRequest(encodeURI(req),orderHandle); 
  }
}

function orderShow() {
  var r=Math.random()*1000;
  orderRequest("a="+r,orderHandle); 
}

function checkForm(){
  if (document.calc.fio.value == '') {
    alert('Укажите, пожалуйста, Ваше имя');
    document.calc.fio.focus();
    return false;
  }
  if (document.calc.tel.value == ''){
    alert('Укажите, пожалуйста, номер телефона');
    document.calc.tel.focus();
    return false;
  } else {
    var s = /\D/gi;
                              
    str = document.calc.tel.value;
    str = str.replace(s,"");
    if (isNaN(str)) {
      alert('В номере телефона используются недопустимые символы');
      document.calc.tel.focus();
      return false;
    } else {
      if ((str.length!=11)&&(str.length!=7)) {
        alert('Длина номера телефона должна быть от 7 до 11 символов');
        document.calc.tel.focus();
        return false;
      } else { document.calc.tel.value = str; }       
    }
  }
  if(document.calc.metro.value == ''){
    alert('Укажите, пожалуйста, станцию метро');
    document.calc.metro.focus();
    return false;
  }
  if (document.calc.street.value == '') {
    alert('Укажите, пожалуйста, улицу');
    document.calc.street.focus();
    return false;
  }
  if (document.calc.build.value == '') {
    alert('Укажите, пожалуйста, номер дома');
    document.calc.build.focus();
    return false;
  }
  return true;
}

function scrollXXX() {
  scrollCheck(Math.round(Math.random()*10000));
}

window.onscroll = scrollCheck; //window_onscroll;


var lastPos    = 0;
var currPos    = 0;
var kf = 6;
var scrolling  = 0;

function scrollTop() {
  if (self.pageYOffset){
    return self.pageYOffset;
  }else if (document.documentElement && document.documentElement.scrollTop) { 
    return document.documentElement.scrollTop; 
  }else if (document.body) { 
    return document.body.scrollTop; 
  }else return 0;
}

function scrollDown(f,t) {

  var el = document.getElementById('bar');
  var step = (t - f) / kf; 

  f = f + Math.round (step);
  if (Math.round (step) == 0) f = t;
  el.style.top = f + 'px';

  if (f==t) { scrolling = 0; }

  if (scrolling == 1) {
    setTimeout('scrollDown('+f+','+scrollTop()+')',20);
  } else { 
    lastPos = t; 
    setTimeout("scrollCheck()",200);
  }
                
}

function scrollCheck() {

  if (scrolling==0) {
    var s = scrollTop();

    if (currPos != s) {
       currPos = s;
       setTimeout("scrollCheck()",200);
    }  else {
      if (lastPos<s) direction = 0; else direction = 1;
  if (scrolling==0) {
        scrolling = 1;
        scrollDown(lastPos, s);
  }
    }
  }
}

PreloadImages(new Array('i/add.gif','i/rem.gif'));
