function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function getPageScroll(){
	var xScroll, yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}
	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
}

function closePopUp(name){
  $("#shadow").hide();
  $("#"+name).hide();
  $(".forum_input select").show();
}

function openPopUp(name){
  var arrayPageSize = getPageSize();
  var arrayPageScroll = getPageScroll();
  var alertTop = arrayPageScroll[1] + (arrayPageSize[3] / 3);
  var alertEl=document.getElementById('shadow');
  
  var height=$("body").height();
  $("#shadow").css({height:arrayPageSize[1]}).show();
  
  $("#"+name).show();
  $(".forum_input select").hide();
}

function closeBS(){
  $("#master_shadow").hide();
  $("#bodyshop").hide();
  $(".forum_input select").show();
}


function closeCN(){
  $("#master_shadow").hide();
  $("#contact").hide();
  $(".forum_input select").show();
}

function openContact(){
  var arrayPageSize = getPageSize();
  var arrayPageScroll = getPageScroll();
  var alertTop = arrayPageScroll[1] + (arrayPageSize[3] / 6);
  var alertEl=document.getElementById('master_shadow');
  
  var height=$("body").height();
  $("#master_shadow").css({height:arrayPageSize[1]}).show();
  
  $("#contact").show();
  $("#contact").css({"top":alertTop});
  $(".forum_input select").hide();
}

function openBS(){
  var arrayPageSize = getPageSize();
  var arrayPageScroll = getPageScroll();
  var alertTop = arrayPageScroll[1] + (arrayPageSize[3] / 6);
  var alertEl=document.getElementById('master_shadow');
  
  var height=$("body").height();
  $("#master_shadow").css({height:arrayPageSize[1]}).show();
  
  $("#bodyshop").show();
  $("#bodyshop").css({"top":alertTop});
  $(".forum_input select").hide();
}

function loadCarNames(id,act,idSelect){
  $.post("/ajax/cars.php",{act:act,id:id},function(data){
    $("#"+idSelect).html(data);
  });
}

$(function(){
  $("input,textarea").keypress(function(e){
    $(this).removeClass("error");  
  });
  $("#proViewPass").change(function(){
    var val=$(this).attr("checked");
    if(val){
      document.getElementById('proPasswd').type='text';
    }else{
      document.getElementById('proPasswd').type='password';
    }
  });
  $("#accLogin").blur(function(){
    if($(this).val()==""){
      $(this).val("e-mail");
      $(this).addClass("noact");
    };
  }).focus(function(){
    if($(this).val()=="e-mail"){
      $(this).val("");
      $(this).removeClass("noact");
    };
  });
  $("#accPasswd").blur(function(){
    if($(this).val()==""){
      $(this).val("пароль");
      $(this).addClass("noact");
      document.getElementById('accPasswd').type='text';
    };
  }).focus(function(){
    if($(this).val()=="пароль"){
      $(this).val("");
      $(this).removeClass("noact");
      document.getElementById('accPasswd').type='password';
    };
  });
});

function saveProfile(){
  var err=0;
  if($("#proLogin").val()==""){
    $("#proLogin").addClass("error");
    err=1;
  };
  if($("#proName").val()==""){
    $("#proName").addClass("error");
    err=1;
  };
  if(err==0){
    document.getElementById('profile').submit();
  }
}

function showLoginForm(){
  $(".acc_buttons").hide();
  $(".acc_login").show();
}

function sendContact(){
  var err=0;
  if($("#conName").val()==""){
    $("#conName").addClass("error");
    err=1;
  }
  if($("#conPhone").val()==""){
    $("#conPhone").addClass("error");
    err=1;
  }
  if(err==0){  
    $.post("/ajax/contact.php",$("#contactForm").serialize(),function(data){
      $(".contact .bs_form").html(data);
    });
  }
}

function sendLoginForm(){
  var login=$("#accLogin").val();
  var passwd=$("#accPasswd").val();
  var save=$("#accSave").attr("checked");
  var err=0;
  if(login==""){
    $("#accLogin").addClass("error");
    err=1;
  }
  if(passwd==""){
    $("#accPasswd").addClass("error");
    err=1;
  }
  if(err==0){
    $.post("/ajax/auth.php",{act:"auth",login:login,passwd:passwd,save:save},function(data){
      if(data=="email"){
        $("#accLogin").addClass("error");
      }
      if(data=="passwd"){
        $("#accPasswd").addClass("error");
      };
      if(data!="email"&&data!="passwd"){
        $(".acc_user").show();
        $(".acc_login").hide();
        $(".acc_buttons").hide();
        $(".accUserLogin").html(data);
      }
    });
  }
}

