var add_item_id = 0;

/* common function */
function toggleBlock(id, link, animate, t_class, animate_param, opened_text, closed_text){
	if(!animate_param){
		animate_param = 'height';
	}
	
	var el = typeof(id) == 'object' ? id : $('#' + id);
	
	var res = 1;
	if(t_class){
		$(link).toggleClass(t_class);
	}
	if($(el).css('display') == 'none'){

		if(animate){
			if(animate_param == 'height')
				$(el).animate({'height': 'show'}, 'fast');
			else
				$(el).animate({'width': 'show'}, 'fast');
		}else
			$(el).show();
		
		if(opened_text && link){
			link.innerHTML = opened_text;
		}
			
	}else{
		if(animate){
			if(animate_param == 'height')
				$(el).animate({'height': 'hide'}, 'fast');
			else
				$(el).animate({'width': 'hide'}, 'fast');
		}else
			$(el).hide();
			
		if(closed_text && link){
			link.innerHTML = closed_text;
		}
	}
	if(link)
		link.blur();
	return false;
}

/* popups */
function showPopup(id, link, show_no_reg){
	if(show_no_reg)
		$('#without_registration').show();
	else
		$('#without_registration').hide();
	hideAllPopups();
	if(link)
		link.blur();
	showSandBox();
	var t = ($(window).width()-$('#' + id).width())/2;
	$('#' + id).show();//animate({height: 'show'}, 200);
	$('#' + id).css({'left': t});
	$('#' + id).css({'top': $(document).scrollTop() + 50});
	//$(document).scrollTop(0);
}

function hidePopup(id){
	hideSandBox();
	var t = document.getElementById(id);
	if(t){
		t.style.display = 'none';
	}
}

function hideAllPopups(){
	hideSandBox();
	$('div.login_popup').hide();
}

function showSandBox(){
	var s = document.getElementById('sandbox');
	if(!s){
		s = document.createElement('div');
		s.setAttribute('id', 'sandbox');
		$(s).click(function(){hideAllPopups();});
		document.body.appendChild(s);
	}
	s.style.height = $(document).height() + 'px';
	$(s).show();
}

function hideSandBox(){
	var s = document.getElementById('sandbox');
	if(s){
		s.style.display = 'none';
	}
}
			
/* init images actions */
$(document).ready(
	function(){
		/* thumb events */
		var t = $('#thumbs > a');
		if(t.length){
			$(t[0]).children().addClass('active');
			$(t).click(
				function(){
					this.blur();
					changeCatalogPhoto(this.href, this.rel, $(this).children());
					return false;
				}
			);
		}
		/* opeing lightbox by clicking on middle size picture */
		$('#big_photo > a').click(
			function(){
				tb_show($('img', this).attr('title'), this.href, '');
				return false;
			}
		);
	}
);

function showFirstPhoto(){
	var t = $('#thumbs > a');
	if(t.length)
		$(t[0]).click();
}

function changeCatalogPhoto(src, src2, thumb){
	$('#big_photo > a > img').attr('src', src);
	$('#big_photo > a').attr('href', src2);
	$('#thumbs > a > img.active').removeClass('active');
	if(thumb){
		$(thumb).addClass('active');
	}
}

/* login */
function doLogin(link){
	link.blur();
	var email = document.forms['login_form'].elements['login'];
	var password = document.forms['login_form'].elements['password'];
	var remember = document.forms['login_form'].elements['remember'];
	var ok = simpleFormCheck('login_form');
	if(ok){
		var s_data = {'login': email.value, 'password': password.value}
		if(remember.checked){
			s_data.remember=1;
		}
		s_data.add_item_id = add_item_id;
		$.post('/login/', s_data, onLoginDone);
	}
}

function onLoginDone(text){
	if(text != ''){
		document.getElementById('login_errors').style.display = 'block';
		document.getElementById('login_errors').innerHTML = text;
	}else{
		window.location.reload();
	}
}

