
$(document).ready(function() { 
	$(".date").click(_wap_do_flip);
	
	//$('#flip-scroll').jScrollPane();
});

var flip_side_defaults = {};
var flipped_ws_defaults = {};
var ws_anim_speed = 250;
var ws_is_flipped = false;
var fs_bg_color = '#ccc';
var ws_container = '#content .wrapper';
var fs_close_selector = '#logo,.close_content';
var current_flip;

function _wap_do_flip() {
	jQuery('.date').css('visibility', 'visible');
    jQuery('.date').css('display', 'block');
    var flip_side = $('#flip-side');
	var flip_scroll = $('#flip-scroll');
    var start_bg = $(this).css('background-color');
    var end_bg = fs_bg_color;
    var offset = $(this).offset();
    var flip_content = $(this).find('.flip-content:first');
    ws_is_flipped = true;
    _wap_save_flip_side_defaults(flip_side);
    _wap_save_flipped_ws_defaults(this);
    flip_side.css('background-color', start_bg);
    flip_side.css('top', offset.top);
    flip_side.css('left', offset.left);
    flip_side.height(flip_side_defaults.height);
    flip_side.width(flip_side_defaults.width);
    jQuery(this).css('visibility', 'hidden');
    flip_side.show();
    jQuery(flip_side).flip({
        direction: 'lr',
        speed: ws_anim_speed,
        bgColor: start_bg,
        color: end_bg,
        onEnd: function() {
            var container_offset = jQuery(ws_container).offset();
			var container_height = 0;
            container_height = Math.ceil(jQuery('.date').length / 3);
            container_height *= flipped_ws_defaults.height_with_margin;
            //flip_side.html(flip_content.html());
			//flip_scroll.jScrollPaneRemove();
			flip_scroll.html(flip_content.html());
			flip_scroll.jScrollPane();
            jQuery(fs_close_selector).click(_wap_close_flip);
            jQuery('a.close-flip', flip_side).click(_wap_close_flip);
            jQuery('a[rel="external"]').attr('target', '_blank');
            jQuery(flip_side).animate({
                top: container_offset.top + 20,
                left: container_offset.left + 20,
                width: 376,
                height: 336
            },
            ws_anim_speed);
        }
    });
}

function _wap_close_flip() {
    //var flip_side = $('#flip-side:first');
	var flip_side = $('#flip-side');
	var flip_scroll = $('#flip-scroll');
    jQuery(flip_side).animate({
        top: flipped_ws_defaults.top,
        left: flipped_ws_defaults.left,
        width: flipped_ws_defaults.width,
        height: flipped_ws_defaults.height
    },
    ws_anim_speed, null,
    function() {
        jQuery(flip_scroll).html('');
        jQuery(flip_side).flip({
            direction: 'rl',
            speed: ws_anim_speed,
            color: flipped_ws_defaults.bg,
            onEnd: function() {
                jQuery('.date').css('visibility', 'visible');
                jQuery('.date').css('display', 'block');
                jQuery(flip_side).hide();
                jQuery(fs_close_selector).unbind('click');
                ws_is_flipped = false;
                jQuery('#navigation-wrapper').dequeue();
            }
        });
    });
    return false;
}

function _wap_save_flip_side_defaults(flip_side) {
    if (!flip_side_defaults.set) {
        flip_side_defaults.width = $(flip_side).actual_width();
        flip_side_defaults.height = $(flip_side).actual_height();
        flip_side_defaults.set = true;
    }
}

function _wap_save_flipped_ws_defaults(ws) {
    var offset = $(ws).offset();
    flipped_ws_defaults.top = offset.top;
    flipped_ws_defaults.left = offset.left;
    flipped_ws_defaults.width = $(ws).actual_width();
    flipped_ws_defaults.height = $(ws).actual_height();
    flipped_ws_defaults.height_with_margin = $(ws).actual_height({
        margin: true
    });
    flipped_ws_defaults.bg = $(ws).css('background-color');
}

jQuery.fn.actual_dimension=function(dimension,options){var opts={};jQuery.extend(opts,jQuery.fn.actual_dimension.defaults,options);var div=jQuery(this);var size=dimension=='width'?div.width():div.height();var side_one=dimension=='width'?'left':'top';var side_two=dimension=='width'?'right':'bottom';if(opts.padding===true){size+=forceParseInt(div.css('padding-'+side_one),10);size+=forceParseInt(div.css('padding-'+side_two),10);}
if(opts.margin===true){size+=forceParseInt(div.css('margin-'+side_one),10);size+=forceParseInt(div.css('margin-'+side_two),10);}
if(opts.border===true){size+=forceParseInt(div.css('border'+side_one.capitalize()+'Width'),10);size+=forceParseInt(div.css('border'+side_two.capitalize()+'Width'),10);}
return size;};jQuery.fn.actual_dimension.defaults={border:true,padding:true,margin:false};jQuery.fn.actual_width=function(settings){return jQuery(this).actual_dimension('width',settings);};jQuery.fn.actual_height=function(settings){return jQuery(this).actual_dimension('height',settings);};function forceParseInt(string,radix){var num=parseInt(string,radix);if(num&&typeof(num)=='number'){return num;}else{return 0;}}
String.prototype.capitalize=function(){return this.replace(/\w+/g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase();});};
