var currentImage = false;
var prevImage = false;
var nextImage = false;

$(document).ready(function() {

		if ($.browser.msie && $.browser.version.substr(0,1)<7) {
			$('#muscle-car-gallery ul li a').click(function() { 
					// micro browser -- IE^ can't handle the better one
					showImage( $(this).attr('id') );
					return false;
				});
		} else {
			
			$('#muscle-car-gallery ul li a').click(function() { 
					// full screen browser
					BrowserOpen();
					return false;
				});
		}

		MuscleViewRequestInit();

		// 		$('#BrowserOpen').click( function() { 
		// 				BrowserOpen();
		// 				return false;
		// 			});
	
	});

var BodyCSS = '';

function BrowserOpen() {
	$('body').addClass('BrowserMode');
	$('#footer').hide();
	$('#structure').hide();
	$('#masthead-wrap').hide();
	BrowserInit( qNodeID );
	return false;
}

function BrowserClose() {
	$('body').removeClass('BrowserMode');
	$('#Browser').hide();
	$('#Browser').remove();

	$('#masthead-wrap').show();
	$('#structure').show();
	$('#footer').show();
	return false;
}


function BrowserInit ( node_id ) {
	var s = '';
	s += '<div id="Browser">';

	s += '<ul id="BrowserThumbs">';
	s += '</ul>';

	s += '<div class="clear"></div>';

	s += '<div id="BrowserZoomLoading">';
	s += '<div id="BrowserZoom">';
	s += '</div>';
	s += '</div>';

	s += '</div>';

	$('#background').after ( s );

	$('#BrowserClose').click( function() { 
			BrowserClose();
		});

	$.get( "/muscle_view/" + node_id + "/thumbs", 
		   function(data){

			   $('#Browser').append( '<div id="BrowserPreloader" style="display: block;"></div>' );

			   var items = data.split("\n");
			   s = '';
			   $.each(items, function ( k, v ) {
					   if ( v != '' ) {
						   $('#BrowserThumbs').append( '<li style="background:url(/image/' + v + 'x80.jpg); "><a href="javascript: void(0);" id="BrowserThumb-' + v +'" rel="' + v + '"><span>' + v + '</span></a></li>' );
					   }
				   });

			   $('#BrowserThumbs').append( '<li id="shannons-promo"><a href="http://ad.doubleclick.net/clk;218478501;28294147;m?http://ad.au.doubleclick.net/clk;218361929;41451167;j" id="BrowserThumbShannons"><span></span></a></li>' );

			   $('ul#BrowserThumbs li a').click ( function () {
					   $('ul#BrowserThumbs li').removeClass ( 'BrowserThumbActive' );
					   $(this).parent().addClass ( 'BrowserThumbActive' );
					   $(this).blur();
					   var id = $(this).attr('rel');
					   BrowserShowImage ( id );
				   });

			   $('#BrowserThumbShannons').unbind( 'click' );

			   $('ul#BrowserThumbs li:first-child a').click();			   

		   });



}

function BrowserShowImage ( node_id ) {

 	$('#BrowserZoom').css('background', 'url(/image/' + node_id + 'x944y724.jpg) top center no-repeat'); 

	// IE Sux
	if ($.browser.msie && $.browser.version.substr(0,1)<7) {
		setTimeout ( "$('#BrowserZoom').css('background', 'url(/image/" + node_id + "x944y724.jpg) top center no-repeat');", 2000 );
	}

	var a = false;

	var s = '';
	s += '<a href="javascript:void(0);" onclick="BrowserClose();">Close</a>';

	a = $('#BrowserThumb-' + node_id + '').parent().next().children('a:first');
	if ( $(a).attr('rel') != undefined ) {
		s += '<a href="javascript:void(0);" onclick="$(\'#BrowserThumb-' + $(a).attr('rel') + '\').click();">&raquo;</a>';
	}

	a = $('#BrowserThumb-' + node_id + '').parent().prev().children('a:first');
	if ( $(a).attr('rel') != undefined ) {
		s += '<a href="javascript:void(0);" onclick="$(\'#BrowserThumb-' + $(a).attr('rel') + '\').click();">&laquo;</a>';
	}

	$('#BrowserZoom').html( s );

}








