var getPortfolioObj = {
	getPortfolioItem : function(portfolioID) {
		var data = 'portfolioID='+portfolioID+'&style=websiteFull';
		
		$.ajax({
		    type: "POST",
		    url:  siteURL+'/ajaxDirector.php',
		    data: 'handler=getPortfolioItem&'+data,
		    success: function(msg){		    	
				var jsonObject   = eval('(' + msg + ')');
		    	var pTitle      = jsonObject.ProjectName;
		    	var pCat        = jsonObject.CatName;
		    	var pDesc       = jsonObject.ProjectDesc;
		    	var pTech       = jsonObject.ProjectTech;
		    	var pClient     = jsonObject.Client;
		    	var pURL        = jsonObject.URL;
		    	var pURLDis     = jsonObject.URLDisplay;
		    	var pDate       = jsonObject.DateProject;
		    	var photos      = jsonObject.Photos;
		    	var photosBig   = jsonObject.PhotosBig;
		    			    	
		    	$('#portfolioCategoryListContainer').hide();
		    	$('#portfolioInfoContainer').show();
		    	
		    	var projectContent  = '<h2>'+pTitle+'</h2>';
		    		projectContent += '<div style="padding: 6px 0 0 6px;"><p>';
					projectContent += '<table>';
					projectContent += '<tr><td style="width: 90px; vertical-align: top;"><span class="brownText">Client</span></td><td>'+pClient+'</td></tr>';
					projectContent += '<tr><td><span class="brownText">Created</span></td><td>'+pDate+'</td></tr>';
					if ( (pURL != '') && (pURL != null) ) {
						projectContent += '<tr><td><span class="brownText">View project</span></td><td><a href="'+pURL+'" title="'+pURL+'">'+pURLDis+'</a></td></tr>';
					}
					projectContent += '</table></p></div>';	
					if ( (pDesc != '') && (pDesc != null) ) {
						projectContent += pDesc;
					}
		    		if ( (pTech != '') && (pTech != null) ) {
		    			projectContent += '<h4>Technology Used</h4>';
		    			projectContent += pTech;
		    		}
		    	
		    		var slideshow  = '<div id="slideshow">';
		    		if (photos) {
			    		var totalPhotos = photos.length;
			    		for(j=0;j<=(totalPhotos-1);j++) {
			    			var fileName  = photos[j].Filename;
			    			var fileTitle = photos[j].PhotoTitle;
			    			var fileDesc  = photos[j].PhotoDesc;
			    			
			    			var fileNameBig  = photosBig[j].Filename;
			    			var fileTitleBig = photosBig[j].PhotoTitle; 
			    			if (j==(totalPhotos-1)) { var clsName = 'active'; }
			    			else { var clsName = ''; }
			    			slideshow += '<div id="slideshowDiv" class="'+clsName+'"><a href="http://www.upstart-productions.com/images/portfolioImages/'+fileNameBig+'" caption="'+fileDesc+'">';
			    			slideshow += '<img src="http://www.upstart-productions.com/images/portfolioImages/'+fileName+'" style="border: none;" /></a>';
			    			slideshow += '<div id="slideshowCaption" class="caption"><p>'+fileTitle+'</p></div></div>';
			    		}
			    		$('#portfolioContentContainer').css("padding-top","270px");
		    	    } else  {
		    	    	$('#portfolioContentContainer').css("padding-top","60px");
		    	    	slideshow += '<p>Project images coming soon.</p>';
		    	    }
		    	    slideshow += '</div>';
		    	    $('#portfolioInfoContainer').html(projectContent);
		    	    $('#portfolioImageContainer').html(slideshow);
		    	    $('#portfolioImageContainer a').lightBox({
		    	    	fixedNavigation: true,
		    	    	imageLoading: 'http://www.upstart-productions.com/images/ajaxAnimBlack.gif',
						imageBtnClose: 'http://www.upstart-productions.com/images/lightbox-btn-close.gif',
						imageBtnPrev: 'http://www.upstart-productions.com/images/lightbox-btn-prev.gif',
						imageBtnNext: 'http://www.upstart-productions.com/images/lightbox-btn-next.gif',
		    	    	noOfImagesString: 'off'
		    	    });
		    },
		    failure: function() {
		    	
		    }
	    });
	},
	getPortfolioListAdmin : function() {
		$.ajax({
		    type: "POST",
		    url:  siteURL+'/ajaxDirector.php',
		    data: 'handler=getPortfolioListAdmin',
		    success: function(msg){		    	
				$('#portfolioList').html(msg);
				renderPortfolioObj.attachEventHandlers();
		    },
		    failure: function() {
		    	
		    }
	    });
	},
	getPortfolioItemForEdit : function(pID) {
		var data = 'portfolioID='+pID+'&style=websiteFull';
		
		$.ajax({
		    type: "POST",
		    url:  siteURL+'/ajaxDirector.php',
		    data: 'handler=getPortfolioItem&'+data,
		    success: function(msg){		    	
				renderPortfolioObj.renderPortfolioForEdit(msg);
		    },
		    failure: function() {
		    	
		    }
	    });	
	}
}

