// JavaScript Document

function set_page(page)
{
	xajax_set_page(page, window.location.href);
}

function call(module, method, data){
	if (data){ xajax_exe(module, method, data); }
	else { xajax_exe(module, method); }
}

function update_sum(id,val){
	cash = document.getElementById('cash_'+id);
	skidka = document.getElementById('tm_'+id);
	sum = document.getElementById('sum_'+id);
	sum2 = document.getElementById('sum2_'+id);
	sumv = document.getElementById('sumv_'+id);
	sumv2 = document.getElementById('sumv2_'+id);
	var vsum = cash.value*val;
	var vsum2 = cash.value*val-cash.value*parseFloat(skidka.value)*val;
	sum.innerHTML = vsum.toFixed(2);
	sum2.innerHTML = vsum2.toFixed(2);
	sumv.value = vsum.toFixed(2);
	sumv2.value = vsum2.toFixed(2);
	update_sum_total();
}

function update_sum_total(){
	var total = 0;
	var total2 = 0;
	sum = document.getElementById('sum_total');
	sum2 = document.getElementById('sum_total2');
	sumv = document.getElementById('sumv_total');
	sumv2 = document.getElementById('sumv_total2');
	e = document.getElementById('autozakaz_tbl');
	list = e.getElementsByTagName("input");
	for (var i=0; i<list.length; i++){
		if (list[i].className == 'sumv'){ total = total + parseFloat(list[i].value); }
		if (list[i].className == 'sumv2'){ total2 = total2 + parseFloat(list[i].value); }
	}
	sum.innerHTML = total.toFixed(2);
	sum2.innerHTML = total2.toFixed(2);
	sumv.value = total.toFixed(2);
	sumv2.value = total2.toFixed(2);	
}

function clear_sum(){
	document.getElementById('sum_total').innerHTML = '0';
	document.getElementById('sum_total2').innerHTML = '0';
	document.getElementById('sumv_total').value = 0;
	document.getElementById('sumv_total2').value = 0;
	e = document.getElementById('autozakaz_tbl');
	list = e.getElementsByTagName("input");
	list2 = e.getElementsByTagName("td");
	for (var i=0; i<list.length; i++){
		if (list[i].className == 'sumv'){ list[i].value = 0; }
		if (list[i].className == 'sumv2'){ list[i].value = 0; }
		if (list[i].className == 'count'){ list[i].value = 0; }
	}
	for (var i=0; i<list2.length; i++){
		if (list2[i].className == 'sum'){ list2[i].innerHTML = 0; }
		if (list2[i].className == 'sum2'){ list2[i].innerHTML = 0; }
	}
}

function get_sum_list(){
	a = new Array();
	e = document.getElementById('autozakaz_tbl');
	list = e.getElementsByTagName("tr");
	for (var i=0; i<list.length; i++){
		if (list[i].className == 'row1' || list[i].className == 'row2'){
			v = list[i].getElementsByTagName('input');
			for (var j=0; j<v.length; j++){
				var count = 0;
				if (v[j].className == 'count' && v[j].value != 0){
					a[a.length] = new Array(v[j].name,v[j].value);
				}
			}
		}
	}
	if (a.length >0){
		return a;
	}else{ return 'null'; }
}

function auth_hide(){
	e = document.getElementById('auth');
	e.innerHTML = '';
	e.style.display = 'none';
}

function showcat(id){
	var pan = document.getElementById('rightpanel');
	var ems = pan.getElementsByTagName('SPAN');
	var k=0;
	for (var i=0; i<ems.length; i++){
		if (ems[i].className == "catalogue_category_childs"){
			ems[i].style.display = 'none';
		}
	}
	var el = document.getElementById(id);
	if (el.style.display == 'block'){el.style.display = 'none';}
	else {el.style.display = 'block';}
}

