
$(document).ready(function() {
	if ($('#news-type').attr('id'))
	{
		var change_type = function() {
			var type = $('#news-type').val().toLowerCase().split(' ').join('-');
			$('.frm-selector').hide();
			$('.frm-selector :input').attr('disabled',true);
			$('#frm-' + type).show();
			$('#frm-' + type + ' :input').attr('disabled', false);
		}
		$('#news-type').change(function(){ change_type(); });
		change_type();
	}
	if ($('#media-coverage-date').attr('id'))
	{
		if ($('#media-coverage-date').val() != '') {
			var month = $('#media-coverage-date').val().substr(5,2); var day = $('#media-coverage-date').val().substr(8,2); var year = $('#media-coverage-date').val().substr(0,4);
			var hour = $('#media-coverage-date').val().substr(11,2); var minute = $('#media-coverage-date').val().substr(14,2);
			var initdate = true;
		}
	}
	else if ($('#press-release-date').attr('id'))
	{
		if ($('#press-release-date').val() != '') {
			var month = $('#press-release-date').val().substr(5,2); var day = $('#press-release-date').val().substr(8,2); var year = $('#press-release-date').val().substr(0,4);
			var hour = $('#press-release-date').val().substr(11,2); var minute = $('#press-release-date').val().substr(14,2);
			var initdate = true;
		}
	}
	if (initdate != true)
	{
		var time = new Date(); 	var month = time.getMonth() + 1; var day = ((time.getDate() < 10) ? '0' : '') + time.getDate();
		var year = time.getFullYear(); var hour = ((time.getHours() < 10) ? '0' : '') + time.getHours(); var minute = ((time.getMinutes() < 10) ? '0' : '') + time.getMinutes();
	}
	$('#mcmonth option[value="' + month + '"]').attr('selected', true); $('#mcday').val(day); $('#mcyear').val(year); $('#mchour').val(hour); $('#mcminute').val(minute);
	$('#prmonth option[value="' + month + '"]').attr('selected', true); $('#prday').val(day); $('#pryear').val(year); $('#prhour').val(hour); $('#prminute').val(minute);
	$('.error-message').each(function(){
		if ($(this).css('display') != 'none') { $(this).parents('div:first').find('input, textarea').addClass('error-field'); }
	});
	$('#frm-newsroom').submit(function(e){
		var error = false;
		var pre = '<div class="error-message">';
		var post = '</div>';
		$('.error-message').css({'display':'none'});
		$('.error-field').removeClass('error-field');

		var type = $('#news-type').val().toLowerCase().split(' ').join('-');
		if (type == 'media-coverage') {
			if ($('#media-coverage-title').val() == '')
			{ $('#media-coverage-title').addClass('error-field'); $('#media-coverage-title').parent().append(pre+'Please enter your Media Coverage Title'+post); error = true; }
			if ($('#media-coverage-publication').val() == '')
			{ $('#media-coverage-publication').addClass('error-field'); $('#media-coverage-publication').parent().append(pre+'Please enter your Publication Title'+post); error = true; }
			if ($('#media-coverage-image-url').val() == '')
			{ $('#media-coverage-image-url').addClass('error-field'); $('#media-coverage-image-url').parent().append(pre+'Please enter your Publication Title'+post); error = true; }
			if ($('#media-coverage-image-alt').val() == '')
			{ $('#media-coverage-image-alt').addClass('error-field'); $('#media-coverage-image-alt').parent().append(pre+'Please enter your Image Alt'+post); error = true; }
			if ($('#media-coverage-long-url').val() == '')
			{ $('#media-coverage-long-url').addClass('error-field'); $('#media-coverage-long-url').parent().append(pre+'Please enter your Long URL'+post); error = true; }
			
			var date_error = false;
			if (!/^\d{1,2}$/.test($('#mcday').val()))
			{ $('#mcday').addClass('error-field'); date_error = true; }
			if (!/^\d{4}$/.test($('#mcyear').val()))
			{ $('#mcyear').addClass('error-field'); date_error = true; }
			if (!/^\d{1,2}$/.test($('#mchour').val()))
			{ $('#mchour').addClass('error-field'); date_error = true; }
			if (!/^\d{1,2}$/.test($('#mcminute').val()))
			{ $('#mcminute').addClass('error-field'); date_error = true; }
			
			if (date_error == true) { $('#mcday').parent().append(pre+'Please enter your Date'+post); error = true; }
		} else if (type == 'press-release') {
			if ($('#press-release-title').val() == '')
			{ $('#press-release-title').addClass('error-field'); $('#press-release-title').parent().append(pre+'Please enter your Press Release Title'+post); error = true; }
			if ($('#press-release-meta-description').val() == '')
			{ $('#press-release-meta-description').addClass('error-field'); $('#press-release-meta-description').parent().append(pre+'Please enter your Meta Description'+post); error = true; }
			if ($('#content-text').val() == '')
			{ $('#content-text').addClass('error-field'); $('#content-text').parent().append(pre+'Please enter your Press Release'+post); error = true; }
			if ($('#long-url-write').val() == '')
			{ $('#long-url-write').addClass('error-field'); $('#long-url-write').parent().append(pre+'Please enter your Long URL'+post); error = true; }

			var date_error = false;
			if (!/^\d{1,2}$/.test($('#prday').val()))
			{ $('#prday').addClass('error-field'); date_error = true; }
			if (!/^\d{4}$/.test($('#pryear').val()))
			{ $('#pryear').addClass('error-field'); date_error = true; }
			if (!/^\d{1,2}$/.test($('#prhour').val()))
			{ $('#prhour').addClass('error-field'); date_error = true; }
			if (!/^\d{1,2}$/.test($('#prminute').val()))
			{ $('#prminute').addClass('error-field'); date_error = true; }
			
			if (date_error == true) { $('#prday').parent().append(pre+'Please enter your Date'+post); error = true; }
		}
			
		if (error == false) 
		{
			if ($('#media-coverage-date').attr('id')) { 
				$('#media-coverage-date').val($('#mcyear').val() + '-' + $('#mcmonth').val() + '-' + (($('#mcday').val().length < 2) ? '0' : '') + $('#mcday').val() + ' ' + (($('#mchour').val().length < 2) ? '0' : '') + $('#mchour').val() + ':' + (($('#mcminute').val().length < 2) ? '0' : '') + $('#mcminute').val() + ':00');
				$('#mcmonth, #mcday, #mcyear, #mchour, #mcminute').attr('disabled', true);
			}
			if ($('#press-release-date').attr('id')) { 
				$('#press-release-date').val($('#pryear').val() + '-' + $('#prmonth').val() + '-' + (($('#prday').val().length < 2) ? '0' : '') + $('#prday').val() + ' ' + (($('#prhour').val().length < 2) ? '0' : '') + $('#prhour').val() + ':' + (($('#prminute').val().length < 2) ? '0' : '') + $('#prminute').val() + ':00');
				$('#prmonth, #prday, #pryear, #prhour, #prminute').attr('disabled', true);
			}
			
			return true;
		}
		$('#nr-messages').html('<div class="form-message-error"><p>Oops! One or more errors have been detected!<br />Please see below to correct any errors; thank you!</p>');
		return false;
	});
	$('#media-coverage-title').bind('keyup', function(){ $('#media-coverage-title-limit').text(60 - $('#media-coverage-title').val().length); });
	$('#press-release-title').bind('keyup', function(){ $('#press-release-title-limit').text(60 - $('#press-release-title').val().length); });
	if ($('#media-coverage-title-limit').attr('id')) { $('#media-coverage-title-limit').text(60 - $('#media-coverage-title').val().length); }
	if ($('#press-release-title-limit').attr('id')) { $('#press-release-title-limit').text(60 - $('#press-release-title').val().length); }
	$('#media-coverage-publication').bind('keyup', function(){ if ($('#media-coverage-publication').val().length >= 140) $('#media-coverage-publication').val($('#media-coverage-publication').val().substr(0,140)); $('#media-coverage-publication-limit').text(140 - $('#media-coverage-publication').val().length); });
	$('#press-release-meta-description').bind('keyup', function(){ if ($('#press-release-meta-description').val().length >= 140) $('#press-release-meta-description').val($('#press-release-meta-description').val().substr(0,140)); $('#press-release-meta-description-limit').text(140 - $('#press-release-meta-description').val().length); });
	if ($('#media-coverage-publication-limit').attr('id')) { $('#media-coverage-publication-limit').text(140 - $('#media-coverage-publication').val().length); }
	if ($('#press-release-meta-description-limit').attr('id')) { $('#press-release-meta-description-limit').text(140 - $('#press-release-meta-description').val().length); }
	$('.pub-link').each(function(){
		$(this).click(function(e){
			e.preventDefault();
			var el = $(this);
			var rid = $(this).attr('id').substr(4);
			
			// communicate with server
			ajax('/newsroom', {'pub':el.text().toLowerCase() + '-' + rid}, function(r){
				if (r.status == '1') { el.text('Unpublish'); }
				else if (r.status == '2') { el.text('Publish'); }
			});
		});
	});
	var ajax = function(url, post_data, callback) {
		$.ajaxSetup({
			'global': false,
			'type': "POST",
			'error': function(XMLHttpRequest,textStatus, errorThrown) {
						  alert('Sorry, we\'re experiencing difficulties in communicating with server. Please try again.');
					 }
		});
		$.post(url, post_data, function(response){
			if (typeof(callback) == 'function') callback(response);
		}, 'json');
		
	};						
	
});

