var loaded = [], imgs = [], cur = 0, loading = false;
var url = false;
var latlng = [53.556363,9.920778];
var latlng2 = [51.213054,7.652063];
var map, gdir, mrk = false;

function fireBackground(href) {
    $('#look-inside .activeslide').addClass('prevslide').removeClass('activeslide');
    $('#look-inside .nextslide').hide().attr('src', href).removeClass('nextslide').addClass('activeslide').fadeIn(500);
    $('#look-inside .prevslide').removeClass('prevslide').addClass('nextslide');
}

function loadImage(index) {
    if (jQuery.inArray(imgs[index], loaded) < 0) {
        loading = true;
        //$('#loading').show();
        $.cacheImage(imgs[index], {
            load : function (e) {
                loaded.push(imgs[index]);
                fireBackground(imgs[index]);
                loading = false;
                //$('#loading').hide();
            }
        });
    } else {
        fireBackground(imgs[index]);
    }
}

function initGallery() {
    $('a#magnify-link').css('cursor', 'pointer').click(function() {
        $('#pages li a.active').next('.fancy').click();
        return false;
    });
    $('#pages li a').each(function(i, o) {
        imgs.push($(this).attr('href'));
        $(this).click(function() {
            loadImage(i);
            $(this).parents('ul:first').find('a.active').removeClass('active').end().end().addClass('active');
            return false;
        });
    });
    loaded.push(imgs[cur]);
}

function openInfoBox() {
    mrk.openInfoWindow(
        '<div class="map_inner_w">' + 
        '<strong>Büro Hamburg</strong><br />' +
        'Oliver Seltmann<br />' + 
        'Friedensallee 92<br />' + 
        '22763 Hamburg<br />' + 
        '<br />' + 
        'Fon +49/40/39 10 97 75<br />' + 
        'Mobil +49/179/210 54 45<br />' + 
        '<a href="mailto:oliver@seltmann.de">oliver@seltmann.de</a></div>'
    );
}

function openInfoBox2() {
    mrk2.openInfoWindow(
        '<div class="map_inner_w">' + 
        '<strong>Büro Lüdenscheid</strong><br />' +
        'Arno Seltmann<br />' +
        'Wefelshohler Straße 31<br />' +
        '58511 Lüdenscheid<br />' +
        '<br />' +
        'Fon +49/23 51/94 87 25<br />' +
        'Fax +49/23 51/94 87 19<br />' +
        '<a href="mailto:arno@seltmann.de">arno@seltmann.de</a></div>'
    );
}

function renderMap() {
    if (GBrowserIsCompatible()) {
        var con = document.getElementById('map');
        map = new GMap2(con);
        var pnt = new GLatLng(latlng[0], latlng[1]);
        var pnt2 = new GLatLng(latlng2[0], latlng2[1]);
        mrk = new GMarker(pnt);
        mrk2 = new GMarker(pnt2);
        
        var cen = new GLatLng(52.348763,9.492188);

        map.addOverlay(mrk);
        map.addOverlay(mrk2);
        map.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,18)));
    	map.addControl(new GSmallMapControl(), new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,54)));
    	//map.addControl(new GScaleControl());

        map.setCenter(cen, 6, G_HYBRID_MAP);
        GEvent.addListener(mrk, 'click', function() {
            openInfoBox();
        });
        
        GEvent.addListener(mrk2, 'click', function() {
            openInfoBox2();
        });
    }
}

jQuery().ready(function() {
    $('a').each(function() {
        $(this).bind('click', function() {
            if (this.blur) {this.blur();}
        });
        if ($(this).attr('rel') == 'external')
            $(this).attr('target', '_blank');
    });
    
    if ($('#map').length) {
        renderMap();
    }
    
    $('#bookshelf .eachpost a').each(function() {
        $(this).find('span:first').css({
            'opacity' : 0,
            'display' : 'block',
            'bottom' : -54
        });
        $(this).hoverIntent(
            function() {
                $(this).find('span:first').animate({
                    'opacity': 1,
                    'bottom': 0
                }, 320, 'easeout');
            },
            function() {
                $(this).find('span:first').animate({
                    'opacity': 0,
                    'bottom': -54
                }, 200, 'easein');
            }
        );
    });
    
    if ($('#look-inside').length && $('#pages li').length > 1) {
        initGallery();
    }
    
    if ($('table.cart').length) {
        var float_re = /(\d*\.)?\d+/g; 
        $('table.cart select').change(function() {
            var tr = $(this).parents('tr:first');
            var id = $(this).attr('id').split('_');
            id = id[1];
            
            var val = $(this).val();
            
            $.get(root + "cart/update_quantity/" + id + "/" + val, {},
                function(data){
                    var old_price = parseFloat($(tr).find('td.total').text().replace(',','.').replace(/[^123456789.]/g,""));
                    var unit_price = parseFloat($(tr).find('td.unit').text().replace(',','.').replace(/[^123456789.]/g,""));
                    var item_price = unit_price * $(tr).find('select:first').val();
                    $(tr).find('td.total').html('<strong>&euro; ' + item_price.toFixed(2).replace('.',',') + '</strong>');
                    
                    var ttl = $(tr).parents('table:first').find('#total');
                    var total_price = parseFloat($(ttl).text().replace(',','.').replace(/[^123456789.]/g,"")) - old_price + item_price;
                    $(ttl).text(total_price.toFixed(2).replace('.',',')  + ' *');
                    
                    $('#hq_'+id).val(val);
                }
            );
        })
    }
});