$(function() {

	/* popup windows */
	
	$('a.demo-300').popwin({width: 320, height: 550, name: 'demoWindow'});
	$('a.demo-748').popwin({width: 768, height: 600, name: 'demoWindow'});
	$('a.demo-978').popwin({width: 1002, height: 650, name: 'demoWindow'});
	$('a.demo-1218').popwin({width: 1248, height: 650, name: 'demoWindow'});
	$('a.demo-1378').popwin({width: 1408, height: 650, name: 'demoWindow'});
		
	/* tip downs */
	
	$('div.tipdowns').tipdown({
		trigger: 'h3'
	});
	
	$('a').gahelper();
	
	/* fancy box overlays */
	
	$('a.overlay-link').fancybox({
		'overlayColor': '#000',
		'overlayOpacity': .45,
		'transitionIn': 'none',
		'transitionOut': 'fade',
		'padding': 0,
		'showCloseButton': false,
		'hideOnContentClick': true,
		onStart: function(target) {
			_gaq.push(['_trackPageview', $(target).attr('href')]);
		}
	});
	
	$('a.modal-link').fancybox({
		'overlayColor': '#000',
		'overlayOpacity': .45,
		'transitionIn': 'none',
		'transitionOut': 'fade',
		'padding': 0,
		'showCloseButton': false,
		'modal': true,
		'scrolling': false,
		'onClosed': function() {
			var iframe = $('iframe#colourmod');
			iframe.attr('src', '/resources/js/colourmod/index.html');
			iframe.hide();
		},
		onStart: function(target) {
			_gaq.push(['_trackPageview', $(target).attr('href')]);
		}
	});
	
	$('a.modal-link-large').fancybox({
		'overlayColor': '#000',
		'overlayOpacity': .45,
		'transitionIn': 'none',
		'transitionOut': 'fade',
		'padding': 0,
		'showCloseButton': false,
		'modal': true,
		'scrolling': false,
		'onClosed': function() {
			var iframe = $('iframe#colourmod');
			iframe.attr('src', '/resources/js/colourmod/index.html');
			iframe.hide();
		},
		onStart: function(target) {
			_gaq.push(['_trackPageview', $(target).attr('href')]);
		}
	});
	
	$('a.modal-link-header').fancybox({
		'overlayColor': '#000',
		'overlayOpacity': .45,
		'transitionIn': 'none',
		'transitionOut': 'fade',
		'padding': 0,
		'showCloseButton': false,
		'modal': true,
		'scrolling': false,
		'onClosed': function() {
			var iframe = $('iframe#colourmod');
			iframe.attr('src', '/resources/js/colourmod/index.html');
			iframe.hide();
		},
		onStart: function(target) {
			_gaq.push(['_trackPageview', $(target).attr('href')]);
		}
	});
			
});

/**
 * Gallery & Contact Form
 */

$(function() {
	$('form#gallery-form-action').validate({
		rules: {
			'gallery-form-name': {required: true},
			'gallery-form-email': {required: true, email: true},
			'gallery-form-url': {required: true, url: true}
		},
		
		messages: {
			'gallery-form-name': '&nbsp;',
			'gallery-form-email': '&nbsp;',
			'gallery-form-url': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit.php', {form: 'gallery', grid: $('select#gallery-form-grid option:selected').text(), name: $('#gallery-form-name').val(), email: $('#gallery-form-email').val(), url: $('#gallery-form-url').val()}, function(data) {
				$('div#gallery-form').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('span#success-grid').html($('select#gallery-form-grid option:selected').text());
						$('div#gallery-form-success').fadeIn('fast');
					}
					else {
						$('div#gallery-form-failure').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
	
	$('form#contact-us-action').validate({
		rules: {
			'contact-us-name': {required: true},
			'contact-us-email': {required: true, email: true}
		},
		
		messages: {
			'contact-us-name': '&nbsp;',
			'contact-us-email': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit.php', {form: 'contact', name: $('#contact-us-name3').val(), email: $('#contact-us-email3').val(), message: $('#contact-us-message3').val()}, function(data) {
				$('div#contact-us-fieldset3').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('div#contact-us-success3').fadeIn('fast');
					}
					else {
						$('div#contact-us-failure3').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
	
	$('form#contact-us-support-action').validate({
		rules: {
			'contact-us-name': {required: true},
			'contact-us-email': {required: true, email: true},
			'contact-us-product': {required: true}
		},
		
		messages: {
			'contact-us-name': '&nbsp;',
			'contact-us-email': '&nbsp;',
			'contact-us-product': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit_support.php', {form: 'contact', name: $('#contact-us-name2').val(), phone: $('#contact-us-phone2').val(), email: $('#contact-us-email2').val(), product: $('#contact-us-product2').val(), productversion: $('#contact-us-productversion2').val(), purchasedate: $('#contact-us-date2').val(), message: $('#contact-us-message2').val()}, function(data) {
				$('div#contact-us-fieldset2').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('div#contact-us-success2').fadeIn('fast');
					}
					else {
						$('div#contact-us-failure2').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
	
	$('form#contact-us-subscribe-action').validate({
		rules: {
			'contact-us-email': {required: true, email: true}
		},
		
		messages: {
			'contact-us-email': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit_subscribe.php', {form: 'contact', title: $('#contact-us-title').val(), othertitle: $('#contact-us-othertitle').val(),name: $('#contact-us-name').val(), organisation: $('#contact-us-organisation').val(), jobtitle: $('#contact-us-jobtitle').val(), email: $('#contact-us-email').val(), interest: $('#contact-us-interest').val()}, function(data) {
				$('div#contact-us-fieldset').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('div#contact-us-success').fadeIn('fast');
					}
					else {
						$('div#contact-us-failure').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
	
	$('form#contact-us-unsubscribe-action').validate({
		rules: {
			'contact-us-email-unsub': {required: true, email: true}
		},
		
		messages: {
			'contact-us-email-unsub': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit_unsubscribe.php', {form: 'contact', email: $('#contact-us-email-unsub').val()}, function(data) {
				$('div#contact-us-fieldset').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('div#contact-us-success').fadeIn('fast');
					}
					else {
						$('div#contact-us-failure').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
	
	$('form#contact-us-changemail-action').validate({
		rules: {
			'contact-us-email-old': {required: true, email: true},
			'contact-us-email-new': {required: true, email: true}
		},
		
		messages: {
			'contact-us-email-old': '&nbsp;',
			'contact-us-email-new': '&nbsp;'
		},

		errorElement: 'div',
		
		submitHandler: function() {
			$.post('/includes/submit_changemail.php', {form: 'contact', emailold: $('#contact-us-email-old').val(), emailnew: $('#contact-us-email-new').val()}, function(data) {
				$('div#contact-us-fieldset').fadeOut('fast', function() {
					if(parseInt(data)) {
						$('div#contact-us-success2').fadeIn('fast');
					}
					else {
						$('div#contact-us-failure2').fadeIn('fast');
					}
				});
			});
			
			return false;
		}
	});
});
