function setupCaptions()
{
	if (document.getElementById('order_payment_type').value > 0)
	{
		document.getElementById('payment_type_text').innerHTML = document.getElementById('order_payment_type').options[document.getElementById('order_payment_type').selectedIndex].text;
        if (document.getElementById('order_payment_type').options[document.getElementById('order_payment_type').selectedIndex].getAttribute("allow_present") == '1')
        {
            document.getElementById('present_section').style['display'] = "";
            document.getElementById('present_locked').style['display'] = "none";
        }
        else
        {
            document.getElementById('present_section').style['display'] = "none";
            document.getElementById('present_locked').style['display'] = "";
        }
	}
	else
	{
		document.getElementById('payment_type_text').innerHTML = "";
	}
	if (document.getElementById('order_delivery_type').value > 0)
	{
		document.getElementById('delivery_type_text').innerHTML = document.getElementById('order_delivery_type').options[document.getElementById('order_delivery_type').selectedIndex].text;
	}
	else
	{
		document.getElementById('delivery_type_text').innerHTML = "";
	}
	loadBlock();
}

function loadBlock()
{
//    if ($('input:radio[name=present_paper_id][checked]').size() || $('input:radio[name=present_ribbon_id][checked]').size() || $('input:radio[name=present_bow_id][checked]').size())
//        {
//            document.getElementById('has_present').checked = true;
//        }
    document.getElementById('present_block').style['display'] = document.getElementById('has_present').checked ? "block" : "none";
    
	x_refresh_order_block(
        document.getElementById('order_payment_type').value,
        document.getElementById('order_delivery_type').value,
        document.getElementById('region').value,
        document.getElementById('country').value,
        document.getElementById('has_present').checked ? $('input:radio[name=present_paper_id][checked]').val() : 0,
        document.getElementById('has_present').checked ? $('input:radio[name=present_ribbon_id][checked]').val() : 0,
        document.getElementById('has_present').checked ? $('input:radio[name=present_bow_id][checked]').val() : 0,
        document.getElementById('present_no_check').checked ? 1 : 0,
        document.getElementById('discount_action_code').value,
        updateBlock);
}


function loadRegionList(elem)
{
    x_load_region_list(elem.value, updateRegionList);
}

function updateRegionList(str)
{
    var list = extractJson(str);
    
    if (document.getElementById('country').value != '2')
    {
        //$('#region').attr('selectedIndex', 1);
        fillSelect(document.getElementById('region'), list, false,1);
        $('#region option:nth-child(2)').attr('selected', 'selected')

    } else
    {
        fillSelect(document.getElementById('region'), list, document.getElementById('region').value, 1);
    }
    setTimeout(loadBlock,500);
}

function updateBlock(s)
{
	document.getElementById('info_block').innerHTML = s;
	window.setTimeout("updateInfoFields();", 300);
	checkDelivery();
	rebuildDelivery();
	checkPayment();
	rebuildPayment();
    document.getElementById('s_amount').innerHTML = document.getElementById('loaded_total_amount').value;
    document.getElementById('l_amount').innerHTML = document.getElementById('loaded_total_amount').value;
    document.getElementById('s_diff').innerHTML = document.getElementById('s_balance').innerHTML - document.getElementById('loaded_total_amount').value;
    document.getElementById('l_diff').innerHTML = document.getElementById('l_balance').innerHTML - document.getElementById('loaded_total_amount').value;
}

function updateInfoFields()
{
	document.getElementById('delivery_cost').innerHTML = document.getElementById('loaded_delivery_cost').value;
	document.getElementById('payment_description').innerHTML = document.getElementById('loaded_term_descr').value;
	document.getElementById('delivery_description').innerHTML = document.getElementById('loaded_delivery_descr').value;
	document.getElementById('order_packing_cost').innerHTML = document.getElementById('loaded_packing_cost').value;
}
function storeOptions()
{
	var s = document.getElementById('order_delivery_type');
	var t = document.getElementById('delivery_etalon');
	for (var i=0; i< s.options.length; i++)
	{
		var opt = new Option();
		opt.value = s.options[i].value;
		opt.text = s.options[i].text;
		t.options.add(opt);
	}
	var s = document.getElementById('order_payment_type');
	var t = document.getElementById('payment_etalon');
	for (var i=0; i< s.options.length; i++)
	{
		var opt = new Option();
		opt.value = s.options[i].value;
		opt.text = s.options[i].text;
        opt.setAttribute("allow_present", s.options[i].getAttribute("allow_present"));
        opt.setAttribute("is_balance", s.options[i].getAttribute("is_balance"));
		t.options.add(opt);
	}
}

function checkDelivery()
{
	var allowed = document.getElementById('loaded_allowed_delivery').value;
	var d = document.getElementById('delivery_etalon');
	
	var deliv = allowed.split("~");
	if (deliv && deliv.length)
	{
		for (var i=0; i<d.options.length; i++)
		{
			d.options[i].setAttribute("show", '0');
		}
		for (var i=0; i<deliv.length; i++)
		{
			for (var j=0; j<d.options.length; j++)
			{
				if (d.options[j].value > 0 && d.options[j].value == deliv[i])
				{
					d.options[j].setAttribute("show", '1');
				}
			}
		}
	}
	else
	{
		for (var i=0; i<d.options.length; i++)
		{
			d.options[i].setAttribute("show", '0');
		}
	}
}

