/**
 * @author olivier
 */
/**
 *  * @author olivier
 *   */
function store_add_to_cart(itemid, caller) {
    var v = null;
    $each(document.getElementsByName('skuid'+escape(itemid)), function(el){
        if($(el).getValue()) v = $(el).getValue();
    });
    var data = 'skuid'+itemid+'='+v+'&itemid='+escape(itemid);
    if ($type($('sub_'+itemid))) {
        data = data + '&sub='+$(document.getElementsByName('sub_'+itemid)[0]).getValue();
    }
    
    if ($type($('user_gift'))) {
        data = data + '&gift_for='+$('user_gift').getValue();
    }
    
    var req = new Ajax2('/batch.store.php?', {
            'method': 'post',
            'data':data,
            'onComplete': function(res) {
                if (res == 'ok') {
                    window.location="/batch.viewcart.php?store_refer="+window.location;
                }
            }
    });
    req.request();
}

window.addEvent('domready', function () {
    //prevent from sending the form when "enter" is hit
    if ($('store_form')) {
        $('store_form').addEvent("submit", function () {return false;});
    }

    $each($$('.radio_one_time'), function(el) {
        el.addEvent('click', function (e) {
            $('user_gift').setProperty('disabled', false).focus();
            
        });
    });

    $each($$('.radio_recur'), function(el) {
        el.addEvent('click', function (e) {
            init_gift();
            $('user_gift').setProperty('disabled', true);
        });
    });

    $each($$('.gift_for'), function (el) {
        el.addEvent('blur',add_gift.bindWithEvent() );
    });
});

function init_gift() {
    var tar = $('user_gift');
                                    if($type($('change_gift_name'))) {
                                        $('change_gift_name').remove();
                                    }
                                    $('wait_gift').removeClass('gift_ok');
                                    $('wait_gift').removeClass('gift_nok');
                                    var tar2 = new Element('input')
                                                    .setProperty('name', "gift_for")
                                                    .setProperty('id',    tar.getProperty('id'))
                                                    .setProperty('type',  'text')
                                                    .addEvent('blur',     add_gift.bindWithEvent() )
                                                    .injectBefore(tar);
                                    tar.remove();
                                    if($type($('change_gift'))) {
                                        $('change_gift').remove();
                                    }
                                }

function add_gift(e) {
            var evt = new Event(e);
            var tar = $(evt.target);
            if (tar.getValue('value') !='') {
                var req = new Ajax2('/batch.store.php?op=gift', {
                        'method': 'post',
                        'data':'name='+tar.getValue('value'),
                        'onRequest':function () {$('wait_gift').removeClass('gift_ok'); $('wait_gift').removeClass('gift_nok'); $('wait_gift').addClass('wait2');},
                        'onComplete': function(res) {
                            $('wait_gift').removeClass('wait2');
                            if (res != '0') {
                                $('sub_lab').setStyle('float','left');
                                $('wait_gift').removeClass('gift_nok');
                                $('wait_gift').addClass('gift_ok');
                                new Element('span').setProperty('id', 'change_gift').setStyles({'float':'right', 'font-weight':'normal','cursor':'pointer'}).setHTML('[X]').injectBefore(tar).addEvent('click', init_gift.bind());
                                
                                new Element('span').setProperty('id', 'change_gift_name').addClass('gift_for_name').setHTML(tar.getValue('value')).injectBefore(tar);
                                var tar2 = new Element('input')
                                                    .setProperty('name', "gift_for")
                                                    .setProperty('value', res)
                                                    .setProperty('id',    tar.getProperty('id'))
                                                    .setProperty('type',  'hidden')
                                                    .injectBefore(tar);
                                tar.remove();
                                tar = tar2;
                            } else {
                                $('wait_gift').removeClass('gift_ok');
                                $('wait_gift').addClass('gift_nok');
                            }
                        }
                });
                req.request();
            }
        }