function clearLoginForm(){
	var form_name = 'login_form';
	document.getElementById('login_errors').style.display = 'none';
	document.getElementById('login_errors').innerHTML = '';
	for(var i=0; i<document.forms[form_name].elements.length; i++){
		if(document.forms[form_name].elements[i].className != 'but' && document.forms[form_name].elements[i].className != 'chb'){
			document.forms[form_name].elements[i].value = '';
			$(document.forms[form_name].elements[i]).removeClass('error');
		}
	}
}

/* registration */
function doRegister(link, auto){
	if(link)
		link.blur();
	var ok = false;
	if(auto){
		ok = true;		
	}else{
		var email = document.forms['registration_form'].elements['login'];
		var password = document.forms['registration_form'].elements['password'];
		var password_r = document.forms['registration_form'].elements['password_repeat'];
		var cpt = document.forms['registration_form'].elements['captcha_word'];
		var ok = simpleFormCheck('registration_form');
	}
	if(ok){
		var p = new Object();
		if(auto)
			p = {'auto': 1}
		else
			p = {'_save': 1, 'login': email.value, 'password': password.value, 'password_repeat': password_r.value, 'captcha_word': cpt.value}
		p.add_item_id = add_item_id;
		$.post('/registration/', p, onRegisterDone);
	}
}

function onRegisterDone(text){
	if(text != ''){
		document.getElementById('registration_errors').innerHTML = text;
	}else{
		window.location.reload();
	}
}

/* common form functions */
function onFieldFocus(el){
	$(el).removeClass('error');
}

function simpleFormCheck(form_name){
	var isok = true;
	for(var i=0; i<document.forms[form_name].elements.length; i++){
		if(document.forms[form_name].elements[i].value == ''){
			document.forms[form_name].elements[i].className = document.forms[form_name].elements[i].className == '' ? 'error' : document.forms[form_name].elements[i].className + ' error';
			isok = false;
		}
	}
	return isok;
}

/* WISHLIST */
var item_variant = 0;

function addToWishlist(id, link){
	add_item_id = id;
	link.blur();
	$.get('/wishlist/', {'action': 'add_item', 'id': id, 'item_variant': item_variant}, function(response){onAfterAddedToWishlist(response, link);});
}

function onAfterAddedToWishlist(response, link){
	if(response){		
		link.setAttribute('href','/wishlist/');
		link.removeAttribute('onclick');
		$(link).html('уже в корзине');
		$(link).parent().addClass('added');
		setWishlistInfo(response);
	}else{
		showPopup('login_form', false, true);
	}
}

function setWishlistInfo(xml, in_list){
	
	var new_cnt = '';
	var lnk = '';
	var items = $('items > item', xml);
	
	var sum = $('totalSum', xml).text();
	
	if(items.length){
		/*
		$('#wishlist_price_info').show();
		for(var i=0; i<items.length; i++){
			lnk = '<a href="/catalog/?id=' + $('id', items[i]).text() + '">';
			//new_cnt += '<div class="item_photo">' + lnk + '<img src="' + $('photo', items[i]).text() + '"/></a></div>';
			new_cnt += '<div class="item">';
			new_cnt += lnk + $('name', items[i]).text() + '</a>';
			new_cnt += '</div>';
		}
		$('#cur_wishlist_sum').text($('totalSum', xml).text() + ' ' + $('currency', xml).text());
		*/
		$('#wishlist_info').html('<a href="/wishlist">' + $('count', xml).text() + ' на сумму ' + $('totalSum', xml).text() + ' <span class="hyphen"></span><span class="rub">Р</span></a>');
	}else{
		$('#wishlist_info').text('В корзине нет товаров');
	}
	
	/*
	new_cnt += '<div class="ug"></div>';
	$('#wishlist_short').html(new_cnt);
	*/
	
	if(in_list){
		if(!items.length){
			nums_changed = false;
			$('#wishlist_order_form').remove();
			$('#wishlist_items_list').html('<div class="cnt_pad">Корзина пуста</div>');
			$('#wishlist_total_sum').remove();
		}else{
			$('#totalSum').html($('totalSum', xml).text());
		}
	}
}

