
// функция для отображения скрытой-всплывающей формы
// button - объект, на котором кликают (используейте this при вызове) 
// values - массив значений для заполнения формы
function showOrderForm(button, values, form_img1,  form_img2 )
{
	options = {
		values:   values,
		form_img1: form_img1,
		form_img2: form_img2,
		'':''
	}
	
	
	hs.htmlExpand(button, 
		{ 
			contentId: 'highslide-html', 
			outlineType: 'rounded-gray', 
			align: 'center' 
		}
		, options		
	);
}

$(function(){

// функция, вызываемая после отоборажения формы, -
// вставляет переданные значения в поля формы  
hs.Expander.prototype.onAfterExpand = function()
{
	
	// отображаем кнопку закрытия формы (изначально скрыта)
	$('.form_close').show();
	
	
	// получаем коллекцию полей формы
	var inputs = this.innerContent.getElementsByTagName('INPUT')
	
	// избегаем повторного заполнения и преоборазования формы
	var $form = $(inputs[0].form)
	
	basket_read($form[0])
		
	
	// заполняем поля формы переданными значениями
	if (!this.custom) return;
	var form_img1 = this.custom.form_img1;
	var form_img2 = this.custom.form_img2;
	
	if (!form_img1)
	{
		$form.find('#form_img_div').hide().html('');
	}
	else 
	{
		img_code = '<img onload="hs.getExpander().reflow();" src="'+form_img1+'" src_preview="'+form_img2+'"  >'
		
		$form.find('#form_img_div').show().html(img_code);
		
		
	}
	
	var values = this.custom.values;  if (!values) return;
	
	
	// обрабатываем вызов формы из инфо-блока "Корзина" 
	if (values[0]=='basket')
	{
		// alert(1)
		
		// добавив товар в корзину, убираем его из формы заказа и из POST-отправки 
		$form.find('#row_field1').attr('disabled',1).hide()
		$form.find('#row_field2').attr('disabled',1).hide()
		$form.find('#row_field3').attr('disabled',1).hide()
		$form.find('#add2basket_button').hide()
		
		hs.getExpander().reflow(); // обновляем фрейм попап-формы 
		
		// alert(2)
		
		return;
	}
	
	if ($form.attr('filled')) return;
	// alert($form.attr('filled'))
	$form.attr('filled', 1)
	
	for (i=0; i < values.length; i++)
	{
		if (values[i] == null ) continue;
		
		inputs[i+1].value= values[i]
		// заполняем поля начиная с индекса 1, так как индекс 0 - это скрытое служебное поле, выводиме внутри  Mailform::start() 
		
		// alert(values[i].charAt(0))
	}	
	
	// преобразуем вариативные значения в выпадающий список
	for (i=0; i < values.length; i++)
	{	
		// если переданное значение много-вариантное (варианты разделены символом '|', то преобразуем текстовый Input в Select ) 
		if (values[i].charAt(0)=='|')
		{
			var sel_options = values[i].split('|')
			var sel_code = "<SELECT name='"+inputs[i+1].name+"' >"
			
			// непустые варианты - добавялем в выпадающий список 
			for (var k in sel_options) 
				if ( $.trim(sel_options[k]) )
					sel_code += "<option value='"+sel_options[k]+"' >"
								+sel_options[k]+"</option>"
				
			sel_code += "</select>"
				
			$(inputs[i+1]).replaceWith(sel_code)
			
		}
	}
}

})

function show_preview(img)
{
	
	// находим картинку-миниатюру
	if (img.tagName!=='IMG')
		img = img.getElementsByTagName('IMG')[0]
	if(!img) return
	
	
	
	// находим картинку-превью 
	src_preview = $(img).attr('src_preview')
	if(!src_preview) return;
	
	// удаляем блок с предыдщей превьюхой 
	$("#preview").remove();    
	
	// добавляем на страницу блок с картинкой-превью
	$("body").append('<div id=preview ><img src="'+src_preview+'"></div>')    
	$("#preview").hide()    
	
	$("#preview").css({
		"position":"absolute",
		"z-index": "1300",
		'text-align':'right'
		})		
	
	// позиционируем превьюшку - при перемещении мышки
	$(img).mousemove(function(e){
		var x = e.pageX;
        var y = e.pageY;
		var $p = $("#preview")
		
		$p.css({
			left: x-10 - $p.width(),
			top: y+10
			
		})
		
		// отображаем превью
		if ($p.attr('showed')!=1)
		{
			$p.attr('showed',1).fadeIn(200)
			
			$('#preview img').ready( function(){ 
				$(this).mousemove()
				})	
		}
		
		
		
	})
	
	// удаляем превьюшку -  при уходе мышки 
	$(img).mouseout(function(){$("#preview").fadeOut(100);});    
	
	
	
}


