var ViewPort = {
    center: function(targetWidth, targetHeight) {
        var win = $(window);
        var target = {
            top: Math.round((win.height()-targetHeight)/2)+win.scrollTop(),
            left: Math.round((win.width()-targetWidth)/2)+win.scrollLeft()
        }
        if (target.top < 0) {
            target.top = 0;
        }
        if (target.left < 0) {
            target.left = 0;
        }
        return target;
    }
};

$('.product_info_show_link').live('click', function(){
	$('.product_info_show_link').removeClass('active');
	$(this).addClass('active');
	$('.information_window .prod_info_section').hide();
	var base_link = $(this).attr('id').split('_show_link')[0];
	$('#'+base_link+'_body').fadeIn();
	return false;
});

$('.see_more_reviews a').live('click', function(){ $('#reviews_show_link').click(); });
$('.see_more_brand_speak a').live('click', function(){ $('#brand_speak_show_link').click(); });

$('.dialog .close_button, .dialog .close, .close_the_popup').live('click', function(){
  $('.alice-gen-popup').hide();
	$(this).parents('.dialog').hide();
  $('#thank_you_dialog_wrapper').hide();
  $('#overlay_white').hide();
	return false;
});

$('a.signup_popup').click(function(){
	var $dialog = $('#sign_up_dialog');
	$dialog.css(ViewPort.center($dialog.width(), $dialog.height()-40));
	$dialog.show();
	return false;
});


$('#share_this_dialog form').live('submit', function(){
	$.ajax({
    url: '/products/share_with_friends',
		data: $(this).serialize(),
    success: function(response){
	  	if (response.success == true){
				$('#share_this_dialog').hide();
				$('#overlay_white').hide();
			}else{
				$('#share_this_dialog .form_alert').empty().append('Please complete required fields.');
			}
 		}
 	})
	return false
});

$('.video_icon, .more_vids_link').live('click', function(){
	var self = $(this);
 	var video_id = self.attr('id');
  $.ajax({
		dataType: 'json',
    url: '/products/fetch_video/' + video_id,
    success: function(response){
			$dialog = $('#video_dialog');
			$dialog.css(ViewPort.center($dialog.width(), $dialog.height()));
			$('#overlay_white').show();
			$dialog.show();
	  	$('#video_dialog .video_container').html(response.video_switch);
			$slider = $('#video_dialog .thumbs_slider');
			$slider.css('marginLeft', '0px');
			$('#videoSliderPos').val(0);
			return false;
 		}
 	})
 	return false;
});

$('#video_dialog a.button_left').live('click', function(){
	$slider = $('#video_dialog .thumbs_slider:not(animated)');
	var cellCount = $('#video_dialog .thumbs_slider .video_icon').length;
	var sliderPos = parseInt($('#videoSliderPos').val());
	if (sliderPos < cellCount-1){
		$('#videoSliderPos').val(sliderPos+1);
		$slider.animate({'marginLeft' : '-=135px'});
	}
	return false;
});
$('#video_dialog a.button_right').live('click', function(){
	$slider = $('#video_dialog .thumbs_slider:not(animated)');
	var cellCount = $('#video_dialog .thumbs_slider .video_icon').length;
	var sliderPos = parseInt($('#videoSliderPos').val());
	if (sliderPos > ((cellCount-1)*-1)){
		$('#videoSliderPos').val(sliderPos-1);
		$slider.animate({'marginLeft' : '+=135px'});
	}
	return false;
});

$("#sidebar_review_sorter select").change(function(){
	var prodId = $("#sidebar_review_sorter").attr('class');
	var sortType = $("#sidebar_review_sorter select option:selected").val();
	sortReviews(prodId, sortType);
	return false;
});

$("#fullsize_review_sorter select").change(function(){
	var prodId = $("#fullsize_review_sorter").attr('class');
	var sortType = $("#fullsize_review_sorter select option:selected").val();
	sortReviews(prodId, sortType);
	return false;
});

function sortReviews(prodId, sortType) {
	$.ajax({
    url: '/products/sort_reviews',
    data: { product_id: prodId, selected: sortType },
		dataType: 'json',
    success: function(response){
	  	$('#sidebar_review_wrap').empty().append(response.sidebar_reviews);
			$('#fullsize_review_wrap').empty().append(response.fullsize_reviews);
 		}
 	})
 	return false;
}


$('.buttons .email_when_available').live('click', function(){
  var p_id = $(this).metadata().product_id;
  $.ajax({
		url: '/subscriptions/create_product_available_email_request',
		data: { product_id: p_id },
		success: function(response){
      if(response.dialog){
        var w = 370,
        h = 486,
        offset = ViewPort.center(w, h);
        $('#thank_you_dialog_wrapper').css({
            border: 0,
            display: 'none',
            position: 'absolute',
            zIndex: 99,
            top: offset.top,
            left: offset.left,
            width:  w,
            height: h
        });
        
        $('#overlay_white').show();
        $('#thank_you_dialog_wrapper').empty().append(response.dialog);
        $('#thank_you_dialog_wrapper').show();
        $('#thank_you_dialog_wrapper .alice-gen-popup.thanks').show();
      }
    }
  });
  return false;
});
