/*
-----------------------------------------------
VTDesignWorks.com
Script: vdwPortfolio
Author: Ben Glassman
Organization: Vermont Design Works
Created: 26 Feb 2010
----------------------------------------------- */

vdwPortfolio = {
	defaults : {
		ajaxHandlerURL : '/portfolio/ajax',
		details : '#portfolio-item-details',
		triggers : '.trigger-portfolio-details',
		detailsLoading : '<img src="/assets/templates/main/images/portfolio/ajax-loader.gif" alt="loading..." width="126" height="22" />'
	},
	init : function(options) {
		$loader = $jq(this.defaults.detailsLoading);
		this.options = $jq.extend({}, this.defaults, options);
		this.$btnDetails = $jq(this.options.btnDetails);
		this.$triggers = $jq(this.options.triggers);
		var self = this;
		this.$triggers.each(function() {
			$jq(this).data('btnDetails', $jq(this).find(self.options.btnDetails));
		});
		this.$triggers.live('click', function(e) {
			e.preventDefault();
			$parent = $jq(e.target).closest(self.options.triggers);
			$a = $parent[0].nodeName.toLowerCase() == 'a' ? $parent : $parent.find('a').eq(0);
			var href = $a.attr('href');
			var portfolio_item_id = href.match(/portfolio_item_id=(\d+)/)[1];
			var pc_matches = href.match(/portfolio_category_id=(\d+)/);
			var portfolio_category_id = pc_matches ? pc_matches[1] : 0;
			var featured_matches = href.match(/featured=1/);
			var featured = featured_matches ? 1 : 0;
			self.showDetails(portfolio_item_id, portfolio_category_id, featured);
		});		
	},
	showDetails : function(portfolio_item_id, portfolio_category_id, featured) {
		var self = this;
		$loader.addClass('loader').appendTo('#portfolio-item-details .wrapper');
		$loader.show();
		var data = {
			portfolio_mode : 'details',
			portfolio_item_id : portfolio_item_id,
			portfolio_category_id : portfolio_category_id,
			featured : featured,
			image_size : 'full',
			details_tpl : 'portfolio_ajax_details_tpl'
		}
		$jq.get(this.options.ajaxHandlerURL, data, function(data) {
			var $details = $jq(self.options.details);
			if (!$details.length) {
				$jq('body').append(data);
				$details = $jq(self.options.details).dialog({
					dialogClass : 'dialog-portfolio',
					draggable : false,
					modal : true,
					resizable : false,
					width : 725
				});
				$details.parent('.ui-dialog').css('overflow', '');
			}
			$jq('<img />').load(function() {
				$loader.hide();
				$details.html($jq(data).html()).dialog('open');
			}).attr('src', $details.find('img').attr('src'));
		});
	}
}
