var prefs = {
    data: {},

    load: function () {
        var the_cookie = document.cookie.split(';');
        if (the_cookie[0])
        {
            this.data.cart = [];
            // this.data = unescape(the_cookie[0]).parseJSON();
            var cart = JSON.decode(getCookie("cart"));

            if (cart)
            {
                cart.each(function(data, key){
                              cart_add( data );
                          });
                this.data.cart = cart;
            }
        }
    },
    
    save: function (expires, path) {
        var d = expires || new Date(2020, 02, 02);
        var p = path || '/';
        // document.cookie = escape(this.data.toJSONString())
        // document.cookie = escape(JSON.encode(this.data))
        //     + ';path=' + p
        //     + ';expires=' + d.toUTCString();
        setCookie('cart', JSON.encode(this.data.cart));
    }
};

function get_price(price)
{
    return (price*g_conversion_rate).toFixed(2)+' '+g_currency_symbol;
}

window.addEvent('domready', function()
                {
                    rat_resizer = $('rat_resizer');
                    g_cart_table = $("cart_table");

                    g_shipping = [];
                    g_cart_checkout_loaded=false;

                    prefs.load();

                    processing = {
                        'show' : function(request) {
                            this.request = request;
                            $('center_processing').style.display = 'block';
                        },
                        'hide' : function() {
                            $('center_processing').style.display = 'none';
                        },
                        'cancel' : function() {
                            this.request.cancel();
                            alert(lang['op_cancel']);
                            this.hide();
                        }};


                    if ($("cart-menu"))
                    {
                        cart_update_totals();
                    }

                    if ($$(".color_selection").length)
                        fireClickEvent($$(".color_selection")[0]);

                    if ($('center_cart'))
                    {
                        accordion_cart = new Accordion($$('a.accordion_toggle_fake'), $$('div.checkout_next'),
                                                       { show: 0, opacity: true,
                                                         onActive: function() { rat_resizer.style.overflowY='hidden'; rat_resizer.style.height = "auto"; },
                                                         onComplete: function() { adjust_forms(); rat_resizer.style.overflowY='auto'; } } );
                    }
                    if ($('center_mail'))
                    {
                        accordion_mail = new Accordion($$('a.accordion_toggle_fake2'), $$('div.mail_next'),
                                                       { show: 0, opacity: true } );
                    }

                    if ($('detail_image'))
                    {
                        $('detail_image').set( 'morph',
                                               { duration: 400,
                                                 link: 'cancel',
                                                 transition: 'back:out' } );
                    }

                    var default_menu_page = 0;
                    if ( getCookie('menu') != "" )
                        default_menu_page = getCookie('menu');

                    accordion_menu = new Accordion($$('span.menu_toggler'), $$('ul.menu_section'),
                                                   { show: parseInt(default_menu_page),
                                                     opacity: true,
                                                     onActive: function() { setCookie('menu', this.previous); } } );

                    roar = new Roar({
                                        position:'upperRight'
                                    });

                    update_remooz();

                });

function update_remooz()
{
    ReMooz.assign('.remooz', {
                      'origin': 'img',
                      'resizeFactor': 1
                  });
}

window.addEvent('resize', adjust_forms);

if (window.addEventListener)
{
    var kon=[38,38,40,40,37,39,37,39,66,65],
    ami=0;
    window.addEventListener( 'keydown',
                             function(e)
                             {
                                 if (e.keyCode == kon[ami++])
                                 {
                                     if (ami == kon.length)
                                     {
                                         ami=0;
                                         document.body.style.backgroundImage = 'url(http://australiscommission.org/maddsie/dinosaurComics/randomSecondPanel.php?'+Math.random()+')';
                                         [$('frame'),$('wrapper'),$('topnav')].each( function(h){h.setStyle('backgroundColor', 'transparent');} );
                                         $('frame').setStyle('backgroundImage', 'url(/images/navigation/b25.png)');
                                         //window.removeEventListener( 'keydown', arguments.callee, false );
                                         //alert('This was a triumph.');
                                         warning('YOU ARE BEING AWESOME','WARNING');
                                     }
                                 }
                                 else
                                 {
                                     ami=0;
                                 }
                             },
                             false );
}