var renderPortfolioObj = {
	renderPortfolioImages : function() {
		var $active = $('#slideshow div.active');
	
	    if ( $active.length == 0 ) $active = $('#slideshow div:last');
	
	    var $next =  $active.next().length ? $active.next()
	        : $('#slideshow div:first');
	
	    $active.addClass('last-active');
	
	    $next.css({opacity: 0.0})
	        .addClass('active')
	        .animate({opacity: 1.0}, 1000, function() {
	            $active.removeClass('active last-active');
	        });
	},
	renderPortfolioForEdit : function(jsonString) {
		var jsonObject   = eval('(' + jsonString + ')');	
		
		var pID          = jsonObject.PID;
		var pCat         = jsonObject.ProjectCat;
		var pName        = jsonObject.ProjectName;
		var pClient      = jsonObject.Client;
		var pURL         = jsonObject.URL;
		var pDate        = jsonObject.DateProject;
		var pFeatured    = jsonObject.Featured;
		var pDescription = jsonObject.ProjectDesc;
		var pTech        = jsonObject.ProjectTech;
		
		$('#pID').val(pID);
		$('#action').val('edit');
		$('#pCat').val(pCat);
		$('#pName').val(pName);
		$('#pClient').val(pClient);
		$('#pURL').val(pURL);
		$('#pDate').val(pDate);
		if (pFeatured == 1) {
			$('#pFeatured').attr('checked',true);
		}
		tinyMCE.getInstanceById('pDescription').getBody().innerHTML = pDescription;
		tinyMCE.getInstanceById('pTech').getBody().innerHTML = pTech;
		
		$('#buttonPortfolioEntryForm').hide();
		$('#formPortfolioContainer').show('fast');
		
	},
	attachEventHandlers : function() {
		$('.buttonDelete').click(function() {
			portfolioUpdateObj.deletePortfolioItem($(this).attr('pID'));
			return false;
		});
		
		$('.buttonEdit').click(function() {
			getPortfolioObj.getPortfolioItemForEdit($(this).attr('pID'));
			return false;
		});
	}
}

var portfolioUpdateObj = {
	deletePortfolioItem : function(pID) {
		var OK = confirm("Are you sure you want to delete this Portfolio Item?");
		if (OK == true) {
			$.ajax({
			    type: "POST",
			    url:  siteURL+'/ajaxDirector.php',
			    data: 'handler=deletePortfolioItem&pID='+pID,
			    success: function(msg){
			    	var bID = msg;
			    	$('#row'+pID).fadeOut('slow');
			    },
			    failure: function() {
			    	
			    }
		    });
		}
	},
	savePortfolio : function() {
		var action       = $('#action').val();
		var pID          = $('#pID').val();
		var pCat         = $('#pCat').val();
		var pName        = $('#pName').val();
		var pClient      = $('#pClient').val();
		var pURL         = $('#pURL').val();
		var pDate        = $('#pDate').val();
		var pFeatured    = $('#pFeatured').val();
		var pDescription = URLEncode(tinyMCE.get('pDescription').getContent());
		var pTech        = URLEncode(tinyMCE.get('pTech').getContent());
		
		var formData = 'action='+action+'&pID='+pID+'&pCat='+pCat+'&pName='+pName;
		formData    += '&pClient='+pClient+'&pURL='+pURL+'&pDate='+pDate;
		formData    += '&pFeatured='+pFeatured+'&pDescription='+pDescription+'&pTech='+pTech;
		$('#messagePortfolioPanel').systemMessage({
    		message: 'Portfolio entry has been saved.',
    		status:  'success'
    	});
		$.ajax({
		    type: "POST",
		    url:  siteURL+'/ajaxDirector.php',
		    data: 'handler=savePortfolio&'+formData,
		    success: function(msg){		    	
				$('#formPortfolioContainer').hide('fast');	
				$('#buttonPortfolioEntryForm').show();
				$('form')[0].reset();
				/*
				 * Refresh list
				 */
				getPortfolioObj.getPortfolioListAdmin();
				renderPortfolioObj.attachEventHandlers();
		    },
		    failure: function() {
		    	
		    }
	    });
	}
}

$(document).ready(function(){
	if ($('#portfolioList').length>0) {
		/*
		 * Attach event handlers
		 */
		renderPortfolioObj.attachEventHandlers();
		
		$('#buttonPortfolioEntryForm').click(function() {
			$('#buttonPortfolioEntryForm').hide();
			$('#formPortfolioContainer').show('fast');
			return false;
		});	
		
		$('#buttonSavePortfolio').click(function() {
			portfolioUpdateObj.savePortfolio();
			return false;
		});
		
		$('#buttonCancelPortfolio').click(function() {
			$('#formPortfolioContainer').hide('fast');	
			$('#buttonPortfolioEntryForm').show();
			$('form')[0].reset();	
			return false;
		});
		
		/*
		 * Convert date pickers
		 */
		$('#pDate').datePicker({startDate:'01/01/1996'});

	} else {
		var thumbnailLinks = $('#portfolioThumbnailsContainer img');
		
		for (var i=0; i < thumbnailLinks.length; i++) {
			$(thumbnailLinks[i]).bind("click", function() {
				getPortfolioObj.getPortfolioItem(this.id);
				return false;
			});
		};
		
		$(function() {
		    setInterval( "renderPortfolioObj.renderPortfolioImages()", 5000 );		    
		});				
	}	
});