﻿/**
 * Display errors for form elements
 * 
 * errors - array of {object, message} pairs
 */
$.fn.showErrors = function(errors) {
	errors = errors || [];
	var $form = $(this[0]);
	$form.find('.error').remove();
	$form.find('.hasError').removeClass('hasError');
	for (var field in errors) {
		$form.find('[name=' + field + ']').addClass('hasError').after('<div class="error">' + errors[field] + '</div>');
	}
	return $form;
}

$(function() {

	/**
	 * Show submenu for selected menu
	 */
	$('#menu a').mouseenter(function() {
		$('#submenu').html('');
		var rel = $(this).attr('rel');
		if (rel != '') {
			$('#submenu').html($('#' + rel).html());
		}
	});
	$('#menu a.act').mouseenter();

	/**
	 * Active submenu item on select
	 */
	$('#submenu img').live('mouseenter', function() {
		var src = $(this).attr('src');
		src = src.replace('.gif', '-active.gif');
		$(this).attr('src', src);
	}).live('mouseleave', function() {
		var src = $(this).attr('src');
		src = src.replace('-active.gif', '.gif');
		$(this).attr('src', src);
	});

	/**
	 * After leaving menu area restore original submenu in 5 secs
	 */
	var restoreOriginalSubmenuTimeoutId;
	var restoreOriginalSubmenu = function() {
		$('#submenu').html('');
		$('#menu a.act').mouseenter();
	};
	$('#menu-area').mouseleave(function() {
		restoreOriginalSubmenuTimeoutId = window.setTimeout(restoreOriginalSubmenu, 1000);
	}).mouseenter(function() {
		window.clearTimeout(restoreOriginalSubmenuTimeoutId);
	});

	/**
	 * Handle form submission via AJAX
	 */
	$('form.ajax').submit(function() {
		var $form = $(this);
		$.post($form.attr('action'), $form.serialize(), function(data) {
			if (data.status != 'OK') {
				$form.showErrors(data.errors);
			} else {
				var lang = $('body').attr('class');
				if (lang === 'cn') {
					$form.html('<p class="ajax-message"><strong>感谢您的关注</strong><br/>您的联系请求已成功递交，我们会尽快与您联系<br/><br/>ACASS 团队</p>');
				} else if (lang === 'fr') {
					$form.html('<p class="ajax-message"><strong>Merci pour votre intérêt!</strong><br/>Votre demande de contact a été transmise avec succès et nous vous reviendrons dans les plus brefs délais.<br/><br/>L\'équipe ACASS</p>');
				} else {
					$form.html('<p class="ajax-message"><strong>Thank you for your interest!</strong><br/>Your contact request was sent successfully and we will get back to you very shortly.<br/><br/>The ACASS Team</p>');
				}
			}
			// reload captcha
			$('#captcha').attr('src',  $('#captcha').attr('src'));
			$('[name=captcha]').val('');
		}, 'json');
		return false;
	});

	/**
	 * Image gallery animation
	 */
	$('#gallery-main').innerFade({
		speed: 'slow',
		startDelay: 5000,
		timeout: 5000,
		containerHeight: '416px',
		indexContainer: '#gallery-thumbs'
	});



});
