var pwsL10n = {
     empty: "Strength indicator",
     short: "Very weak",
     bad: "Weak",
     good: "Medium",
     strong: "Strong",
     mismatch: "Mismatch"
};
var dateFormat=function(){var token=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,timezoneClip=/[^-+\dA-Z]/g,pad=function(val,len){val=String(val);len=len||2;while(val.length<len)val="0"+val;return val;};return function(date,mask,utc){var dF=dateFormat;if(arguments.length==1&&Object.prototype.toString.call(date)=="[object String]"&&!/\d/.test(date)){mask=date;date=undefined;}
date=date?new Date(date):new Date;if(isNaN(date))throw SyntaxError("invalid date");mask=String(dF.masks[mask]||mask||dF.masks["default"]);if(mask.slice(0,4)=="UTC:"){mask=mask.slice(4);utc=true;}
var _=utc?"getUTC":"get",d=date[_+"Date"](),D=date[_+"Day"](),m=date[_+"Month"](),y=date[_+"FullYear"](),H=date[_+"Hours"](),M=date[_+"Minutes"](),s=date[_+"Seconds"](),L=date[_+"Milliseconds"](),o=utc?0:date.getTimezoneOffset(),flags={d:d,dd:pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:pad(H%12||12),H:H,HH:pad(H),M:M,MM:pad(M),s:s,ss:pad(s),l:pad(L,3),L:pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10]};return mask.replace(token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1);});};}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Dom","Lun","Mar","Mer","Gio","ven","Sab","Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],monthNames:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Oto","Nov","Dic","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]};Date.prototype.format=function(mask,utc){return dateFormat(this,mask,utc);};
/*jQuery message plug-in 1.0*/
(function($) {
    var helper,
    visible,
    timeout1,
    timeout2;

    $.fn.message = function(message) {
        message = $.trim(message || this.text());
        if (!message) {
            return;
        }
        clearTimeout(timeout1);
        clearTimeout(timeout2);

        initHelper();
        helper.find("p").html(message);
        helper.show().animate({
            opacity: $.message.defaults.opacity
            }, $.message.defaults.fadeInDuration);
        visible = true;
        active = false;
        timeout1 = setTimeout(function() {
            visible = false;
        }, $.message.defaults.minDuration + $.message.defaults.displayDurationPerCharacter * Math.sqrt(message.length));
        timeout2 = setTimeout(fadeOutHelper, $.message.defaults.totalTimeout);
    };

    function initHelper() {
        if (!helper) {
            helper = $($.message.defaults.template).appendTo(document.body);
            $(window).bind("mousemove click keypress", fadeOutHelper);
        }
    }

    function fadeOutHelper() {
        if (helper.is(":visible") && !helper.is(":animated") && !visible) {
            helper.animate({
                opacity: 0
            }, $.message.defaults.fadeOutDuration, function() {
                $(this).hide()
                })
        }
    }

    $.message = {};
    $.message.defaults = {
        opacity: 0.8,
        fadeOutDuration: 500,
        fadeInDuration: 200,
        displayDurationPerCharacter: 125,
        minDuration: 2500,
        totalTimeout: 6000,
        template: '<div class="jquery-message"><div class="round"></div><p></p><div class="round"></div></div>'
    }
})(jQuery);

function showloading(element){
    var offset = jQuery(element).offset();             
    if(offset)
        jQuery('img.loading').css('left',offset.left+jQuery(element).width() + 20).css('top',offset.top).show();
}
function hideloading(){    
    jQuery('img.loading').hide();
}

function addToCart(id){    
    var data;
    var prd = jQuery('li#prd-' + id) ;
    showloading(prd.find('button.button'));    
    if(prd.length>0){
        data = {
            action: 'addtocart',
            product_id: id,
            product_qty : prd.find('.qtytext').val()
        };
    }else {
        data = {
            action: 'addtocart',
            product_id: id,
            product_qty : jQuery('#product_qty').val()
        };
    }
    jQuery.post(ajaxurl, data, function(response) {        
        var result;
        try{
            result = jQuery.parseJSON(response);
        }catch(e){
            alert(response);
        }
        
        if(result!=null){
            jQuery('.cart-info #items').html(result.items);
            jQuery('.cart-info #total').html(result.total);

            if(result.items==0){
                jQuery('.cart-info .emptycart').show();
                jQuery('.cart-info .cartsummary').hide();
                jQuery('.cart-info .shortcart').hide();                    
            }
            else{
                jQuery('.cart-info .emptycart').hide();
                jQuery('.cart-info .cartsummary').show();
                jQuery('.cart-info .shortcart').show();
                jQuery('<div class="itemadded" title="Articolo aggiunto con successo"><h3>Articolo aggiunto con successo</h3></div>').dialog({
                    buttons: {
                                'Continua lo Shopping': function() {
                                        jQuery(this).dialog( "close" );
                                },
                                'Vai alla Cassa': function() {
                                        window.location = '/?page=cartdetails';
                                }
                            },
                    open : function (){
                        hideloading();
                        setTimeout("jQuery('.itemadded').dialog('close')",5000);
                    },                    
                    width:400,                    
                    resizable:false,                    
                    modal:true
                });
            }
            
        }
    });
}

function updateshortcart(){
    var data = {action: 'getcart'};
    jQuery.post(ajaxurl, data, function(response) {
        var result;
        try{
            result = jQuery.parseJSON(response);
        }catch(e){
            alert(response);
        }

        if(result!=null){
            jQuery('.cart-info #items').html(result.items);
            jQuery('.cart-info #total').html(result.total);

            if(result.items==0){
                jQuery('.cart-info .emptycart').show();
                jQuery('.cart-info .cartsummary').hide();
                jQuery('.cart-info .shortcart').hide();
            }
            else{
                jQuery('.cart-info .emptycart').hide();
                jQuery('.cart-info .cartsummary').show();
                jQuery('.cart-info .shortcart').show();
            }
        }
    });
}

function checkpostcode(){    
    var postcode = jQuery('#txt_postcodecheck').val();
    if(postcode==null) {
        alert('Si prega di inserire la cifra 5 (CAP)');
        jQuery('#txt_postcodecheck').css('border','1px solid #ff0000');
        jQuery('#txt_postcodecheck').focus();
    }
    if(postcode.length!=5) {alert('Si prega di inserire la cifra 5 (CAP)');jQuery('#txt_postcodecheck').css('border','1px solid #ff0000');jQuery('#txt_postcodecheck').focus();}
    var data = {
            action: 'checkserviceavailability',
            post_code: postcode
        };    
    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
            window.location = '/?page=profile&action=register';
        }else
            jQuery('#servicenotavailable').show();
    });
}



