var adThumbPath = '';


$(document).ready( function() {

    /* Google Map */
    
    $('a.enlarge-map').click(function(e){
        
        var targetDivId = $(this).attr('href').match(/#(.+)/)[0];
        var targetDiv = $(targetDivId);
        
        if (targetDiv.hasClass('show')) {
            hideModalBox();
        }
        else {
            showModalBox(targetDiv, e);
        }
        google.load('maps', '2', {'callback':googleMapSetup});
        return false;
    });
    
    jQuery('#posting-map > img').click(function(){
        jQuery('a.enlarge-map').trigger('click');
        return false;
    }).css('cursor','pointer');
    
    // thumb path
    if($('#main-picture img').attr('src')) {
        adThumbPath = $('#main-picture img').attr('src').replace('/big/','/moreadsthumb/');
    }
    // END thumb path
    
    
    /*////////////// SAVED STAR INTERACTIONS //////////////*/
    
    var status_label = jQuery('#save-status'),
        ad_id        = jQuery('#ad-actions form.save').attr('data-id');
    
    gum.events.bind('saved_ads_updated', function(){
        status_label.text( gum.data.ads.isSaved(ad_id) ? 'Saved' : 'Save' );
    });
    
    gum.events.trigger('saved_ads_updated'); // trigger once to set the default text
    
    jQuery('li.save-form').click(function(e){
        jQuery(this).find('form').trigger('submit');
    });
    
    /*////////////// FORMS //////////////*/
    
    var report_form  = jQuery('#report-posting'),
        send_form    = jQuery('#send-posting'),
        ad_actions   = jQuery('#ad-actions');

    // append the forms to the actions panel to prevent them flashing up on page load
    ad_actions.append(report_form).append(send_form);
    
    jQuery('.tab').GT_tabs();
    
    jQuery('a.cancel').click(function(){
       jQuery(this).trigger('hide'); // let event bubble up to parent panel
       return false;
    });
    
    /* Picture Switching */

    $('.posting-pictures ul.posting-thumbnails li a').click(function(e){
        e.preventDefault();
        
        $(this).closest('li').siblings().removeClass('current');
        $(this).closest('li').addClass('current');
        
        if ($(this).closest('li').hasClass('video')) {
            $('div#youtube').addClass('show');
            $('a#main-picture').addClass('hidden');
            // XL image too
            $('div.xl-youtube').addClass('show');
            $('p.xl-image').addClass('hidden');
        } else {
            var newSrc = $(this).attr('href');
            $('a#main-picture').removeClass('hidden');
            $('div#youtube').removeClass('show');
            if ($('a#main-picture img').attr('src') != newSrc) {
                $('a#main-picture img').animate({opacity: 0}, 200, function() {
                    $(this)
                        .attr('src', newSrc)
                        .load(function(){
                            $(this).animate({opacity: 1}, 200);
                        });
                });
            }
            // XL image too
            var newXLSrc = newSrc.replace(/\/big\//, '/extrabig/');
            $('.xl-image').removeClass('hidden');
            $('.xl-youtube').removeClass('show');
            if ($('.xl-image img').attr('src') != newXLSrc) {
                $('.xl-image img').attr('src', newXLSrc);
            }
        }
    });
    
    $('.posting-pictures ul.posting-thumbnails li:first').addClass('current');
    
    $('.modal-content ul.posting-thumbnails li a').click(function(e){
        e.preventDefault();
        $(this).closest('li').siblings().removeClass('current');
        $(this).closest('li').addClass('current');
        
        if ($(this).closest('li').hasClass('video')) {  
            $('div.xl-youtube').addClass('show');
            $('p.xl-image').addClass('hidden');
            // small image too
            $('div#youtube').addClass('show');
            $('a#main-picture').addClass('hidden');
        } else {
            var newSrc = $(this).attr('href');
            $('.xl-image').removeClass('hidden');
            $('.xl-youtube').removeClass('show');
            if ($('.xl-image img').attr('src') != newSrc) {
                $('.xl-image img').animate({opacity: 0}, 200, function() {
                    $(this)
                        .attr('src', newSrc)
                        .load(function(){
                            $(this).animate({opacity: 1}, 200);
                        });
                });
            }
            // small image too
            var newSmallSrc = newSrc.replace(/\/extrabig\//, '/big/');
            $('a#main-picture').removeClass('hidden');
            $('div#youtube').removeClass('show');
            if ($('a#main-picture img').attr('src') != newSmallSrc) {
                $('a#main-picture img').attr('src', newSmallSrc);
            }
        }
    });
    
    $('.modal-content ul.posting-thumbnails li:first').addClass('current');

    $('#message, #from_email').GT_inlineLabels({ getText : function(field){
            return field.attr('title');
    }});

    // preview ad page styles
    
    var nfp = jQuery('#not-featured-promo');
    
    if ( nfp.length )
    {
        nfp.click(function(){
            $(this).find('form').submit();
        }).css('cursor','pointer');
    }

    if ($('.skyscraper-left,.skyscraper-right').length > 0) {
        alignVIPSkyscrapers();
        
        $(window).resize(function(){
            alignVIPSkyscrapers();
        })
    }

});


function alignVIPSkyscrapers () {
    var windowWidth = $(window).width();
    $('.skyscraper-left').css('left', ( (windowWidth / 2) - 610 )+'px');
    $('.skyscraper-right').css('left', ( (windowWidth / 2) + 490 )+'px');
}

var staticMapURL, latlon, thislat, thislon, mapskey, zoomLevel;
function initGoogleMap() {

    if (GBrowserIsCompatible()) {
        var thismap = new GMap2(document.getElementById('map_canvas'));
        var point = new GLatLng(thislat, thislon);
        thismap.setCenter(point, parseInt(zoomLevel,10));
        thismap.addControl(new google.maps.SmallMapControl());
        thismap.addOverlay(new google.maps.Marker(thismap.getCenter()));
    }
}

var googleMapLoaded = false;
function googleMapSetup () {
    if (GBrowserIsCompatible()) {
        if (!googleMapLoaded) {
            staticMapURL = $('#posting-map img').attr('src');
            latlon = staticMapURL.match(/center=(-?[0-9]+\.[0-9]+,-?[0-9]+\.[0-9]+)/)[1].split(',');
            thislat = latlon[0];
            thislon = latlon[1];
            mapskey = staticMapURL.match(/key=(.+)$/)[1];
            zoomLevel = staticMapURL.match(/zoom=([0-9]+)/)[1];
            
            var mapImg = $('#posting-map img');
            var mapTarget = $('#map');
            var mapHeight = mapTarget.css('height');
            var mapWidth = mapTarget.css('width');
            
            $('#map').prepend('<div id="map_canvas" style="height:'+mapHeight+';width:'+mapWidth+';"></div>');
            
            initGoogleMap();
            
            googleMapLoaded = true;
        }
    }
}
    
// -- new overlays with callback - NOT FINISHED YET! :-) -- 
 
// var pictureModal = new gum.components.ModalBox({ content : jQuery(pictureModalLink.attr('href')).html(),
//                                                    speed : 300
//                                               });
// 
// $('#main-picture').unbind('click').click(function(){
//     pictureModal.show(1);
//     return false;
// });
