function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}




jQuery.fn.liScroll = function(settings) {
		settings = jQuery.extend({
		travelocity: 0.07
		}, settings);		
		return this.each(function(){
				var $strip = jQuery(this);
				$strip.addClass("ticker")
				var stripWidth = 0;
				var $mask = $strip.wrap("<div class='mask'></div>");
				var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");								
				var containerWidth = $strip.parent().parent().width();	//a.k.a. 'mask' width 	
				$strip.find("li").each(function(i){
					stripWidth += jQuery(this, i).width();
				});
				$strip.width(stripWidth);			
				var defTiming = stripWidth/settings.travelocity;
				var totalTravel = stripWidth+containerWidth;								
				function scrollnews(spazio, tempo){
					$strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);});
				}
				scrollnews(totalTravel, defTiming);				
				$strip.hover(
					function(){
						jQuery(this).stop();
					},
					function(){
						var offset = jQuery(this).offset();
						var residualSpace = offset.left + stripWidth;
						var residualTime = residualSpace/settings.travelocity;
						scrollnews(residualSpace, residualTime);
					}
				);			
		});	
};

$(document).ready(function () {

	if($('#ticker ul#ticker01 li').length > 0)
	{
		$("#ticker ul#ticker01").liScroll({travelocity: 0.02});
	}
	
	MM_preloadImages('./images/site/go_on.gif');
	
	$('#search #searchentry').focus(function() {
		if(this.value == 'Search')
		{
			this.value = '';
		}
	});
	
	$('#search #searchentry').blur(function() {
		if(this.value == '')
		{
			this.value = 'Search';
		}
	});
	
	$('.callback_form .callback_name').focus(function() {
		if(this.value == 'Your Name')
		{
			this.value = '';
		}
	});
	
	$('.callback_form .callback_name').blur(function() {
		if(this.value == '')
		{
			this.value = 'Your Name';
		}
	});
	
	$('.callback_form .callback_phone_area').focus(function() {
		if(this.value == 'Area')
		{
			this.value = '';
		}
	});

	$('.callback_form .callback_phone_number').focus(function() {
		if(this.value == 'Phone')
		{
			this.value = '';
		}
	});
	
	$('.callback_form .callback_phone_area').blur(function() {
		if(this.value == '')
		{
			this.value = 'Area';
		}
	});

	$('.callback_form .callback_phone_number').blur(function() {
		if(this.value == '')
		{
			this.value = 'Phone';
		}
	});
	
	$('.callback_form #cb_email').focus(function() {
		if(this.value == 'Your Email Address')
		{
			this.value = '';
		}
	});
	
	$('.callback_form #cb_email').blur(function() {
		if(this.value == '')
		{
			this.value = 'Your Email Address';
		}
	});
	
	$('.callback_form #go-callback').click(function() {
		$('.callback_form').submit();
	});
	
	$('.callback_form').submit(function() {
		var $this = $(this);
		var destination = $this.find('select[name=callback_destination] option:selected');
		if(destination.val() == '') {
			alert('A destination must be selected to book a callback');
			destination.focus();
			return false;
		}

		var name = $this.find('.callback_name');
		var phone_area = $this.find('.callback_phone_area');
		var phone = $this.find('.callback_phone_number');
		if(name.val() == '' || name.val() == 'Your Name')
		{
			alert('You must enter your name to book a callback');
			name.focus();
		}
		else if(phone.val() == '' || phone.val() == 'Phone')
		{
			alert('You must enter your phone number to book a callback');
			phone.focus();
		}
		else if((phone_area.val() == '' || phone_area.val() == 'Area') && phone.val().match('^04') == null) {
			alert('The \'Area\' field denotes your area code. This is your local telephone prefix, For example: 02 for NSW, 03 for VIC, etc.');
			phone_area.focus();
		}
		else
		{
			return true;
		}
		
		return false;
	});
	
	$('#newsletter_form #go-register').click(function() {
		$('#newsletter_form').submit();
	});
	
	$('#newsletter_form').submit(function() {
		email = $('#newsletter_form #cb_email');
		if(email.val() == '' || email.val() == 'Your Email Address')
		{
			alert('You must enter an email address to register for the newsletter');
			email.focus();
		}
		else
		{
			return true;
		}
		
		return false;
	});
	
	$('#search').submit(function() {
		search = $('#search #searchentry');
		if(search.val() == '' || search.val() == 'Search')
		{
			alert('You must enter a keyword to search using');
			search.focus();
		}
		else
		{
			return true;
		}
		
		return false;
	});
	
	$('.date').datepicker({dateFormat: 'dd/mm/yy'});


	$('#slider').nivoSlider({
        effect:'fade', //Specify sets like: 'fold,fade,sliceDown'
        slices:15,
        animSpeed:500, //Slide transition speed
        pauseTime:3000,
        startSlide:0, //Set starting Slide (0 index)
        directionNav:true, //Next & Prev
        directionNavHide:false, //Only show on hover
        controlNav:true, //1,2,3...
        controlNavThumbs:false, //Use thumbnails for Control Nav
        controlNavThumbsFromRel:false, //Use image rel for thumbs
        controlNavThumbsSearch: '.jpg', //Replace this with...
        controlNavThumbsReplace: '_thumb.jpg', //...this in thumb Image src
        keyboardNav:true, //Use left & right arrows
        pauseOnHover:true, //Stop animation while hovering
        manualAdvance:false, //Force manual transitions
        captionOpacity:0.8, //Universal caption opacity
        beforeChange: function(){},
        afterChange: function(){},
        slideshowEnd: function(){}, //Triggers after all slides have been shown
        lastSlide: function(){}, //Triggers when last slide is shown
        afterLoad: function(){} //Triggers when slider has loaded
    });
});