function removeFromCart(id){
    var data;
    if(jQuery('li#prd-' + id).length>0){
        data = {
            action: 'removefromcart',
            product_id: id
        };
    }
    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
            jQuery('li#prd-' + id).remove();
            if(jQuery('#product-col li').length==0){
                jQuery('#empty_cart').hide();
                jQuery('#proceed_to_checkout').hide();
                jQuery('#onepagelist').hide();
                jQuery('#shipmentcalculatorwrapper').hide();
            }
        }else
            alert(response);
    });
}

function updateQty(id,qty,type){
    if(type=="order"){
        if(!confirm("Vuoi cambiare la quantità?")) return;
    }
    var data;
    if(jQuery('#prd-' + id).length>0){
        data = {
            action: 'updatecartqty',
            product_id: id,
            quantity : qty,
            update_type : type
        };
    }
    jQuery.post(ajaxurl, data, function(response) {
    if(response.length==0) return;
    if(type=="order"){
      if(response.substr(0,1)=="0"){
            if(jQuery('#prd-' + id ).attr('removable')!='0') jQuery('#prd-' + id ).remove();
            if(jQuery('#product-col li').length==0){
                jQuery('#empty_cart').hide();
                jQuery('#proceed_to_checkout').hide();
                jQuery('#shipmentcalculatorwrapper').hide();
            }
        }else if(response.substr(0,2)!="-1"){
            jQuery('form#your-deliveries').html(response.substr(1));
        }else
            alert(response);
    }
    else{
        if(response==0){
            if(jQuery('#prd-' + id ).attr('removable')!='0') 
                jQuery('#prd-' + id ).remove();
            else{
                jQuery('#prd-' + id + " #quantity").html(response);
                var price = jQuery('#prd-' + id + " .price").html().replace(',','.');
                price = (parseInt(response) * price).toFixed(2) + ' ';
                price = price.replace('.',',');
                jQuery('#prd-' + id + " .gprice").html(price);
                
                //jQuery('#prd-' + id + " .extra").hide();
                //jQuery('#prd-' + id).animate({height:'37px'}, 'slow',  function(){jQuery(this).addClass('nodisplay');});
            }
            if(jQuery('#product-col li').length==0){
                jQuery('#empty_cart').hide();
                jQuery('#proceed_to_checkout').hide();
                jQuery('#shipmentcalculatorwrapper').hide();
            }
        }else if(response!=-1){
            
            jQuery('#prd-' + id + " #quantity").html(response);
            var price = jQuery('#prd-' + id + " .price").html().replace(',','.');
            price = (parseInt(response) * price).toFixed(2) + ' ';
            price = price.replace('.',',');
            jQuery('#prd-' + id + " .gprice").html(price);
            jQuery('#prd-' + id + " .save").click();
            //jQuery('#prd-' + id + " .extra").show();
            //jQuery('#prd-' + id).animate({height:'60px'}, 'slow',  function(){jQuery(this).removeClass('nodisplay');});
        }else
            alert(response);
    }
    });
}

function updateDelivery(id){    
    var data;
    var day;
    if(jQuery('li#prd-' + id).length>0){
        day = jQuery('li#prd-' + id + ' .when select').val();
        if(typeof day != 'undefined' && day != null){
            data = {
                action: 'updateproductdelivery',
                product_id: id,
                delivery : day
            };
        
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1)
                jQuery('li#prd-' + id + ' .when .save' ).hide();
        });
        }else if(day==null){
            setTimeout("updateDelivery(" + id + ")",3000);
        }
        else{
            alert('Seleziona la data di consegna');
            jQuery('li#prd-' + id + ' .when select').focus();
        }
    }else if(jQuery('tr#prd-' + id).length>0){
        day = jQuery('tr#prd-' + id + ' .when select').val();
        if(typeof day != 'undefined' && day != null){
            data = {
                action: 'updateproductdelivery',
                product_id: id,
                delivery : day
            };
        
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1)
                jQuery('tr#prd-' + id + ' .when .save' ).hide();
        });
        }else if(day==null){
            setTimeout("updateDelivery(" + id + ")",3000);
        }
        else{
            alert('Seleziona la data di consegna');
            jQuery('tr#prd-' + id + ' .when select').focus();
        }
    }

}

function updateFrequency(id){
    var data;
    var frequency;
    if(jQuery('li#prd-' + id).length>0){
        frequency = jQuery('li#prd-' + id + ' .frequency select').val();
        if(typeof frequency != 'undefined'){
            data = {
                action: 'updateproductfrequency',
                product_id: id,
                frequency : frequency
            };

        jQuery.post(ajaxurl, data, function(response) {
            if(response==1)
                jQuery('li#prd-' + id + ' .frequency .save' ).hide();
        });
        }
        else{
            alert('Seleziona la frequenza');
            jQuery('li#prd-' + id + ' .frequency select').focus();
        }
    }else if(jQuery('tr#prd-' + id).length>0){
        frequency = jQuery('tr#prd-' + id + ' .frequency select').val();
        if(typeof frequency != 'undefined'){
            data = {
                action: 'updateproductfrequency',
                product_id: id,
                frequency : frequency
            };

        jQuery.post(ajaxurl, data, function(response) {
            if(response==1)
                jQuery('tr#prd-' + id + ' .frequency .save' ).hide();
        });
        }
        else{
            alert('Seleziona la frequenza');
            jQuery('tr#prd-' + id + ' .frequency select').focus();
        }
    }

}

function updatePostCode(shipping_rate_id){
    var data;
    
        data = {
            action: 'updatepostcode',
            shipping_rate_id: shipping_rate_id
        };

        jQuery.post(ajaxurl, data, function(response) {
            if(response==1)
                jQuery('#locationfinder .save' ).hide();
        });        
}

function emptyCart(){
    var data;
    data = {
        action: 'emptycart'
    };
    var cleanup = jQuery(this).hasClass('nocleanup');
    
    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
            if(!cleanup) {
                location.reload();
                return;
            }
            jQuery('#product-col').remove();
            jQuery('#empty_cart').hide();
            jQuery('#proceed_to_checkout').hide();
            jQuery('#shipmentcalculatorwrapper').hide();
        }else
            alert(response);
    });
}

