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();