/* variables */

var current_page = 'description';
var current_image = 1;
var current_left_thumb = 1;
var current_hash = '';
var last_hash = '';

/* functions */

function position_thumbs() {
	var text_height = $('#description_text').height();
				
	var new_top = parseInt(text_height+240);
	if (new_top < 375)
		new_top = 375;

	if ($(window).height()>650 && !all_images[0].legacy && new_top < 525) {
		new_top = 525;
	}

	$('#thumbs').css('top', new_top+'px');	
}

function zoom_image(r) {
	var w = screen.availWidth;
	var h = screen.availHeight-100;	
	if (w>800) {
		w -= 100;
	}
	
	if (h>600) {
		h -= 100;
	}
	
	if (h<w) {
		w = h;
	}
	
	window.open ("/helpers/zoom/"+auction_fd_key+'/'+r+"/"+w+"/"+h,"wright_zoom","status=1,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=0,left=50,top=25,height="+h+",width="+w);
}

function launch_microsite(s, w, h) {
	window.open ("http://microsites.wright20.com/"+s,"microsite_"+s,"status=1,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=0,left=50,top=25,height="+h+",width="+w);
	return false;
}

function switch_image(i) {

	$('#thumb'+current_image).removeClass('active');
	var new_html = '';
	current_image = i;
/* 	set_hash(); */
	
	$('#thumb'+i).addClass('active');
	
	$('#photo').html('');
	
	
	if(all_images[i-1].legacy == true) {
		//legacy image
		if (all_images[i-1].width>520) {
			var new_height = Math.round(all_images[i-1].height * (520/all_images[i-1].width));

			var temp_file = all_images[i-1].image.split('/');
			temp_file = temp_file[temp_file.length-1];
		
			new_html += '<img src="/helpers/resize_fullsize/520/'+new_height+'/'+auction_fd_key+'/'+temp_file+'" width="520" height="'+new_height+'" style="visibility: hidden" onload="$(this).css(\'display\',\'none\').css(\'visibility\',\'visible\').fadeIn(\'fast\');">';

		}
		else {
			new_html += '<img src="'+all_images[i-1].image+'" height="'+all_images[i-1].height+'" style="visibility: hidden" onload="$(this).css(\'display\',\'none\').css(\'visibility\',\'visible\').fadeIn(\'fast\');">';
		}
	}
	else {	
		if (all_images[i-1].zoomable) {
			new_html += '<a href="#" onclick="zoom_image(\''+all_images[i-1].image.replace(/.jpg/g, '')+'\'); return false">';
		}
		
		new_html += '<img src="/helpers/resize_original/520/'+all_images[i-1].height+'/'+auction_fd_key+'/'+all_images[i-1].image+'" width="520" height="'+all_images[i-1].height+'" style="visibility: hidden" onload="$(this).css(\'display\',\'none\').css(\'visibility\',\'visible\').fadeIn(\'fast\');">';
	
		if (all_images[i-1].zoomable) {
			new_html += '<img src="/assets/images/core/zoom.png" class="zoom_button" width="15" height="14" /></a>';
		}
		
		if (!all_captions[i]) {
			$('#caption').html('').hide();
		}
		else {
			$('#caption').html(''+all_captions[i]).show();
		}
		
		position_thumbs();
	}

	$('#photo').html(new_html);

}

function thumb_scroll_left() {
	if (current_left_thumb > 1) {
		$('#thumb' + (current_left_thumb-1)).show();		
		$('#thumb' + parseInt(current_left_thumb+2)).hide();		
		 if (current_left_thumb + 3 > all_images.length) {
			$('#thumb_scroll_right').show();
		}
		current_left_thumb--;
		$('#thumb'+parseInt(current_left_thumb+2)).addClass('last');
	}
	
	if (current_left_thumb==1) {
		$('#thumb_scroll_left .thumb_scroll_left').html('');
	}
/* 	set_hash(); */
}

function thumb_scroll_right() {
     $('#thumb'+parseInt(current_left_thumb+2)).removeClass('last');
	
	 if (current_left_thumb+3<=all_images.length) {
		$('#thumb'+current_left_thumb).hide();
		$('#thumb'+parseInt(current_left_thumb+3)).show().addClass('last');
	}
	 if (current_left_thumb+3==all_images.length) {
		$('#thumb_scroll_right').hide();
	}
	
	current_left_thumb++;
		
	if (current_left_thumb>1) {
		$('#thumb_scroll_left .thumb_scroll_left').html('<a href="#" onclick="this.blur(); thumb_scroll_left(); return false">scroll left</a>');
	}
/* 	set_hash(); */
}