jQuery(document).ready(function(){    

    if(jQuery.browser.msie==true) {        
        jQuery('select').css('border','1px solid #557E55');
    }

    jQuery('button.button').hover(function(){
       var element = jQuery(this)
       element.find('span:first').css('backgroundPosition','0px -28px');
       element.find('span span').css('backgroundPosition','100% -28px');
    },function(){
       var element = jQuery(this)
       element.find('span:first').css('backgroundPosition','0px 0px');
       element.find('span span').css('backgroundPosition','100% 0px');
    });

    jQuery('#onepageheader').fixedtableheader();
    
    /*jQuery('h2.onepage').each(function(index,element){
       var qty = 0;
       jQuery(element).next().find('tr').each(function(ind,elem){
           qty += parseInt(jQuery(elem).find('span#quantity').text());
       });
       if(qty>0){
           jQuery(element).next().toggle();
           var span = jQuery(element).find('span');
           if(span.hasClass('collapse'))
               span.removeClass('collapse').addClass('expand');
           else
               span.removeClass('expand').addClass('collapse');
       }
    });*/

    jQuery('h2.onepage').click(function(){
       jQuery(this).next().toggle('800');
       var span = jQuery(this).find('span');
       if(span.hasClass('collapse'))
           span.removeClass('collapse').addClass('expand');
       else
           span.removeClass('expand').addClass('collapse');
    });

    jQuery('.save').each(function(index,element){        
            element = jQuery(element);
            var auto = element.attr('auto');
            if(auto!=0) {element.click();}
    });
    jQuery('.wordindex a').click(function(event){
        var startWith = jQuery(event.target).text();

        if(startWith=='')
            return;
    var data = {
        action: 'searchproducts',
        startwith:startWith
    };
    jQuery.post(ajaxurl, data, function(response) {
        if(response=='')
            jQuery('#product-list').html('<span class="small-title">Scatola vuota</span>');
        var result;
        var products;        
        try{
            products = jQuery.parseJSON(response);            
        }catch(e){
            return;
        }        
        var product_html='<div class="boxcontents"><div class="product"><span class="fr">Salta</span><span class="fr">Indesiderati</span><span class="fr">Preferit</span></div><div class="product"><span class="fr">Salta</span><span class="fr">Indesiderati</span><span class="fr">Preferit</span></div>';
        var addextra = 'even';
        jQuery(products).each(function(index,element){
            title = element.title;
            if(title.length>35){
               title = title.substr(0, 35);
               if(title.lastIndexOf(' ')>0)
                    title = title.substr(0, title.lastIndexOf(' '));
            }
            product_html += '<div class="product '+addextra+'" title="'+element.title+'">'+ title +'<input type="radio" '+ (element.type=='skip'?' checked="checked" ':'') +' name="lprd'+element.id+'" id="lskip'+element.id+'" onclick="updateProductPreference(\'skip\','+element.id+',\''+element.title+'\')"><input type="radio" '+ (element.type=='dislike'?' checked="checked" ':'') +' name="lprd'+element.id+'" id="ldislike'+element.id+'" onclick="updateProductPreference(\'dislike\','+element.id+',\''+element.title+'\')"><input type="radio" '+ (element.type=='like'?' checked="checked" ':'') +' name="lprd'+element.id+'" id="llike'+element.id+'" onclick="updateProductPreference(\'like\','+element.id+',\''+element.title+'\')"></div>';
            addextra = addextra=='even'?'odd':'even';
        });
        product_html += '</div>';

        jQuery('#product-list').html(product_html);
    });
    });

    jQuery('#your-likes a').attr('title','Clicca per rimuovere dalle preferenze').live('click',function(event){
        var product = jQuery(event.target).parent();
        updateProductPreference('unlike',product.attr('id').replace('like',''),product.text().substr(0, product.text().length-1));
    });
    jQuery('#your-dislikes a').attr('title','Clicca per rimuovere dagli indesiderati').live('click',function(event){
        var product = jQuery(event.target).parent();
        updateProductPreference('undislike',product.attr('id').replace('dislike',''),product.text().substr(0, product.text().length-1));
    });
    jQuery('#your-skip a').attr('title','Clicca per rimuovere il salto della settimana').live('click',function(event){
        var product = jQuery(event.target).parent();
        updateProductPreference('unskip',product.attr('id').replace('skip',''),product.text().substr(0, product.text().length-1));
    });

    jQuery('.fav').live('click',function(){
        var fav = jQuery(this);
        product_id = fav.siblings('#product_id').val();

        var data = {
            action: 'addtolikes',
            'product_id' : product_id,
            'remove':true
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                fav.removeClass('fav').addClass('unfav');
            }
        });
    });

    jQuery('.unfav').live('click',function(){
        var unfav = jQuery(this);
        product_id = unfav.siblings('#product_id').val();

        var data = {
            action: 'addtolikes',
            'product_id' : product_id
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                unfav.removeClass('unfav').addClass('fav');
            }
        });
    });

    jQuery('.dislike').live('click',function(){
        var dislike = jQuery(this);
        product_id = dislike.siblings('#product_id').val();

        var data = {
            action: 'addtodislikes',
            'product_id' : product_id,
            'remove':true
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                dislike.removeClass('dislike').addClass('undislike');
            }
        });
    });

    jQuery('.undislike').live('click',function(){
        var undislike = jQuery(this);
        product_id = undislike.siblings('#product_id').val();

        var data = {
            action: 'addtodislikes',
            'product_id' : product_id
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                undislike.removeClass('undislike').addClass('dislike');
            }
        });
    });


    jQuery('.rfav').live('click',function(){
        var fav = jQuery(this);
        recipe_id = fav.siblings('#recipe_id').val();

        var data = {
            action: 'addtorlikes',
            'recipe_id' : recipe_id,
            'remove':true
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                fav.removeClass('rfav').addClass('runfav');
            }
        });
    });

    jQuery('.runfav').live('click',function(){
        var unfav = jQuery(this);
        recipe_id = unfav.siblings('#recipe_id').val();

        var data = {
            action: 'addtorlikes',
            'recipe_id' : recipe_id
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                unfav.removeClass('runfav').addClass('rfav');
            }
        });
    });

    jQuery('.rdislike').live('click',function(){
        var dislike = jQuery(this);
        recipe_id = dislike.siblings('#recipe_id').val();

        var data = {
            action: 'addtordislikes',
            'recipe_id' : recipe_id,
            'remove':true
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                dislike.removeClass('rdislike').addClass('rundislike');
            }
        });
    });

    jQuery('.rundislike').live('click',function(){
        var undislike = jQuery(this);
        recipe_id = undislike.siblings('#recipe_id').val();

        var data = {
            action: 'addtordislikes',
            'recipe_id' : recipe_id
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                undislike.removeClass('rundislike').addClass('rdislike');
            }
        });
    });


    jQuery("#hplace").bind('change',function(){
        selectlocation(jQuery("#hplace").val());
        var save=jQuery("#hplace").siblings('.save');
        save.css('display','');
        save.click();

    });

    jQuery('#user_login, #user_pass,#user_loginc, #user_passc').keydown(function(event){
        if (event.keyCode == '13') {
            if(jQuery('button#login').length>0)
                jQuery('button#login').click();
            else
                jQuery('#dllogin .button-primary').click();
         }else if (event.keyCode == '27') {
            jQuery('a#login').click();
         }
    });
    jQuery('#register_login, #register_pass,#register_loginr, #register_passr').keydown(function(event){
        if (event.keyCode == '13') {
            jQuery('#dlregister .button-primary').click();
         }else if (event.keyCode == '27') {
            jQuery('a#register').click();
         }
    });

    jQuery('a#login').click(function(){
        
        //jQuery('#loginpanel').css('left',jQuery(this).offset().left);
        jQuery('#loginpanel #dllogin').show();

        if(jQuery('#loginpanel').height()==0){
            jQuery('#loginpanel').show();
            jQuery('#loginpanel').animate({
                'width':'200px','height':'10px'},
                function(){
                    jQuery('#loginpanel').animate({              
                        'height':(jQuery('.message').height() + jQuery('#dllogin').height() + 40 ) + 'px'
                    },'slow',function(){
                        jQuery('#user_login').focus();
                    });
                }
            );
            jQuery('#loginpanel').animate({
                'width':'200px',
                'height':(jQuery('.message').height() + jQuery('#dllogin').height() + 40 ) + 'px'
            },'slow',function(){
                jQuery('#user_login').focus();
            });
        }else
            jQuery('#loginpanel').animate({
                'width':'0',
                'height':'0'
            },'slow',function(){
                jQuery(this).hide()
            });
    });    

    jQuery('select').each(function(){
        if(jQuery(this).find('option:selected').text().indexOf('Vacanze')>1){
            jQuery(this).css('border-color','#ca3527');
        }else
            jQuery(this).css('border','');
    })

    jQuery('.when select').bind('change',function(){
        var save = jQuery(this).siblings('.save');
        save.css('display','');
        if(jQuery(this).find('option:selected').text().indexOf('Vacanze')>1){
            jQuery(this).css('border-color','#ca3527');
        }else
            jQuery(this).css('border','');
        save.click();
    });

    jQuery('.frequency select').bind('change',function(){
        var save = jQuery(this).siblings('.save')
        save.css('display','');
        save.click();
    });




    jQuery('#dllogin .button-primary,button#login').click(function(){
        var sr='';
        if(jQuery(this).hasClass('checkout'))
            sr='c';
        var user_login = jQuery('#user_login'+sr).val();
        if(user_login.length<=0){
            alert('Inserire User name');
            jQuery('#user_login'+sr).focus();
            return;
        }
            
        var user_pass = jQuery('#user_pass'+sr).val();
        if(user_pass.length<=0){
            alert('Il campo Password non può essere lasciato vuoto');
            jQuery('#user_pass'+sr).focus();
            return;
        }

        var data = {
            action: 'portalogin',
            'log' : jQuery('#user_login'+sr).val(),
            'pwd' : jQuery('#user_pass'+sr).val(),
            'remember' : jQuery('#rememberme').val()
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){
                location.reload();
            }
            else{
                jQuery('.message').html(response);
                jQuery('#loginpanel').height((jQuery('.message').height() + jQuery('#dllogin').height() + 40 ) + 'px');
            }
        });
    });
    jQuery('#dlregister .button-primary').click(function(){

        var sr='';
        if(jQuery(this).hasClass('checkout'))
            sr='r';

        var register_login = jQuery('#register_login'+sr).val();
        if(!isValidEmailAddress(register_login)){
            alert('User name non valido');
            jQuery('#register_login'+sr).focus();
            return;
        }

        var register_pass = jQuery('#register_pass'+sr).val();
        if(register_pass.length<=0){
            alert('Il campo Password non può essere lasciato vuoto');
            jQuery('#register_pass'+sr).focus();
            return;
        }

        var data = {
            action: 'portaregister',
            'user_login' : jQuery('#register_login'+sr).val(),
            'user_pass' : jQuery('#register_pass'+sr).val()
        };
        jQuery.post(ajaxurl, data, function(response) {
            if(response==1){                
                jQuery('#user_login').val(jQuery('#register_login'+sr).val());
                jQuery('#user_pass').val(jQuery('#register_pass'+sr).val());
                jQuery('#loginpanel #dllogin .button-primary').click();
            }
            else{
                jQuery('.message').html(response);
            }
        });
            
    });


    function searchlocations(){        
        var search = jQuery('#place').val();
        if(search.length>2){

            var data = {
                action: 'findlocation',
                'place' : search
            };
            jQuery.post(ajaxurl, data, function(response) {

                var result;
                try{
                    result = jQuery.parseJSON(response);
                }catch(e){
                    alert(response);
                    return;
                }

                jQuery('select@#places option').remove();                
                jQuery(result).each(function(){
                    jQuery('select#places').append('<option rel="' + (this.delivery==1?'avl':'nvl') + '" id="postcode-'+this.ID+'" value="'+this.ID+'">' + this.name + '</option>');
                });
            });
        }    
    }

    
});
function selectlocation(id){
    
    if(id==null){
        jQuery('#locations').html('Per favore specifica il CAP');
        return;
    }
    var data = {
        action: 'getlocation',
        'id' : id
    };
    jQuery.post(ajaxurl, data, function(response) {

        var result;
        try{
            result = jQuery.parseJSON(response);
            result = result[0];
        }catch(e){
            alert(response);
            return;
        }

        var location_details = '<h4>' + result.postal_code + '</h4>';
        location_details += '<table>';
        location_details += '<tr><th>Incaricato delle consegne:</th><td>'+result.driver_name+'</td></tr>';
        location_details += '<tr><th>Giorno di consegna:</th><td>'+result.delivery+'<input type="hidden" name="rate_id" value="'+result.ID+'"></td></tr>';
        location_details += '<tr><th>Spese di consegna:</th><td>'+result.rate+'</td></tr>';
        location_details += '<tr><th>Ultimo giorno per ordinare:</th><td>'+result.order_day+'</td></tr>';
        location_details += '<tr><th>Ultimo giorno per annullare:</th><td>'+result.cancel_day+'</td></tr>';
        location_details += '<tr><th>Ordine minimo:</th><td>'+result.min_order_amount+'</td></tr>';
        location_details += '<tr><th>Spedizione gratuita per scatola:</th><td>'+result.free_for_box+'</td></tr></table>';
        jQuery('#locations').html(location_details);
        if(!isloggedin/* && !postCodeExists*/)
            updateShipmentSchedules(result.ID);
    });

}