function deleteWishlistItem(wishlist, item, variant, link){
	if(confirm('Вы уверены?')){
		cart_items['id' + item + '_' + variant]['deleted'] = 1;
		calculateCartTotalSum();
		$('#wl_item'+item).addClass('loading');
		$.get('/wishlist/', {'action': 'delete_item', 'item': item, 'item_variant': variant, 'wishlist': wishlist}, function(response){onAfterItemDeleted(response, item, variant);});
	}
	link.blur();
}

function onAfterItemDeleted(response, id, variant){	
	$('#wl_item'+id+'_'+variant).remove();
	setWishlistInfo(response, true);
}

function onWLCreateSubmit(form){
	if(form.elements['name'].value.replace(' ','') == ''){
		alert('Введите название списка');
		return false;
	}
	return true;
}

var curMoveItem = 0;
var curMoveVariant = 0;

function showMoveItemPopup(id, variant, link, ev){
	if(link)
		link.blur();
	var e = (window.event) ? window.event : ev;
	if($('div#moveitem_popup').css('display') == 'none' || curMoveItem != id){
		$('div#moveitem_popup').css('display', 'block');
		var l = e.clientX;
		var t = e.clientY + $(document).scrollTop();
		$('div#moveitem_popup').css('left', l);
		$('div#moveitem_popup').css('top', t);
	}else{
		if(curMoveItem == id)
			$('div#moveitem_popup').css('display', 'none');
	}
	curMoveItem = id;	
	curMoveVariant = variant;	
}

function closeMoveItemPopup(){
	$('div#moveitem_popup').css('display', 'none');
}

function moveItemToList(from_list, to_list){
	if(curMoveItem){
		$('#wl_item'+curMoveItem).addClass('loading');
		closeMoveItemPopup();
		$.get('/wishlist/', {'action': 'move_item', 'id': curMoveItem, 'item_variant': curMoveVariant, 'from': from_list, 'to': to_list}, function(response){onAfterItemMoved(response, curMoveItem, curMoveVariant);});
	}
}

function onAfterItemMoved(response, item, variant){
	$('#wl_item'+item+'_'+variant).remove();
	setWishlistInfo(response, true);
}

function changeDefaultList(sel){
	$.get('/wishlist/', {'action': 'set_default_list', 'id': sel.value}, onAfterListChanged);
}

function onAfterListChanged(response){
	window.location.reload();
}

function showConfigElements(el, link){
	
	$('#'+el).toggle('fast',
		function(){
			var t = $(link).parent();
			var p = t[0];
			if(document.getElementById(el).style.display == 'none'){
				$(p).removeClass('opened');
				$(p).addClass('closed');
			}else{
				$(p).removeClass('closed');
				$(p).addClass('opened');
			}
		}
	);
	link.blur();	
	
}

/* menu functions */
function menuItemHover(el){
	
	if(this.className != 'active')
		$(this).addClass('hover');
	
}

function menuItemOut(el){

	$(this).removeClass('hover');
	
}

/* init hor menu */
/*
$(document).ready(
	function(){
		stretchMenu('hor_menu');
		// hover effects
		var t = $('table.hor_menu > tbody > tr > td');
		$(t).mouseover(menuItemHover);
		$(t).mouseout(menuItemOut);
	}
);
*/

