var h = new goog.History();
var history_urls = [];


$(document).ready(function(){
    
    if (is_authenticated) $(".login_container").hide();

    // Add extra body class for IE <= 6
	if($.browser.msie && ($.browser.version=="6.0" || $.browser.version=="5.5")) $('body').addClass('ie6');

    // Open all external urls in new window (and that's not image gallery)
    $('a[href^=http]:not([href^=http://abunda-se.appspot.com]):not([href^=http://www.abunda.se]):not([rel=gallery])').click( function() {
        window.open(this.href);
        return false;
    });
        
    // Form validation defaults
   	$.validator.setDefaults({
        errorClass: 'error_msg',
        debug: false,
        ignoreTitle: true,
    	// the errorPlacement has to take the table layout into account
    	errorPlacement: function(error, element) {
    	    var parent = element.parent('.c');
    	    if (!parent.length)
    	        parent = element.parent().parent();
    		error.appendTo(parent);
    	},
    	highlight: function(element, errorClass) {
    	    var parent = $(element).parent('.c');
    	    if (!parent.length)
    	        parent = $(element).parent().parent();
    		parent.addClass('error');
    	},
    	unhighlight: function(element, errorClass) {
    	    var parent = $(element).parent('.c');
    	    if (!parent.length)
    	        parent = $(element).parent().parent();
    		parent.removeClass('error');
    	},
    	// specifying a submitHandler prevents the default submit, good for the demo
    	submitHandler: function() {
    		//alert("submitted!");
    	},
    	// set this class to error-labels to indicate valid fields
    	success: function(label) {
    		// set &nbsp; as text for IE
    		//label.parent().removeClass('error');
    		//label.html("&nbsp;").addClass("checked");
    	}
    });

    // Fancybox
   	$("a[rel=gallery]").fancybox({
   		'centerOnScroll' : true,
   		'overlayColor'  : '#000',
   		'overlayOpacity' : 0.6,
   		'transitionIn'  : 'none',
   		'transitionOut' : 'none',
   		'speedIn'       : 0,
   		'speedOut'      : 0,
   		'changeSpeed'   : 0,
   		'changeFade'    : 0,
   		'hideOnContentClick' : true,
   		'cyclic'        : true,
   		'padding'			: 6
   	});
    
        // ???
    goog.events.listen(window, 'unload', function() {
        goog.events.removeAll();
    });
});






$(document).ready(function(){
    // History plugin - Navigation
    goog.events.listen(h, goog.History.EventType.NAVIGATE, function (e) {
        if (e.token == '/login')
            dialog_login.show();
        else
            dialog_login.hide();
    });
    
    // Define dialog
    var dialog_login = new $.dialog({
    	title            : 'Logga in',
    	content_url      : '/admin/login', //$(".login_link").attr('href')
    	//redirect_to      : ,
    	show_callback    : function(dialog) {
            dialog.form = $("#login_form");
            dialog.form.find('input:first').focus();
            
            // Validator
           	validator = dialog.form.validate({
           		rules: {
           			username : "required",
           			password : "required"
           		},
           		submitHandler: function() {
           		    dialog.show_loader();
           		    // Passed JS validation
           		    ajaxLoader = $.ajax({
                   		type    : "POST",
                   		async   : false,
                   		url		: dialog.content_url,
                   		data    : dialog.form.serializeArray(),
                   		success : function(data) {
                   		    dialog.hide();
                   		    
                   		    // Login successful
                   		    window.location = '/medlem';
                   		},
                   		error : function(data) {
                   		    dialog.hide_loader();
                   		    // Login failed
                   		    $('#login_dialog .form_global_error').show().html($.validator.messages['bad_login']);
                   		    //validator.resetForm();
                   		    dialog.form.find('input[type=password]').val('');
                   		}
                   });
               	}
           	});
        },
    	default_submit_action : function(dialog) { dialog.form.submit(); },
    	default_cancel_action : function(dialog) { h.setToken(''); },
    	buttons          : {
    	    'login_submit'    : function(dialog) { dialog.default_submit_action(dialog); },
    	    'login_cancel'    : function(dialog) { dialog.default_cancel_action(dialog); }
    	}
    });

});
