/**
 * Gproxy
 */
//Quick View
jQuery.fn.QuickView = function(qvOptions){
	
	var qvSettings = jQuery.extend({
		loaderImage: 'opc-ajax-loader.gif',
		loaderText: 'Please wait...',
		quickurlcode: '',
		quickurl: '/quickview/product/view/id/'
	}, qvOptions);
		
	var qvOptions = jQuery.extend(qvSettings, qvOptions);
	var btnQuickViewActive = true;
	
	if(qvOptions.quickurlcode != ''){
		qvOptions.quickurlcode = '/'+qvOptions.quickurlcode;
	}
	
	jQuery('body').append('<span style="display: none; position: fixed;" class="please-wait" id="quickview-please-wait"><img class="v-middle" alt="'+qvOptions.loaderText+'" src="'+qvOptions.loaderImage+'">&nbsp;'+qvOptions.loaderText+'</span>');
	
	function loading(show){
		if(show){
			jQuery('.please-wait').css({display: 'block', opacity: 0.8});
		}else{
			jQuery('.please-wait').css('display', 'none');
		}
	}
	
	function createBachground(create){
		if(create){
			jQuery('<div />').addClass('quickview-bg-body').css('visibility', 'hidden').appendTo('body');
			jQuery('.quickview-bg-body').css({opacity: 0, visibility: 'visible'}).animate({opacity: 0.5}, 200);
		}else{
			jQuery('.quickview-bg-body').animate({opacity: 0}, 200, function(){ jQuery('.quickview-bg-body').remove(); })
		}
	}
	
	function closeQuickView(){
		createBachground(false);
		jQuery('.quickview-wrap').animate({opacity: 0}, 200, function(){ jQuery(this).remove(); });
		btnQuickViewActive = true;
	}
	
	this.each(function(){
		jQuery(this).click(function(){
			if(btnQuickViewActive){
				btnQuickViewActive = false;
				loading(true);
				var product_id = jQuery(this).attr('id');
				product_id = product_id.replace('product', '');
				jQuery.ajax({
					type: "POST",
					url: qvOptions.quickurlcode+qvOptions.quickurl+product_id,
					success: function(i) {
						createBachground(true);
						jQuery(i).appendTo('body');
						loading(false);
						jQuery('.quickview-bg-body, .btn-quickview-close').click(function(){ closeQuickView(); });
					}
				});
			}
			return false;
		});
	});
}