var menu_types = new Array('catalog_sections', 'brand_list');
function showMenu(bid, lnk){
	lnk.blur();
	bid = '#' + bid;
	if($(bid).css('display') != 'block'){
		/* hide opened */
		for(var i = 0; i < menu_types.length; i++)
			if(bid != '#' + menu_types[i] && $('#' + menu_types[i]).css('display') == 'block'){
				$('#' + menu_types[i]).animate({height: "hide"}, 'fast',
					function(){
						$(this).prev().addClass('inact');
					}
				);
			}
		$(bid).animate({height: "show"}, 'fast');
		if(lnk)
			$(lnk).parent().parent().parent().removeClass('inact');
	}else{
		$(bid).animate({height: "hide"}, 'fast', function(){if(lnk) $(lnk).parent().parent().parent().toggleClass('inact')});
	}
}

/* top banner functions */
var curBan = 1;

function changeBan(dir){
	var cur = document.getElementById('top_ban'+curBan);
	if(cur){
		if(dir == 0)
			curBan--;
		else
			curBan++;
		var toshow = document.getElementById('top_ban'+curBan);
		if(toshow){
			cur.style.display = 'none';
			toshow.style.display = 'block';
		}else{
			if(dir == 0)
				curBan++;
			else
				curBan--;
		}
	}
	checkControls();
}

function checkControls(){
	var t = curBan+1;
	var next = document.getElementById('ban_control_next');
	var prev = document.getElementById('ban_control_prev');
	if(document.getElementById('top_ban'+t))
		next.style.visibility = 'visible';
	else
		next.style.visibility = 'hidden';
	t = curBan-1;
	if(document.getElementById('top_ban'+t))
		prev.style.visibility = 'visible';
	else
		prev.style.visibility = 'hidden';		
}

/* init top news behavior */
$(document).ready(
	function(){
		$('div#top_news > a.news_entry').mouseover(topNewsOver);
	}
);

function topNewsOver(){
	$('div#top_news > a.news_entry.n_opened').removeClass('n_opened');
	$(this).addClass('n_opened');
}

/* news line functions */
function showNextNews(dir){
	
	var cur = $('#cur_news');
	$(cur).removeAttr('id');
	$(cur).hide();
	var new_el = dir == 1 ? $(cur).next() : $(cur).prev();
	if(!new_el.length){
		/* get first or last */
		var t = $('#news_line_items > div');
		new_el = dir == 1 ? t[0] : t[t.length-1];
	}
	$(new_el).fadeIn('fast');
	$(new_el).attr('id', 'cur_news');
	
}

/* product details */
/*
$(document).ready(
	function(){
		$('table#product_menu > tbody > tr > td > div > a').click(
			function(){
				showProductInfo(this.href, this);
				return false;
			}
		);
	}
);
*/

function showProductInfo(url, it){
	$(it).parent().parent().siblings('.active').removeClass('active');
	$(it).parent().parent().addClass('active');
	$(it).blur();
	ajaxLoadContent(url, 'product_detail_info');
}

function ajaxLoadContent(url, content_id){
	$('#' + content_id).html('<div class="ajax_loader"><img src="/img/ajax-loader.gif"/></div>');
	$.get(url, null, 
		function(response){
			onAjaxContentLoaded(response, content_id);
		}
	);
}

function onAjaxContentLoaded(text, content_id){
	$('#' + content_id).html(text);
}

/* filter functions */
function showFilter(filter, link){
	link.blur();
	if(!$(link).parent().hasClass('cur')){
		$(link).parent().siblings('.cur').removeClass('cur');
		$(link).parent().addClass('cur');
		$('#filter_contents > div').hide();
		$('#' + filter).fadeIn('fast');
	}	
}

function showSpecialProducts(sid, cnt_id, link){
	link.blur();
	var par = $(link).parent();
	if(document.getElementById(sid).style.display != 'block'){
		//$(par).siblings('.act').addClass('lnk');
		$(par).siblings('.act').removeClass('act');
		$(par).addClass('act');
		//$(par).removeClass('lnk');
		$('#' + cnt_id + ' > div').hide();
		$('#' + sid).show();
	}
	
	/* check small switcher */
	var is_small = $(link).parent().hasClass('s_btn') || sid == 'top_sections_popular';
	if(is_small){
		var b = $('#small_switcher > div.s_btn');
		if(sid == 'top_sections_popular'){
			$(b[1]).removeClass('cur_btn');
			$(b[0]).addClass('cur_btn');
		}else{
			$(b[0]).removeClass('cur_btn');
			$(b[1]).addClass('cur_btn');
		}
	}
	
}

