$(
	function () {
		$('#menu-opts li').click(
			function () {
				return SwitchTab(this);
			}
		);
		SwitchTab();
		try {
			$('.form-input-default').defaultValue();
			$('form').submit(
				function () {
					$('.form-input-default').defaultValueClear();
				}
			);
			$.ifixpng('/assets/images/blank.gif');
			$('a, img').ifixpng();
			$('.form-input-transform').simpleTransform();
		}
		catch (e) { }
	}
);

function SwitchTab(item) {
	var index;
	var menuOpts = $('#menu-opts li');
	if (!item) {
		index = CurrentTab();
		item = menuOpts.eq(index);
	}
	else index = menuOpts.index(item);
	menuOpts.removeClass('selected');
	$(item).addClass('selected');
	var tabBox = $('.tab-contents div.box-curve');
	tabBox.hide();
	tabBox.eq(index).show();
	CurrentTab(index);
	return false;
}

function CurrentTab(index) {
	var cookieName = 'menu-opts-current';
	if (arguments.length > 0) Cookie(cookieName, index);
	else {
		var returnValue = Cookie(cookieName);
		if (!returnValue || isNaN(returnValue)) returnValue = 0;
		return returnValue;
	}
}

function SignUpSubmit(url) {
	var $message = $('#signup-message');
	var $fields = $('#signup-name, #signup-email').defaultValueClear();
	RefreshMessage('error', 'loading', 'Please Wait...');
	$fields.submitJSONP(
		url,
		function (data) {
			var cssClass = 'error';
			if (data.result == 'SUCCESS') {
				$('#signup-form').remove();
				cssClass = 'success';
				_gaq.push(['_trackEvent', 'Newsletter', 'Sign Up', 'Footer']);
			}
			else $fields.defaultValue();
			RefreshMessage('loading', cssClass, data.message);
		},
		function () {
			RefreshMessage('loading', 'error', '<b>Unfortunately we couldn\'t sign you up because:</b><br />We couldn\'t contact the subscription service.');
		}
	);
	function RefreshMessage(removeClass, addClass, content) {
		$message
			.removeClass(removeClass)
			.addClass(addClass)
			.html(content);
	}
}

function Cookie(name, value) {
	if (arguments.length > 0) {
		if (arguments.length > 1) document.cookie = name + '=' + value;
		else {
			var reg = new RegExp('(^|;)[ ]*' + name + '=([^;]+)', 'i');
			reg.exec(document.cookie);
			return RegExp.$2;
		}
	}
}

function OpenHelpPanel() {
	var url = 'http://cards.hallmarkcards.com.au/help_panel/help/help_panel.htm';
	var width = 755;
	var height = 535;
	var settings = 'height=' + height + ',width=' + width + ',top=' + CalculateCenter(height, true) + ',left=' + CalculateCenter(width, false) + ',scrollbars=no,resizable=no';
	var help = window.open(url, 'help', settings);
	help.window.focus();
}

function CalculateCenter(size, top) {
	return (((top ? screen.height : screen.width) - size) / 2);
}

function HTMLEncode(inputString) {
	return inputString.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;');
}

function SplitButtonInit(linkSelector, containerSelector) {
	$(linkSelector).toggle(
		function () {
			$('.form-split-button.on').click();
			$(this).addClass('on');
			$(containerSelector).show();
		},
		function () {
			$(this).removeClass('on');
			$(containerSelector).hide();
		}
	);
	$('body').click(
		function (event) {
			if ($(containerSelector).is(':visible')) {
				if (!($(event.target).closest(containerSelector).length || $(event.target).parents().length <= 2)) $(linkSelector).click();
			};
		}
	);
}

function UtmLink(url, campaign, source, medium) {
	if (!source) source = 'www';
	if (!medium) medium = 'internal-banner';
	url += ((url.indexOf('?') > 0) ? '&' : '?');
	window.location.href = url + 'utm_source=' + encodeURIComponent(source) + '&utm_medium=' + encodeURIComponent(medium) + '&utm_campaign=' + encodeURIComponent(campaign);
	return false;
}