function updateShipmentSchedules(shipping_rate_id){
    //alert('Updating Shippment schedule');
    var data = {
        action: 'getschdule',
        'shipping_rate_id' : shipping_rate_id
    };
    jQuery.post(ajaxurl, data, function(response) {
        jQuery('.when select option').remove();
        jQuery('.when select').append(jQuery(response).find('option'));
    });
}

function updateHolidays(){
    var data = {
        action: 'getholiday'
    };
    jQuery.post(ajaxurl, data, function(response) {        

        var result;
        try{
            result = jQuery.parseJSON(response);
            deliveries = result.deliveries;
            holidays = result.holidays;
        }catch(e){            
            return;
        }

        var availables = '<div style="display:block"><span class="mid-title" style="">Consegne disponibili</span><span class="mid-title" style="float:right;margin-right:100px;">Vacanze</span></div><br/>';
        availables += '<dl id="deliveries">';
        jQuery(deliveries).each(function(index,element){
            parts = element.split('/');            
            availables += '<dt onclick="nodelivery(this)" title="Clicca per saltare ' + new Date(parts[2],parts[1]-1,parts[0]).format("dddd, mmmm d, yyyy") + '">'+element+'<span>-</span></dt>';
        });
        availables += '</dl>';
        jQuery('#your-holidays').append(availables);

        availables = '';
        availables += '<dl id="holidays">';
        jQuery(holidays).each(function(index,element){
            parts = element.split('/');
            availables += '<dt onclick="deliverthis(this)" title="Clicca per consegnare il ' + new Date(parts[2],parts[1]-1,parts[0]).format("dddd, mmmm d, yyyy") + '">'+element+'<span>-</span></dt>';
        });
        availables += '</dl>';
        jQuery('#your-holidays').append(availables);

    });
}