/* some other */

function changeProductVariant(){
	
	var p_var = document.forms['product_variants'].elements['product_variants'].value;
	if(p_var == ''){
		document.getElementById('product_price').innerHTML = base_price;
		//showFirstPhoto();
	}
	
	/*
	DESCRIPTIONS
	$('#product_descriptions div.short_desc').hide();
	$('#product_description_v' + p_var).show();
	
	if(p_var != '' && $('#product_description_v' + p_var).html() == ''){
		$('#product_description_v' + p_var).hide();
		$('#product_description_v').show();
	}
	*/
	
	item_variant = p_var;
	if(item_variant == '')
		item_variant = 0;
		
	for(var i=0; i<product_variants.length; i++){
		if(product_variants[i]['id'] == p_var){
			if(product_variants[i]['pict1'] != ''){
				changeCatalogPhoto(product_variants[i]['pict1'], product_variants[i]['pict2']);
			}else{
				showFirstPhoto();
			}
			document.getElementById('product_price').innerHTML = product_variants[i]['price'];
		}
	}	
}

/* init purpose filter behaviour */
/*
$(document).ready(
	function(){
		var t = $('#purpose_filter > div > table > tbody > tr > td');
		//alert(t.length);
		$('#purpose_filter > div > table > tbody > tr > td > a').mouseover(
			function(){				
				$(this).parent().addClass('hover');
			}
		).mouseout(
			function(){
				$(this).parent().removeClass('hover');
			}
		);
	}
);
*/

function stretchMenu(cnt_id){
	
	var container = document.getElementById(cnt_id);
	var e_width = 0;
	var items = $('table > tbody > tr >td a span', container);
	var items_num = 0;
	
	/* calculate width */
	for(var i=0; i<items.length; i++){
		e_width += items[i].offsetWidth;
		items_num++;
	}
	
	if(items_num){		
		var padding = (container.offsetWidth-e_width)/(items_num*2);
		$('table > tbody > tr >td a', container).css('padding-left', padding+'px').css('padding-right', padding+'px');
	}	
	
}

/* purpose filter */
function changeCatalogPurpose(id, lnk, index){	
	lnk.blur();
	$(lnk).parent().siblings().removeClass('active');
	$(lnk).parent().addClass('active');
	var req = {'purpose': id}
	if(index)
		req.no_sub = '1';
	$.get('/catalog/', req, onFilterApplied);
	moveFilterMarker();
	$('#clear_filter').show();
}

function onFilterApplied(text){
	var c = document.getElementById('sections_content')
	if(c){
		$(c).html(text);
	}else{
		location.href = '/catalog/';
	}
}

function clearPurposeFilter(lnk, index){
	$(lnk).parent().hide();
	var pf = $('#purpose_items');
	$('td.active', pf).removeClass('active');
	moveFilterMarker();
	var req = {'purpose': 'all'}
	if(index)
		req.no_sub = '1';
	$.get('/catalog/', req, onFilterApplied);
}

function moveFilterMarker(){
	if(document.getElementById('filter_marker')){
		var t = $('#purpose_filter > div > table > tbody > tr > td.active');
		if(t.length){
			offs = $(t).position();
			l = offs.left + (($(t[0]).width()-$('#filter_marker').width())/2);
			$('#filter_marker').css({'left': l + 'px'}).show();
		}else{
			$('#filter_marker').hide();
		}
	}
}

function copyPreviousElement(lnk){
	lnk.blur();
	var new_el = $(lnk).prev().clone();
	$(new_el).insertBefore(lnk);
	/* clear inputs */
	$(':input', new_el).attr('value', '');
}

