/**
 * Copyright 2009 Matt Bango Photography. All Rights Reserved.
 */


 var GoogleMap = {
     map_loaded: false,
     map_visible: false,
     init: function() {
         $('.map-trigger').click(function(e) {
             e.preventDefault();

             if(!GoogleMap.map_loaded) {
                 GoogleMap.call_map();
                 GoogleMap.map_loaded = true;
             }

             var container = $('#map_container');
             var link      = $('#map_photo a');

             if(GoogleMap.map_visible) {
                 container.animate({ bottom: '-325px' }, 235);
                 GoogleMap.map_visible = false;
                 link.html('Map Photo');
             } else {
                 container.animate({ bottom: '0' }, 235);
                 GoogleMap.map_visible = true;
                 link.html('Close Map');
             }
         });
     },
     map_done_loading: function() {
         var map = new GMap2(document.getElementById("map_canvas"));
         map.setCenter(new GLatLng(GoogleMap.latitude, GoogleMap.longitude), 14);
         map.setUIToDefault();
         map.setMapType(G_PHYSICAL_MAP);
         map.addOverlay(new GMarker(map.getCenter()));
     },
     load_map: function() {
         google.load("maps", "2", {"callback" : GoogleMap.map_done_loading});
     },
     call_map: function() {
         var script = document.createElement("script");
         script.src = "http://www.google.com/jsapi?key=" + GoogleMap.apikey + "&sensor=false&callback=GoogleMap.load_map";
         script.type = "text/javascript";
         document.getElementsByTagName("head")[0].appendChild(script);
     }
 };


/*
var GoogleMapV3 = {
    init: function() {
        var latlng = new google.maps.LatLng(GoogleMapV3.latitude, GoogleMapV3.longitude);
        var mapOptions = {
            zoom: 14,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            title: "Hello World!"
        });

        $('.map-trigger').click(function(e) {
            e.preventDefault();
            $('#map_container').slideToggle(235, function() {
                if($('#map_photo a').html() == 'Map Photo') {
                    $('#map_photo a').html('Close Map');
                } else {
                    $('#map_photo a').html('Map Photo');
                }
            });
        });
    }
};
*/


var AjaxForm = {
    init: function() {
        $('#submit').click(function (e) {
            e.preventDefault();

            var name    = $('input[name=name]');
            var email   = $('input[name=email]');
            var website = $('input[name=website]');
            var comment = $('textarea[name=message]');
            var error_class = 'highlight';

            if (name.val()=='') {
                name.addClass(error_class);
                return false;
            } else name.removeClass(error_class);

            if (email.val()=='') {
                email.addClass(error_class);
                return false;
            } else email.removeClass(error_class);

            if (comment.val()=='') {
                comment.addClass(error_class);
                return false;
            } else comment.removeClass(error_class);

            var data = 'name=' + name.val() + '&email=' + email.val() + '&comment='  + encodeURIComponent(comment.val());

            $('.text').attr('disabled','true');
            $('.loading').show();

            AjaxForm.share(data);

            return false;
        });
    },
    share: function(data) {
        $.ajax({
            url: $('#contact_form').attr('action'),
            type: "GET",
            data: data,
            cache: false,
            success: function(response) {
                if (response == 1) {
                    $('.form').fadeOut(120, function() {
                        $(this).html('<h3>Thanks!</h3><p>Thanks for getting in touch with me. I will get back to you as soon as possible.</p>').fadeIn(200);
                    });
                } else {
                    alert('Sorry, unexpected error. Please try again later.');
                }
            }
        });
    }
};


var ImagePreloader = {
    i: 0,
    time_interval: 150,
    fade_interval: 300,
    images: null,
    init: function(image_array, int, fade_int) {
        ImagePreloader.images        = image_array;
        ImagePreloader.time_interval = int;
        ImagePreloader.fade_interval = fade_int;

        setTimeout("ImagePreloader.showImage(ImagePreloader.i)", ImagePreloader.time_interval);
    },
    showImage: function() {
        var imagez     = ImagePreloader.images;
        var images_len = imagez.length;

        if (ImagePreloader.i < images_len) { setTimeout("ImagePreloader.showImage(ImagePreloader.i)", ImagePreloader.time_interval); }
        imagez.eq(ImagePreloader.i).animate({opacity: 1}, ImagePreloader.fade_interval);
        ImagePreloader.i++;
    }
};