function openMaster(){
  var arrayPageSize = getPageSize();
  var arrayPageScroll = getPageScroll();
  var alertTop = arrayPageScroll[1] + (arrayPageSize[3] / 3);
  var alertEl=document.getElementById('master_shadow');
  
  var height=$("body").height();
  $("#master_shadow").css({height:arrayPageSize[1]}).show();
  
  $("#master_step_1").show();
  $(".forum_input select").hide();
}

function closeMaster(){
  $("#master_shadow").hide();
  $(".masterPopUp").hide();
   $(".forum_input select").show();
}

function masterToStep(id){
  $(".masterPopUp").hide();
  $("#master_step_"+id).show();
}

function masterStepTwo(id){
  $.post("/ajax/master.php",{step:2,id:id},function(data){
    if(data!=""){
      $("#master_step_1").hide();
      $("#master_step_2").show();
      $("#master_step_2").html(data);
    }
  });
}

function masterStepThree(id){
  $.post("/ajax/master.php",{step:3,id:id},function(data){
    if(data!=""){
      $("#master_step_2").hide();
      $("#master_step_3").show();
      $("#master_step_3").html(data);
    }
  });
}

var selectedCar=0;
function masterStepFour(id){
  $.post("/ajax/master.php",{step:4,id:id},function(data){
    if(data!=""){
      selectedCar=id;
      $("#master_step_3").hide();
      $("#master_step_4").show();
      $("#master_step_4").html(data);
      $(".serviceCheck").change(function(){
        var at=$(this).attr("checked");
        if(at==true){
          var id=$(this).attr("name");
          $("#div"+id).addClass("select");
        }else{
          var id=$(this).attr("name");
          $("#div"+id).removeClass("select");
        }
        var checks=$(".serviceCheck");
        var masterCost=0;
        for(var i=0;i<checks.length;i++){
          var cost=$(checks[i]).attr("rel");
          var at=$(checks[i]).attr("checked");
          if(at==true){
            masterCost=masterCost-(-cost);
          }
        }
        $("#totalCost").html(masterCost);
      });
    }
  });
}

function masterStepFive(){
  var checks=$(".serviceCheck");
  var array="";
  for(var i=0;i<checks.length;i++){
    var at=$(checks[i]).attr("checked");
    var id=$(checks[i]).attr("name");
    if(at==true){
      array=array+id+"#";
    }
  }
  $.post("/ajax/master.php",{step:5,id:selectedCar,services:array},function(data){
    if(data!=""){
      $("#master_step_4").hide();
      $("#master_step_5").show();
      $("#master_step_5").html(data);
    }
  });
}

function masterSend(){
  $(".master_o_button").hide();
  $(".master_ok").show();
}

function masterToggleLi(id){
  var d=$('#ul'+id).css('display');
  if(d=="none"){
    $("#ul"+id).show();
  }else{
    $("#ul"+id).hide();
  }
}

function sendLogoutForm(){
  $.post("/ajax/auth.php",{act:"logout"},function(data){
    if(data=="ok"){
      $(".acc_user").hide();
      $(".acc_login").hide();
      $(".acc_buttons").show();
    }
  });
}

function showRememberForm(){
  $("#rememberForm").show();
  $("#remEmail").val("");
  $("#rememberFormOk").hide();
}

function rememberHide(){
  $("#rememberForm").hide();
  $("#rememberFormOk").hide();
}

function rememberSend(){
  var email=$("#remEmail").val();
  if(email!=""){
    $.post("/ajax/remember.php",{act:'remember',email:email},function(data){
      if(data=="email"){
        $("#remEmail").addClass("error");
      }else{
        $("#rememberForm").hide();
        $("#rememberFormOk").show();
        $(".r_email").html(email);
      }
    });
  }else{
    $("#remEmail").addClass("error");
  }
}

function subscribeShow(){
  $("#forumSubscribe").show();
  $("#subEmail").val("");
  $("#forumSubscribeOk").hide();
}

function subscribeHide(){
  $("#forumSubscribe").hide();
  $("#forumSubscribeOk").hide();
}

function subscribeSend(topic){
  var email=$("#subEmail").val();
  var reg=$("#subReg").attr("checked");
  if(email!=""){
    $.post("/ajax/subscribe.php",{act:'subscribe',topic:topic,email:email,reg:reg},function(data){
      if(data=="email"){
        $("#subEmail").addClass("error");
      }
      if(data=="ok"){
        $("#forumSubscribe").hide();
        $("#forumSubscribeOk").show();
        $(".f_email").html(email);
      }
    });
  }else{
    $("#subEmail").addClass("error");
  }
}

function subscribeHide(){
  $("#forumSubscribe").hide();
  $("#subEmail").val("");
  $("#forumSubscribeOk").hide();
}

function sendOffer(){
  var err=0;
  if($("#name").val()==""){
    $("#name").addClass("error");
    err=1;
  }
  if($("#phone").val()==""){
    $("#phone").addClass("error");
    err=1;
  }
  if($("#auto").val()==""){
    $("#auto").addClass("error");
    err=1;
  }
  
  if(err==0){
    document.getElementById("formOffer").submit();
  }
  
  return false;
}

