/**
 * @author olivier
 */
/**
 *  * @author olivier
 *   */
function store_add_to_cart(itemid, caller) {
    var v = null;
    $each(document.getElementsByName('skuid'+escape(itemid)), function(el){
        if($(el).get('value')) v = $(el).get('value');
    });
    var data = 'skuid'+itemid+'='+v+'&itemid='+escape(itemid);
    if ($type($('sub_'+itemid))) {
        data = data + '&sub='+$(document.getElementsByName('sub_'+itemid)[0]).
        get('value');
    }
    
    if ($type($('user_gift'))) {
        data = data + '&gift_for='+$('user_gift').get('value');
    }
    
    var req = new Request.JSON( {url:'/batch.store.php?',
        'onSuccess': function(jsonObj,res) {
            if (res == 'ok') {
                window.location="/batch.viewcart.php?store_refer="+window.location.href.replace('#','%23');
            }
        }
                                }).send(data);
}

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').destroy();
                                    }
                                    $('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.destroy();
                                    if($type($('change_gift'))) {
                                        $('change_gift').destroy();
                                    }
                                }

function add_gift(e) {
            var evt = new Event(e);
            var tar = $(evt.target);
            if (tar.get('value') !='') {
                var req = new Request.JSON({url:'/batch.store.php?op=gift',
                        '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').set('id', 'change_gift').setStyles({'float':'right', 'font-weight':'normal','cursor':'pointer'}).set('html','[X]').injectBefore(tar).addEvent('click', init_gift.bind());
                                
                                new Element('span').set('id', 'change_gift_name').addClass('gift_for_name').set('html',tar.get('value')).injectBefore(tar);
                                var tar2 = new Element('input')
                                                    .set('name', "gift_for")
                                                    .set('value', res)
                                                    .set('id',    tar.get('id'))
                                                    .set('type',  'hidden')
                                                    .injectBefore(tar);
                                tar.destroy();
                                tar = tar2;
                            } else {
                                $('wait_gift').removeClass('gift_ok');
                                $('wait_gift').addClass('gift_nok');
                            }
                        }
                                           }).send({'data':'name='+tar.get('value')});
            }
}
