$(function(){
    
    $('#catalog_list_sorter').change(function(){
		location.href = $(this).val();
	});

    $('#billing_container_checked').click(function(){
        $('#billing_container').toggle();
    });
    
    $('#search_catalog_form_top').bind('submit', function(){
    	if ($('#search_catalog_form_top').find('input:text').val() == 'Search'){
    		return false;
    	}
    });
    
    $("a.email_friend").fancybox({
        titleShow     : false,
        easingIn      : 'easeOutBack',
        easingOut     : 'easeInBack',
        autoScale       : false,
        scrolling       : 'no',
        centerOnScroll  : true,
        onClosed        : function(){
    		window.location.reload()
    	}
    });
    
    init_product_gallery_flash();
	
});

function cartCheckAll(){
	$('#cart_check_all').bind('click', function(){
        
        var is_checked = $(this).is(':checked');
    
        $('#cart_list_cont').find('.item_cart_checkbox').each(function(){
           $(this).attr('checked', is_checked);
        });

    });
}

function init_confirm_payment_form(id_button, id_form, id_order_input_name, ajax_url){
	
	$('#'+id_button).click(function(){
		
		$('#'+id_button).attr("disabled", "disabled");
		
		$.ajax({
	        type    : 'POST',
	        cache   : false,
	        url     : ajax_url,
	        dataType: 'json',
	        context : this,
	        success: function(response) {
	            if (response.status == 'error'){
	                alert(response.message);
	                $('#'+id_button).removeAttr("disabled");
	            }
	            
	            if (response.status == 'finished'){
	            	window.location.href = response.redirect_url;
	            }
	            
	            if (response.status == 'success'){
	            	$('#'+id_form).find('input[name="'+id_order_input_name+'"]').val(response.order_id);
	            	$('#'+id_form).submit();
	            }
	        }
	    });
		
	});
	
	
	
}

function init_paypal_payment_form(id_button, id_form, id_order_input_name, ajax_url){
	
	$('#'+id_button).click(function(){
		
		$('#'+id_button).attr("disabled", "disabled");
		
		$.ajax({
	        type    : 'POST',
	        cache   : false,
	        url     : ajax_url,
	        dataType: 'json',
	        context : this,
	        success: function(response) {
	            if (response.status == 'error'){
	                alert(response.message);
	                $('#'+id_button).removeAttr("disabled");
	            }
	            
	            if (response.status == 'success'){
	            	window.location.href = response.redirect_url;
	            }
	        }
	    });
		
	});
	
	
	
}


function checkOnlyNumbers(event){
        
            var e = event;
            if(window.event){ // IE
                var charCode = e.keyCode;
            } else if (e.which) { // Safari 4, Firefox 3.0.4
                var charCode = e.which
            }
            
            if (charCode > 31 && (charCode < 48 || charCode > 57)){
                e.preventDefault();
            }
    
            return true;
}

function isValidQty(val){
    return (val.search(/^-?[1-9]+$/) == 0);
}

function init_email_friend_form(form_id, ajax_url){

	$('#'+form_id+'_form').bind('submit', function() {

		$(this).find(":submit").attr("disabled", "disabled");
		
		$.ajax({
            type    : 'POST',
            cache   : false,
            url     : ajax_url,
            data    : $(this).serializeArray(),
            context : this,
            success : function(data) {
				$('#'+form_id+'_container').html(data);
				$.fancybox.resize();
				$(this).find(":submit").removeAttr("disabled");
            }
        });

        return false;

    });
}

function init_rx_refill_form(form_id, ajax_url){

	$('#'+form_id).bind('submit', function() {

		$(this).find(":submit").attr("disabled", "disabled");
		
		$.ajax({
            type    : 'POST',
            cache   : false,
            url     : ajax_url,
            data    : $(this).serializeArray(),
            context : this,
            success : function(data) {
				$('#'+form_id+'_container').html(data);
				$(this).find(":submit").removeAttr("disabled");
            }
        });

        return false;
        
    });
}


function RXFormController( ){

	this.form_id = 'rx_refill'; 
	
	this.add = function(event){

		var count = $('#cnt_rx_number').val();

		if (count == 10){
			alert('Max RX Numbers');
			return false;
		}
		
		var new_count = parseInt(count)+1;
		
		$('#rx_number_row_'+count)
	    .after($('<tr>').attr('id', 'rx_number_row_'+new_count)
	    			.append($('<td>').addClass('name').text('Rx Number: '+new_count))
	    			.append($('<td>')
	    					.append($('<input type="text" name="'+this.form_id+'[rx_number]['+new_count+']"/>'))
	        				)
	        );
	    
		
		$('#cnt_rx_number').val(new_count);
	};
	
	this.remove = function(){
		var count = $('#cnt_rx_number').val();
		
		if (count == 1){
			alert('Min RX Numbers');
			return false;
		}
		
		$('#rx_number_row_'+count).remove();
		
		$('#cnt_rx_number').val(parseInt(count)-1);
	};
	
	this.initControllers = function(){
	    $('#'+this.form_id).find('#rx_add').click(this.add);
	    $('#'+this.form_id).find('#rx_remove').click(this.remove);
	};
	
};

function init_product_gallery(){
	gallery_links = $('.prodImage').find('a');
	if (gallery_links.length){
		gallery_links.each(function(){
			$(this).click(function(event){
				event.preventDefault();
				$('.prodImage').find('img').attr('src', $(this).attr('href'));
				$('.prodImage').find('a.current').removeClass('current');
				$(this).addClass('current');
			});
		});
	}
}

function init_product_gallery_flash(){
	gallery_links = $('.prodImage').find('a');
	if (gallery_links.length){
		gallery_links.each(function(){
			$(this).click(function(event){
				event.preventDefault();
				
				$('.prodImage').find('#current_image').load($(this).attr('href'));
				
				//$('.prodImage').find('img').attr('src', $(this).attr('href'));
				$('.prodImage').find('a.current').removeClass('current');
				$(this).addClass('current');
				
				
				
			});
		});
	}
}