function sendMessageForm(){
  var err=0;
  if($("#mformName").val()==""){
    $("#mformName").addClass("error");
    err=1;
  }
  if($("#mformDesc").val()==""){
    $("#mformDesc").addClass("error");
    err=1;
  }
  if($("#mformCheck").val()==""){
    $("#mformCheck").addClass("error");
    err=1;
  }
  
  var capture=$("#mformCheck").val()
  $.get("/ajax/capture.php",{cap:capture},function(data){
    if(data==1){
      //document.getElementById('onlineForm').submit();
    }else{
      //err=1;
      $("#mformCheck").addClass("error");
    }
  });
  
  if(err==0){
    return true;
  }else{
    return false;
  }
  return false;
}

function sendQuestionForm(){
  var err=0;
  if($("#formName").val()==""){
    $("#formName").addClass("error");
    err=1;
  }
  if($("#formCar").val()==0||$("#formCar").val()==""){
    $("#formCar").addClass("error");
    err=1;
  }
  if($("#formModels").val()==0||$("#formModels").val()==""){
    $("#formModels").addClass("error");
    err=1;
  }
  if($("#formYears").val()==0||$("#formYears").val()==""){
    $("#formYears").addClass("error");
    err=1;
  }
  if($("#formTitle").val()==""){
    $("#formTitle").addClass("error");
    err=1;
  }
  if($("#formDesc").val()==""){
    $("#formDesc").addClass("error");
    err=1;
  }
  if($("#formCheck").val()==""){
    $("#formCheck").addClass("error");
    err=1;
  }
  var capture=$("#mformCheck").val()
  $.get("/ajax/capture.php",{cap:capture},function(data){
    if(data==1){
      //document.getElementById('onlineForm').submit();
    }else{
      //err=1;
      $("#mformCheck").addClass("error");
    }
  });
  
  if(err==0){
    return true;
  }else{
    return false;
  }
  return false;
}

function sendBodyShop(){
  var err=0;
  if($("#formName").val()==""){
    $("#formName").addClass("error");
    err=1;
  }
  if($("#formCar").val()==""){
    $("#formCar").addClass("error");
    err=1;
  }
  if($("#formEmail").val()==""){
    $("#formEmail").addClass("error");
    err=1;
  }
  if($("#formPhone").val()==""){
    $("#formPhone").addClass("error");
    err=1;
  }
  /*
  if($("#formFile1").val()==""){
    $("#formFile1").addClass("error");
    err=1;
  }
  */

  if(err==0){
    document.getElementById("bodyshopForm").submit();
  }
}

function sendRegisterForm(){
  var err=0;
  if($("#proLogin").val()==""){
    $("#proLogin").addClass("error");
    err=1;
  }
  if($("#proName").val()==""){
    $("#proName").addClass("error");
    err=1;
  }
  if($("#proPasswd").val()==""){
    $("#proPasswd").addClass("error");
    err=1;
  }
  if($("#formCheck").val()==""){
    $("#formCheck").addClass("error");
    err=1;
  }
  var check=$("#formCheck").val();
  $.post("/ajax/check.php",{check:check},function(data){
    if(data==0){
      $("#formCheck").addClass("error");
      err=1;  
    }
  });
  if(err==0){
    document.getElementById("registerForm").submit();
  }
}

var ss = {
  fixAllLinks: function() {
    // Get a list of all links in the page
    var allLinks = document.getElementsByTagName('a');
    // Walk through the list
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if ((lnk.href && lnk.href.indexOf('#') != -1) && 
          ( (lnk.pathname == location.pathname) ||
	    ('/'+lnk.pathname == location.pathname) ) && 
          (lnk.search == location.search)) {
        // If the link is internal to the page (begins in #)
        // then attach the smoothScroll function as an onclick
        // event handler
        ss.addEvent(lnk,'click',ss.smoothScroll);
      }
    }
  },

  smoothScroll: function(e) {
    // This is an event handler; get the clicked on element,
    // in a cross-browser fashion
    if (window.event) {
      target = window.event.srcElement;
    } else if (e) {
      target = e.target;
    } else return;

    // Make sure that the target is an element, not a text node
    // within an element
    if (target.nodeName.toLowerCase() != 'a') {
      target = target.parentNode;
    }
  
    // Paranoia; check this is an A tag
    if (target.nodeName.toLowerCase() != 'a') return;
  
    // Find the <a name> tag corresponding to this href
    // First strip off the hash (first character)
    anchor = target.hash.substr(1);
    // Now loop all A tags until we find one with that name
    var allLinks = document.getElementsByTagName('a');
    var destinationLink = null;
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if (lnk.name && (lnk.name == anchor)) {
        destinationLink = lnk;
        break;
      }
    }
    if (!destinationLink) destinationLink = document.getElementById(anchor);

    // If we didn't find a destination, give up and let the browser do
    // its thing
    if (!destinationLink) return true;
  
    // Find the destination's position
    var destx = destinationLink.offsetLeft; 
    var desty = destinationLink.offsetTop;
    var thisNode = destinationLink;
    while (thisNode.offsetParent && 
          (thisNode.offsetParent != document.body)) {
      thisNode = thisNode.offsetParent;
      destx += thisNode.offsetLeft;
      desty += thisNode.offsetTop;
    }
  
    // Stop any current scrolling
    clearInterval(ss.INTERVAL);
  
    cypos = ss.getCurrentYPos();
  
    ss_stepsize = parseInt((desty-cypos)/ss.STEPS);
    ss.INTERVAL =
setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
  
    // And stop the actual click happening
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.preventDefault && e.stopPropagation) {
      e.preventDefault();
      e.stopPropagation();
    }
  },

  scrollWindow: function(scramount,dest,anchor) {
    wascypos = ss.getCurrentYPos();
    isAbove = (wascypos < dest);
    window.scrollTo(0,wascypos + scramount);
    iscypos = ss.getCurrentYPos();
    isAboveNow = (iscypos < dest);
    if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
      // if we've just scrolled past the destination, or
      // we haven't moved from the last scroll (i.e., we're at the
      // bottom of the page) then scroll exactly to the link
      window.scrollTo(0,dest);
      // cancel the repeating timer
      clearInterval(ss.INTERVAL);
      // and jump to the link directly so the URL's right
      location.hash = anchor;
    }
  },

  getCurrentYPos: function() {
    if (document.body && document.body.scrollTop)
      return document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
      return document.documentElement.scrollTop;
    if (window.pageYOffset)
      return window.pageYOffset;
    return 0;
  },

  addEvent: function(elm, evType, fn, useCapture) {
    // addEvent and removeEvent
    // cross-browser event handling for IE5+,  NS6 and Mozilla
    // By Scott Andrew
    if (elm.addEventListener){
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent){
      var r = elm.attachEvent("on"+evType, fn);
      return r;
    } else {
      alert("Handler could not be removed");
    }
  } 
}

ss.STEPS = 25;

ss.addEvent(window,"load",ss.fixAllLinks);

//Master Counter

var Countdown =
{
timer: null,
init: function(id, until)
{
Countdown.node = document.getElementById(id);
Countdown.update(until);
Countdown.timer = setInterval(function()
{
Countdown.update(until);
}, 1000);
},

stop: function()
{
clearInterval(Countdown.timer);
return true;
},

update: function(until)
{

var s = Countdown.process(new Date(), until);
Countdown.node.innerHTML = s || Countdown.stop() && 'Всё :)';
},

difference: function(before, after)
{
if (after < before) return false;
var
days = after.getDate() - before.getDate(),
months = after.getMonth() - before.getMonth(),
years = after.getYear() - before.getYear(),
hms = (after / 1000 - before / 1000) % 86400,

seconds = Math.floor(hms % 60),
minutes = Math.floor(hms/60) % 60,
hours = Math.floor(hms/3600) % 60,

date = new Date();

if (days < 0)
{
date.setFullYear(before.getYear(), before.getMonth(), 32);
days += 32 - date.getDate();
months--;
}

if (months < 0)
{
months += 12;
years--;
}

return {
years: years,
months: months,
days: days,

hours: hours,
minutes: minutes,
seconds: seconds
};
},

process: function(before, after)
{
var diff = null, a = [], i = '';
if(!(diff = Countdown.difference(before, after))) return false;

for(i in diff)
{
if(!diff[i]) continue;
a.push('<span class="num">'
+ diff[i] +
'</span><span class="unit">'
+ Countdown.lang[i][Countdown.lang.choose( diff[i] )] +
'</span>');
}

return a.join(' ');
},

lang:
{
years: [' год', ' года', ' лет'],
months: [' месяц', ' месяца', ' месяцев'],
days: [' день', ' дня', ' дней'],
hours: [' час', ' часа', ' часов'],
minutes: [' минута', ' минуты', ' минут'],
seconds: [' секунда', ' секунды', ' секунд'],
choose: function(n)
{
var m = n % 100, i = 2;
if(m < 5 || 20 < m)
{
if((m %= 10) === 1)
{
i = 0;
}
else if(1 < m && m < 5)
{
i = 1;
}
}
return i;
}
}
};

$(document).ready(function(){
  $(".tabled tr td:odd").css({background:"#f5f5f5"});   
});

window.onload = function()
{
if(document.getElementById('countbox')){
Countdown.init('countbox', new Date(2010, 1, 13, 10, 0, 00));
}
};

