$(document).ready(function(){
	// handle home page slideshow
	$('#slideshow').cycle({
    	fx:     'fade',
    	speed:  'slow',
    	timeout: 5000,
    	pager:  '#headernav',
		prev: '#prev_arrow',
		next: '#next_arrow'
	});

	// handle newsletter submission
	$('#submit_newsletter').click(function() {
		$('#mailinglist_form').submit();
	});

	// fix PNG-24 inline images
	// $(document).pngFix();
	$('img[src$="png"], ul#trade_buttons li a').DD_belatedPNG();

	// handle trade validation response
	function tradeResponse(responseText, statusText){
		var errors = $('#messages', responseText).html();
		var title = $('#messages', responseText).prev('h1').text();

		if($('.portal-promo-trade').is('#form_register')){
			var header = 'Registration';
			var location = '/trade/confirm/';
		}
		else{
			var header = 'Login';
			var location = '/trade/';
		}

		if(errors != null){
			if($('li', errors).length > 0){
				$('#messages').css('display', 'block').html('<h3>' + header + ' Error:</h3>' + errors).hide().fadeIn(300);
			}
			else if($('.portal-promo-trade').is('#forgot_password')){
				$('.portal-promo-trade form, .portal-promo-trade #messages').hide();
				$('.portal-promo-trade > h1.promos-1-h1').text(title);
				$('#sign_up').html(errors);
			}
			else{
				top.location.href = location;
			}
		}
		else{
			top.location.href = location;
		}
	}

	$('.portal-promo-trade form').ajaxForm({success: tradeResponse});

	// handle POS validation response
	function posResponse(responseText, statusText){
		$('form#posform input, form#posform textarea').removeAttr('disabled');

		var errors = $('#messages', responseText).html();
		var success = '<p class="success">Your Request has been made!</p>';

		if(errors != null){
			if($('li', errors).length > 0){
				$('#pos_form #messages').css('display', 'block').hide().html('<h3>Request Error:</h3>' + errors).fadeIn(300);
			}
			else{
				$('#rightside > .content .jumps, .content #posform').hide();
				$('#rightside > .content').append(success);
			}
		}
		else{
			$('#rightside > .content .jumps, .content #posform').hide();
			$('#rightside > .content').append(success);
		}
	}

	$('form#posform').submit(function(){
		$('.image_logo', this).each(function(){
			var quantity = $('.info p.quantity input.quantity', this);
			var quantityHidden = quantity.prev('input[type="hidden"]');
			var comments = $('.description p textarea', this);
			var commentsHidden = comments.prev('input[type="hidden"]');

			if(quantityHidden.data('val') == undefined){
				quantityHidden.data('val', $(quantityHidden).val());
				commentsHidden.data('val', $(commentsHidden).val());
			}
			else{
				quantityHidden.val(quantityHidden.data('val'));
				commentsHidden.val(commentsHidden.data('val'));
			}

			if(quantity.val() == ''){
				quantity.attr('disabled', 'disabled');
				quantityHidden.attr('disabled', 'disabled');
				comments.attr('disabled', 'disabled');
				commentsHidden.attr('disabled', 'disabled');
			}
			else{
				quantityHidden.val(quantityHidden.data('val') + ' ' + quantity.val());
				quantity.attr('disabled', 'disabled');

				if(comments.val() == 'Comments:' || comments.val() == ''){
					comments.attr('disabled', 'disabled');
					commentsHidden.attr('disabled', 'disabled');
				}
				else{
					commentsHidden.val(commentsHidden.data('val') + ' ' + comments.val());
					comments.attr('disabled', 'disabled');
				}
			}
		});
		
		var options = {
			success: posResponse
		};

		$(this).ajaxSubmit(options);
		
		return false;
	});

	// handle comments text field
	$('.image_logo textarea.field').focus(function(){
		if($(this).val() == 'Comments:'){
			$(this).val('');
		}
	}).blur(function(){
		if($(this).val() == ''){
			$(this).val('Comments:');
		}
	});

	// handle POS toggling
	$('.pos_section h3').next('.products').hide();
	$('.pos_section h3 a').toggle(function(){
		$(this).addClass('active').parents('h3').next('.products').slideDown(200);
	}, function() {
		$(this).removeClass('active').parents('h3').next('.products').slideUp(200);
	});
});