function updateCards(){
    var data = {
        action: 'getcards'
    };
    jQuery.post(ajaxurl, data, function(result) {

        //var result;
        //try{
            //result = jQuery.parseJSON(response);
        //}catch(e){
            //return;
        //}
        
        //var portacards = '<table class="widefat"><thead><tr><th colspan="2">Bonifico bancario</th></tr></thead>';
        //portacards += '<table id="portacards">';

        var cards='';
        //var cards = '<table class="widefat"><thead><tr><th colspan="2">Carte di credito - Accettiamo, Visa, Visa Electron, Carta Si, PostePay, MasterCard</th></tr></thead>';
        cards += '<table id="cards">';
        var gotit = false;
        var cls='even';
        jQuery.each(result,function(index,element){
            var tmp = (element['default']==1?'checked="checked"':'');
            var issuer = (element.card_issuer?element.card_issuer:element.nbx_email);
            var card_end = (element.card_number_end?' ****' + element.card_number_end + " exp:" + element.expiry_month + "/" + element.expiry_year: element.nbx_merchant_reference);            
            if(element.card_type!='PortaCard') {
                gotit = true;
                cards += '<tr><td class="' + cls + '">';
                cards += '<img title="Cliquez ici pour supprimer" onclick="removeCard(\'' + element.nbx_merchant_reference + '\')" src="'+ IMG_URL +'/cross-circle.png" class="delete"/>';            
                cards += element.nbx_cardholder_name + ' ('+issuer+') - <span style="display:none" class="reference">' + element.nbx_merchant_reference + '</span><span>' + card_end + '</span><input title="Clicca per salvare l\'impostazione" onchange="makeItDefaultCard(this)" ' + tmp + ' type="radio" name="card" style="float:right"/></td></tr>';
                cls=(cls=='even'?'odd':'even');
            }
        });
        cards += '</table>';
        
        /*cls='even';
        jQuery.each(result,function(index,element){
            var tmp = (element['default']==1?'checked="checked"':'');
            var issuer = (element.card_issuer?element.card_issuer:element.nbx_email);
            var card_end = (element.card_number_end?' ****' + element.card_number_end + " exp:" + element.expiry_month + "/" + element.expiry_year: element.nbx_merchant_reference);            
            if(element.card_type=='PortaCard') {
                portacards += '<tr><td class="' + cls + '">';                
                portacards += element.nbx_cardholder_name + ' ('+issuer+') - <span style="display:none" class="reference">' + element.nbx_merchant_reference + '</span><span>' + card_end + '</span><input title="Clicca per salvare l\'impostazione" onchange="makeItDefaultCard(this)" ' + tmp + ' type="radio" name="card" style="float:right"/></td></tr>';
                cls=(cls=='even'?'odd':'even');
            }
        });*/
        //cards += '</table>';
        //portacards += '</table>';
        
        jQuery('#your-cards').append(cards);
        if(gotit) jQuery("#portacardrequest").attr('disabled','disabled');
        //jQuery('#porta-cards ').append(portacards);
        //jQuery('#your-cards table body ').append(cards);
    },'json');
}

function removePortaCardRequest(rid){
    if(confirm('Sei sicuro di voler rimuovere questa carta?')){
            var data = {
                action: 'removeportacardrequest',
                'id' : rid
            };
            jQuery.post(ajaxurl, data, function(response) {
                if(response==1){
                    jQuery('#portarequest'+rid).remove();
                    var remove=true;
                    if(jQuery('span.ortarequest').hasClass('yellowblk')) remove=false;
                    if(remove) jQuery('#btnmakeportarequest').removeAttr('disabled');
                    jQuery('.message').html('Your request has been successfully withdrawn');
                    setTimeout('clearMsg()',5000);
                    
                }
            });
        }
}

function removeCard(merchant_refenrece){
    if(confirm('Sei sicuro di voler rimuovere questa carta?')){
            var data = {
                action: 'removecard',
                'merchant_refenrece' : merchant_refenrece
            };
            jQuery.post(ajaxurl, data, function(response) {
                if(response==1){
                    jQuery('span.reference:contains('+merchant_refenrece+')').parent('td').remove();
                }
                else{
                    jQuery('.message').html('Impossibile rimuovere la carta!<br/>Riprova più tardi');
                    setTimeout('clearMsg()',5000);
                }
            });
        }
}
function clearMsg(){
    jQuery('.message').html('');
}

function makeItDefaultCard(card){
        if(jQuery(card).is(':checked')){
            var data = {
                action: 'makecarddefault',
                'reference' : jQuery(card).siblings('.reference').html()
            };
            jQuery.post(ajaxurl, data, function(response) {
                if(response==1){
                    jQuery('.message').html('Salva le tue preferenze');
                    setTimeout('clearMsg()',5000);
                }
                else{
                    jQuery('.message').html('Impossibile salvare le preferenze');
                    setTimeout('clearMsg()',5000);
                }
            });
        }
    }

function nodelivery(delivery){
    txtDelivery = jQuery(delivery).text().replace('-','')
    var data = {
        action: 'nodelivery',
        date:txtDelivery
    };
    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
            parts = txtDelivery.split('/');
            jQuery('#holidays').append('<dt onclick="deliverthis(this)" title="Clicca per consegnare il ' + dateFormat(new Date(parts[2],parts[1],parts[0]), "dddd, mmmm dS, yyyy") + '">'+txtDelivery+'<span>-</span></dt>');
            jQuery(delivery).remove();
        }
    });
}

function deliverthis(holiday){
    txtHoliday = jQuery(holiday).text().replace('-','')
    var data = {
        action: 'deliverthis',
        date:jQuery(holiday).text().replace('-','')
    };
    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
             parts = txtHoliday.split('/');
            jQuery('#deliveries').append('<dt onclick="nodelivery(this)" title="Clicca per saltare ' + dateFormat(new Date(parts[2],parts[1],parts[0]), "dddd, mmmm dS, yyyy") + '">'+txtHoliday+'<span>-</span></dt>');
            jQuery(holiday).remove();
        }
    });
}

