$(document).ready(function(){

	// clear newsletter signup box
	$('#home-newsletter-signup #email').click(function(){
		if($(this).val() == 'your email here')
		{
			$(this).val('');
		}
	});

	// newsletter signup
	$('#home-newsletter-signup #email').focus(function(){
		$('#home-newsletter-signup #message').html('');
	});

	$('#home-newsletter-signup').validate({
		//errorLabelContainer: $('#home-newsletter-signup #error'),
		errorPlacement: function(error, element) {
			error.insertAfter(element.next());
			element.parent().addClass('error');
		},
		rules: {
			email: {
				required: true,
				email:true
			}
		},
		messages: {
			email: {
				required: "Please enter your email address",
				email: "Please enter a valid email address"
			}
		},
		submitHandler: function(form) {
			$(form).ajaxSubmit({
				target: '#home-newsletter-signup #message'
			});
			$('#home-newsletter-signup #message').css('display', 'block');
			$('#email').val('');
		}
	});

	$("#is_map").gMap({
		markers: [{
			address : 'NE10 0JP',
			icon: {
				image: "/assets/images/map_flag.png",
				iconsize: [115, 112],
				iconanchor: [76,112]
			}
		}],
		address : 'NE10 0JP',
		zoom : 15
	});


	if($('.thumbSet.paged')) {
		initPager($('.thumbSet.paged'));
	}


	if($('.paged_news')) {
		initNewsPager($('.paged_news'));
	}

	setupThumbBoxes();


    $('.thumbInfo').live('click',function() {
        var url=$(this).next('a').attr('href');

        if(url) {
            window.location=url;
        }
    });

});

function load_homepage_work() {
	$('#homepage_work_holder').fadeOut(0);
	$('#homepage_work_holder').load('/welcome/homepage_work',function(){
		$('.homeFilterBlocks').show();
		$('#homepage_work_holder').fadeIn();

		setTimeout(setupHomeThumbBoxes,0);
	});

}

function setupThumbBoxes() {
	$('.thumbSet .thumb').hover(function() {
		var $ti=$(this).find('.thumbInfo');
		$ti.animate({top: (128-$ti.height())}, 250);
	}, function() {
		var $ti=$(this).find('.thumbInfo');
		$ti.animate({top: (128)}, 250);
	});
}

function setupHomeThumbBoxes() {
/* //no longer required on home page
	$('.thumbSetHomeTop .thumb').hover(function() {
		var $ti=$(this).find('.thumbInfo');
		$ti.animate({top: (128-$ti.height())}, 250);
	}, function() {
		var $ti=$(this).find('.thumbInfo');
		$ti.animate({top: (107)}, 250);
	})*/
}

function initPager($container) {
	try {
		var rel_parts=$container.attr('rel').split(':');
		var url=rel_parts[0];
		var limit=rel_parts[1];
		var offset=rel_parts[2];
		var category=rel_parts[3];

		$container.data('page_data', {
			url : url,
			limit : limit,
			offset: offset,
			category : category
		});



		$('.filterMenu li a').live('click', function(e) {
			e.preventDefault();
			//console.log(this);
			$('.filterMenu li a').removeClass('current');
			$(this).addClass('current');
			
			var new_cat = $(this).attr('rel');
			var pager_data=$container.data('page_data');
			pager_data.offset = 0;
			pager_data.category = new_cat;
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_pager($container);
		});

		$('#pager_next').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');

			pager_data.offset=parseInt(pager_data.offset)+parseInt(pager_data.limit);
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_pager($container);
		});


		$('#pager_prev').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');

			pager_data.offset=Math.max(0,parseInt(pager_data.offset)-parseInt(pager_data.limit));
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_pager($container);
		});

		$('.pager_plink').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');
			var new_offset=parseInt($(this).attr('rel'));

			pager_data.offset=new_offset;
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_pager($container);
		});


		update_pager($container);


	} catch (e) {};
}

function initNewsPager($container) {
	try {
		var rel_parts=$container.attr('rel').split(':');
		var url=rel_parts[0];
		var limit=rel_parts[1];
		var offset=rel_parts[2];
		var category=rel_parts[3];

        $('#no_results').hide();

		$container.data('page_data', {
			url : url,
			limit : limit,
			offset: offset,
			category : category
		});

		$('.filterMenuHor li a').live('click', function(e) {
			e.preventDefault();
			//console.log(this);
			var new_cat = $(this).attr('rel');
			var pager_data=$container.data('page_data');
			pager_data.offset = 0;
			pager_data.category = new_cat;
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_news_pager($container);
		});

		$('#pager_next').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');

			pager_data.offset=parseInt(pager_data.offset)+parseInt(pager_data.limit);
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_news_pager($container);
		});


		$('#pager_prev').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');

			pager_data.offset=Math.max(0,parseInt(pager_data.offset)-parseInt(pager_data.limit));
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_news_pager($container);
		});

		$('.pager_plink').live('click', function(e){
			e.preventDefault();
			var pager_data=$container.data('page_data');
			var new_offset=parseInt($(this).attr('rel'));

			pager_data.offset=new_offset;
			$container.data('page_data', pager_data);
			//console.log(pager_data);
			update_news_pager($container);
		});


		update_news_pager($container);


	} catch (e) {};
}

