// файл с функциями

// этот блок обрабатывает подсказки
    $(function () {
        $('.help').each(function () {
            var distance = 10;
            var time = 250;
            var hideDelay = 500;

            var hideDelayTimer = null;

            var beingShown = false;
            var shown = false;
            var trigger = $('.trigger', this);
            var info = $('.popup', this).css('opacity', 0);
			
			var content=info.get(0).innerHTML;
			var start='<table border="0" cellspacing="0" cellpadding="0" ><tr><td id="topleft" class="corner"></td><td class="top"></td><td id="topright" class="corner"></td></tr><tr><td class="left"></td><td><table class="popup-contents"><td>';
			var stop='</td></tr></table></td><td class="right"></td></tr>  <tr><td class="corner" id="bottomleft"></td><td class="dawn"><img width="30" height="29" alt="popup tail" src="images/bubble-tail2.gif"></td><td id="bottomright" class="corner"></td></tr></table>';
			info.get(0).innerHTML=start+content+stop;

			//наводим на элемент
            $([trigger.get(0), info.get(0)]).mouseover(function () {
				// показывать элемент  
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                // не вызывают анимации снова, если уже виден
				if (beingShown || shown) {
                    // don't trigger the animation again
                    return;
                } else {
                    // reset position of info box
                    beingShown = true;

                    info.css({
                        top: -160,
                        left: -33,
                        display: 'block'
                    }).animate({
                        top: '-=' + distance + 'px',
                        opacity: 1
                    }, time, 'swing', function() {
                        beingShown = false;
                        shown = true;
                    });
                }

                return false;
            }).mouseout(function () {
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                hideDelayTimer = setTimeout(function () {
                    hideDelayTimer = null;
                    info.animate({
                        top: '-=' + distance + 'px',
                        opacity: 0
                    }, time, 'swing', function () {
                        shown = false;
                        info.css('display', 'none');
                    });

                }, hideDelay);

                return false;
            });
        });
    });
	
//----------------------------------------------------------------------------------------------------------------------------------

function debug(data)
{
var debug;
		if(!document.getElementById('debug'))
		{
			debug = document.createElement('div');
			debug.id = 'debug';
			document.body.appendChild(debug);
			debug.innerHTML = data;
		}
		else
		{
			debug = document.getElementById('debug');
			debug.innerHTML = data;
		}
}


function basket(tip,id,value,redirect)
{
    var req = new JsHttpRequest();
	req.caching = false;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById('basket').innerHTML =req.responseJS.basket;
			document.getElementById('total_price').innerHTML =req.responseJS.total_price;
			debug(req.responseText);
			
			// Если после добавления надо перейти в корзину
			if(redirect){window.location =$('base').attr('href')+'users/basket/';}
		}
    }
    req.open('POST', './ajax/', true);
    req.send( { 'method': tip,'id': id,'count': value});
}
//----------------------------------------------------------------------------------------------------------------------------------
// функция запускает проверку корзины
function info_basket()
{
    var req = new JsHttpRequest();
	req.caching = false;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById('basket').innerHTML =req.responseJS.basket;
			document.getElementById('total_price').innerHTML =req.responseJS.total_price;
			debug(req.responseText);
        }
    }
    req.open('POST', './ajax/', true);
    req.send();
}
//info_basket();
//----------------------------------------------------------------------------------------------------------------------------------
// функция показывает состав заказа
function sostav_zakaza(num)
{
	if(document.getElementById(num).style.display == '')
		document.getElementById(num).style.display='none';
	else
		document.getElementById(num).style.display='';

	// Показываем рисунок загрузки	
	document.getElementById(num+'_').innerHTML='<center><img src="images/load.gif"></center>';

	// Дальше работаем с Аяксом
    var req = new JsHttpRequest();
	req.caching = true;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById(num+'_').innerHTML =req.responseJS.zakaz_info;
			//document.getElementById('debug').innerHTML = req.responseText;
        }
    }
    req.open('POST', './users/order/info/', true);
    req.send( { 'zakaz_info': num});
}
//----------------------------------------------------------------------------------------------------------------------------------
function add_zakaz(form)
{
var data=new Array(); // массив значений
var el; // Сам элемент 
var Name; // Имя элемента формы 
var value; // Значение 

	// показываем диалог и скрываем кнопку закрытия
	showDialog('Обработка заказа','<h3>Проверка данных</h3><br><br><center><img title="Минуточку...." src="images/load.gif"></center>','prompt');
	$('#dialog-close').css("visibility","hidden");
	
	// Получаем массив с данными формы
	for (var i = 0; i < form.elements.length; i++)
	{
	el = form.elements[i]; 
	Name = el.name; 
	value = el.value;
	data[Name]=value;
	}

	// Дальше работаем с Аяксом
    var req = new JsHttpRequest();
	//req.loader = 'SCRIPT';
	//req.caching = true;
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
			//если есть ошибка
			if(req.responseJS.error != '')
				{
				$('#dialog-content').removeClass().addClass('errors');
				$('#dialog-header').removeClass().addClass('errorsheader');
				$('#dialog-close').css("visibility","visible");
				}
			else
				{
				$('#dialog-content').removeClass().addClass('success');
				$('#dialog-header').removeClass().addClass('successheader');
				}
			$('#dialog-content').html(req.responseJS.content);
			$('#dialog-title').html(req.responseJS.title);
			//document.getElementById('dialog-content').innerHTML = req.responseText;
        }
    }
	//req.loader = 'SCRIPT';
    req.open('POST', './users/basket/', true);
    req.send( { 'zakaz_info': data});
}
//----------------------------------------------------------------------------------------------------------------------------------



function anketa(form)
{
var data=new Array(); // массив значений
var el; // Сам элемент 
var Name; // Имя элемента формы 
var value; // Значение 

	// показываем диалог и скрываем кнопку закрытия
	showDialog('Обработка','<h3>Проверка данных</h3><br><br><center><img title="Минуточку...." src="images/load.gif"></center>','prompt');
	$('#dialog-close').css("visibility","hidden");
	
	// Получаем массив с данными формы
	for (var i = 0; i < form.elements.length; i++)
	{
	el = form.elements[i]; 
	Name = el.name; 
	value = el.value;
	data[Name]=value;
	}

 	// Дальше работаем с Аяксом
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
			//если есть ошибка
			if(req.responseJS.error != '')
				{
				$('#dialog-content').removeClass().addClass('errors');
				$('#dialog-header').removeClass().addClass('errorsheader');
				$('#dialog-close').css("visibility","visible");
				}
			else
				{
				$('#dialog-content').removeClass().addClass('success');
				$('#dialog-header').removeClass().addClass('successheader');
				}
			$('#dialog-content').html(req.responseJS.content);
			$('#dialog-title').html(req.responseJS.title);
			//document.getElementById('dialog-content').innerHTML = req.responseText;
        }
    }
    req.open('POST', './users/anketa/', true);
    req.send( { 'anketa': data}); 
}















