var win = $(window);
var win_h, win_w;
var host;
var ratio;
var fgReady = false;
var bgReady = false;
var loadedObjects = 0;

var alertMsg = "Did you leave something blank or enter an invalid email address? Please ensure all fields contain valid entries and try resending your message.";
var successMsg = "Your message has been sent! Expect a reply shortly.";
var errorMsg = "Looks like something went wrong - please try sending your message again.";
var alerts = {alert:alertMsg, success:successMsg, error:errorMsg};

(function ($) {
	$.fn.image = function(src, f, e) {
		var i = new Image();
		var t = $(this);
		$(i).load(function(){t.append($(this)); f(this.width, this.height, t);}).error(e).attr('src', src);
	}
})(jQuery);

(function ($) {
	$.fn.delay = function(time, callback){
	    jQuery.fx.step.delay = function(){};
	    return this.animate({delay:1}, time, callback);
	}
})(jQuery);

$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    
    for (var i = 0; i < hashes.length; i++) {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

function resizeMainImage() {
	var h = $('#container').height() - 63;
	$("#bg-img").css('height', h);

	var el = $("#bg-img img");
	
	win_h = $('#container').height() - 63;
	win_w = $('#container').width();
	
	if(win_h/win_w <= ratio) {
		// Go by width
		h = win_w * ratio;
		w = win_w;
	} else {
		// Go by height
		h = win_h;
		w = win_h / ratio;
	}

	t = (win_h - h)/2;
	l = (win_w - w)/2;							
	h = Math.floor(h);
	w = Math.floor(w);

	el.css({'height':h, 'width':w, 'margin-top': t, 'margin-left': l});
	$('#bg-img').css({'height':win_h, 'width':win_w});
}

function loadBGImage() {
	$('#bg-img').image(bgImage, loadBGComplete, loadError);
}

function loadBGComplete(width, height) {
	ratio = height / width;
	resizeMainImage();
	bgReady = true;
	
	if (fgReady || section != 'homepage') {showBGImage();}
}

function loadImgComplete(width, height, parent) {
	$(parent).empty();
	
	loadedObjects++;	
	if (loadedObjects == totalLoadedObjects) {showFGElements();}
}

function loadError() {alert('An error occurred loading the image');}