function set_el_on_page()
{
	var el_on_page = document.getElementById('el_count').value;
	xajax_set_el_on_page(el_on_page, window.location.href);
}
function set_trademark()
{
	var trademark = document.getElementById('trademark_select').value;
	xajax_set_trademark(trademark, window.location.href);
}
function show_tm(tag)
{
	xajax_show_tm(tag);
}
function show_auth()
{
	xajax_show_auth();
}
function show_hits(tag)
{
	xajax_show_hits(tag, window.location.href);
}
function set_search_request(mode)
{
	var site = document.getElementById('search_by_site');
	var catalogue = document.getElementById('search_by_catalogue');
	var search_str = document.getElementById('search_str');
	var search_location = '/search';
	if (!mode)
	{
		if (site.checked == true)
		{
			mode = 'site';
		}
		else if (catalogue.checked == true)
		{
			mode = 'catalogue';
		}
	}
	else {}
	if (search_str.value != '' && search_str.value != 'введите запрос')
	{
		search_val = search_str.value;
	}
	else
	{
		search_val = document.getElementById('search_str2').value;
	}
	xajax_set_search_request(mode, search_val, search_location);
	//alert(mode+','+search_val+','+search_location);
}
function set_search_mode(mode)
{
	xajax_set_search_mode(mode, window.location.href);
}
function set_f1()
{
	var f1 = document.getElementById('param1v').value;
	xajax_set_f1(f1, window.location.href);
}
function set_f2()
{
	var f2 = document.getElementById('param2v').value;
	xajax_set_f2(f2, window.location.href);
}
function set_f3()
{
	var f3 = document.getElementById('param3v').value;
	xajax_set_f3(f3, window.location.href);
}
// start scroll ###################################################################
function init(id) {
  var obj = document.getElementById(id);
  if (obj) {
    obj.state = 0;//инициализируем состояние
    obj.timer = null;
    obj.maxVert = obj.scrollWidth - obj.offsetWidth;//максимальная высота прокрутки
  }
}
function scroll_left(id,timer) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
  if (timer == undefined) obj.state = 1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки, ставим состояние прокрутки вниз
  if ((obj.maxVert > obj.scrollLeft) && (obj.state == 1)) {//если не достигли предела и состояние прокрутки все еще "вниз"(1)
    obj.scrollLeft = obj.scrollLeft + 5;//добавляем смещение прокрутки на 10 пикселей
    obj.timer = setTimeout('scroll_left(\''+id+'\',true)',5);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
  }
}
function scroll_right(id,timer) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
  if (timer == undefined) obj.state = -1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки,ставим состояние прокрутки вверх
  if ((obj.scrollLeft > 0) && (obj.state == -1)) {//если не достигли начала и состояние прокрутки все еще "вверх"(-1)
    obj.scrollLeft = obj.scrollLeft > 5 ? obj.scrollLeft - 5 : 0;//добавляем смещение прокрутки на 10 пикселей
    obj.timer = setTimeout('scroll_right(\''+id+'\',true)',5);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
  }
}
function scroll_stop(id) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (obj) {
    if (obj.timer) clearTimeout(obj.timer);
    obj.state = 0;
  }

} 
// end scroll ###################################################################

// start fader ##################################################################
var fade = { // Namespace
    step    : 0.05,
    delay   : 20, // ms
    timer   : null,
    setOpacity : function(elem, nOpacity) {
        if (typeof elem == 'string') elem = document.getElementById(elem);
        var props = ['MozOpacity', 'KhtmlOpacity', 'opacity'];
        for (var i in props) {
            if (typeof elem.style[props[i]] == 'string') {
                elem.style[props[i]] = nOpacity;
                return;
            }
        }
        // IE 6+
        try {
            nOpacity = 100 * parseFloat(nOpacity);
            if ((oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha)) oAlpha.opacity = nOpacity;
            else elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+");";
        } catch (e) {
            // IE <= 5.5 OR Opera < 9 OR another browser. Do nothing
        }
    },
    _out : function(id, from, to, callback) {
        from -= this.step;
        from = from <= to ? to : from;
        if (this.doit(id, from, to, callback)) 
            this.timer = setTimeout("fade._out('"+id+"', "+from+", "+to+", '"+(callback ? callback : '')+"')", this.delay);
    },
    _in : function(id, from, to, callback) {
        from += this.step;
        from = from >= to ? to : from;
        if (this.doit(id, from, to, callback)) 
            this.timer = setTimeout("fade._in('"+id+"', "+from+", "+to+", '"+(callback ? callback : '')+"')", this.delay);
    },
    doit : function(id, from, to, callback) {
        this.setOpacity(id, from);
        clearTimeout(this.timer);
        if (from == to) {
            if (callback) eval(callback+'()');
        } else return true;
    }
}
// end fader ##################################################################
function header_contents(el)
{
	document.getElementById('shapka_link1').className = 'shapka_link_normal';
	document.getElementById('shapka_link2').className = 'shapka_link_normal';
	document.getElementById('shapka_link3').className = 'shapka_link_normal';
	document.getElementById('shapka_link4').className = 'shapka_link_normal';
	
	document.getElementById('shapka_line1').className = 'shapka_noline';
	document.getElementById('shapka_line2').className = 'shapka_noline';
	document.getElementById('shapka_line3').className = 'shapka_noline';
	document.getElementById('shapka_line4').className = 'shapka_noline';
	
	document.getElementById('shapka_link'+el).className = 'shapka_link_hover';
	document.getElementById('shapka_line'+el).className = 'shapka_line';
	document.getElementById('start_link').href = banner_links[el-1];
	document.getElementById('shapka_banner').src = banner[el];
	
	var j = 0
	for (var i=0; i<banner_small.length; i++)
	{
		if (i != el-1)
		{
			document.getElementById('sb_link'+j).href = banner_links[i];
			j += 1;
			document.getElementById('shapka_adv'+j).src = banner_small[i];
		}
	}
}