function parseXml(xml)
{
	var retxml;

	if (jQuery.browser.msie)
	{
//		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//		xmlDoc.loadXML(xml);
		retxml = xml.documentElement.xml;
	} else {
		retxml = (new XMLSerializer()).serializeToString(xml);
	}
	return retxml;
}

function getRecordCount(xml) {
	var retval;

	if(jQuery.browser.msie) {
		retval= xml.documentElement.attributes[0].nodeValue;
	} else {
		retval= xml.documentElement.attributes[0].nodeValue;
	}
	return (retval);
}

function update_pager($container) {
	var pager_data=$container.data('page_data');
	var url=pager_data.url;
	var limit=parseInt(pager_data.limit);
	var offset=parseInt(pager_data.offset);
	var category=pager_data.category;

	//console.log(url+'/'+limit+'/'+offset+'/'+category);

	$container.fadeTo(250,0.25,function() {

		$.get(url+'/'+limit+'/'+offset+'/'+category, function(markup) {
			var m=parseXml(markup);
			var $data=$(m);
			var max_rec=getRecordCount(markup);//parseInt($data.attr('max'));
			var max_pages = Math.ceil(max_rec/limit);

			/*$container.empty();
			$(m).appendTo($container);*/

			//alert($(m).html());

			$container.html(m);

			if(offset>0) {
				$('#pager_prev').show();
			} else {
				$('#pager_prev').hide();
			}

			if((offset+limit)< max_rec) {
				$('#pager_next').show();
			} else {
				$('#pager_next').hide();
			}

			var cur_page=Math.floor(offset/limit)+1;
			$('#pager_pages').html("");
			if(max_pages>1) {
				for(ndx=1; ndx<=max_pages; ndx++) {
					if(ndx==cur_page) {
						$('#pager_pages').append('<li>'+ndx+'</li>');
					} else {
						$('#pager_pages').append('<li><a href="#" class="pager_plink" rel="'+((ndx-1)*parseInt(limit))+'">'+ndx+'</a></li>');

					}
				}
			}

			setupThumbBoxes();

			//$container.fadeTo(250,1.0);

			var height;

			if($container.hasClass('people')) {
				height=Math.max(0,186*Math.ceil(($container.find('li').length)/3));
			} else {
				height=Math.max(800,186*Math.ceil(($container.find('li').length)/3));
			}

			$container.animate({
				opacity: 1.0,
				height: height
			}, 400);

		});

	});

}


function update_news_pager($container) {
	var pager_data=$container.data('page_data');
	var url=pager_data.url;
	var limit=parseInt(pager_data.limit);
	var offset=parseInt(pager_data.offset);
	var category=pager_data.category;

	//console.log(url+'/'+limit+'/'+offset+'/'+category);

	$container.fadeTo(250,0.25,function() {

		$.get(url+'/'+limit+'/'+offset+'/'+category, function(markup) {
			var m=parseXml(markup);
			var $data=$(markup);
			var max_rec=getRecordCount(markup);;//parseInt($data.attr('max'));
			var max_pages = Math.ceil(max_rec/limit);
			//$data.find('records').html();

            //console.log(max_rec + " " +max_pages);

            if(max_rec==0) {
                $('#no_results').show(250);
            } else {
                $('#no_results').hide();              
            }

			$container.html(m);

			if(offset>0) {
				$('#pager_prev').show();
			} else {
				$('#pager_prev').hide();
			}

			if((offset+limit)< max_rec) {
				$('#pager_next').show();
			} else {
				$('#pager_next').hide();
			}

			var cur_page=Math.floor(offset/limit)+1;
			$('#pager_pages').html("");
			if(max_pages>1) {
				for(ndx=1; ndx<=max_pages; ndx++) {
					if(ndx==cur_page) {
						$('#pager_pages').append('<li>'+ndx+'</li>');
					} else {
						$('#pager_pages').append('<li><a href="#" class="pager_plink" rel="'+((ndx-1)*parseInt(limit))+'">'+ndx+'</a></li>');

					}
				}
			}

			setupThumbBoxes();

			//$container.fadeTo(250,1.0);
			$container.animate({
				opacity: 1.0,
				height: 235*2//Math.ceil(($container.find('.newsSub').length)/2)
			}, 400);

		});

	});

}