function MuscleViewRequestInit() {
	$('#MuscleViewRequest').click( function () {
			node_id = $(this).attr('rel');
			MuscleViewRequest ( node_id );
			return false;
		});
}

function MuscleViewRequest( node_id ) {
	$.blockUI.defaults.css.border = '8px solid #222'; 
	$.blockUI.defaults.css.top = '136px'; 
	$.blockUI( { css: { left: ( (screenWidth()/2) - 288), width: '480px', height: '480px', background: '#f60' }, message: $('#MuscleViewDialog') } ); 

	var s = '';
	
	s += '<div id="RequestDialog">' + "\n";
	s += '<p>To register to view this car, enter your details below and click Register. We will contact you as soon as possible to confirm your details and organise a suitable viewing time.</p>';

	s += '<form action="post">';
	s += '<input type="hidden" id="RequestNode_id" name="RequestNode_id" value="' + node_id + '" />';

	s += '<label for="RequestEmail">Your Email Address</label>';
	s += '<input type="text" id="RequestEmail" name="RequestEmail" value="" />';
	s += '<div class="clear"></div>';

	s += '<label for="RequestName_first">Your Given Name</label>';
	s += '<input type="text" id="RequestName_first" name="RequestName_first" value="" />';
	s += '<div class="clear"></div>';

	s += '<label for="RequestName_last">Your Family Name</label>';
	s += '<input type="text" id="RequestName_last" name="RequestName_last" value="" />';
	s += '<div class="clear"></div>';

	s += '<label for="RequestPhone">Your Phone Number</label>';
	s += '<input type="text" id="RequestPhone" name="RequestPhone" value="" />';
	s += '<div class="clear"></div>';

	s += '<label for="RequestAddress" style="height: 88px;">Your Address</label>';
	s += '<textarea id="RequestAddress" name="RequestAddress" style="width: 148px; height: 64px;"></textarea>';
	s += '<div class="clear"></div>';

	s += '<label></label>';
	s += '<input type="button" id="RequestSubmit" value="Register" />';
	s += '<div class="clear"></div>';
	s += '<label></label>';
	s += '<input type="button" id="RequestCancel" value="Cancel" id="RequestCloseLink" />';
	s += '<div class="clear"></div>';

	s += '</form>';
	s += '</div>' + "\n";

	s += '<div id="RequestDialogProcessing">' + "\n";
	s += '<span>Sending your message...</span>' + "\n";
	s += '</div>' + "\n";

	s += '<div id="RequestDialogProcessed">' + "\n";
	s += '<span>Your request has been sent</span>' + "\n";
	s += '</div>' + "\n";


	$('#MuscleViewDialog').html( s );

	$('#RequestSubmit').click( function() { MuscleViewRequestProcess(); });
	$('#RequestCancel').click( function() { MuscleViewRequestClose(); });
	$('#RequestEmail').focus();

}

function MuscleViewRequestClose() {
	$.unblockUI();
	$('#MuscleViewDialog').html('');
}


function MuscleViewRequestValidate() {

	var valid = true;

	// do in bottom up order so topmost invalid item is focussed

	if ( '' == $('#RequestName_last').val() ) {	
		$('#RequestName_last').addClass('RequestInputInvalid');
		$('#RequestName_last').focus();
		valid = false;
	} else {
		$('#RequestName_last').removeClass('RequestInputInvalid');	
	} 

	if ( '' == $('#RequestName_first').val() ) {	
		$('#RequestName_first').addClass('RequestInputInvalid');
		$('#RequestName_first').focus();
		valid = false;
	} else {
		$('#RequestName_first').removeClass('RequestInputInvalid');	
	} 

	if ( '' == $('#RequestPhone').val() ) {	
		$('#RequestPhone').addClass('RequestInputInvalid');
		$('#RequestPhone').focus();
		valid = false;
	} else {
		$('#RequestPhone').removeClass('RequestInputInvalid');	
	}

	if ( '' == $('#RequestAddress').val() ) {
		$('#RequestAddress').addClass('RequestInputInvalid');
		$('#RequestAddress').focus();
		valid = false;
	} else {
		$('#RequestAddress').removeClass('RequestInputInvalid');	
	}

	var email = ( $('#RequestEmail').val() );
	if ( email == '' || !validateEmail(email) ) {
		$('#RequestEmail').addClass('RequestInputInvalid');
		$('#RequestEmail').focus();
		valid = false;
	} else {
		$('#RequestEmail').removeClass('RequestInputInvalid');	
	}


	if ( ! valid ) {
		return false;
	}

	$('#RequestEmail').removeClass('');
	return true;

}

