$(document).ready(function(){
    /* Init */
    $('.js_only').removeClass('js_only');
    $('.js_hide').addClass('hide');
    
    $('.add_js_class').each(function(){
        var e = $(this);
        e.addClass(e.attr('id')+'_js');
    });
    
    var resize_handler = function(){
        /* Width change */
        var cx = $('#container').offset().left;
        $('#footer_wrapper').css('background-position', cx+'px 0');
        
        /* Height change *
        $('#footer_wrapper').css('margin-top', '126px'); // reset
        
        var sh = $(window).height();
        var dh = $('html').outerHeight();
        
        if(dh<sh){
            $('#footer_wrapper').css('margin-top', sh-dh+126+'px');
        }*/
    }
    
    resize_handler();
    
    $(window).resize(resize_handler);
    
    $('[blankslate]')
        .focus(function(){
            var name = $(this);
            name.removeClass('blankslate');
            if(name.val() == name.attr('blankslate')){
                name.val("");
            }
        })
        .blur(function(){
            var name = $(this);
            name.val().replace(/^\s+|\s+$/g,""); // Trim
            if(name.val() == ""){
                name.val(name.attr('blankslate'));
                name.addClass('blankslate');
            } else{
                name.removeClass('blankslate');
            }
        })
        .focus() // Fix a FF bug
        .blur()
        .parents('form:first')
            .submit(function(){
                $('[blankslate]', this).each(function(){
                    var e = $(this);
                    if(e.val() == e.attr('blankslate')){
                        e.val('');
                    }
                });
            });
    
    $('.js_image_submit').each(function(){
        var e = $(this);
        var f = $(this).parents('form:first');
        console.log(f);
        var a = $('<a></a>').attr('id',e.attr('id')).attr('title',e.attr('title')).attr('href','#').click(function(){f.submit();});
        console.log(a);
        var img = $('<img />').attr('src', e.attr('src'));
        
        e.replaceWith(a.html(img));
    });
    
    /* Instructions */
    $('#learn').click(function(){
        var t = $('#instructions').offset().top;
        $('html,body').animate({scrollTop: t-50}, 250);
        return false; 
    });
    
    /* Create cloud */
    $('#new_cloud').submit(function(){
        var name = $('#cloud_name');
        if(name.val() == ""){
            name.css('background-color','#f00').animate({backgroundColor: '#fff'}, 1500).focus();
            return false;
        }else{
            return true;
        }
    });
    
    $('#new_cloud #cloud_submit_image').click(function(){
        $('#new_cloud').submit();
    });
    
    /* Show cloud */
    $('#share_this_page #cloud_url').click(function(){
        $(this).select();
    })
    .after($('<button id="shorten" type="button">Shorten</button>').click(function(){
        var bitly_base  = 'http://api.bit.ly/shorten?version=2.0.1';
        var bitly_login = 'chancancode';
        var bitly_key   = 'R_e4ee7754537c19ee9ee1bf495b244035';
        var long_url    = escape($('#share_this_page #cloud_url').val());
        
        var request = bitly_base+'&longUrl='+long_url+'&login='+bitly_login+'&apiKey='+bitly_key+'&callback=bitlyCallback';
        
        $('body').append('<script type="text/javascript" src="'+request+'"></script>');
    }));
});

/* bitly callback */

function bitlyCallback(result){
    if(result.errorCode == 0){
        var e = $('#share_this_page #cloud_url');
        var key = e.val();
        e.val(result.results[key].shortUrl);
    }
}