function adjust_forms()
{
    if ($('center_cart').style.visibility != "hidden")
    {
        if ($('cart').clientHeight > (window.innerHeight-70))
        {
            rat_resizer.style.height = (window.innerHeight-70)+"px";
        }
        else if (rat_resizer.style.height != "auto")
        {
            rat_resizer.style.height = "auto";
        }
    }
}

function fireClickEvent(control) {
    if (document.all)
    {
        control.fireEvent("onclick");
    }
    else
    {
        var clickEvent = window.document.createEvent("MouseEvent");
        clickEvent.initEvent("click", false, true);
        control.dispatchEvent(clickEvent);
    }
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

function select_size(size, color)
{
    var size_selection = $$('.size_selection.y');
    for (var i=0; i<size_selection.length; i++)
    {
        size_selection[i].className = "n" + size_selection[i].className.substr( 1 );
    }

    selected = $('size_'+color+'_'+size);
    selected.className = "y" + selected.className.substr( 1 );
    $('info_stock').innerHTML = ( (selected.className.indexOf("green") > 0)
                                  ? lang['stock_yes']
                                  : lang['stock_no'] );
    if ($('info_size'))
        $('info_size').innerHTML = item_details[color][size]['size_tr'];//$('size_tr_'+color+'_'+size).value;
    $('info_width').innerHTML = item_details[color][size]['width'];//$('width_'+color+'_'+size).value;
    $('info_height').innerHTML = item_details[color][size]['height'];//$('height_'+color+'_'+size).value;
    $('info_weight').innerHTML = item_details[color][size]['weight'];//$('weight_'+color+'_'+size).value+'g';
    $('item_price').innerHTML = get_price(item_details[color][size]['price']);
}

function select_color(color)
{
    var color_selection = $$('.color_selection.y');
    for (var i=0; i<color_selection.length; i++)
    {
        color_selection[i].className = "n" + color_selection[i].className.substr( 1 );
    }

    selected = $('color_'+color);
    selected.className = "y" + selected.className.substr( 1 );
    $('info_model').innerHTML = item_details[color]['model'];//$('model_'+color).value;
    if ($('info_composition') != null)
        $('info_composition').innerHTML = item_details[color]['compo'];//$('compo_'+color).value;
    $('info_color').innerHTML = item_details[color]['colorname'];//$('colorname_'+color).value;

    ref = item_details[color]['ref'];//$('ref_'+color).value;
    $('info_ref').value = ref;
    $('sizes').setStyle('background', 'url(images/articles/detail/'+ref+'.png)');

    $$('.sizelabels').setStyle('display', 'none');
    $('sizelabel_'+color).setStyle('display', 'block');

    $$('.detailist').setStyle('display', 'none');
    $('detail_'+color).setStyle('display', 'block');

    fireClickEvent($$(".size_color_"+color)[0]);
    fireClickEvent($$('.thumb_'+color)[0]);

    // new iCarousel("detail_"+color, {
    //                   idPrevious: "detail_prev",
    //                   idNext: "detail_next",
    //                   idToggle: "undefined",
    //                   item: {
    //                       klass: "detail_node",
    //                       size: 86
    //                   },
    //                   animation: {
    //                       direction: "top",
    //                       duration: 1000,
    //                       amount: 1
    //                   }
    //               });
}

function cart_buy()
{
    item = {
        'ref': $('info_ref').value,
        'nam': $('item_name').firstChild.nodeValue,
        'col': $('info_color') ? $('info_color').firstChild.nodeValue : '',
        'siz': $('info_size') ? $('info_size').firstChild.nodeValue : '',
        'no': 1,
        'pr': parseFloat($('item_price_eur').value),
        'dn': ( $('item_donation_eur') == null
                ? 0
                : parseFloat($('item_donation_eur').value) )
    };

    var i;
    for (i=0; i<prefs.data.cart.length; i++)
    {
        if ( item.ref == prefs.data.cart[i].ref &&
             item.col == prefs.data.cart[i].col &&
             item.siz == prefs.data.cart[i].siz )
        {
            cart_more(i);
            break;
        }
    }

    if (i == prefs.data.cart.length)
    {
        cart_add( item );
    }
    cart_update_totals();

    roar.alert( lang['cart_add'], build_item_name(item) );
}

function build_item_name(item)
{
    return item.ref + " - " + item.nam +
        (item.col ? " - " + item.col : '') +
        (item.siz ? " - " + item.siz : '');
}

function cart_more(idx) {
    prefs.data.cart[idx].no += 1;
    cart_update_totals();
}
function cart_less(idx) {
    if ( prefs.data.cart[idx].no > 1)
        prefs.data.cart[idx].no -= 1;
    cart_update_totals();
}
function cart_add(item)
{
    prefs.data.cart.push( item );
    idx = prefs.data.cart.length-1;

    var row = g_cart_table.insertRow(idx+1);
    row.innerHTML =
        '<td>'+
        '<span id="buttons"><a onclick="cart_delete('+idx+')"><img title="'+lang['cart_del']+'" src="images/navigation/cart_delete.gif"/></a>'+
        '</span>'+
        build_item_name(item) +
        '</td>'+

    '<td class="amount" id="row_items">'+
        '<span id="buttons">'+
        '<a onclick="cart_less('+idx+')"><img title="'+lang['cart_less']+'" src="images/navigation/cart_less.gif"/></a>'+
        '<a onclick="cart_more('+idx+')"><img title="'+lang['cart_more']+'" src="images/navigation/cart_more.gif"/></a>'+
        '</span>'+
        '<span>'+ item.no + '</span>'+
        '</td>'+

    '<td class="x">x</td>'+
        '<td class="amount">'+ get_price(item.pr) +'</td>'+
        '<td class="x">=</td>'+
        '<td class="amount">'+ get_price(item.pr*item.no) +'</td>'+
        '<td class="amount">'+ ( item.dn > 0
                                 ? get_price(item.dn*item.no)
                                 : '') +'</td>';
}
function cart_delete(idx)
{
    prefs.data.cart.splice(idx,1);
    g_cart_table.deleteRow(idx+1);
    cart_update_totals();
}

function cart_clear()
{
    var n_rows=g_cart_table.rows.length-2;
    for (var i=1; i<n_rows; i++)
    {
        g_cart_table.deleteRow(1);
    }
    prefs.data.cart = [];
    cart_update_totals();
}

function cart_update_totals()
{
    var total_money=0, total_items=0, total_donation=0,
    partial_total=0, partial_donation=0;
    var row;

    for (var i=0; i<prefs.data.cart.length; i++)
    {
        row = g_cart_table.rows[i+1];

        /* Number of items */
        total_items += prefs.data.cart[i].no;
        row.cells[1].childNodes[1].innerHTML = prefs.data.cart[i].no;
        var less_button = row.cells[1].firstChild.firstChild.firstChild;
        if (prefs.data.cart[i].no <= 1)
        {
            less_button.src = 'images/navigation/cart_less_bn.gif';
            less_button.style.cursor = 'default';
        }
        else
        {
            less_button.src = 'images/navigation/cart_less.gif';
            less_button.style.cursor = 'pointer';
        }

        /* Price */
        partial_total = prefs.data.cart[i].pr * prefs.data.cart[i].no;
        row.cells[5].innerHTML = get_price(partial_total);
        total_money += partial_total;

        /* Donation */
        partial_donation = prefs.data.cart[i].dn * prefs.data.cart[i].no;
        if (partial_donation > 0)
        {
            row.cells[6].innerHTML = get_price(partial_donation);
            total_donation += partial_donation;
        }
    }

    $("cart_total").innerHTML = get_price(total_money);
    $("total_donation").innerHTML =
        ( (total_donation > 0)
          ? get_price(total_donation)
          : ' ' );

    $("items").innerHTML = total_items;
    $("items2").innerHTML = (total_items == 1) ? lang['item'] : lang['items'];

    if (total_items == 0)
    {
        $("start_checkout").style.visibility = "hidden";
        $("cart_pic").src = "images/navigation/cart_sad.png";
    }
    else
    {
        $("start_checkout").style.visibility = "inherit";
        $("cart_pic").src = "images/navigation/cart_happy.png";
    }

    prefs.save();
}

function show_image(image, desc, height, width)
{
    var img = $('detail_image');

    img.morph({ 'height' : height, 'width' : width });
    img.src = image;

    $('detail_desc').innerHTML = desc;
}

function validate_form()
{
    /* Tomorrow */
    /*
     if ( $('checkout_form').robot.checked )
     {
     alert("Robots don't need t-shirts");
     return false;
     }
     */

    if ( !$('co_name').valid() )
    {
        warning(lang['warn_name'],null);
        $('co_name').highlight();
        return false;
    }
    if ( !$('co_address').valid() )
    {
        warning(lang['warn_address'],null);
        $('co_address').highlight();
        return false;
    }
    if ( !$('co_city').valid() )
    {
        warning(lang['warn_city'],null);
        $('co_city').highlight();
        return false;
    }
    if ( !$('co_pcode').valid() )
    {
        warning(lang['warn_pcode'],null);
        $('co_pcode').highlight();
        return false;

    }
    if ( !$('co_email').valid() )
    {
        warning(lang['warn_email'],null);
        $('co_email').highlight();
        return false;
    }
    if ( !$('co_phone').valid() )
    {
        warning(lang['warn_phone'],null);
        $('co_phone').highlight();
        return false;
    }

    $('warning_center').style.visibility = 'hidden';
    return true;
}

function get_order_articles()
{
    var articles = [];
    for (var i=0; i<prefs.data.cart.length; i++)
    {
        articles.push({
                          'ref' : build_item_name(prefs.data.cart[i]),
                          'qty' : prefs.data.cart[i].no
                      });
    }
    return articles;
}

function get_order_data()
{
    var form = $('checkout_form');
    var shipping = g_shipping[form.company.value];
    var order_data = {
        'name'       : $('co_name').value,
        'address'    : $('co_address').value,
        'city'       : $('co_city').value,
        'province'   : $('co_province').valid() ? $('co_province').value : '',
        'pcode'      : $('co_pcode').value,
        'email'      : $('co_email').value,
        'phone'      : $('co_phone').value,
        'country'    : form.co_country.value,
        'company'    : shipping ? shipping[0] : '',
        'modality'   : shipping ? shipping[1] : '',
        'pay_method' : form.co_pay_method.value,
        'comments'   : $('co_comments').value,
        'articles'   : get_order_articles()
    };

    return order_data;
}


function cart_checkout()
{
    if (!g_cart_checkout_loaded)
    {
        new Request(
            {
                url: 'ajax-cart_checkout.php',
                onRequest: function() { processing.show(this); },
                onComplete: function(result) { processing.hide(); },
                onSuccess: function(result)
                {
                    g_cart_checkout_loaded=true;
                    $('cart_checkout_ph').innerHTML = result;
                    cart_checkout_loaded();
                    update_shipping();
                    accordion_cart.display(1);
                }
            }).send();
    }
    else
    {
        update_shipping();
        accordion_cart.display(1);
    }
}

// function fill_summary()
// {
//     if (!g_debug && !validate_form())
//         return false;

//     var form = $('checkout_form');

//     /* Client data */
//     $('sum_name').firstChild.nodeValue = $('co_name').value;
//     $('sum_address').innerHTML = $('co_address').value;
//     $('sum_city').innerHTML = $('co_city').value;
//     $('sum_province').innerHTML = $('co_province').value;
//     $('sum_pcode').innerHTML = $('co_pcode').value;
//     $('sum_country').innerHTML = form.co_country[form.co_country.selectedIndex].firstChild.nodeValue;
//     $('sum_email').innerHTML = $('co_email').value;
//     $('sum_phone').innerHTML = $('co_phone').value;
//     $('sum_comments').innerHTML = $('co_comments').value.replace(/\r\n|\n/g, "<br/>");

//     $('sum_shipping').firstChild.nodeValue = ( (form.company.selectedIndex != -1)
//                                                ? form.company[form.company.selectedIndex].firstChild.nodeValue
//                                                : "???" );
//     $('sum_pay_method').firstChild.nodeValue = form.co_pay_method[form.co_pay_method.selectedIndex].firstChild.nodeValue;

//     var summary_table = $("invoice");
//     var rows = summary_table.rows.length-2;

//     for (var i=1; i<rows; i++)
//     {
//         summary_table.deleteRow(1);
//     }

//     var style="padding:.5em 1em; font-size:.8em;";
//     for (i=0; i<prefs.data.cart.length; i++)
//     {
//         var row = summary_table.insertRow($("invoice").rows.length-2);
//         item = prefs.data.cart[i];
//         row.innerHTML += '<td style="'+style+' text-align:left;">'+        build_item_name(item) +'</td>';
//         row.innerHTML += '<td style="'+style+' text-align:right;">'+       item.no +'</td>';
//         row.innerHTML += '<td style="'+style+' text-align:right;"><span class="currency">'+ get_price(item.pr) +'</span></td>';
//         row.innerHTML += '<td style="'+style+' text-align:right;"><span class="currency">'+ get_price(item.pr*item.no) +'</span></td>';
//     }

//     var shipping = parseFloat($('shipping_qty').firstChild.nodeValue);
//     if (isNaN(shipping)) shipping = 0.0;
//     $('invoice_shipping').firstChild.nodeValue = shipping.toFixed(2);

//     var total = parseFloat($("cart_total").firstChild.nodeValue);
//     $('invoice_total').firstChild.nodeValue = (total + shipping).toFixed(2);

//     accordion_cart.display(2);

//     return true;
// }

function dialog_open(dialog)
{
    dialog.style.display='block';
}

function dialog_close(dialog, accordion, close_button)
{
    dialog.style.display='none';
    if (accordion && accordion.previous)
        accordion.display(0);
    if (close_button)
        close_button.style.visibility='inherit';
}

function open_mail_dialog(mail_to)
{
    $('sendmail_mail_to').value = mail_to;
    dialog_open( $('center_mail') );
}

function send_order()
{
    if (// !g_debug &&
        !validate_form())
        return false;

    new Request.JSON(
        {
            url: 'ajax-send_order.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result)
            {
                processing.hide();
                accordion_cart.display(2);
            },
            onSuccess: function(result)
            {
                if( result['success'] == 1 )
                {
                    $('invoice_table_client').innerHTML = result['client'];
                    $('invoice_table_order').innerHTML = result['order'];
                    g_order_ref = result['order_ref'];
                }
                else
                {
                    /*TODO*/
                    $('invoice_table_client').innerHTML = result['message'];
                }
            }
        }).post({ 'order': get_order_data(),
                  'really': 0 });
    return true;
}

function confirm_order()
{
    new Request.JSON(
        {
            url: 'ajax-send_order.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result)
            {
                processing.hide();
                $('close_cart').style.visibility = 'hidden';
                accordion_cart.display(3);
            },
            onSuccess: function(result)
            {
                $('checkout_result').innerHTML = result['message'];
                if( result['success'] == 1 )
                    cart_clear();
            }
        }).post({ 'order_ref': g_order_ref,
                  'really': 1 });
}


function send_mail()
{
    new Request.JSON(
        {
            url: 'ajax-send_mail.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result)
            {
                processing.hide();
                $('close_mail').style.visibility = 'hidden';
                accordion_mail.display(1);
            },
            onSuccess: function(result)
            {
                $('mail_result').innerHTML = result['message'];
            }
        }).post({ 'mail_from' : $('sendmail_mail_from').value,
                  'mail_to' : $('sendmail_mail_to').value,
                  'message' : $('sendmail_message').value });
}

function update_shipping()
{
    var form = $('checkout_form');

    if (form.co_country.value in {'AT':'', 'BE':'', 'CY':'', 'FI':'',
                                  'FR':'', 'DE':'', 'GR':'', 'IE':'',
                                  'IT':'', 'LU':'', 'MT':'', 'AN':'',
                                  'PT':'', 'SK':'', 'SI':'', 'ES':'',
                                  'S1':'', 'S2':'', 'S3':'', 'S4':'',
                                  'NL':''})
    {
        form.co_pay_method[1].disabled = false;
    }
    else
    {
        form.co_pay_method[1].disabled = true;
        if(form.co_pay_method[1].selected)
            form.co_pay_method[0].selected = true;
    }


    new Request.JSON(
        {
            url: 'ajax-get_shipping.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result) { processing.hide(); },
            onSuccess: function(result)
            {
                if (result['success'])
                {
                    $('shipping_note').innerHTML = '';
                    form.company.disabled = false;

                    form.company.length = 0;
                    if (form.company.length != 0) // What the fuck, Chromium.
                        form.company.length = 0;  // What the fucking fuck.

                    g_shipping = [];

                    for (var i=0; i<result['shipping'].length; i++)
                    {
                        form.company.add( new Option( result['shipping'][i][4] +' - '+
                                                      result['shipping'][i][5],
                                                      i ),
                                          null );
                        g_shipping[i] = result['shipping'][i];
                    }
                }
                else
                {
                    $('shipping_qty').className = '';
                    $('shipping_qty').innerHTML = result['message'];
                    $('shipping_note').innerHTML = result['note'];
                    form.company.length = 0;
                    if (form.company.length != 0) // What the fuck, Chromium.
                        form.company.length = 0;  // What the fucking fuck.
                    form.company.disabled = true;
                }
                update_shipping_mod();
            }
        }).post({
                    'articles' : get_order_articles(),
                    'country' : form.co_country.value
                });
}
function update_shipping_mod()
{
    var form = $('checkout_form');

    if ( (!form.company.disabled) &&
        (form.company.length > 0) )
    {
        $('shipping_note').innerHTML = '';
        var company = g_shipping[form.company.value];
        var shipping = parseFloat(company[2].split(':')[1]);
        var cod = parseFloat(company[3]);
        var delivery = company[6];

        if (cod > 0)
        {
            form.co_pay_method[2].disabled = false;
            if(form.co_pay_method[2].selected)
            {
                $('shipping_note').innerHTML = '('+ lang['cod_note'].replace(/%d/, get_price(cod)) +')';
            }
        }
        else
        {
            form.co_pay_method[2].disabled = true;
            if(form.co_pay_method[2].selected)
                form.co_pay_method[0].selected = true;
        }

        $('shipping_qty').innerHTML = get_price(shipping);
        $('shipping_delivery').innerHTML = delivery;
    }
    else
    {
        form.co_pay_method[2].disabled = true;
        if(form.co_pay_method[2].selected)
            form.co_pay_method[2].selected = false;
    }
}

function update_shipping_list()
{
    new Request.JSON(
        {
            url: 'ajax-get_shipping.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result) { processing.hide(); },
            onSuccess: function(result)
            {
                if (result['success'])
                {
                    var sh_modality = $('sh_modality');
                    var sh_price = $('sh_price');

                    sh_modality.length = 0;
                    if (sh_modality.length != 0) // What the fuck, Chromium.
                        sh_modality.length = 0;  // What the fucking fuck.

                    sh_price.length = 0;
                    if (sh_price.length != 0) // What the fuck, Chromium.
                        sh_price.length = 0;  // What the fucking fuck.

                    g_shipping = result['shipping'];

                    for (var i=0; i<result['shipping'].length; i++)
                    {
                        sh_modality.add( new Option( result['shipping'][i][4] +' - '+
                                                     result['shipping'][i][5],
                                                     i ),
                                         null );
                    }
                }
                update_shipping_mod();
            }
        }).post({
                    'country' : $('sh_country').value
                });
}
function update_shipping_mod_list()
{
    function addLi(list, str) {
        list.innerHTML += '<li>'+str+'</li>';
    }

    var sh_modality = $('sh_modality');
    var sh_price = $('sh_price');

    var company = g_shipping[sh_modality.value];
    var cod = parseFloat(company[3]);

    sh_price.length = 0;
    if (sh_price.length != 0) // What the fuck, Chromium.
        sh_price.length = 0;  // What the fucking fuck.

    var prices = company[2].split(',');
    sh_price.innerHTML = '';
    for (var i=0; i<prices.length; i++)
    {
        var price = prices[i].split(':');
        addLi(sh_price,
              ( lang['sh_upto']+' '+price[0]
                +'g:  <span style="position:absolute;right:30%;">'
                +get_price(parseFloat(price[1]))
                +'</span>' ));

    }

    addLi(sh_price, '');

    addLi(sh_price, '* ' + (cod ?  lang['sh_cod_allow'].replace(/%d/, get_price(cod)) : lang['sh_cod_fuckoff']));
    addLi(sh_price, '* '+lang['sh_deliver']+': '+company[6]);
    if (company[7])
        addLi(sh_price, '* <a href="'+company[7]+'">'+lang['sh_the_moar_you_know']+'</a>');
}

function warning(message, title)
{
    if (title == undefined) title = '';
    $('warning_title').innerHTML = title;
    $('warning_message').innerHTML = message;
    $('warning_center').style.display = 'block';
}

function setupbox(object, default_value)
{
    unclearbox(object, default_value);
    object.addEvent('blur', function(){ unclearbox(object, default_value); });
    object.addEvent('focus', function(){ clearbox(object, default_value); });
    object.valid = function(){ return ( !nonull(this.value) &&
                                        (this.value != default_value) ); };
}
function clearbox(object, default_value)
{
    if (object.value == default_value)
    {
        object.value = '';
        object.setStyles({color:'#000'});
    }
}
function unclearbox(object, default_value)
{
    if (nonull(object.value))
        object.value = default_value;
    if (object.value == default_value)
        object.setStyles({color:'#666'});
    else
        object.setStyles({color:'#000'});
}

function nonull(str)
{
    return str.replace(/^\s+|\s+$/g,'').length == 0;
}

function poll_vote()
{
    var checked = new Array();
    for (var i=0; i<$('poll_form').poll.length; i++)
    {
        if ($('poll_form').poll[i].checked)
        {
            var value = $('poll_form').poll[i].value;
            if (value == -1)
                checked.push([ value, $('poll_other').value ]);
            else
                checked.push([ value, 0 ]);
        }
    }

    new Request.JSON(
        {
            url: 'ajax-poll_vote.php',
            onRequest: function() { processing.show(this); },
            onComplete: function(result) { processing.hide(); },
            onSuccess: function(result)
            {
                if (!result)
                    warning( 'Duck and cover.', 'Fatal error' );
                else if (!result['success'])
                warning( result['message'], 'Error' );
                else
                {
                    $('poll_frame').innerHTML = result['results'];
                    $('poll_frame').scrollTo(0,0);
                    update_remooz();
                }

            }
        }).post({ 'poll' : $('poll_form').poll_id.value,
                  'vote' : checked });
}



function setCookie(name,value)
{
    document.cookie =
        name + "=" + escape(value) +
        ";expires=" + (new Date(2020, 02, 02)).toGMTString();
}