function set_page(p) {
	$('#'+current_page+'_link').removeClass('active');
	current_page = p;
	$('#'+current_page+'_link').addClass('active');
/* 	set_hash(); */
	
	if (p == 'description') {
		$('#text').show();
		$('#bid_text').hide();
		$('#essay_text').hide();
		$('#share_text').hide();
		$('#details_text').hide();
		$('#condition_text').hide();
		$('#public_text').hide();
		$('#details_text').hide();
		$('#description_text').show();
		$("#wrapper #photo").show();
		$("#thumbs").show();
	}
	
	if (p == 'details') {
		$('#text').show();
		$('#share_text').hide();
		$('#essay_text').hide();
		$('#details_text').show();
		$('#bid_text').hide();
		$('#public_text').hide();
		$('#condition_text').hide();
		$('#description_text').hide();
		$("#wrapper #photo").show();
		$("#thumbs").hide();
	}
	

	if (p == 'bid') {
		$('#text').show();
		$('#share_text').hide();
		$('#essay_text').hide();
		$('#details_text').hide();
		$('#bid_text').show();
		$('#public_text').hide();
		$('#condition_text').hide();
		$('#description_text').hide();
		$("#wrapper #photo").show();
		$("#thumbs").hide();
		bid_add();
	}
	
	if (p == 'condition') {
		$('#text').show();
		$('#share_text').hide();
		$('#essay_text').hide();
		$('#details_text').hide();
		$('#public_text').hide();
		$('#bid_text').hide();
		$('#condition_text').show();
		$('#description_text').hide();
		$("#wrapper #photo").show();
		$("#thumbs").hide();
		condition_add();
	}
	
	if (p == 'public') {
		$('#text').show();
		$('#share_text').hide();
		$('#essay_text').hide();
		$('#details_text').hide();
		$('#bid_text').hide();
		$('#public_text').show();
		$('#condition_text').hide();
		$('#description_text').hide();
		$("#wrapper #photo").show();
		$("#thumbs").hide();
	}
	
	if (p == 'essay') {
		$('#text').hide();
		$('#share_text').hide();
		$('#essay_text').show();
		$('#details_text').hide();
		$('#bid_text').hide();
		$('#public_text').hide();
		$('#condition_text').hide();
		$('#description_text').hide();
		$("#wrapper #photo").hide();
		$("#thumbs").hide();
	}
	
	if (p == 'share') {
		$('#text').show();
		the_link = window.location.href.substring(0,window.location.href.length-window.location.hash.length);
		$('#share_text').html($('#share_text').html().replace(/\*\*link\*\*/, the_link));
		$('#share_text').show();
		$('#essay_text').hide();
		$('#details_text').hide();
		$('#bid_text').hide();
		$('#public_text').hide();
		$('#condition_text').hide();
		$('#description_text').hide();
		$("#wrapper #photo").hide();
		$("#thumbs").hide();
	}
}

function set_hash() {
	var wL = window.location+"";

	if (wL.indexOf('#')>0) {
		wL = wL.split('#')[0];
	}

/* 	window.location.hash = '#'+current_page+'/'+current_left_thumb+'/'+current_image;	 */

	window.location.replace(wL+'#'+current_page+'/'+current_left_thumb+'/'+current_image);
	
	current_hash = last_hash = window.location.hash;
}

function hash_listener() {
	current_hash = window.location.hash;
	if (last_hash != current_hash) {
		check_hash();
		last_hash = current_hash;
	}
	
	setTimeout('hash_listener()', 500);
}

function check_hash() {
	var hash_segments = current_hash.substr(1).split('/');
	if (hash_segments.length==3) {
		set_page(hash_segments[0]);
		while (hash_segments[1]>current_left_thumb) {
			thumb_scroll_right();			
		}
		while (hash_segments[1]<current_left_thumb) {
			thumb_scroll_left();			
		}
		switch_image(hash_segments[2]);
	} else {
		set_page('description');
		switch_image(1);
		for(i=0;i<10;i++) {
			thumb_scroll_left();
		}
/* 		set_hash(); */
	}
}