function checkPayment()
{
	var allowed = document.getElementById('loaded_allowed_terms').value;
	var limit = document.getElementById('limit_terms').value;
	var d = document.getElementById('payment_etalon');
	
	var term = allowed.split("~");
	if (term && term.length && limit == '1')
	{
		for (var i=0; i<d.options.length; i++)
		{
			d.options[i].setAttribute("show", '0');
		}
		for (var i=0; i<term.length; i++)
		{
			for (var j=0; j<d.options.length; j++)
			{
				if (d.options[j].value > 0 && d.options[j].value == term[i])
				{
					d.options[j].setAttribute("show", '1');
				}
			}
		}
	}
	else
	{
		for (var i=0; i<d.options.length; i++)
		{
		    if (limit == '1')
		    {
			     d.options[i].setAttribute("show", '0');
		    }
		    else
		    {
		         d.options[i].setAttribute("show", '1');
		    }
		}
	}
}

function rebuildDelivery()
{
	var t = document.getElementById('order_delivery_type');
	var s = document.getElementById('delivery_etalon');
	var si = t.value;
	var choosed = false;

	if (document.all)
	{
	    while (t.options.length)
	    {
		t.remove(t.options[t.options.length-1]);
	    }
	}
	else
	{
	    t.options.length = 0;
	}
	
	
	for (var i=0; i<s.options.length; i++)
	{
		if (s.options[i].value <=0 || s.options[i].getAttribute("show") == '1')
		{
			var opt = new Option();
			opt.value = s.options[i].value;
			opt.text = s.options[i].text;
			t.options.add(opt);
			if (opt.value == si)
			{
				opt.selected = true;
				//t.selectedIndex = i;
				if (i!=0)
				{
					choosed = true;
				}
			}
		}
	}
	if (!choosed && t.options.length >= 2)
	{
		t.selectedIndex = 1;
		t.options[1].selected = true;
		setupCaptions();
	}
}

function rebuildPayment()
{
	var t = document.getElementById('order_payment_type');
	var s = document.getElementById('payment_etalon');
	var si = t.value;
	var choosed = false;

	if (document.all)
	{
	    while (t.options.length)
	    {
		t.remove(t.options[t.options.length-1]);
	    }
	}
	else
	{
	    t.options.length = 0;
	}
	
	
	for (var i=0; i<s.options.length; i++)
	{
		if (s.options[i].value <=0 || s.options[i].getAttribute("show") == '1')
		{
			var opt = new Option();
			opt.value = s.options[i].value;
			opt.text = s.options[i].text;
            opt.setAttribute("allow_present", s.options[i].getAttribute("allow_present"));
            opt.setAttribute("is_balance", s.options[i].getAttribute("is_balance"));
			t.options.add(opt);
			if (opt.value == si)
			{
				opt.selected = true;
				//t.selectedIndex = i;
				if (i!=0)
				{
					choosed = true;
				}
			}
		}
	}
	if (!choosed && t.options.length >= 2)
	{
		t.selectedIndex = 1;
		t.options[1].selected = true;
		setupCaptions();
	}
}

function update_print_params(str)
{
    //alert(str);
    var arr = eval(str);
    if (!arr.length) return;
    
    if (document.getElementById('print_height')) document.getElementById('print_height').value = arr[1];
    if (document.getElementById('print_width')) document.getElementById('print_width').value = arr[0];
    if (document.getElementById('media_scale')) document.getElementById('media_scale').value = arr[0]+"x"+arr[1];
    document.getElementById('tovar_price_container').innerHTML = arr[2];
}

function load_print_info(fw, fh)
{
    if (fw == null) fw = 0;
    if (fh == null) fh = 0;
    var w = document.getElementById('print_width') ? document.getElementById('print_width').value : 0;
    var h = document.getElementById('print_height') ? document.getElementById('print_height').value : 0;
    x_get_print_params(document.getElementById('product_id').value, w, h, getRadioGroupValueByAttr('paper'), fw, fh, update_print_params);
}

function load_sticker_info(fw, fh)
{
    if (fw == null) fw = 0;
    if (fh == null) fh = 0;
    var w = document.getElementById('print_width') ? document.getElementById('print_width').value : 0;
    var h = document.getElementById('print_height') ? document.getElementById('print_height').value : 0;
    x_get_sticker_params(document.getElementById('product_id').value, w, h, fw, fh, update_print_params);
}


function force_load_print_info(str)
{
    var arr = str.split("x");
    if (arr.length)
    {
        if (arr[0] > arr[1])
        {
            document.getElementById('print_width').value = arr[0];
            load_print_info(1, 0);
        }
        else
        {
            document.getElementById('print_height').value = arr[1];
            load_print_info(0, 1);
        }
    }
}

function force_load_sticker_info(str)
{
    var arr = str.split("x");
    if (arr.length)
    {
        if (arr[0] > arr[1])
        {
            document.getElementById('print_width').value = arr[0];
            load_sticker_info(1, 0);
        }
        else
        {
            document.getElementById('print_height').value = arr[1];
            load_sticker_info(0, 1);
        }
    }
}

function toggleReflectImages(flag)
{
    $('img[is_tov_img=1]').each(function(){
        var target = this.getAttribute("target_src");
        if (flag)
        {
            this.src = this.src.replace(".png", "_refl.png");
            if (target)
            {
                target = target.replace(".png", "_refl.png");
            }
        }
        else
        {
            this.src = this.src.replace("_refl.png", ".png");
            if (target)
            {
                target = target.replace("_refl.png", ".png");
            }
        }
        if (target)
        {
            this.setAttribute("target_src", target);
        }
    });
}