function getUserBoxContents(box_id)
{
    if(box_id==-1)
        return;
    var data = {
        action: 'getuserboxproducts',
        box_id:box_id
    };
    jQuery.post(ajaxurl, data, function(response) {
        if(response=='')
            jQuery('#box-contents').html('<span class="small-title">Scatola vuota</span>');
        var result;
        var products;
        var weekday;
        try{
            result = jQuery.parseJSON(response);
            weekday = result.weekdate;
            products = result.products;
        }catch(e){
            return;
        }
        //jQuery('#weekday').html(new Date(weekday).format("dddd, mmmm dS, yyyy"));
        var product_html='<div id="boxcontents" class="boxcontents"><div class="product"><span class="fl small-title">'+new Date(weekday).format("dddd, mmmm dS, yyyy")+'</span><span class="fr">Salta</span><span class="fr">Indesiderati</span><span class="fr">Preferit</span></div><div class="product"><span class="fr">Salta</span><span class="fr">Indesiderati</span><span class="fr">Preferit</span></div>';
        var addextra = 'even';
        jQuery(products).each(function(index,element){
            product_html += '<div class="product '+addextra+'">'+ element.title +'<input type="radio" '+ (element.type=='skip'?' checked="checked" ':'') +' name="prd'+element.id+'" id="pskip'+element.id+'" onclick="updateProductPreference(\'skip\','+element.id+',\''+element.title+'\')"><input type="radio" '+ (element.type=='dislike'?' checked="checked" ':'') +' name="prd'+element.id+'" id="pdislike'+element.id+'" onclick="updateProductPreference(\'dislike\','+element.id+',\''+element.title+'\')"><input type="radio" '+ (element.type=='like'?' checked="checked" ':'') +' name="prd'+element.id+'" id="plike'+element.id+'" onclick="updateProductPreference(\'like\','+element.id+',\''+element.title+'\')"></div>';
            addextra = addextra=='even'?'odd':'even';
        });
        product_html += '</div>';

        jQuery('#box-contents').html(product_html);
    });
}

function updateProductPreference(pref,product_id,title){
    if(document.getElementById(pref+product_id))
        return;
    var data = {
        action: 'productpreference',
        'id' : product_id,
        'pref' : pref
    };

    jQuery.post(ajaxurl, data, function(response) {
        if(response==1){
            if(pref=='like'){
                jQuery('#dislike'+product_id).remove();
                jQuery('#skip'+product_id).remove();
                if(document.getElementById('plike'+product_id)) jQuery('#plike'+product_id).attr('checked','checked');
                if(document.getElementById('llike'+product_id)) jQuery('#llike'+product_id).attr('checked','checked');
                if(!document.getElementById('like'+product_id))
                    jQuery('#your-likes').append('<div id="like'+product_id+'" class="product">'+ title +'<a>X</a></div>');
            }else if(pref=='dislike'){
                jQuery('#like'+product_id).remove();
                jQuery('#skip'+product_id).remove();
                if(document.getElementById('pdislike'+product_id)) jQuery('#pdislike'+product_id).attr('checked','checked');
                if(document.getElementById('ldislike'+product_id)) jQuery('#ldislike'+product_id).attr('checked','checked');
                if(!document.getElementById('dislike'+product_id))
                    jQuery('#your-dislikes').append('<div id="dislike'+product_id+'" class="product">'+ title +'<a>X</a></div>');
            }else if(pref=='skip'){
                jQuery('#like'+product_id).remove();
                jQuery('#dislike'+product_id).remove();
                if(document.getElementById('pskip'+product_id)) jQuery('#pskip'+product_id).attr('checked','checked');
                if(document.getElementById('lskip'+product_id)) jQuery('#lskip'+product_id).attr('checked','checked');
                if(!document.getElementById('skip'+product_id))
                    jQuery('#your-skip').append('<div id="skip'+product_id+'" class="product">'+ title +'<a>X</a></div>');
            }else if(pref=='unlike' || pref=='undislike' || pref=='unskip'){
                jQuery('#dislike'+product_id).remove();
                jQuery('#skip'+product_id).remove();
                jQuery('#like'+product_id).remove();
                if(document.getElementById('plike'+product_id)) jQuery('#plike'+product_id).removeAttr('checked');
                if(document.getElementById('llike'+product_id)) jQuery('#llike'+product_id).removeAttr('checked');
                if(document.getElementById('pdislike'+product_id)) jQuery('#pdislike'+product_id).removeAttr('checked');
                if(document.getElementById('ldislike'+product_id)) jQuery('#ldislike'+product_id).removeAttr('checked');
                if(document.getElementById('pskip'+product_id)) jQuery('#pskip'+product_id).removeAttr('checked');
                if(document.getElementById('lskip'+product_id)) jQuery('#lskip'+product_id).removeAttr('checked');
            }
        }
    });

}

function showBoxPrduct(product_id){
    if(document.getElementById('box_products_details')){
        var product_detail = jQuery('#productdetails-' + product_id);
        if(product_detail.length==0){
            var data = {
                action: 'getboxproduct',
                'id' : product_id
            };
            jQuery.post(ajaxurl, data, function(response) {
                var result;
                try{
                    result = jQuery.parseJSON(response);                    
                }catch(e){
                    alert(response);
                    return;
                }
                var header = '<div id="productdetails-'+result.ID+'" title="Dettagli ' + result.title + '"> <h4>' + result.title + '</h4>';

                var details='';
                header += '<ul>';
                if(result.producer!='') {
                    header += '<li><a href="#tabs-produer">Produttore</a></li>';
                    details += '<div id="tabs-produer">'+result.producer+'</div>';
                }
                if(result.ingredients!='') {
                    header += '<li><a href="#tabs-ingredients">Ingredienti</a></li>';
                    details += '<div id="tabs-ingredients">'+result.ingredients+'</div>';
                }
                if(result.nutition!='') {
                    header += '<li><a href="#tabs-nutition">Nutition</a></li>';
                    details += '<div id="tabs-nutition">'+result.nutition+'</div>';
                }
                if(result.storage_preparation!='') {
                    header += '<li><a href="#tabs-storage">Conservazione</a></li>';
                    details += '<div id="tabs-storage">'+result.storage_preparation+'</div>';
                }
                if(result.allergen!='') {
                    header += '<li><a href="#tabs-allergen">Allergeni</a></li>';
                    details += '<div id="tabs-allergen">'+result.allergen+'</div>';
                }
                if(result.notes!='') {
                    header += '<li><a href="#tabs-notes">Note</a></li>';
                    details += '<div id="tabs-notes">'+result.notes+'</div>';
                }
                header += '</ul>';
                    
                jQuery('#box_products_details').append(header + details + '</div>');
                jQuery( '#productdetails-'+result.ID ).tabs().addClass('ui-tabs-vertical ui-helper-clearfix');
                jQuery( '#productdetails-'+result.ID + ' li').removeClass('ui-corner-top').addClass('ui-corner-left');
                jQuery( '#productdetails-'+result.ID + ' div').addClass('ui-corner-right tabs-panel').removeClass('ui-tabs-panel');
                jQuery( '#productdetails-'+result.ID ).dialog({
                    width:600,
                    height:400
                });
                jQuery( '#productdetails-'+result.ID + ' div').css('height',jQuery('#productdetails-' + result.ID + ' ul.ui-tabs-nav').css('height'));
            });        
        }else{            
            jQuery( '#productdetails-'+product_id ).dialog('open');
            jQuery( '#productdetails-'+product_id + ' div').css('height',jQuery('#productdetails-'+product_id + ' ul.ui-tabs-nav').css('height'));
        }
    }
}

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}