function share_submit() {
	var share_from_name = $('#share_from_name').val();
	var share_from_email = $('#share_from_email').val();
	var share_to_email = $('#share_to_email').val();
	var share_subject = $('#share_subject').val();
	var share_message = $('#share_message').val();

	var share_from_name_old_value = $('#share_from_name').get(0).old_value;
	var share_from_email_old_value = $('#share_from_email').get(0).old_value;
	var share_to_email_old_value = $('#share_to_email').get(0).old_value;
	var share_message_old_value = $('#share_message').get(0).old_value;
	
	var errors = [];

	if (!share_from_name_old_value || share_from_name_old_value == share_from_name) {
		$('#share_from_name').addClass('error');
		errors.push('share_from_name');
	} else {
		$('#share_from_name').removeClass('error');		
	}
	
	if (!share_from_email_old_value || share_from_email_old_value == share_from_email) {
		errors.push('share_from_email');
		$('#share_from_email').addClass('error');
	} else {
		$('#share_from_email').removeClass('error');
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(share_from_email))) {
			errors.push('share_from_email');
			$('#share_from_email').addClass('error');
		}
	}
	
	if (!share_to_email_old_value || share_to_email_old_value == share_to_email) {
		errors.push('share_to_email');
		$('#share_to_email').addClass('error');
	} else {
		$('#share_to_email').removeClass('error');
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(share_to_email))) {
			errors.push('share_to_email');
			$('#share_to_email').addClass('error');
		}
	}
	
	if (share_subject == '') {
		errors.push('share_subject');
		$('#share_subject').addClass('error');
		
	}

	if (share_message == '') {
		errors.push('share_message');
		$('#share_message').addClass('error');
		
	}

	if (errors.length > 0) {
		$('#share_error_intro').show();
	} else {
		$('#share_error_intro').hide();
		$('#share_form').hide();
		$('#share_working').show();
		$("#share_instructions").hide();
		
		$.post("/ajax/submit_share", { 
			from_name: share_from_name, 
			from_email: share_from_email, 
			to_name: '', 
			to_email: share_to_email, 
			subject: share_subject, 
			message: share_message 
		}, function() {
			$('#share_working').hide();
			$('#share_done').show();
			setTimeout('restore_share()', 5000);
		});
	}
}

function restore_share() {
	$('#share_error_intro').hide();
	$('#share_form').show();
	$('#share_working').hide();
	$("#share_instructions").show();
	$('#share_done').hide();
}

function string_filter(s) {
	var filtered_values = "0123456789+";    
	var return_string = "";
	for (var i = 0; i < s.length; i++) {  // Search through string and append to unfiltered values to returnString.
	var c = s.charAt(i);
	if (filtered_values.indexOf(c) > -1) return_string += c;
	}
	return return_string;
}

function bid_amount_form() {
	fd_key_local = fd_key;

	var amount = string_filter($('#bid_amount').val());
	var n = $("input#bid_phone:checked").length;
	
	if (amount != $('#bid_amount').val()) {
		$('#bid_amount').val(amount);
		return false;
	} else {
		amount = round_increment(amount);
		
		if (amount != $('#bid_amount').val()) {
			$('#bid_amount').val(amount);
			$('#optionally').html('Your bid was rounded down to the<br/> nearest increment. <a href="#">Learn more<br/> about increments</a>.');

			return false;
		}
	
		if (amount=='' || amount == 0) {
			amount = 0;
			$('#bid_amount').val(amount);
			if (n==0) {
				setTimeout("set_page('description')", 3000);
				$('#bid_amount_form').fadeOut('slow');
				return false;
			}
		}
		
		$.ajax({ url: '/ajax/bid_set/'+fd_key_local+'/'+amount+'/' + n + '/' + new Date().getTime(), 
		success: function(msg){
			$('#bid_amount_form').fadeOut('slow');
			setTimeout("set_page('description')", 3000);
		} }); 

	}
	return false;
}

function round_increment(v) {
		if (v.indexOf('+')>-1) {
			var vTemp = v.substr(0,v.indexOf('+'));
			var vPlus = v.substr(v.indexOf('+'), 10000);
			v = vTemp;
		}
		        
		if (v>0 && v<500) {
			//25
			v = Math.floor(v/25)*25;
		}
		
		if (v>499 && v<1000) {
			//50
			v = Math.floor(v/50)*50;
		}
		
		if (v>999 && v<3000) {
			//100
			v = Math.floor(v/100)*100;
		}
		
		if (v>2999 && v<5000) {
			//250
			v = Math.floor(v/250)*250;
		}
		
		if (v>4999 && v<10000) {
			//500
			v = Math.floor(v/500)*500;
		}
		
		if (v>9999) {
			//1000
			v = Math.floor(v/1000)*1000;
		}
		
		if (vPlus) {
			v = v+""+vPlus;
		}

	return v;
}