function showSectionChildren(field){
	field.blur();
	var section_id = field.value;
	if(section_id){
		$.get('/catalog/', {'a': 'sub_sections', 'parent': section_id}, function(text){onChildrenLoaded(text, field)});
	}else{
		removeNextSections(field);
	}
}

function onChildrenLoaded(text, field){
	var options = $('option',text);
	removeNextSections(field);
	if(options.length){
		var sel = document.createElement('select');
		$(sel).attr('name', 'section[]');
		$(sel).change(function(){showSectionChildren(this)});
		$(sel).insertAfter(field);
		sel.options[0] = new Option('--', '')
		for(var i=0; i<options.length; i++){
			sel.options[sel.options.length] = new Option($('name', options[i]).text(), $('value', options[i]).text());
		}
	}
}

function removeNextSections(field){
	$(field).nextAll('select').remove();
}

function checkSectionSelected(form){
	var s = $('select', form);
	var check = s[s.length-1].value != '';
	if(!check){
		alert('Необходимо выбрать категорию');
		return false;
	}
	return true;
}

function changePriceType(sel){
	var val = sel.value;
	if(val == 2){
		$('#mlt_prices').show();
	}else{
		$('#mlt_prices').hide();
	}
	if(val == 0){
		$('#discount_price').show();
	}else{
		$('#discount_price').hide();
	}
}

function showOrderInfo(oi, lnk){
	toggleBlock(oi, lnk, false);
	$('#'+oi+'_control').toggleClass('chosen');
}

/* 
cart functions 
*/
var cart_items = new Object();
var nums_changed = false;

function buildCartItemsArray(){
	var it = $('#wishlist_items_list > table > tbody > tr');
	var tid = 0;
	var tnum = 0;
	var tprice = 0;
	var tweight = 0;
	var inp = null;
	for(var i=0; i < it.length; i++){
		if($(it[i]).hasClass('head'))
			continue;
		tid = $(it[i]).attr('id').substr(7);
		inp = $('#num_' + tid);		
		inp.keyup(
			function(event){
				onCartItemNumChange(this, event);
			}
		);
		tprice = $('#price_' + tid).text().replace(/\s/g, '');
		tnum = $(inp).attr('value');
		tweight = $('#weight_' + tid).attr('value');
		cart_items['id' + tid] = {'id': tid, 'num': parseInt(tnum), 'price': parseInt(tprice), 'weight': tweight};
	}
}

function onCartItemNumChange(fld, evt){
	
	nums_changed = true;
	
	var sm = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	//if(sm > 57){
		//fld.value = parseInt(fld.value);//fld.value.substr(0, fld.value.length-1);	
	//}
	if(isNaN(parseInt(fld.value)) || fld.value == '' || fld.value == 0){
		fld.value = 1;
	}else{
		fld.value = parseInt(fld.value);
	}
	tid = $(fld).attr('id').substr(4);
	cart_items['id' + tid]['num'] = parseInt(fld.value);
	var sum = cart_items['id' + tid]['price']*cart_items['id' + tid]['num'];
	//$('#sum_' + tid).text(sum);
	calculateCartTotalSum('sum_' + tid, sum);	
}

function calculateCartTotalSum(item_id, item_sum){
	
	var sum = 0;
	
	for(key in cart_items){
		if(!cart_items[key]['deleted']){
			sum += cart_items[key]['price']*cart_items[key]['num'];
		}
	}
	
	if(sum != $('#totalSum').text().replace(/\s/g, '')){
		if(item_id && item_sum){
			changePriceValue(item_sum, item_id);
		}
		changePriceValue(sum, 'totalSum');
	}

}

function calculateTotalWeight(){
	var sum = 0;	
	for(key in cart_items){
		if(!cart_items[key]['deleted']){
			sum += parseFloat(cart_items[key]['weight'])*cart_items[key]['num'];
		}
	}
	return sum;
}

