// Add Opacity Styles for Portfolio Film
document.write('<style type="text/css">.PortfolioFilmImage {filter:alpha(opacity=60);-moz-opacity:.60;opacity:.60;}.PortfolioFilmImage:hover {filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}</style>');
// Add Opacity Styles for Portfolio Photo
document.write('<style type="text/css">.PortfolioPhoto {filter:alpha(opacity=80);-moz-opacity:.80;opacity:.80;}.PortfolioPhoto:hover {filter:alpha(opacity=100);-moz-opacity:1;opacity:1; border:1px #000000 solid;}</style>');

var DIM6 = {
	// Begin site scripts.
	begin: function(){
		DIM6.makeHovers();
		DIM6.makeIMapHovers();
		DIM6.makeOneSubmitForms();
		DIM6.makePortfolio();
	},

	// Make hover buttons hoverable and preload hover images.
	makeHovers: function(){
		$$('.HoverButton').each(function(el){
			var OverImageSrc = el.getProperty('src').replace('.jpg','-over.jpg');
			var PreloadImageObj = new Element('img', {'src': OverImageSrc});
			el.addEvent('mouseover', function(){
				el.setProperty('src', OverImageSrc);
			});
			el.addEvent('mouseout', function(){
				el.setProperty('src', OverImageSrc.replace('-over.jpg','.jpg'));
			});				    
		});
	},

	// Make image map hovers and preload hover images.
	makeIMapHovers: function(){
		$$('.HoverIMapButton').each(function(el){
			var IMapID = el.getProperty('id');
			var IMapImage = $('iMapNavImg');
//			var IMapImage = $('MainContainer').getElement('img[usemap$='+IMapID+']');
			if ($defined(IMapImage)){
				var IMapImageOffSrc = IMapImage.getProperty('src');
				$each(el.getElements('area'), function(el, index){
					var OverImageSrc = IMapImage.getProperty('src').replace('.jpg','-'+(index+1)+'-over.jpg');
					var PreloadImageObj = new Element('img', {'src': OverImageSrc});
					PreloadImageObj.setProperty('src', OverImageSrc);
					el.addEvent('mouseenter', function(){
						IMapImage.setProperty('src', OverImageSrc);
					});
					el.addEvent('mouseleave', function(){
						IMapImage.setProperty('src', IMapImageOffSrc);
					});
				});
			}
		});
	},

	// Make forms one-time submittable.
	makeOneSubmitForms: function(){
		$$('form').each(function(el){
			// Find a submit button within the form to apply submitting styles.
			var SubmitBtn = el.getElement('input[type=submit]');
			// Bind submit event to form.
			el.addEvent('submit', function(){
				if ($defined($('OneSubmitForm_Hidden'))){
					return false;
				} else {
					// Insert a Hidden Field to keep track of click status.
					var HiddenField = new Element('input',{'type':'hidden', 'name':'OneSubmitForm_Hidden', 'id':'OneSubmitForm_Hidden', 'value':'0'});
					HiddenField.injectTop(el);
					// Change submit button style to indicate submitting.
					if ($defined(SubmitBtn)){
						SubmitBtn.setStyle('background-color', '#a4a4a4');
						SubmitBtn.setProperty('value', 'Sending...');
						//SubmitBtn.setProperty('disabled', true);
					}
					return true;
				}
			});
		});
	},

	// Make Portfolio
	makePortfolio: function(){
		if ($defined($('PortfolioPage'))){
			window.addEvent('domready', function() {
				// Create new Carousel object
				new iCarousel('PortfolioFilm', {
					idPrevious: 'PortfolioFilmLeft',
					idNext: 'PortfolioFilmRight',
					idToggle: 'undefined',
					item: {
						klass: 'PortfolioFilmPiece',
						size: 122
					},
					animation: {
						type: 'scroll',
						direction: 'left',
						transition: Fx.Transitions.Back.easeOut,
						duration: 1200,
						amount: 4
					}
				});
				
			    // Portfolio Item Show
				var pSlider, pFx, pAjax;
				
				pFx = new Fx.Morph($('PortfolioItemInfo'), {duration: 500, transition: Fx.Transitions.Quart.easeInOut});
			    pSlider = new Fx.Slide('PortfolioItemInfo', {duration: 500});

				$$('.PortfolioFilmPieceClick').each(function(el){
					var ID = el.getProperty('rel');
				    el.addEvent('click', function(){
				    	el.blur();
						pFx.start({
							'opacity': 0
						}).chain(function(){
							pSlider.slideOut().chain(function(){
								var HTMLRequest = new Request.HTML({
									url:'./',
									method:'get',
									data:'page=portfolio&action=get_info&ID='+ID,
			   						update: $('PortfolioItemInfo'),
									onSuccess: function(html){
										pSlider.slideIn();
									},
									onFailure: function(){
										alert('Unable to fetch page. Please try again later.');
									}
								}).send();
							}).chain(function(){
								pFx.start({'opacity': 1});
							});
						});
				    });
				});
			});			
		}
	}

};

window.addEvent('domready', DIM6.begin);