/*
 * projectGallery for Portfolio
 * Robin Willis
 */

(function($){
	
	$.fn.extend({
	
	projectGallery : function(options){
		
		var defaults = {
			ajaxOpts: {dataType: ($.browser.msie) ? "text" : "xml", contentType: 'text/xml'}

		};
		
		settings = $.extend(true, defaults, options);
		var selected = $(this);

		$(selected).find('.media_cell').remove();//.live('fadeOut');
		//$(selected).find('.media_cell').parentElement().remove();
		$(document).find('#content').width('550px');
		var contentWidth = $(document).find('#content').width();
		
		settings.ajaxOpts.success = function(data){
			
			var xml;
			
			if (typeof data == "string") {
                xml = new ActiveXObject("Microsoft.XMLDOM");
                xml.async = false;
                xml.loadXML(data);
            } else {
                xml = data;
            }
			
			
			
			$(xml).find(settings.parentElement).each(function(){
				
				var indexValue = $(this).attr(settings.parentAttr)
				
				if ( indexValue == settings.elementID){
							
					var projTitle  = $(this).find('title').text();
					var projMedium  = $(this).find('medium').text();
					var projDate  = $(this).find('date').text();
					var projDimensions = $(this).find('dimensions').text();
					var projDescription = $(this).find('description').text();
					var projLink = $(this).find('link')
					
					var proj_Title = $(selected)
					.find('#proj_description')
					.find('h1')
					.empty()
					.append(projTitle);
					
					var proj_Medium = $(selected)
					.find('#proj_description')
					.find('#medium')
					.empty()
					.append(projMedium);
					
					var proj_Dimensions = $(selected)
					.find('#proj_description')
					.find('h4')
					.empty()
					.append(projDimensions);
					
					var proj_Description = $(selected)
					.find('#proj_description')
					.find('p')
					.empty()
					.append(projDescription);
					
					var link_Intro = $(selected)
					.find('#proj_description')
					.find('#link_intro')
					.empty();
					
					var link_List = $(selected)
					.find('#proj_description')
					.find("#link_list")
					.empty();
					
					var link_Rule = $(selected)
					.find('#proj_description')
					.find("hr")
					.hide();
					
						
					if(projLink.length >0 ){
						
						projLink.each(function(){
					
							var linkText = $(this).text();
							var linkURL = $(this).attr('url');
							var link_item = $('<li></li>');
							var link =$('<a></a>').attr({
								'href' : linkURL,
								'target' : 'blank'
							});
							link.append(linkText);
							link_item.append(link);
							link_List.append(link_item);

						});
						
						link_Intro.append('Read More');
						link_Rule.show();
						//link_List.child()
						$('li').last().addClass('last');
						//console.log(link_List.child().last());
					}
					
					
					
				
					
					
					
					
					var projMedia = $(this).find('gal').each(function(){
						
						var mediaLink = $(this).text();
						var mediaIndex = $(this).attr('index');
						var mediaWidth = $(this).attr('width');
						var mediaHeight = $(this).attr('height');
						var mediaEmbed = $(this).attr('embed');
						
						
						contentWidth = contentWidth + parseFloat(mediaWidth) + 100;
						
						$(document).find('#content').width(contentWidth +'px');
						
						if (mediaEmbed == 'blip') {
							var blipEmbedCode = '<object><embed src="' + mediaLink + '" type="application/x-shockwave-flash" width="' + mediaWidth + '" height="' + mediaHeight + '" allowscriptaccess="always" allowfullscreen="true" wmode="transparent"></embed></object>';
							var mediaItem = blipEmbedCode;
						}
						else {
						
							var image = $('<img  />').attr({
								'src': mediaLink,
								'width': mediaWidth,
								'height': mediaHeight
							}).lazyload({
								effect: "fadeIn"
							});
							var mediaItem = image;
						}
						
						var mediaWrapper = $('<a></a>').attr('href','#gal_'+mediaIndex).append(mediaItem);
						var cell = $('<div></div>').attr({
							'class': 'media_cell',
							'id' : 'gal_' + mediaIndex
						})
												   .css('width', mediaWidth+'px')
												   .css('height', mediaHeight+'px')
												   .append(mediaWrapper);
													
						$(selected).append(cell);
					});
				
			    if(settings.callback !== undefined){
                    settings.callback();
                }
				}
	
				
			});

		}
	return this.each(function() {
        	$.ajax(settings.ajaxOpts);

    });	

	
	}	
		
	});
	
})(jQuery);