function MuscleViewRequestProcess() {


	if ( ! MuscleViewRequestValidate() ) {
		return false;
	}

	var request = {
		m: 'muscle_view',
		rpc: 'request_process',
		email: $('#RequestEmail').val(),
		name_first: $('#RequestName_first').val(),
		name_last: $('#RequestName_last').val(),
		address: $('#RequestAddress').val(),
		phone: $('#RequestPhone').val(),
		node_id: $('#RequestNode_id').val()
	};

	$('#RequestDialog').fadeOut( function() {
			$('#RequestDialogProcessing').fadeIn( function () {
					$.post( '/index.php', request, function ( response ) {
							$('#RequestDialogProcessing').fadeOut( function () {
									$('#RequestDialogProcessed').fadeIn( 125, function () {
											setTimeout ( '$("#RequestDialogProcessed").fadeOut( 125, function () { MuscleViewRequestClose(); });', 1000 );
										});
								});
						});
				});
			return false;
		} );

}




function showImage( e ) {

	if ( ! currentImage ) {
		currentImage = true;
		$('#muscle-car-text').fadeOut( 125, function() { showImage( e ); } );
		return false;
	}
	e = $( '#' + e );

	e.blur();

	$('#muscle-car-gallery ul li a').css('border', '1px solid #666' );
	e.css('border', '1px solid #f60' );

	var image = e.attr('rel');

	if ( image == currentImage ) {
		galleryClose();
		return false;
	}

	currentImage = image;

	var a = false;

	var s = '';
	s += '<a href="javascript:void(0);" onclick="galleryClose();">Close</a>';

	a = $(e).parent().next().children('a:first');
	if ( $(a).attr('id') != undefined ) {
		i = ( $(a).attr('id') );
		s += '<a href="javascript:void(0);" onclick="showImage( \'' + i + '\' );">&raquo;</a>';
	}

	a = $(e).parent('li').prev('li').children('a:first');
	if ( $(a).attr('id') != undefined ) {
		i = ( $(a).attr('id') );
		s += '<a href="javascript:void(0);" onclick="showImage( \'' + i + '\' );">&laquo;</a>';
	}

	$('#muscle-car-image').show();
	$('#muscle-car-image').css('background', 'url(/image/' + image + 'x484.jpg) top no-repeat'); 
	$('#muscle-car-image').html( s );

	//$('#muscle-car-image').fadeOut( function() { $('#muscle-car-image').css('background', 'url(/image/' + image + 'x484.jpg) top no-repeat'); $('#muscle-car-image').html( s ); $('#muscle-car-image').fadeIn(); });

}

function galleryClose() {
	currentImage = false;
	$('#muscle-car-image').fadeOut( function() {  $('#muscle-car-text').fadeIn(); $('#muscle-car-gallery ul li a').css('border', '1px solid #666' ); } );
}


/*
 * helpers
 */


function log ( s ) {
	if ( $('#log').length == 0 ) {
		$('html').prepend('<div id="log" style="background: #fc0;">C</div>');
	}
	$('#log').html(s);
}

function validateEmail(str) {

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1) {
		return false; 
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
		return false;
	}

	if (str.indexOf(at,(lat+1))!=-1) {
		return false;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
		return false;
	}

	if (str.indexOf(dot,(lat+2))==-1) {
		return false;
	}
		
	if (str.indexOf(" ") != -1) {
		return false;
	}

	return true;
}

function screenWidth() {
	if ( window.innerWidth ) {
		return window.innerWidth;
	} else {
		return document.documentElement.clientWidth;
	}
}

