URL_="\/";
var init_arr=new Array(); //Массив инит функций
var onscroll_arr=new Array(); //Массив функций по scroll
var onresize_arr=new Array(); //Массив функций resize
var panel_fixed=0;
var IE6=0;
if (navigator.userAgent.indexOf ("MSIE 6") != -1) IE6=1;
click_type="";
//#####################################################################################################################3
// лапикт
//#####################################################################################################################3
function lapict_show(){
document.getElementById("pict_div").style.marginLeft="-"+Math.round(document.getElementById("pict_div").offsetWidth/2)+"px";
document.getElementById("pict_div").style.marginTop="-"+Math.round(document.getElementById("pict_div").offsetHeight/2)+"px";
document.getElementById("pict_div").style.visibility="visible";
if (IE6==1) {
onscroll_arr[onscroll_arr.length]=lapict_scrolled;
lapict_scrolled();
}
}
//загрузилась laPICT
function lapict_loaded() {
if (click_type=="foto"){ //если еще не нажали X
document.getElementById("loading_mini").style.display="none";
document.getElementById("pict_div").style.visibility="hidden";
document.getElementById("pict_div").style.display="block";
var res_width=document.getElementById("lapict").offsetWidth;
var res_height=document.getElementById("lapict").offsetHeight;
document.getElementById("pict_div").style.width=res_width+"px";
document.getElementById("pict_div").style.height=res_height+"px";
lapict_show()
}
}
//показываем что загружаемcz
function loading_show(){
//Определяем высоту для фона
document.getElementById("fon").style.display="block";
document.getElementById("loading_mini").style.display="block";
}
function lapict_scrolled() {
var ignoreMe=0;
document.getElementById("pict_div").style.marginTop= 10 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )-Math.round(document.getElementById("pict_div").offsetHeight/2)+"px";
}
//кликнули на ссылку laPICT
function lapict_click(e) {
e=e || window.event;
var obj=e.currentTarget || e.srcElement;
if (obj.className!="lapict") obj=obj.parentNode;
var lapict_src=obj.href;
click_type="foto";
loading_show();
document.getElementById("pict_div").style.display="none";
document.getElementById("pict_div").innerHTML="
<\/a> печать<\/a> x<\/a>";
// document.getElementsByTagName("body")[0].className="lapict_active";
// alert(document.getElementsByTagName("body")[0].className);
return false;
}
function pict_init(){
var picts=getElementsByClass('lapict');
for(var i=0; i0) {
var el=getInputByGoodsId(inputs[(inp_num*1-1)]);
el.focus();
}
e.returnValue=false;
}
if (key==40) {
inp_num=getInputNum(getGoodsIdByInput(inp));
if ((inp_num*1+1)=0) {
id=a.substr(4, a.length-5);
inputs[inputs.length]=id;
inputs_val[id]=inps[i].value;
if (inps[i].addEventListener) {
inps[i].addEventListener('keydown', input_key, false);
inps[i].addEventListener('focus', input_click, false);
inps[i].addEventListener('blur', input_blur, false);
}
else if (inps[i].attachEvent) {
inps[i].attachEvent('onkeydown', input_key);
inps[i].attachEvent('onfocus', input_click);
inps[i].attachEvent('onblur', input_blur);
}
}
}
} catch(err) {}
}
//st *** Функции корзины *******************************************************************************************************
//клик на ссылку
function a_click(e) {
e = e || window.event;
var a_ = e.currentTarget || e.srcElement;
pagenum_click(a_);
}
//Проверка загрузки корзины
function cart_verify() {
var time=GetTimeMS();
if ((cart_counter!=0) && (time-last_cart_time)>5000) {
cart_counter=1;
ajax_cart_load_start('', 0);
}
}
//Обработка события для инпута
function input_click(e) {
try {
e = e || window.event;
var input_ = e.currentTarget || e.srcElement;
if (trim_(input_.value)=="0") input_.value="";
input_.className="green";
var id=getGoodsIdByInput(input_);
var tr_=input_.parentNode.parentNode;
var basket_=getElementsByClass("basket_td", tr_)[0];
basket_.innerHTML="в корзину+<\/b><\/a>";
} catch(err){}
return false;
}
//Обработка события для инпута
//Нажали на в корзину
function to_basket_click(id) {
try {
var input_=getInputByGoodsId(id);
var tr_=input_.parentNode.parentNode;
var basket_=getElementsByClass("basket_td", tr_)[0];
if (isNaN(input_.value) && input_.value!="") alert("Количество товара может быть только числом.");
if (trim_(input_.value)=="0") input_.value="";
if (input_.value=="") {
input_.className="gray";
basket_.innerHTML="в корзину+<\/b><\/a>";
}
else {
input_.className="orange";
basket_.innerHTML="в корзине+<\/i><\/a>";
}
}catch(err){}
inputs_val[id]=input_.value;
to_basket(id);
return false;
}
//Нажали на "в корзину" без изменения кол-ва
function to_basket_add(id) {
try {
var input_=getInputByGoodsId(id);
var tr_=input_.parentNode.parentNode;
var basket_=getElementsByClass("basket_td", tr_)[0];
if (isNaN(input_.value) && input_.value!="") alert("Количество товара может быть только числом.");
if (trim_(input_.value)=="") input_.value="0";
input_.value++;
input_.className="orange";
basket_.innerHTML="в корзине+<\/i><\/a>";
}catch(err){}
inputs_val[id]=input_.value;
to_basket(id);
return false;
}
//Добавляет в корзину товар по его ID
function to_basket(id) {
var oForm=document.getElementById("form_goods");
var input_=oForm['inp['+id+']'];
num=input_.value;
ajax_cart_load_start(id, num);
return false;
}
//Обработка события для инпута
function input_blur(e) {
try {
e = e || window.event;
var input_ = e.currentTarget || e.srcElement;
if (isNaN(input_.value) && input_.value!="") alert("Количество товара может быть только числом.");
if (trim_(input_.value)=="0") input_.value="";
var id=getGoodsIdByInput(input_);
if (inputs_val[id]==input_.value) {
var tr_=input_.parentNode.parentNode;
var basket_=getElementsByClass("basket_td", tr_)[0];
if (input_.value=="") {
input_.className="gray";
basket_.innerHTML="в корзину+<\/b><\/a>";
}
else {
input_.className="orange";
basket_.innerHTML="в корзине+<\/i><\/a>";
}
}
} catch(err){}
return false;
}
//Делаем AJAX запрос корзинки
function ajax_cart_load_start(id, num) {
// document.getElementById("basket").style.backgroundPosition="13px -95px";
last_cart_time=GetTimeMS();
var ajax_cart = new AJAXInteraction(URL_+"ajax/to_cart_ajax.php?id="+new_escape(id)+"&num="+num+"&time="+last_cart_time, ajax_cart_load_finish);
ajax_cart.doGet();
cart_counter++;
}
//Обрабатываем результаты AJAX запроса to_cart_ajax.php
function ajax_cart_load_finish(res_) {
try {
// alert(res_.responseText);
var xml=res_.responseXML.documentElement;
var res_time=xml.getElementsByTagName("cart_time")[0].childNodes[0].nodeValue;
var res_server_time=xml.getElementsByTagName("cart_server_time")[0].childNodes[0].nodeValue;
cart_counter--;
if (cart_counter<=0) {
// document.getElementById("basket").style.backgroundPosition="13px 5px";
cart_counter=0;
}
if (res_server_time>=last_cart_server_time) {
last_cart_server_time=res_server_time;
var res_id=xml.getElementsByTagName("cart_id")[0].childNodes[0].nodeValue;
var res_cont=xml.getElementsByTagName("cart_content")[0].childNodes[0].nodeValue;
document.getElementById("basket").innerHTML=res_cont;
var res_cart_sum=parseInt(xml.getElementsByTagName("cart_sum")[0].childNodes[0].nodeValue.replace(' ',''));
if (res_cart_sum>3000) {
show_delivery_msg();
} else {
hide_delivery_msg();
}
try {
if (is_cart) {
var res_cart_num=xml.getElementsByTagName("cart_num")[0].childNodes[0].nodeValue;
document.getElementById("cart_num").innerHTML=res_cart_num;
var res_cart_sum=xml.getElementsByTagName("cart_sum")[0].childNodes[0].nodeValue;
document.getElementById("cart_sum").innerHTML=res_cart_sum;
var res_cart_id_sum=xml.getElementsByTagName("cart_id_sum")[0].childNodes[0].nodeValue;
var sum_id="sum_"+res_id
document.getElementById(sum_id).innerHTML=res_cart_id_sum;
}
} catch(err) {}
}
} catch(err) {}
}
//en *** Функции корзины *********************************************************************************************************
// Скроллируемся вверх ---------------
function SetToTop() {
try {document.body.scrollTop=0; } catch(err) {}
try {window.scrollTo(0,0); } catch(err) {}
try {window.pageYOffset=0; } catch(err) {}
}
//Быстрый тример ------------
function trim_ (str) {
str=str.replace(/^\s\s*/, '')
var ws = /\s/,
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
//en --- Быстрый тример ------------
//Возвращает текущее время в милисекундах
function GetTimeMS() {
var time=new Date();
return time.getTime();
}
// Переопределяем функцию escape() для utf-8
function new_escape(str) {
str=encodeURIComponent(str);
return str;
}
//-------------------------------------------------------------------------------------
//Инит каталога
function init_cat() {
// window.setInterval(cart_verify, 3000);
init_input_events();
}
init_arr[init_arr.length]=init_cat; //Добавляем в инит-массив инициализацию каталога
//init_arr[init_arr.length]=init_menu; //Добавляем в инит-массив инициализацию menu
//#####################################################################################################################3
// инит
//#####################################################################################################################3
function AJAXInteraction(url, onloadF, onerrorF) {
var req = init();
req.onreadystatechange = processRequest;
// alert(url);
function init() {
if (window.XMLHttpRequest) return new XMLHttpRequest();
else if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
return true;
}
function processRequest() {
if (req.readyState == 4) {
if (req.status == 200) if (onloadF) onloadF(req);
else if (onerrorF) onerrorF();}
}
this.doGet = function() {
req.open("GET", url, true);
req.send(null);
}
this.doPost = function(body) {
req.open("POST", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(body);
}
}
function dost_set(sum){
document.getElementById("cart_itogo").innerHTML=sum*1+cart_sum*1+" руб.";
if (sum==0) sum="бесплатно";
else sum+=" руб.";
document.getElementById("cart_dost").innerHTML=sum;
}
function basket_chng_adr(t) {
if (t=="d") {
document.getElementById("adr").style.display="block";
document.getElementById("magazin").style.display="none";
document.getElementById("dost_div").style.display="block";
basket_chng_city()
}
if (t=="s") {
document.getElementById("magazin").style.display="block";
document.getElementById("adr").style.display="none";
document.getElementById("dost_div").style.display="none";
dost_set(0);
}
}
function basket_chng_city() {
var s=document.getElementById("user_city");
var city_index=s.options[s.selectedIndex].value;
var sum=aCity["city_"+city_index];
dost_set(sum);
var city_name_display='none'
if (city_index=='9999999') {
city_name_display='block';
document.getElementById("cart_dost").innerHTML="рассчитает менеджер";
}
document.getElementById("city_name").style.display=city_name_display;
}
function basket_chng_form(t) {
if (t=="f") {
document.getElementById("basket_anketa").style.display="block";
document.getElementById("basket_login").style.display="none";
}
if (t=="l") {
document.getElementById("basket_login").style.display="block";
document.getElementById("basket_anketa").style.display="none";
}
if (t=="q") {
document.getElementById("basket_quick").style.display="block";
document.getElementById("basket_login").style.display="none";
}
}
function reg_chng_ur_fiz(t) {
if (t=="f") {
document.getElementById("reg_name_ur").style.display="none";
document.getElementById("reg_name_fiz").style.display="block";
document.getElementById("reg_em_fiz").style.display="block";
document.getElementById("reg_em_ur").style.display="none";
document.getElementById("reg_fax").style.display="none";
document.getElementById("reg_acc_delivery").style.display="none";
document.getElementById("reg_kontakter").style.display="none";
document.getElementById("reg_kontakter_tel").style.display="none";
document.getElementById("reg_rekvizity").style.display="none";
}
if (t=="u") {
document.getElementById("reg_name_ur").style.display="block";
document.getElementById("reg_name_fiz").style.display="none";
document.getElementById("reg_em_ur").style.display="block";
document.getElementById("reg_em_fiz").style.display="none";
document.getElementById("reg_fax").style.display="block";
document.getElementById("reg_acc_delivery").style.display="block";
document.getElementById("reg_kontakter").style.display="block";
document.getElementById("reg_kontakter_tel").style.display="block";
document.getElementById("reg_rekvizity").style.display="block";
}
}
function login_click() {
var win_height;
type=document.getElementById("login").style.display;
if (type!="block" && click_type=="") {
document.getElementById("login").style.display="block";
// document.getElementById("navi").style.zIndex="990";
document.getElementById("fon").style.display="block";
//Определяем высоту для фона
if (window.opera) win_height=window.innerHeight;
else win_height=document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
// var cur_height=document.getElementById("body").offsetHeight;
if (win_height>cur_height) cur_height=win_height;
document.getElementById("fon").style.height=cur_height+"px";
click_type="login";
}
else x_click();
return false;
}
function x_click() {
if (click_type=="login") {
document.getElementById("login").style.display="none";
// document.getElementById("navi").style.zIndex="1000";
document.getElementById("fon").style.display="none";
}
if (click_type=="foto") {
document.getElementById("loading").style.display="none";
document.getElementById("loading_mini").style.display="none";
document.getElementById("pict_div").style.display="none";
document.getElementById("pict_div").style.visibility="visible";
// document.getElementById("navi").style.zIndex="1000";
document.getElementById("fon").style.display="none";
// document.getElementsByTagName("body")[0].className="";
}
click_type="";
return false;
}
//st---- Функции позиции висячего блока ---------------
// Возвращает величину скролла окна по Х ---------------
function getScrollX() {
var scrOfX = 0
if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
scrOfX = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
scrOfX = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 Strict
//scrOfX = document.documentElement.scrollLeft;
scrOfX = "-";
}
return scrOfX;
}
//обработка события скроллинга окна
function window_scrolled() {
scrOfX_=getScrollX();
try {
if (scrOfX_!="-") document.getElementById("top_bar_cont").style.left=scrOfX_*(-1)+"px";
} catch (err){}
}
window.onscroll=window_scrolled;
//en---- Функции позиции висячего блока ---------------
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null ) node = document;
if ( tag == null ) tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
// Инициализируем электронную почту
// требуется функция getElementsByClass();
function mail_init() {
// первый вариант
// name(a)domen.zn
// преобразует в
// name@domen.zn
var mails=getElementsByClass("mbox");
var email="";
for (var i=0; iвсе что угодно
// преобразует в
// name@domen.zn
var mails=getElementsByClass("mbox2");
var email="";
for (var i=0; i125 && panel_fixed!=1) {
var pad=document.getElementById("panel");
pad.id="panel_fixed";
panel_fixed=1;
}
if (y*1<=125 && panel_fixed!=0) {
var pad=document.getElementById("panel_fixed");
pad.id="panel";
panel_fixed=0;
}
}
// запускаем все онресайз функции
function win_onresize() {
for (var i=0; i
"
a+=""
a+=""
a+=""
a+=""
var adds=document.createElement("div");
adds.innerHTML=a;
document.body.appendChild(adds);
} catch(err){}
tmp=document.getElementById("basket").innerHTML.split(">",2)[1];
tmp=tmp.split("<",2)[0];
cart_sum_tmp=parseInt(tmp.replace(' ',''));
if (cart_sum_tmp>3000) {
show_delivery_msg();
} else {
hide_delivery_msg();
}
}
// --- Общий инит -----------------------------------------------------
function show_delivery_msg(){
document.getElementById("delivery_msg").style.display = 'block';
}
function hide_delivery_msg(){
document.getElementById("delivery_msg").style.display = 'none';
}
onscroll_arr[onscroll_arr.length]=panel_fix_pos;
init_arr[init_arr.length]=mail_init; //Добавляем в инит-массив инициализацию почты
window.onscroll=win_onscroll;
//window.onload=init;
init();