var sum_change_array = new Array();

function changePriceValue(new_sum, element_id){
	
	if(sum_change_array && sum_change_array[element_id]){
		clearInterval(sum_change_array[element_id]['timer']);
		$('#element_id').text(sum_change_array[element_id]['value']);
		sum_change_array[element_id] = null;
	}
	
	var cur = parseInt($('#' + element_id).text().replace(/\s/g, ''));
	
	sum_change_array[element_id] = {
		'value': new_sum, 
		'counter': 0, 
		'cur': cur, 
		'step': Math.floor((new_sum-cur)/10),
		'timer': null
	};	

	sum_change_array[element_id]['timer'] = setInterval(
		function(){
			animatePriceChange(element_id);
		},50
	);	
		
}

function animatePriceChange(element_id){
	var arr = sum_change_array[element_id];
	if(arr.counter >= 10){
		$('#' + element_id).text(formatIntValue(arr.value));
		if(element_id == 'totalSum')
			makeTotalSum();
		clearInterval(arr.timer);
		sum_change_array[element_id] = null;
		return;
	}
	arr.counter++;
	arr.cur += parseInt(arr.step);
	$('#' + element_id).text(formatIntValue(arr.cur));
}

function formatIntValue(src){
	src = src.toString();
	var cnt = 1;
	var str = '';
	var lngth = 0;
	var res =  '';
	for(var i=src.length-1; i >= 0; i--){
		str += src.substr(i, 1);
		lngth++;
		if((src.length-i)%3 == 0 && i > 0){
			str += ' ';
			lngth++;
		}
	}	
	var t = '';
	for(var i=lngth-1; i>=0; i--){
		/*
		t = str[i];
		str[i] = 'a';//str[lngth-i-1];
		str[lngth-i-1] = t;
		*/
		res += str.substr(i, 1);
	}
	return res;
}

function saveWishlistChanges(wl_id){
	var params = new Object();
	for(key in cart_items){
		if(!cart_items['deleted']){
			params['change_num['+cart_items[key]['id']+']'] = cart_items[key]['num'];
		}
	}
	$.post('/wishlist/?action=change_items_num', params);
}

/* delivery locations */
/*
function fillDeliveryCountries(resp){
	var sel = document.forms['order_form'].elements['delivery_country'];
	for(var i=0; i<resp.rsp.locations.length; i++){
		sel.options[sel.options.length] = new Option(resp.rsp.locations[i]['name'], resp.rsp.locations[i]['value']);
	}
}

function fillDeliveryCities(resp){
	var sel = document.forms['order_form'].elements['delivery_city'];
	for(var i=0; i<resp.rsp.locations.length; i++){
		sel.options[sel.options.length] = new Option(resp.rsp.locations[i]['name'], resp.rsp.locations[i]['value']);
		$('#cities_query').html($('#cities_query').html() + 'insert into cities set name="' + resp.rsp.locations[i]['name'] + '",value="' + resp.rsp.locations[i]['value'] + '";<br>');
	}
}
*/

function makeTotalSum(){
	var sum = parseInt($('#totalSum').text().replace(/\s/g, ''));
	sumChangeHandler.orderSumChanged(sum, sum, calculateTotalWeight());
	/*
	if($(document.forms['order_form'].elements['with_delivery']).attr('checked')){
		var deliv = parseInt($('#delivery_price').text().replace(/\s/g, ''));
		sum += deliv;
	}
	$('#price_with_delivery').text(formatIntValue(sum));
	*/
}

function beforeOrderSend(){
	var t = null;
	var frm = document.forms['order_form'];
	if(nums_changed){
		for(key in cart_items){
			t = document.createElement('input');
			$(t).attr('type', 'hidden');
			$(t).attr('name', 'change_num[' + cart_items[key]['id'] + ']');
			$(t).attr('value', cart_items[key]['num']);
			frm.appendChild(t);
		}
	}
	document.forms['order_form'].submit();
}