function mailo_us()
{
	var fio = document.getElementById('mail_to_us_form_fio');
	var company = document.getElementById('mail_to_us_form_company');
	var text = document.getElementById('mail_to_us_form_text');
	var email = document.getElementById('mail_to_us_form_email');
	var phone = document.getElementById('mail_to_us_form_phone');
	var button = document.getElementById('mail_to_us_form_button');
	var data = new Array();
	var error = new Array();
	
	if (fio.value == '') { error[error.length] = 'Введите Имя'; }
	else if (text.value == '') { error[error.length] = 'Введите текст сообщения'; }
	else if (email.value == '' && phone.value == '') { error[error.length] = 'Введите телефон либо адрес эл. почты'; }
	
	if (error.length > 0)
	{
		alert(join('\n ', error));
	}
	else
	{
		button.disabled = true;
		button.value = 'Отправка';
		xajax_mailo_us(new Array(fio.value, company.value, text.value, email.value, phone.value));
	}
}

function subscribe()
{
	var subscribe_email = document.getElementById('subscribe_email');
	var button = document.getElementById('subscribe_btn');
	if (subscribe_email.value != null)
	{
		button.disabled = true;
		xajax_subscribe(subscribe_email.value);
	}
}

// MM
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
 
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
 
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
 
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function preload()
{
	var images = new Array('/images/stories/header/head_banner_comp.png','/images/stories/header/head_banner_comp_s.png','/images/stories/header/head_banner_paper.png','/images/stories/header/head_banner_paper_s.png','/images/stories/header/head_banner_scotch.png','/images/stories/header/head_banner_scotch_s.png','/images/stories/header/head_banner_stationary.png','/images/stories/header/head_banner_stationary_s.png','/designes/images/shapka_bg.png','/designes/images/shapka_adv_img_down.png','/designes/images/shapka_adv_img_up.png','/designes/images/logo.png','/designes/images/mail_to_as_bg.png','/designes/images/right_bg.png','/designes/images/right_top_form_bg.png','/designes/images/rightpanel_bg.png');
	var preloader = document.getElementById('preloader');
	var out = '';
	if (preloader)
	{
		for (var i; i<images.length; i++)
		{
			out += '<img src="'+images[i]+'">';
		}
		preloader.innerHTML = out;
	}
}

function getform(f){
	if (fm = document.forms[f]){
		var fe = fm.elements;
		var e = new Array();
		for (var j=0; j<fe.length; j++){
			if (fe[j].type == 'text'){
				e[e.length] = new Array(fe[j].name, fe[j].value);
			}
			else if (fe[j].type == 'textarea'){
				e[e.length] = new Array(fe[j].name, fe[j].value);
			}
			else if (fe[j].type == 'checkbox'){
				if (fe[j].checked){
					if (fe[j].value != 'on'){
						e[e.length] = new Array(fe[j].name, fe[j].value);
					}
					else if (fe[j].value == 'on'){
						e[e.length] = new Array(fe[j].name, 'true');
					}
				}else{
					e[e.length] = new Array(fe[j].name, 'false');
				}
			}
			else if (fe[j].type == 'hidden'){
				e[e.length] = new Array(fe[j].name, fe[j].value);
			}
			else if (fe[j].type == 'password'){
				e[e.length] = new Array(fe[j].name, fe[j].value);
			}
			else if (fe[j].type == 'select-one'){
				e[e.length] = new Array(fe[j].name, fe[j].value);
			}
			else if (fe[j].type == 'select-multiple' && fe[j].className != 'textm'){
				var selected = new Array;
				for (var c=0; c<fe[j].options.length; c++){
					selected[selected.length] = fe[j].options[c].value;
				}
				e[e.length] = new Array(fe[j].name, selected);							
			}
			else if (fe[j].type == 'select-multiple' && fe[j].className == 'textm'){
				var selected = new Array;
				for (var c=0; c<fe[j].options.length; c++){
					if (fe[j].options[c].selected){
						selected[selected.length] = fe[j].options[c].value;
					}
				}
				e[e.length] = new Array(fe[j].name, selected);							
			}
			else if (fe[j].type == 'radio'){
				if (fe[j].checked){ e[e.length] = new Array(fe[j].name, fe[j].value); }
			}
		}
		//alert(e.join("\n"));
		return new Array(fm.name, e);
	}
	else return false;
}

