var currentImage = false;
var prevImage = false;
var nextImage = false;

$( function() {

  if ($.browser.msie && $.browser.version.substr(0,1)<7) {
    $('#muscle-car-gallery ul li a').click(function() { 
      // micro browser -- IE6 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;
  }
}


