﻿var ombExists = false;
//var showOMB = /(boq.com.au|localhost)\/{0,1}(default.html{0,1}){0,1}$/.test(location.href) ? true : false;

fnc = {
	id: 0,
	expireAt: (1000 * 60 * 60 * 24),
	loadLocation: function(__id, __location) {

		if (ombExists != true) return;
		if (fnc.location == '') return;

		var content = $('<div class="loader"><img src="images/loader-blue.gif"></div>');

		$('div.find-nearest-branch-details')
			.css({
				display: 'block'
			})
			.html(content);

		fnc.refreshDetails();

		$.get('find-nearest-getlocations.aspx?c=' + new Date().getTime(), { id: __id, location: __location }, function(d) {
			var content = $('<div>' + d + '</div>');

			$('div.find-nearest-branch-details')
				.html(content);

			fnc.refreshDetails();

			$('div.find-nearest-branch-details a').click(function() {

				$('div.find-nearest-branch-details')
					.css({
						display: 'none',
						height: 0
					});

				$('#find-nearest-search').val('');

				fnc.id = $(this).attr('rel');
				$.cookie('fn-branchid', fnc.id, { expires: 90 });
				$.cookie('fn-branchdata', null);

				fnc.loadBranch();

				return false;
			});
		});

	},
	loadBranch: function() {

		if (ombExists != true) return;

		var expired = $.cookie('fn-branchdata') ? false : true;
		var content = $('<div class="loader"><img src="images/loader-blue.gif"></div>');

		$('div.find-nearest-branch-details')
			.css('display', 'block')
			.html(content);

		$('div.find-nearest-branch-details')
			.animate({ height: content.outerHeight(true) });

		if (expired) {

			$.get('find-nearest-getbranch.aspx?c=' + new Date().getTime(), { id: fnc.id }, function(d) {
				var content = $('<div>' + d + '</div>');

				$.cookie('fn-branchdata', d, { expires: new Date(new Date().getTime() + fnc.expireAt) });

				$('div.find-nearest-branch-details')
					.html(content);

				$('div.find-nearest-branch-details img').bind('load', function() {
					fnc.refreshDetails();
				});

				$('div.find-nearest-branch-details button.more').click(function() {
					var el = $(this);
					if (/.+/.test(el.attr('rel'))) {
						document.location.href = el.attr('rel');
					}
					return false;
				});

				fnc.refreshDetails();

			});

		} else {

			content = $('<div>' + $.cookie('fn-branchdata') + '</div>');

			$('div.find-nearest-branch-details')
				.html(content);

			fnc.refreshDetails();

		}

		$('span.step1text').css('display', 'none');

		fnc.refresh();
	},
	clearCookies: function() {

		if (ombExists != true) return;

		fnc.id = 0;
		$.cookie('fn-branchid', null);
		$.cookie('fn-branchdata', null);
	},
	refresh: function() {

		if (ombExists != true) return;

		var showBranch = fnc.id == 0 ? false : true;
		$('.find-nearest-default').css('display', showBranch ? 'none' : 'block');
		$('.find-nearest-branch-details').css('display', showBranch ? 'block' : 'none');
		$('button.change-branch').css('display', showBranch ? 'block' : 'none');
		tagcloud.refresh();
	},
	refreshDetails: function() {

		if (ombExists != true) return;

		if ($('div.find-nearest-branch-details > div').length == 0) return;

		var details = $('div.find-nearest-branch-details');
		var currentHeight = details.height();
		var newHeight = $('div.find-nearest-branch-details > div').outerHeight(true);

		if (currentHeight == newHeight || details.data('animating') == true) return;

		tagcloud.hide();

		details
			.data('animating', true)
			.animate({ height: newHeight }, {
				complete: function() {
					$(this).data('animating', null);
					tagcloud.refresh();
					tagcloud.show();
				}
			});
	}
}

$.fn.fieldHint = function() {

	if (ombExists != true) return;

	var el = $('#'+this.attr('for'));
	var frm = el;
	
	while (!frm.is('form')) frm = frm.parent();
	
	$(this).addClass('fh-normal');
	
	el
		.data('fh', {
			label:$(this),
			form:frm
		})
		.focus(function(){
			var o = $(this).data('fh');
			var frm = o.form;
			o.label.addClass('fh-active');
			frm.bind('submit', function(){return false});
		})
		.blur(function(){
			var o = $(this).data('fh');
			var frm = o.form;
			o.label.removeClass('fh-active');
			frm.unbind('submit');
		})
		.bind('keyup click keydown', function(e){
			var o = $(this).data('fh');
			var hasContent = $(this).val().match(/.+/) ? true : false;
			hasContent ? o.label.addClass('fh-disabled') : o.label.removeClass('fh-disabled');
		})
		.keyup();
		
}

$(function(){

	if ($('#choosebranch').length < 1) return;
	
	/*if (showOMB) {
		$('#choosebranch').css('visibility', 'visible');
	} else {
		$('#choosebranch')
			.css('display', 'none')
			.remove();
		ombExists = false;
		return;
	}*/
	
	ombExists = true;

	fnc.id = $.cookie('fn-branchid') ? $.cookie('fn-branchid') : 0;
	
	setInterval(function(){
		fnc.refreshDetails();
	}, 1000);
	
	$('#choosebranch label[for]').fieldHint();
	
	$('#find-nearest-search')
		.autocomplete('find-nearest-autocomplete.aspx', {
			width:153,
			selectFirst:true,
			scroll:false
		})
		.result(function(r, d){
			if (d.length < 2) return;
			fnc.loadLocation(d[1], d[0]);
		});
	
	$('#choosebranch button.find-nearest-button').click(function(){
		$('.ac_results').css('display', 'block');
		return false;
	});
	
	if (fnc.id != 0) {
		fnc.loadBranch();
	}
	
	$('#choosebranch button.change-branch').click(function(){
		$('#find-nearest-search')
			.val('')
			.focus();
		$(this).css('display','none');
	});
	
});