// получает из кук список отобранных товаров и записывает в поле формы (при открытие формы)
function basket_read(form)
{
	var val = $.cookie('basket')
	if(val==null || val=='null') val=''
	
	
	$(form.basket_list).val( val )
	
	basket_count(form,1)
	
	$(form).find('#row_field1').attr('disabled',0).show()
	$(form).find('#row_field2').attr('disabled',0).show()
	$(form).find('#row_field3').attr('disabled',0).show()
	$(form).find('#add2basket_button').attr('disabled',0)
	
	
	hs.getExpander().reflow();
	
}


// обновляет индикатор кол-ва товаров в корзине - в форме заказа и в корзине в шапке сайта
function basket_count(form, is_open)
{
	
	// получаем список отложенных товаров - из куки либо из активной формы
	var items = form ? $(form.basket_list).val() : $.cookie('basket')
	//$.cookie('basket')
	// alert(document.cookie);
	
	if(items==null) items='';
	// alert(items) 
	
	// подсчитываем кол-во строк в списке товаров
	var count = 0
	items = items.split("\n")
		for (i in items)
			if ($.trim(items[i]))
				count++
	
	// alert(count)
	
	// обновляем кол-во товаров в форме заказа
	if (form)
	{
		
		$(form).find('#count_items').html( count );
		
		// елси есть отложенные товары И если поле со списком товаров скрыто - показываем его и обновляем фрейм Highslide
		if (count && $(form.basket_list).is(':hidden'))
		{
			// alert( form.basket_list.style.display )
			
			$(form.basket_list).show() 
			$(form).find('#clear_basket_link').show()
			
			expander=hs.getExpander(); 
			expander.reflow();
		}
		else 
		if(!count && $(form.basket_list).is(':visible') && is_open)
		{
			$(form.basket_list).hide() 
			$(form).find('#clear_basket_link').hide()
			expander=hs.getExpander(); 
			expander.reflow();
		}
	}	
	
	
	// обновляем кол-во товаров в блоке корзины в шапке сайта
	$('#basket_count_items SPAN').html(count)
	
	if (count) {
		$('#basket_zero_items').hide(); 
		$('#basket_slogan').hide();
		
		$('#basket_count_items').show();
		$('#basket_button').show();
		
		}
	else {
		$('#basket_count_items').hide(); 
		$('#basket_button').hide();
		
		$('#basket_zero_items').show(); 
		$('#basket_slogan').show();
	}
	
}





// сохраняет в куках поле с отобранными товарами // при закрытие формы или её отправке 
function basket_save(form)
{
	// alert(form.tagName)
	var val = $.trim( $(form.basket_list).val() )
	if(!val) val = null
	
	// alert(val)
	$.cookie('basket', val, {path:'/'})
	if(!val) $.cookie('basket', null )
	
	
}
// alert($.cookie)

// очищает корзину в куках (? и всех формах ?)  
function basket_clear()
{
	$.cookie('basket', '', {path:'/'})
}

// добавялет товар из формы заказа в поле отобранных товаров (в "корзину") 
function basket_add(form, str)
{
	var $current_basket_area = $(form.basket_list)
	
	// $current_basket_area.show()
	
	var val = $.trim( $current_basket_area.val() )
	
	$current_basket_area.val( '• '+ $.trim(str)  + (val?"\n":"") +val  );
		
	basket_count(form)
	
	
	// добавив товар в корзину, убираем его из формы заказа и из POST-отправки 
	$(form).find('#row_field1').attr('disabled',1).hide()
	$(form).find('#row_field2').attr('disabled',1).hide()
	$(form).find('#row_field3').attr('disabled',1).hide()
	$(form).find('#add2basket_button').attr('disabled',1)
	
	hs.getExpander().reflow(); // обновляем фрейм попап-формы 
	
}
