var popupLoaded = false;

$(document).ready(function() {
    // Login Form in Header
    $('#login form p input[name=email]').val('Email').addClass('description');
    $('#login form p input[name=email]').bind('focus', function(e) { if ($(this).val() == 'Email') $(this).val('').removeClass('description'); });
    $('#login form p input[name=email]').bind('blur', function(e) { if ($(this).val() == '') $(this).val('Email').addClass('description'); });
    
    $('#login form p input[name=password]').val('Password').addClass('description');
    $('#login form p input[name=password]').bind('focus', function(e) { if ($(this).val() == 'Password') $(this).val('').removeClass('description'); });
    $('#login form p input[name=password]').bind('blur', function(e) { if ($(this).val() == '') $(this).val('Password').addClass('description'); });
    
    // Reporting Form
    $('textarea[name=report]').live('focus', function(e) { if ($(this).val() == 'Enter reasons for reporting this item.') $(this).val('').removeClass('description'); });
    $('textarea[name=report]').live('blur', function(e) { if ($(this).val() == '') $(this).val('Enter reasons for reporting this item.').addClass('description'); });
    
    // Report Popup
    $('a[rel=report]').live('click', function(e) { 
        if(!window.XMLHttpRequest) return; // Don't load the popup in IE6
        e.preventDefault(); // Stop from loading a href link
        urlParts = $(this).attr('href').split('/');
        report = urlParts[2].toLowerCase().replace(/\b([a-z])/gi,function(c){return c.toUpperCase()});
        OpenPopup('Report '+report, '<form><p>You are reporting '+urlParts[3]+'\'s '+report+'.</p><p><textarea name="report" class="description">Enter reasons for reporting this item.</textarea></p><p><input type="submit" name="submit" value="Report" class="button" /></p></form>'); 
    });
    $('#popupBody form').live('submit', function(e) {
        e.preventDefault();
        $.ajax({
            type: 'GET',
            url: '/report/index/'+urlParts[2]+'/'+urlParts[3]+'/'+$('textarea[name=report]').val(),
            success: function(data) {
                if (data == 1) {
                    alert('Report Sent');
                    ClosePopup();
                } else {
                    alert('An error occured. Please try again.');
                }
            },
            error: function(data) {
                alert('An error occured. Please try again.');
            }
        });
    });
    
    // Image Popup
    $('a[rel=image]').live('click', function(e) { 
        if(!window.XMLHttpRequest) return; // Don't load the popup in IE6
        e.preventDefault(); // Stop from loading a href link
        OpenPopup($('#content-has-sidebar h1:first').html()+'\'s Image', '<img src="'+$(this).attr('href')+'" />'); // Open popup 
    })
    
    // Close Popup
    $('a.close').live('click', function(e) { e.preventDefault(); ClosePopup(); }); // Close Popup on Close Icon Click
    $('#overlay').live('click', function(e) { ClosePopup(); }); // Close Popup on Overlay Click
    $(document).keyup(function(e){ if (e.keyCode == 27 && popupLoaded) ClosePopup(); }); // Close Popup on Esc Key Press
});

function OpenPopup(title, message) {
    var position = $(this).offset(); // Get this button's position, so we can position popup next to it
        
    // Position Popup
    $('#overlay').css('height', $(document).height()+'px');
    $('#popup').css('top', (($(window).height()/2)-($('#popup').height()/2))+'px');
    $('#popup').css('left', (($(window).width()/2)-($('#popup').width()/2))+'px');
    $('#popupHeader h1').html(title);
    $('#popupBody').html(message);
        
    // Show Popup
    $('#overlay').show();
    $('#popup').show();
    popupLoaded = true;
}
function ClosePopup() {
    if (!popupLoaded) return false;
        
    // Remove Overlay and Popup
    $('#overlay').remove();
    $('#popup').remove();
        
    // Restore default overlay and popup from view
    $.ajax({
        type: "GET",
        url: "/views/popup/index.php",
        success: function(data) {
            $('body').append(data);
            popupLoaded = false;
        }
    });    
}