function selectlocation(id){
      if(!id){
          id = jQuery('select#shipping_post_code').val();

          if(id==0 || typeof id=="undefined") {
              id = jQuery('select#hplace').val();
          }
      }
          if(id==0 || typeof id=="undefined") return;
          
            var data = {action: 'getlocation','id' : id};
            jQuery.post(ajaxurl, data, function(response) {

            var result;
            try{
                result = jQuery.parseJSON(response);
                result = result[0];
            }catch(e){alert('error' + e);return;}

            var location_details = '<table class="shipping_details widefat">';
            location_details += '<tr><th>CAP:</th><td>'+result.postal_code+'</td></tr>';
            location_details += '<tr><th>Driver Name:</th><td>'+result.driver_name+'</td></tr>';
            location_details += '<tr><th>Giorno di consegna:</th><td>'+result.delivery+'<input type="hidden" name="rate_id" value="'+result.ID+'"></td></tr>';
            location_details += '<tr><th>Spese di consegna:</th><td>'+result.rate+' ' + currencySymbol + '</td></tr>';
            location_details += '<tr><th>Ultimo giorno per ordinare:</th><td>'+result.order_day+'</td></tr>';
            location_details += '<tr><th>Ultimo giorno per annullare:</th><td>'+result.cancel_day+'</td></tr>';
            location_details += '<tr><th>Ordine minimo:</th><td>'+result.min_order_amount+'</td></tr>';
            location_details += '<tr><th>Spedizione gratuita per scatola:</th><td>'+result.free_for_box+'</td></tr></table>';
            location_details = 'L\'incaricato della consegna è  '+result.driver_name + ' e consegnerà nella tua zona il '+result.delivery;
            jQuery('#locations').html(location_details);
            if(!isloggedin/* && !postCodeExists*/)
                updateShipmentSchedules(result.ID);
        });

    }

          function check_pass_strength ( ) {

		var pass = jQuery('#pass1').val();
		var user = jQuery('#user_login').val();
                var pass2 = jQuery('#pass2').val();

		// get the result as an object, i'm tired of typing it
		var res = jQuery('#pass-strength-result');

		var strength = passwordStrength(pass, user, pass2);

		jQuery(res).removeClass('short bad good strong');

		if ( strength == 1 ) {
			jQuery(res).addClass('bad');
			jQuery(res).html( pwsL10n.bad );
		}
		else if ( strength == 3 ) {
			jQuery(res).addClass('good');
			jQuery(res).html( pwsL10n.good );
		}
		else if ( strength == 4 ) {
			jQuery(res).addClass('strong');
			jQuery(res).html( pwsL10n.strong );
		}
		else {
			// this catches 'Too short' and the off chance anything else comes along
			jQuery(res).addClass('short');
			jQuery(res).html( pwsL10n.short );
		}

	}
       jQuery(document).ready(function(){
           //jQuery('#pass1').live('keyup', check_pass_strength );

           jQuery('select#shipping_post_code').live('change',selectlocation);


           jQuery('#your-profile').submit(function(){
               var partita = jQuery('#partita_iva');
               var codice = jQuery('#codice_fiscal');
               if(partita.val()=='' && codice.val()==''){
                    partita.css('border','1px solid #ff0000');
                    alert('Per favore digita la Partita IVA o il Codice fiscale per continuare');
                    partita.focus();
                    return false;
               }
                              
               //if(jQuery('#complete_billing').is(':checked')){

                   var billing_address = jQuery('#billing_address')
                   if(billing_address.length>0){if(billing_address.val().length<5){
                       billing_address.css('border','1px solid #ff0000');
                       alert('Per favore inserisci un indirizzo valido per continuare');
                       billing_address.focus();
                       return false;
                   } else billing_address.css('border','');}

                   var billing_city = jQuery('#billing_city')
                   if(billing_city.length>0){if(billing_city.val().length<3){
                       billing_city.css('border','1px solid #ff0000');
                       alert('Per favore inserisci una città valida per continuare');
                       billing_city.focus();
                       return false;
                   } else billing_city.css('border','');}

                   var billing_post_code = jQuery('#billing_post_code')
                   if(billing_post_code.length>0){if(billing_post_code.val().length<1){
                       billing_post_code.css('border','1px solid #ff0000');
                       alert('Perfavore inserisci un CAP valido per continuare');
                       billing_post_code.focus();
                       return false;
                   }else billing_post_code.css('border','');}

                   if(billing_post_code && billing_city && billing_address)
                       jQuery('#complete_billing').attr('checked','checked');
               //}
               //if(jQuery('#complete_shipping').is(':checked')){
                   var delivery_instructions = jQuery('#delivery_instructions')
                   if(delivery_instructions.length>0){if(delivery_instructions.val().length<5){
                       delivery_instructions.css('border','1px solid #ff0000');
                       alert('Inserisci  i dati di consegna per continuare (minimo 5 caratteri)');
                       delivery_instructions.focus();
                       return false;
                   }else delivery_instructions.css('border','');}

                   var shipping_address = jQuery('#shipping_address')
                   if(shipping_address.length>0){if(shipping_address.val().length<3){
                       shipping_address.css('border','1px solid #ff0000');
                       alert('Inserisci un indirizzo di consegna valido per continuare (minimo 3 caratteri)');
                       shipping_address.focus();
                       return false;
                   }else shipping_address.css('border','');}

                   var shipping_city = jQuery('#shipping_city')
                   if(shipping_city.length>0){if(shipping_city.val().length<3){
                       shipping_city.css('border','1px solid #ff0000');
                       alert('Inserisci una città di consegna valida per continuare (minimo 3 caratteri)');
                       shipping_city.focus();
                       return false;
                   } else shipping_city.css('border','');}

                   var shipping_post_code = jQuery('#shipping_post_code')
                   if(shipping_post_code.length>0){if(shipping_post_code.val().length<1){
                       shipping_post_code.css('border','1px solid #ff0000');
                       alert('Inserisci un CAP valido per continuare');
                       shipping_post_code.focus();
                       return false;
                   } else shipping_post_code.css('border','');}

                   if(shipping_post_code && shipping_city && shipping_address && delivery_instructions)
                       jQuery('#complete_shipping').attr('checked','checked');
               //}
           });
           jQuery('#referrer').change(function(){
                if(jQuery('#referrer option:eq(0)').attr('selected')==true){
                    jQuery('#parafriend').show();
                }else
                    jQuery('#parafriend').hide();
            });
           selectlocation();
       }); // ready end
       function check_pass_strength ( ) {

		var pass = jQuery('#pass1').val();
		var user = jQuery('#main #user_login').val();
                var pass2 = jQuery('#pass2').val();

		// get the result as an object, i'm tired of typing it
		var res = jQuery('#pass-strength-result');

		var strength = passwordStrength(pass, user, pass2);

		jQuery(res).removeClass('short bad good strong');

		if ( strength == 1 ) {
			jQuery(res).addClass('bad');
			jQuery(res).html( pwsL10n.bad );
		}
		else if ( strength == 3 ) {
			jQuery(res).addClass('good');
			jQuery(res).html( pwsL10n.good );
		}
		else if ( strength == 4 ) {
			jQuery(res).addClass('strong');
			jQuery(res).html( pwsL10n.strong );
		}
		else {
			// this catches 'Too short' and the off chance anything else comes along
			jQuery(res).addClass('short');
			jQuery(res).html( pwsL10n.short );
		}

	}
        function updateBilling(field,shipping_address,shipping_city,shipping_post_code){
            if(jQuery(field).is(':checked')){
                jQuery('#billing_address').attr('readonly','readonly').val(shipping_address);
                jQuery('#billing_city').attr('readonly','readonly').val(shipping_city);
                jQuery('#billing_post_code').attr('readonly','readonly').val(shipping_post_code);
            }else{
                jQuery('#billing_address').attr('readonly','').val('');
                jQuery('#billing_city').attr('readonly','').val('');
                jQuery('#billing_post_code').attr('readonly','').val('');
            }
        }
        function skipDelivery(product_id){
            if(!confirm("Vuoi saltare la consegna di questa settimana?")) return;
            var data = {action: 'skipdelivery','product_id' : product_id};
            jQuery.post(ajaxurl, data, function(response) {
                if(response.substr(0,1)==1)
                    jQuery('form#your-deliveries').html(response.substr(1));
            });
        }
        function removeOrderItem(product_id){
            if(!confirm("Vuoi rimuovere l'elemento dell'ordine?")) return;
            var data = {action: 'removeorderitem','product_id' : product_id};
            jQuery.post(ajaxurl, data, function(response) {
               if(response.substr(0,1)==1)
                    jQuery('form#your-deliveries').html(response.substr(1));
            });
        }

        function updateOrderDelivery(drp){
           var prd = jQuery(drp.target).parents('tr').attr('id');
           if(prd){
               if(!confirm("Vuoi aggiornare Ordine?")) {location.reload();};
               var data = {action: 'updateorderdelivery','product_id' : prd.replace('prd-',''),'delivery':jQuery(drp.target).val()};
                jQuery.post(ajaxurl, data, function(response) {
                    if(response.substr(0,1)==1)
                        jQuery('form#your-deliveries').html(response.substr(1));
                });
           }            
        }
        function updateOrderFrequency(drp){
            var prd = jQuery(drp.target).parents('tr').attr('id');
           if(prd){
               if(!confirm("Vuoi aggiornare Ordine?")) {location.reload();};
               var data = {action: 'updateorderfrequency','product_id' : prd.replace('prd-',''),'frequency':jQuery(drp.target).val()};
                jQuery.post(ajaxurl, data, function(response) {
                    if(response.substr(0,1)==1)
                        jQuery('form#your-deliveries').html(response.substr(1));
                });
           }           
        }

        function editOrder(product_id){
            var data = {action: 'editorderitem','product_id' : product_id};
            jQuery.post(ajaxurl, data, function(response) {
                jQuery('form#your-deliveries').html(response);
            });
        }

        function placeOrder(){
            
            if(jQuery('#survey').length>0){
                jQuery.fx.speeds._default = 1000;
                jQuery("#survey").dialog({
                   autoOpen: false,
                   modal: true,
                   height: 560,
                   width: 860,
                   show: "blind",
                   hide: "explode",
                   open : function(){},
                   close : function(){
                        var data = {action: 'bookorder','customer_notes':jQuery('#customer_notes').val()};
                        jQuery.post(ajaxurl, data, function(response) {
                           if(response==1){
                               alert('Il tuo ordine è stato registrato con successo.');
                               //location.reload();
                               window.location='/?page=deliveries';
                           }else
                               alert(response);
                        });
                   }
               });
               jQuery("#survey").dialog("open");
               jQuery("#modalIframeId").attr("src","http://www.surveymonkey.com/s/T7MTDMW");
            }else{
            
                var data = {action: 'bookorder','customer_notes':jQuery('#customer_notes').val()};
                jQuery.post(ajaxurl, data, function(response) {
                   if(response==1){
                       alert('Il tuo ordine è stato registrato con successo.');
                       //location.reload();
                       window.location='/?page=deliveries';
                   }else
                       alert(response);

                });
            }
        }
        function printRecipe(){

            jQuery('.top-links').hide();
            jQuery('#nav').hide();
            jQuery('div.holiday').hide();
            jQuery('.main-top').hide();
            jQuery('#header').hide();
            jQuery('#sidebar').hide();
            jQuery('.main-sidebar-bg').css('background-image','none');            
            jQuery('.onepagelist').hide();
            jQuery('#shipmentcalculatorwrapper').hide();
            jQuery('#footer').hide();
            jQuery('.favwrapper').hide();
            jQuery('recipeimg').css('margin-right','20px');
            jQuery('link[rel="stylesheet"]').attr('media','all');

            window.print();

            jQuery('.top-links').show();
            jQuery('#nav').show();
            jQuery('div.holiday').show();
            jQuery('.main-top').show();
            jQuery('#header').show();
            jQuery('#sidebar').show();
            jQuery('.main-sidebar-bg').css('background-image','/wp-content/themes/portanatura/images/main-with-sidebar.jpg');
            jQuery('.onepagelist').show();
            jQuery('#shipmentcalculatorwrapper').show();
            jQuery('#footer').show();
            jQuery('.favwrapper').show();
            jQuery('recipeimg').css('margin-right','');
            return false;
        }
        function setLocation(url){
            window.location.href = url;
        }
        
        function retrievepassword(){
            var data = {action: 'forgetpassword','useremail':jQuery('#forgetpassword > #txt_username').val()};
            jQuery.post(ajaxurl, data, function(response) {
               jQuery('#servicenotavailable').html(response);
            });
        }