function bid_add() {
	fd_key_local = fd_key;
	$('#bid_text').html('<p>Loading&hellip;</p>');
	
	var added_html = '';
	added_html += '<p>This lot has been added to your bid form. <a href="/lots/bid/" style="color: #83c035">View your bid form</a> to edit, review or submit your bids. </p>';
	added_html += '<div id="bid_amount_form"><p>Optionally, you can enter your bid<br/> amount here:<br/><form onsubmit="return bid_amount_form()">';
	added_html += '<input type="text" value="" name="bid_amount" id="bid_amount" style="width: 175px" /><br/>';
	added_html += '<input type="checkbox" style="width: auto;" id="bid_phone" name="bid_phone" onclick="$(\'#phone_message\').toggle();" /> phone bid<br/><br/>';
	added_html += '<input type="submit" id="bid_amount_button" value="save" style="width: auto" /></form>';
	added_html += '<div id="phone_message" style="display: none"><br/>';
	added_html += '<span class="smallcaps">NOTE:</span> Telephone numbers will be entered on the bid form prior to submission.</p></div></div>';

	$.ajax({ url: '/ajax/bid_add/'+fd_key_local + '/' + new Date().getTime(), success: function(msg){
		$('#nav_lots').fadeIn('slow');

		var msg_temp = msg.split('/');
		if (msg_temp[1] == '1') {
			var already_html = '';
			if (msg_temp[2] == '0') {
				msg_temp[2] = '';
			}
			
			already_html += '<p>This lot is already on your bid form.<br/><a href="/lots/bid/" style="color: #83c035">View your bid form</a> to edit, review or submit your bids. </p>';
			already_html += '<div id="bid_amount_form"><p id="optionally">Optionally, you can enter your bid<br/> amount here:</p><form onsubmit="return bid_amount_form()">';
			already_html += '<input type="text" value="'+msg_temp[2]+'" name="bid_amount" id="bid_amount" style="width: 175px" /><br/>';
			already_html += '<input type="checkbox" style="width: auto;" id="bid_phone" name="bid_phone" onclick="$(\'#phone_message\').toggle();"';
			
			if (msg_temp[3] == 1) {
				already_html += ' checked="checked"';
			}
			
			already_html += ' /> phone bid<br/><br/>';
			already_html += '<input type="submit" id="bid_amount_button" value="save" style="width: auto" /></form>';
			already_html += '<div id="phone_message"';
			if (msg_temp[3] == 0) {
				already_html += ' style="display: none"';
			}
			already_html += '><br/>';
			already_html += '<span class="smallcaps">NOTE:</span> Telephone numbers will be entered on the bid form prior to submission.</p></div></div>';
		
			$('#bid_text').html(already_html);
		}
		else
		{
			$('#nav_lots_bid').fadeIn('slow');
			$('#nav_lots_condition').fadeIn('slow');
			$('#bid_text').html(added_html);			
		}
	}}); 
	
 	return false;
}

function condition_add() {
	fd_key_local = fd_key;
	$('#condition_text').html('<p>Loading&hellip;</p>');
	
	var added_html = '';
	added_html += '<p>This lot has been added to your condition form. <a href="/lots/condition/" style="color: #83c035">View your condition form</a> to edit, review or submit your requests. </p>';

	$.ajax({ url: '/ajax/condition_add/'+fd_key_local + '/' + new Date().getTime(), success: function(msg){
		$('#nav_lots').fadeIn('slow');
		var msg_temp = msg.split('/');
		if (msg_temp[1] == '1') {
			var already_html = '';		
			already_html += '<p>This lot is already on your condition form.<a href="/lots/condition/" style="color: #83c035">View your condition form</a> to edit, review or submit your requests. </p>';	
			$('#condition_text').html(already_html);
		}
		else
			$('#condition_text').html(added_html);
	}}); 
	
 	return false;
}


/* events (ready + onload) */

$(document).ready(function() {
     if (document.all) {
        $(".nav li").fixHover();
	 }
	
	hash_listener();
});

$(window).load(function() {
	position_thumbs();

	if (current_page != 'bid' && current_page != 'condition' && current_page != 'essay' && current_page != 'details' && current_page != 'share' && current_page != '') {
		$('#thumbs').fadeIn('slow');
	}
});