/* search form */

var just_type_changed = false;
var nohide = false;

$(document).ready(
	function(){
		$('#search_input').focus(
			function(){
				$('#search_type').css({'visibility': 'visible'});
			}
		).blur(
			function(){
				setTimeout(
					function(){
						if(!just_type_changed){
							$('#search_type').css({'visibility': 'hidden'})
						}
						just_type_changed = false;
					},
					300
				);
			}
		);
	}
);

function setSearchType(stype){
	just_type_changed = true;
	$('#search_form').attr('action', '/' + stype + '/');
	$('#search_input').focus();
}

function scrollItems(bid, dir, lnk){
	
	lnk.blur();
	
	var content = document.getElementById('scroll_content_' + bid);
	if(content){

		var t_container = $(content).parent();
		var container = t_container[0];
		var cnt_width = container.offsetWidth;
		var photos_width = content.offsetWidth;
		var cur_pos = content.offsetLeft;
		var new_pos = null;
		
		if(dir == 0){
			if(cur_pos < 0){			
				new_pos = cur_pos+cnt_width;
				if(new_pos > 0)
					new_pos = 0;
			}
		}else{
			if(photos_width + cur_pos - cnt_width > 0){			
				new_pos = cur_pos-cnt_width;
			}
		}		
		
		if(new_pos != null){
			if(new_pos == 0)
				$('#scroll_control_left_' + bid + ' img').attr({'src': '/img/scroll_left_inactive.gif'});
			else
				$('#scroll_control_left_' + bid + ' img').attr({'src': '/img/scroll_left.gif'});
				
			if(new_pos+photos_width <= cnt_width)
				$('#scroll_control_right_' + bid + ' img').attr({'src': '/img/scroll_right_inactive.gif'});
			else
				$('#scroll_control_right_' + bid + ' img').attr({'src': '/img/scroll_right.gif'});
				
			$(content).animate({'left': new_pos + 'px'});
		}
		
	}
	
}

function showComments(){
	$('#comments').show();
	$('#comments_title').removeClass('closed');
}

function switchAd(num, el){
	el.blur();
	$(el).parent().siblings().addClass('hidden');
	$('#mb' + num).removeClass('hidden');
	$(el).addClass('cur');
	$(el).siblings().removeClass('cur');
}

/* compare list functions */
function addToCompare(id){
	$.getJSON(
		'/compare/', 
		{'a': 'add', 'id': id}, 
		function(rsp){onAddedToCompare(rsp)}
	);
}

function onAddedToCompare(response){
	
	if(response.id){
		$('#compare_list').show();
		$('#to_compare_' + response.id).blur().text(response.link_text).removeAttr('onClick').attr('href', '/compare/').attr('target', '_blank').blur();
		
		if(document.getElementById('compare_list_body')){
			
			/* update compare list */
			var tr = document.createElement('tr');
			tr.setAttribute('class', 'product_card_s');
			var td1 = document.createElement('td');
			var td2 = document.createElement('td');
			
			if(response.product.photo != ''){
				td1.innerHTML = '<a href="' + response.product.link + '"><img src="' + response.product.photo + '"/></a>';
			}
			td2.innerHTML = '<div><a href="' + response.product.link + '">' + response.product.name+ '</a></div>';
			td2.innerHTML = td2.innerHTML + '<div>' + response.product.folder_name + '</div>';
			td2.innerHTML = td2.innerHTML + '<div><b>' + response.product.price + '</b></div>';
			td2.innerHTML = td2.innerHTML + '<div><a href="/compare/?a=delete&id=' + response.id + '">' + response.delete_text + '</a></div>'
			
			tr.appendChild(td1);
			tr.appendChild(td2);
			document.getElementById('compare_list_body').appendChild(tr);
		}
		
	}
}