$(document).ready(function() {
	
	/* CSS rules for older browsers */
	$('UL#nav LI UL LI:last-child A').css('margin-bottom', '15px');
	$('#header #header_content UL#nav LI UL.laureate LI:last-child A').css('margin-bottom', '5px');
	$('#header #header_content UL#nav LI UL.laureate LI:first-child').css('padding-top', '3px');
	$('.media_thumb:nth-child(5)').css('margin-right', '0');
	$('.thumb_row A:nth-child(6)').css('margin-right', '0');
	$('UL#lightbox_thumbs LI:nth-child(6)').css('margin-right', '0');
	$('#laureate_main .laureate_col:nth-child(even)').css('margin-right', '0');	
	$('UL#media_subnav LI:last-child').css('border-right', 'none');
	
	/* Suckerfish for IE6 */
	$('#nav LI').hover(
		function() { $(this).addClass('sfhover'); },
		function() { $(this).removeClass('sfhover'); }
	);
	
	var slideshow_home = new SlideshowClass({
		duration:         5000,
		slide_container:  'slides',
		slideshow_nav:    'slideshow_nav'
	});
	
	var laureate_slideshow = new SlideshowClass({
		slide_container: 'laureate_slideshow',
		slideshow_nav:   'laureate_ss_nav'
	});
	
	
	$('.media_nav_tab').click(function() {
	
		$('#media_nav_tab_arrow').toggleClass('active');
		
		$('#media_nav_main').slideToggle(function() {
			// Set height explicitly
			$('#media_nav_main').css('height', $('#media_nav_main').css('height'));
		});
	});
	
	
	$('#lightbox_link A').hover(function() {
		
		if ($('#tooltip_lightbox').is(':visible')) {
			$('#tooltip_lightbox').fadeOut();
		} else {
			$('#tooltip_lightbox').fadeIn();
		}
	});
	
	
	$('.lightbox_add').hover(
		function() {
			$('#tooltip_add').remove(); 
			$('BODY').append('<div id="tooltip_add"></div>');
			$('#tooltip_add').css('left', ($(this).position().left - 190) + 'px');
			$('#tooltip_add').css('top',  ($(this).position().top - 60) + 'px');
			$('#tooltip_add').fadeIn();
		},
		function() {
			$('#tooltip_add').fadeOut(function() {
				$(this).remove();
			});
		}
	);

	$('.lightbox_add_single').hover(
		function() {
			$('#tooltip_add_single').remove(); 
			$('BODY').append('<div id="tooltip_add_single"></div>');
			$('#tooltip_add_single').css('left', ($(this).position().left - 190) + 'px');
			$('#tooltip_add_single').css('top',  ($(this).position().top - 60) + 'px');
			$('#tooltip_add_single').fadeIn();
		},
		function() {
			$('#tooltip_add_single').fadeOut(function() {
				$(this).remove();
			});
		}
	);
	
	
	
	/* Show lightbox */
	$('.show_lightbox').click(function() {
		//$('#overlay').fadeToggle();
		
		$('#overlay').css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"'); 
		$('#overlay').css('filter', 'alpha(opacity=70)');
		
		$('#lightbox').fadeToggle();
	});
	
	
	/* Show/hide default values for text inputs */
	$('.default_text').each(set_default_text);
	

	
	/* Show popup */
	$('.show_popup').click(function() {
		
		if ($('#overlay').is(':hidden') ) {
			if (readCookie('details_entered') === 'true') {
				// go to link
				return true;
			}
		}
		
		$('#popup').find('FORM').attr('action', $(this).attr('href'));
		
		//$('#overlay').fadeToggle();
		$('#overlay').css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"'); 
		$('#overlay').css('filter', 'alpha(opacity=70)');

		$('#popup').fadeToggle();
		
		return false;
	});
	
	
	/* Close overlay on click */
	$('#overlay').click(function() {
		$('#overlay').fadeOut();
		$('#popup').fadeOut();
		$('#lightbox').fadeOut(function() {$(this).remove()});
	});
	

	/* Process a form submit */
	$('.submit').click(function() {
		
		var form	= $(this).parents('FORM');
		var result 	= false;
		
		if (form.hasClass('press_release_form')) {
			result = validate_form(form, 'press_release_form');
		} else if (form.hasClass('updates_form')) {
			result = validate_form(form, 'updates_form');
			if (result) return true;
		} else {
			return true;
		}
		
		if (result === true) {
			$('#overlay').fadeToggle();
			$('#popup').fadeToggle();
			
			// Send ajax request to save form details
			$.post(
				'/SERVICE/enter_details',
				form.serialize()
			);
			form.submit();
		} else {
			return false;
		}
	});

});



/**
 * Function Show/hide default values for text inputs
 */
function set_default_text() {
    var default_value = this.value;
    $(this).focus(function() {
        if(this.value == default_value) {
            this.value = '';
            $(this).addClass('active');
        }
    });
    $(this).blur(function() {
        if(this.value == '') {
        	this.value = default_value;
        	$(this).removeClass('active');
        }
    });
}



function validate_form(form, form_name) {
		
	var err_msg     = $('.error_message');
	var err_msg_txt = '';
	var is_error    = false;
	
	// Press release form
	if (form_name === 'press_release_form') {
		var fields = {
			first_name :    { name : 'first name',    default_value : 'First Name',    type : 'input' },
			email_address : { name : 'email address', default_value : 'Email address', type : 'input' },
			publication :   { name : 'publication',   default_value : 'Publication',   type : 'input' },
			country_pr :    { name : 'country',       default_value : 'Country',       type : 'input' }
		};
	}
	
	// Footer updates form
	if (form_name === 'updates_form') {
		var fields = {
			'first-name'    : { name : 'first name',    default_value : 'First name',  type : 'input' },
			'family-name'   : { name : 'family name',   default_value : 'Family name', type : 'input' },
			'email-address' : { name : 'email address', default_value : 'Email',       type : 'input' },
			'country'       : { name : 'country',       default_value : 'Country',     type : 'input' }
		};
	}
	
	for (field in fields) {
		
		var this_field = $('#' + field);
				
		this_field.removeClass('error');
		
		if (this_field.val() === '' || this_field.val() === fields[field].default_value) {
		
			is_error = true;
			err_msg_txt += 'Please enter ' + fields[field].name + '<br />';
		}
	}
	
	if (is_error === true) {
		err_msg.html(err_msg_txt);
		return false;
	} else {
		err_msg.html('');
		//form.submit();
		
		// Prevent form being shown again
		createCookie('details_entered', 'true', 0);
		
		return true;
	}
	
}



function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



