function send_form(field, tag_id)
{
    if(field.value)
    {
        $('st_basket-add-submit-container').firstChild.disabled = true;
        
        if(!tag_id)
        {
            tag_id = 'changed_field';
        }

        $(tag_id).value = field.id.replace('Options_', '');
        $(tag_id).click();
    }
}

var default_data = new Array();

function update_site(data)
{
    if(default_data.init == null)
    {
        if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild)
        {
            default_data.link = $('st_product-show_success_classic_image').firstChild.nextSibling.href;
            default_data.src =  $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild.src;
            default_data.init = 1;
        }

        if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.firstChild)
        {
            default_data.link = $('st_product-show_success_classic_image').firstChild.href;
            default_data.src =  $('st_product-show_success_classic_image').firstChild.firstChild.src;
            default_data.init = 1;
        }

        if($('st_product-show_success_default_image'))
        {
            default_data.link = $('st_product-show_success_default_image').firstChild.href;
            default_data.src =  $('st_product-show_success_default_image').firstChild.firstChild.src;
            default_data.init = 1;
        }
    }
    // update basket form
    if(data.options_list)
    {
        $('options_list').value = data.options_list;
    }
    
    // update photo
    if((data.link) && (data.src))
    {
        if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild)
        {
            $('st_product-show_success_classic_image').firstChild.nextSibling.href = data.link;
            $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild.src = data.src;
        }
        
        if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.firstChild)
        {
            $('st_product-show_success_classic_image').firstChild.href = data.link;
            $('st_product-show_success_classic_image').firstChild.firstChild.src = data.src;
        }

        if($('st_product-show_success_default_image'))
        {
            $('st_product-show_success_default_image').firstChild.href = data.link;
            $('st_product-show_success_default_image').firstChild.firstChild.src = data.src;
        }
    }
    else
    {
        if(default_data.init == 1)
        {
            if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild)
            {
                $('st_product-show_success_classic_image').firstChild.nextSibling.href = default_data.link;
                $('st_product-show_success_classic_image').firstChild.nextSibling.firstChild.src = default_data.src;
            }
            
            if($('st_product-show_success_classic_image') && $('st_product-show_success_classic_image').firstChild.firstChild)
            {
                $('st_product-show_success_classic_image').firstChild.href = default_data.link;
                $('st_product-show_success_classic_image').firstChild.firstChild.src = default_data.src;
            }

            if($('st_product-show_success_default_image'))
            {
                $('st_product-show_success_default_image').firstChild.href = default_data.link;
                $('st_product-show_success_default_image').firstChild.firstChild.src = default_data.src;
            }
        }
    }
    
    // update stock
    if((data.stock!=null))
    {
        if($('st_depository_stock_amount'))
        {
            $('st_depository_stock_amount').innerHTML = $('st_depository_stock_amount').innerHTML.replace(/[0-9]+\s/, data.stock + ' ');
        }
        
        if(data.check_stock == 1 && $('st_basket-add-submit-container'))
        {                     
            if(data.stock == 0)
            {
                $('st_basket-add-submit-container').firstChild.disabled = true;
                $('st_basket-add-submit-container').firstChild.value = data.basket_disabled;
                if($('quantity'))
                {
                    $('quantity').value = 0;
                    $('quantity').disabled = true;
                }
            }
            else
            {
                $('st_basket-add-submit-container').firstChild.disabled = false;
                $('st_basket-add-submit-container').firstChild.value = data.basket_enabled;
                if($('quantity'))
                {
                    if($('quantity').value == 0)
                    {
                        $('quantity').value = 1;
                    }
                    $('quantity').disabled = false;
                }
            }
        }
    }        
    
    // update avalibility
    if($('st_availability_info') && (data.avalibility!=null))
    {
        $('st_availability_info').innerHTML = $('st_availability_info').innerHTML.replace(/> [^>]+/, '> ' + data.avalibility);
    }

    // update price
    if($('st_product_options-price_net') && (data.price_netto!=null))
    {
        $('st_product_options-price_net').innerHTML = $('st_product_options-price_net').innerHTML.replace(/([0-9]+(&nbsp;|\s))?[0-9,\.]+/, data.price_netto);
    }
    
    if($('st_product_options-price_brutto') && (data.price_brutto!=null))
    {
        $('st_product_options-price_brutto').innerHTML = $('st_product_options-price_brutto').innerHTML.replace(/([0-9]+(&nbsp;|\s))?[0-9,\.]+/, data.price_brutto);
    }

    // enable basket
    if($('st_basket-add-submit-container') && $('st_basket-add-submit-container').firstChild.value == data.basket_enabled)
    {
        $('st_basket-add-submit-container').firstChild.disabled = false;
    }
}

function updateJSON(request, json)
{
    var responses = json;
    if (!json){
      //if you don't use the json tips then evaluate the renderedText instead
      responses = eval('(' + request.responseText + ')');
    }

    update_site(responses.to_update);
    new Ajax.Updater('st_product_options_form',
                    '/product_options/updateProductOptions',                 
                    {parameters: 'json=' + request.responseText, asynchronus: true, evalScripts: true});
}

