// JavaScript Document

window.addEvent("domready", function(){
	def.init();
});

// pl functions
def={
	init:function(){
		//if($('header')){ mm.init(); }
		//if($('dirSSlist')){ dirSS.init($('dirSSlist')); }
		//if($('workthumbs')){ thumbs.init(); }
		def.browser = bc.browserCheck();
		if($('projectnav')){ pn.init(); }
		if($('wallwrap')){ wall.init(); }
		if($('fbgwrap')){ fbg.init(); }
		if($('contentlinks')){ pj.init(); }
	}
}

// browser check
bc={
	browserCheck:function(){
		var sBrowser = navigator.userAgent;
		//alert(sBrowser);
		if (sBrowser.toLowerCase().indexOf('msie') > -1) return 'ie';
		else if (sBrowser.toLowerCase().indexOf('firefox') > -1) return 'firefox';
		else if (sBrowser.toLowerCase().indexOf('chrome') > -1) return 'chrome';
		else return 'notsure';	
	}
}

// main menu
mm={
	init:function(){
		
	}
}

// project nav
pn={
	init:function(){
		// highlight categories
		$('projectlist').getElements('a').each(function(element){
			element.addEvent('mouseenter',function(){
				//alert(this.get('id'));
				pn.projectHover(this.get('id'),'nav');
			});
			element.addEvent('mouseleave',function(){
				pn.projectLeave(this.get('id'),'nav');
			});
		});
		// highlight projects
		$('catlist').getElements('li').each(function(element){
			element.addEvent('mouseenter',function(){
				$('catlist').getElements('li').each(function(el){
					if(el.hasClass('curOut')) el.removeClass('curOut');
					el.addClass('remove');
				});
				element.removeClass('remove');
				element.addClass('highlight');
				$('projectlist').getElements('a').each(function(element2){
					if(element2.hasClass('cursel')){
						element2.removeClass('cursel');
						// add temp cur class
						element2.addClass('tempCur');
					}
					if(element.get('id')=='cDi' && element2.hasClass('cDi')){
						element2.addClass('remove');
					}
					if(element.get('id')=='cD' && element2.hasClass('cD')){
						element2.addClass('remove');
					}
					if(element.get('id')=='cM' && element2.hasClass('cM')){
						element2.addClass('remove');
					}
					if(element.get('id')=='cP' && element2.hasClass('cP')){
						element2.addClass('remove');
					}
				});
			});
			element.addEvent('mouseleave',function(){
				//alert('cat off');
				$('projectlist').getElements('a').each(function(element2){
					if(element2.hasClass('remove')) element2.removeClass('remove');
					if(element2.hasClass('tempCur')){
						element2.removeClass('tempCur');
						element2.addClass('cursel');
					}
				});
				$('catlist').getElements('li').each(function(element){
					if(element.hasClass('remove')) element.removeClass('remove');
					if($$('.project').length > 0){
						if(element.hasClass('cOut')) element.addClass('curOut');
					}
				});
			});
		});
		if($('wallwrap')){
			pn.walllist = $$('.wall_th_image_id');
		}
	},
	projectHover:function(linkId,hoverType){
		$('catlist').getElements('li').each(function(element){
			if(element.hasClass('curOut')){
				element.removeClass('curOut');
			}
		});  
		if(!$(linkId).hasClass('cDi')){
			$('cDi').addClass('remove');
		}
		if(!$(linkId).hasClass('cD')){
			$('cD').addClass('remove');
		}
		if(!$(linkId).hasClass('cM')){
			$('cM').addClass('remove');
		}
		if(!$(linkId).hasClass('cP')){
			$('cP').addClass('remove');
		}
		
		if(pn.walllist.length > 0 && hoverType == 'nav'){
			pn.walllist.each(function(element){
				if("p"+element.get('text') == linkId){
					wall.wallItemHover(element.getParent().getParent(),'nav');
				}
			});
		}
		
	},
	projectLeave:function(linkId,hoverType){
		$('catlist').getElements('li').each(function(element){
			if(element.hasClass('remove')){
				element.removeClass('remove');
			}
			if($$('.project').length > 0){
				//alert($$('.project').length);
				if(element.hasClass('cOut')) element.addClass('curOut');
			}
		});
		if(pn.walllist.length >0 && hoverType == 'nav'){
			pn.walllist.each(function(element){
				if("p"+element.get('text') == linkId){
					wall.wallItemLeave(element.getParent().getParent(),'nav');
				}
			});
		}
	}
}

// work thumbnails
thumbs={
	init:function(){
		var thumbinfo = $('workthumbs').getElements('.info');
		thumbinfo.each(function(element){
			var thisheight = element.getStyle('height').substring(0,element.getStyle('height').length-2);
			var thispadding = element.getStyle('padding-top').substring(0,element.getStyle('padding-top').length-2);
			var moveheight = Math.ceil(thisheight)+(thispadding*2);
			element.setStyle('top','-'+moveheight+'px');
			var slideInfo = new Fx.Morph(element,{
				'fps':60,
				'duration':300,
				'link':'cancel',
				'transition':'expo:out'
			});
			element.getParent().getParent().addEvent('mouseenter',function(){			  
				slideInfo.start({
					'top':0
				});
			});
			element.getParent().addEvent('mouseleave',function(){
				slideInfo.start({
					'top':'-'+moveheight+'px'
				});
			});
		});
	}
}

// wall
wall={
	init:function(){
		wall.walllist = $('walllist').getElements('div');
		wall.imgWidth = parseInt($('walllist').getStyle('width'));
		wall.imgHeight = parseInt($('walllist').getStyle('height'));
		//if($('debug')) alert('wall width : '+wall.imgWidth+' px\nwall height : '+wall.imgHeight+' px');
		wall.newWidth;
		wall.newHeight;
		wall.topOffset;
		wall.leftOffset;
		//alert('wall');
		wall.convertWallCoords();
		wall.getNewSizes();
		wall.preloadCells();
		wall.setWallLinks();
		window.addEvent('resize', function(){
			if(!$('debug')){
				wall.getNewSizes();
			}
		});
		//$('wall').removeClass('hideMe');
	},
	convertWallCoords:function(){
		//alert(walllist.length);
		wall.walllist.each(function(element){
			Array.each(['top','left','width','height'],function(coord){
				var val_pixel = parseInt(element.getStyle(coord));
				if(coord == 'width' || coord == 'height'){
					val_pixel += 1; // cover gaps!
				}
				if(coord == 'top' || coord == 'height'){
					var val_percent = (val_pixel/wall.imgHeight)*100;
					//db.display(val_percent);
				}else{
					var val_percent = (val_pixel/wall.imgWidth)*100;
				}
				if(coord == 'width' || coord == 'height'){
					//val_percent = Math.ceil(val_percent);
				}
				element.setStyle(coord,val_percent+"%");
				//db.display(val_percent+"%")
			});
		});
	},
	setCellSize:function(element){ // pass ID on loaded image
		if(element.getElement('img')){
			var parentWidth = parseInt(element.getElement('img').getParent().getStyle('width'));
			var parentHeight = parseInt(element.getElement('img').getParent().getStyle('height'));
			//alert(parentHeight);
			var imageWidth = element.getElement('.wall_th_image_width').get('text');
			var imageHeight = element.getElement('.wall_th_image_height').get('text');
			//alert(imageWidth);
			var windowRatio = parentWidth / parentHeight;
			var imgRatio = imageWidth / imageHeight;
			if(windowRatio < imgRatio){	
				// FIT HEIGHT - ADAPT WIDTH
				//alert('fit height');
				var ratioHeight = parentHeight / imageHeight;
				var newWidth = parseInt(imageWidth * ratioHeight);
				var newHeight = parentHeight;
				// offset width
				var leftOffset = parseInt((newWidth - parentWidth)*0.5);
				// reset offset height
				var topOffset = 0;
			}else{
				// FIT WIDTH - ADAPT HEIGHT
				//alert('fit width');
				var ratioWidth = parentWidth / imageWidth;
				var newWidth = parentWidth;
				var newHeight = parseInt(imageHeight * ratioWidth);
				//alert(wall.newHeight);
				// offset height
				var topOffset = parseInt((newHeight - parentHeight)*0.5);
				// reset offset width
				var leftOffset = 0;
			}
			// set changes
			
			element.getElement('img').set({
				'width':newWidth,
				'height':newHeight
			});
			element.getElement('img').setStyles({
				'top':"-"+topOffset,
				'left':"-"+leftOffset
			});
		}
	},
	setWallLinks:function(){
		//alert('setup');
		wall.walllist.each(function(element){
			if(element.getElement('a')){
				element.getElement('a').addEvent('click',function(){
					if(element.getElements('.wall_th_image_id').length > 0){
						var projectId = element.getElements('.wall_th_image_id').get('text');
						var project_url = $('p'+projectId).get('href');
						window.location = project_url;
					}
					return false;
				});
				element.getElement('a').addEvent('mouseenter',function(){
					wall.wallItemHover(this.getParent(),'wall');
				});
				element.getElement('a').addEvent('mouseleave',function(){
					wall.wallItemLeave(this.getParent(),'wall');
				});
			}
		});
	},
	preloadCells:function(){
		var idArray = $$('.wall_th_image_id').get('text');
		var upArray = $$('.wall_th_image_path').get('text');
		var overArray = $$('.wall_th_image_over').get('text');
		//alert(overArray.length);
		var imageArray = new Array();
		for(var i=0;i<upArray.length;i++){
			if(imageArray.indexOf(upArray[i]) == -1){
				imageArray.push(upArray[i]);
				imageArray.push(overArray[i]);
			}
		}
		//db.display(imageArray);
		var loadedArray = new Array();
		var myImages = Asset.images(imageArray, {
			onProgress: function(counter,index){
				loadedArray[index] = 1;
				//db.display(1 % 2);
				if(index % 2 == 0){
					// loaded up - check over
					//db.display(imageArray[index]);
					if(loadedArray[index+1] == 1){
						wall.revealCell(imageArray[index]);
						//alert();
					}
				}else if(index % 2 == 1){
					// loaded over - check up
					//db.display(imageArray[index]);
					if(loadedArray[index-1] == 1){
						wall.revealCell(imageArray[index-1]);
						//alert();
					}
				}
			},
			onComplete: function(){
				//db.display(loadedArray);
			}
		});
		/*for(var i=0;i<upArray.length;i++){
			//alert('a');
			var myImages = Asset.images([upArray[i],overArray[i]], {
				onProgress: function(counter,index,source){
					alert(source[counter]);
					//loadedArray[index] = '1';
					//db.display(1 % 2);
					//if()
				},
				onComplete: function(){
					wall.revealCell();
				}
			});
		}*/
		
	},
	revealCell:function(upImage){
		//alert(upImage);
		//alert(wall.walllist.length);
		wall.walllist.each(function(element){
			//alert(element.getElement('.wall_th_image_path').get('text'));
			if(element.getElements('.wall_th_image_path').length > 0){
				if(element.getElements('.wall_th_image_path').get('text') == upImage){
					//var cellLink = "<a href=\"#\"><img src=\""+upImage+"\" /></a>\n";
					element.getElement('img').fade('hide');
					element.getElement('img').removeClass('hideMe');
					element.getElement('img').fade('in');
					//wall.setCellSize(element);
					//wall.setWallLinks();
				}
			}
		});
	},
	wallItemHover:function(element,hoverType){
		if(element.getElements('.wall_th_image_id').length > 0 && hoverType == 'wall'){
			var projectId = element.getElements('.wall_th_image_id').get('text');
			$('p'+projectId).addClass('cursel');
			pn.projectHover('p'+projectId,'wall');
		}
		if(element.getElements('.wall_th_image_over').length > 0){
			var img_over = element.getElement('.wall_th_image_over').get('text');
			if(element.getElement('img')){
				element.getElement('img').set('src',img_over);
			}
		}
	},
	wallItemLeave:function(element,hoverType){
		if(element.getElements('.wall_th_image_id').length > 0 && hoverType == 'wall'){
			var projectId = element.getElements('.wall_th_image_id').get('text');
			$('p'+projectId).removeClass('cursel');
			pn.projectLeave('p'+projectId,'wall');
		}
		if(element.getElements('.wall_th_image_path').length > 0){
			var img_path = element.getElement('.wall_th_image_path').get('text');
			if(element.getElement('img')){
				element.getElement('img').set('src',img_path);
			}
		}
	},
	getNewSizes:function(){
		//wall.wWidth = parseInt($('wallwrap').getStyle('width'));
		//wall.wHeight = parseInt($('wallwrap').getStyle('height'));
		wall.wWidth = parseInt($('mainwrap').getStyle('width'))+parseInt($('mainwrap').getStyle('padding-left'));
		wall.wHeight = parseInt($('mainwrap').getStyle('height'));
		//if($('debug')) alert('window width : '+wall.wWidth+' px\nwindow height : '+wall.wHeight+' px');
		wall.setNewSizes();
	},
	setNewSizes:function(){
		//alert(wall.wWidth);
		var windowRatio = wall.wWidth / wall.wHeight;
		var imgRatio = wall.imgWidth / wall.imgHeight;
		if(windowRatio < imgRatio){
			// FIT HEIGHT - ADAPT WIDTH
			//alert('fit height');
			var ratioHeight = wall.wHeight / wall.imgHeight;
			wall.newWidth = parseInt(wall.imgWidth * ratioHeight);
			wall.newHeight = wall.wHeight;
			// offset width
			wall.leftOffset = parseInt((wall.newWidth - wall.wWidth)*0.5);
			// reset offset height
			wall.topOffset = 0;
		}else{
			// FIT WIDTH - ADAPT HEIGHT
			//alert('width');
			var ratioWidth = wall.wWidth / wall.imgWidth;
			//alert(ratioWidth);
			wall.newWidth = wall.wWidth;
			wall.newHeight = parseInt(wall.imgHeight * ratioWidth);
			//alert(wall.newHeight);
			// offset height
			wall.topOffset = parseInt((wall.newHeight - wall.wHeight)*0.5);
			// reset offset width
			wall.leftOffset = 0;
		}
		$('walllist').setStyles({
			'top':'-'+wall.topOffset+'px',
			'left':'-'+wall.leftOffset+'px',
			'width':wall.newWidth+'px',
			'height':wall.newHeight+'px'
		});
		wall.setWallSizes();
	},
	setWallSizes:function(){ // pass ID on loaded image
		//alert(wall.walllist[25].getElement('img').getParent().getStyle('width'));
		wall.walllist.each(function(element){
			if(element.getElement('img')){
				// if ie set link sizes
				if(def.browser == 'ie'){
					//alert(parseInt(element.getElement('img').getParent().getStyle('width')));
					var linkWidth = Math.round((parseFloat(element.getStyle('width')) * 0.01) * wall.newWidth);
					var linkHeight = Math.round((parseFloat(element.getStyle('height')) * 0.01) * wall.newHeight);
					//alert(linkWidth);
					//if($('debug')) alert('link parent width : '+linkWidth+' px\nlink parent height : '+linkHeight+' px');
					element.getElement('a').setStyles({
						'width': linkWidth+'px',
						'height' : linkHeight+'px'
					}); 
				}
				var parentWidth = parseInt(element.getElement('img').getParent().getStyle('width'));
				var parentHeight = parseInt(element.getElement('img').getParent().getStyle('height'));
				//if($('debug')) alert('div parent width : '+element.getStyle('width')+' pxdiv parent height : '+element.getStyle('width')+' px\nlink parent width : '+parentWidth+' px link parent height : '+parentHeight+' px');
				//if($('debug')) alert('div parent width : '+element.getStyle('width')+' px\ndiv parent height : '+element.getStyle('width')+' px');
				var imageWidth = element.getElement('.wall_th_image_width').get('text');
				var imageHeight = element.getElement('.wall_th_image_height').get('text');
				//alert(imageWidth);
				var windowRatio = parentWidth / parentHeight;
				var imgRatio = imageWidth / imageHeight;
				//if($('debug')) alert('window ratio : '+windowRatio+'\nimage ratio : '+imgRatio );
				if(windowRatio < imgRatio){	
					// FIT HEIGHT - ADAPT WIDTH
					//alert('fit height');
					var ratioHeight = parentHeight / imageHeight;
					var newWidth = parseInt(imageWidth * ratioHeight);
					var newHeight = parentHeight;
					// offset width
					var leftOffset = parseInt((newWidth - parentWidth)*0.5);
					// reset offset height
					var topOffset = 0;
					//if($('debug')) alert('fit height');
				}else{
					// FIT WIDTH - ADAPT HEIGHT
					//alert('fit width');
					var ratioWidth = parentWidth / imageWidth;
					var newWidth = parentWidth;
					var newHeight = parseInt(imageHeight * ratioWidth);
					//alert(wall.newHeight);
					// offset height
					var topOffset = parseInt((newHeight - parentHeight)*0.5);
					// reset offset width
					var leftOffset = 0;
				}
				//if($('debug')) alert('link parent height : '+parentHeight+' px\nimg height : '+newHeight+' px\nheight offset : '+topOffset+' px');

				// set img changes
				element.getElement('img').set({
					'width':newWidth,
					'height':newHeight
				});
				element.getElement('img').setStyles({
					'top':"-"+topOffset,
					'left':"-"+leftOffset
				});
			}
		});
	}
}

fbg={
	init:function(){
		fbg.imgPath = $('fbg_path').get('text');
		fbg.imgWidth = $('fbg_width').get('text');
		fbg.imgHeight = $('fbg_height').get('text');
		//if($('debug')) alert('image width : '+fbg.imgWidth+' px\nimage height : '+fbg.imgHeight+' px');
		fbg.newWidth;
		fbg.newHeight;
		fbg.topOffset;
		fbg.leftOffset;
		fbg.fbgLoad();
	},
	fbgLoad:function(){
		var fbgHolder = new Element('img',{
			id:'fbg',
			src:fbg.imgPath,
			width:fbg.imgWidth,
			height:fbg.imgHeight,
			'class':'hideMe'
		});
		fbgHolder.inject($('fbgwrap'));
		
		var myBgImage = [fbg.imgPath];
		
		var myImages = Asset.images(myBgImage, {
			onProgress: function(counter,index){
				//db.display(myBgImage);
			},
			onComplete: function(){
				//db.display('done');
				fbg.prepImg();
			}
		});
		
	},
	prepImg:function(){
		//$('fbg').fade('hide');
		//$('fbg').removeClass('hideMe');
		//$('fbg').fade('in');
		//if($('debug')) alert('bg image loaded');
		
		fbg.getNewSizes();
		window.addEvent('resize', function(){
			if(!$('debug')){
				fbg.getNewSizes();
			}
		});
		$('fbg').removeClass('hideMe');
	},
	getNewSizes:function(){
		//fbg.wWidth = parseInt($('fbgwrap').getStyle('width'));
		fbg.wWidth = parseInt($('mainwrap').getStyle('width'))+parseInt($('mainwrap').getStyle('padding-left'));
		fbg.wHeight = parseInt($('mainwrap').getStyle('height'));
		//if($('debug')) alert('window width : '+fbg.wWidth+' px\nwindow height : '+fbg.wHeight+' px');
		fbg.setNewSizes();
	},
	setNewSizes:function(){
		var windowRatio = fbg.wWidth / fbg.wHeight;
		var imgRatio = fbg.imgWidth / fbg.imgHeight;
		if(windowRatio < imgRatio){
			// FIT HEIGHT - ADAPT WIDTH
			var ratioHeight = fbg.wHeight / fbg.imgHeight;
			fbg.newWidth = parseInt(fbg.imgWidth * ratioHeight);
			fbg.newHeight = fbg.wHeight;
			// offset width
			fbg.leftOffset = parseInt((fbg.newWidth - fbg.wWidth)*0.5);
			// reset offset height
			fbg.topOffset = 0;
		}else{
			// FIT WIDTH - ADAPT HEIGHT
			//alert('width');
			var ratioWidth = fbg.wWidth / fbg.imgWidth;
			fbg.newWidth = fbg.wWidth;
			fbg.newHeight = parseInt(fbg.imgHeight * ratioWidth);
			// offset height
			fbg.topOffset = parseInt((fbg.newHeight - fbg.wHeight)*0.5);
			//if($('debug')) alert('img offset top : -'+fbg.topOffset+' px\nnew height = '+fbg.newHeight+' px');
			// reset offset width
			fbg.leftOffset = 0;
		}
		//if($('debug')) alert('img offset top : -'+fbg.topOffset+' px\nimg offset left : -'+fbg.leftOffset+' px');
		$('fbg').setStyles({
			'top':'-'+fbg.topOffset+'px',
			'left':'-'+fbg.leftOffset+'px'
		});
		$('fbg').set({
			'width':fbg.newWidth,
			'height':fbg.newHeight
		});
	}
}

// project content
pj={
	init:function(){
		pj.setContentLinks();
		if($('imageslink')){
			pj.preloadSlideshow();
		}
		/*$('contentlinks').getElements('li').each(function(element){
			switch(element.get('id')){
					case 'movielink':
						
						break;
					case 'imageslink':
						//if($('content_ss')){
							//pj.preloadSlideshow();
							//return false;
						//}
						break;
					default:
						break;
				}
		});*/
	},
	setContentLinks:function(){
		if($('movielink')){
			$('movielink').getElement('a').addEvent('click',function(){
				if($('content_vimeoId')){
					pj.loadMovie($('content_vimeoId').get('text'));
					return false;
				}
			});
		}
		if($('imageslink')){
			$('imageslink').getElement('a').addEvent('click',function(){
				if($$('.content_ss_image').length > 0){
					//alert($$('.content_ss_image_path')[0].get('text'));
					pj.loadImageViewer($$('.content_ss_image_path')[0].get('text'));
				}else{
					alert("no ss images in directory");
				}
				return false;
			});
		}
	},
	loadMovie:function(vimeoID){
		var projectID = $('content_projectID').get('text');
		var requestURL = "projectcontent/movie.php?id="+projectID+"&mov="+vimeoID;
		var req = new Request({
			method: 'get',
			//data: { 'request' : '1' },
			url: requestURL,
			onRequest: function() {
				//alert('Request made. Please wait...');
			},
			onComplete: function(response) {
				pj.dimBg();
				$('contentarea').set('html',response);
				pj.setBack();
			}
		}).send();
	},
	loadImageViewer:function(imgPath){
		var projectID = $('content_projectID').get('text');
		var imageTotal = $$('.content_ss_image_num')[pj.ssItems.length-1].get('text');
		//alert(imageTotal);
		var requestURL = "projectcontent/images.php?id="+projectID+"&img="+imgPath+"&cnt="+imageTotal;
		var req = new Request({
			method: 'get',
			//data: { 'request' : '1' },
			url: requestURL,
			onRequest: function() {
				//alert('Request made. Please wait...');
			},
			onComplete: function(response) {
				pj.dimBg();
				$('contentarea').set('html',response);
				pj.setBack();
				// set image viewer controls
				pj.prepImageViewer();
			}
		}).send();
	},
	preloadSlideshow:function(){
		pj.ssItems = $$('.content_ss_image_path').get('text');
		pj.ssNums = $$('.content_ss_image_num').get('text');
		var myImages = Asset.images(pj.ssItems, {
			onProgress: function(counter,index){
				//db.display(counter+" of "+(pj.ssItems.length-1));
			},
			onComplete: function(){
				//alert('All images loaded!');
			}
		});
		//alert(pj.ssItems[0].getElement('.content_ss_image_path').get('text'));
	},
	prepImageViewer:function(){
		var curImgIndex = 0;
		//pj.imageSlides = $$('.content_ss_image').get('text');
		$('imgNav_next').addEvent('click',function(event){
			// links nav links revealed
			$('imageviewer').getElements('a').each(function(element){
				element.setStyles({
					'display':'block',
					'width':'360px'
				});
			});
			curImgIndex++;
			if(curImgIndex == pj.ssItems.length-1){
				//curImgIndex = 0; // LOOP
				$('imgNav_next').setStyle('display','none');
			}
			pj.updateImageViewer(curImgIndex);
			return false;
		});
		$('imgNav_prev').addEvent('click',function(event){
			$('imageviewer').getElements('a').each(function(element){
				element.setStyle('display','block');
			});
			curImgIndex--;
			if(curImgIndex == 0){
				//curImgIndex = pj.ssItems.length-1; // LOOP
				$('imgNav_prev').setStyle('display','none');
			}
			pj.updateImageViewer(curImgIndex);
			return false;
		});
	},
	updateImageViewer:function(imageIndex){
		//alert(imageIndex);
		$('imageviewer').getElement('img').set('src',pj.ssItems[imageIndex]);
		$('indicator').getElement('span').set('text',pj.ssNums[imageIndex]);
	},
	dimBg:function(){
		var dbgHolder = new Element('div',{
			id:'dbg',
			styles:{
				'width':'100%',
				'height':'100%',
				'background-image':'url(../assets/main/transparentbg_65.png)',
				'position':'fixed',
				'top':0,
				'left':0,
				'z-index':'21'
			}
		});
		dbgHolder.inject(document.body);
		$('contentarea').setStyle('z-index','22');
	},
	killDim:function(){
		$('dbg').dispose();
		$('contentarea').setStyle('z-index','19');
	},
	setBack:function(){
		Array.each([$('dbg'),$('contentarea'),$('goback').getElement('a')],function(element){
			element.addEvent('click',function(){
				pj.closeContent();
				return false;
			});
		});
		if($('imageviewer')){
			$('imageviewer').addEvent('click',function(){
				return false;
			});
		}
	},
	closeContent:function(){
		var projectID = $('content_projectID').get('text');
		var requestURL = "projectcontent/default.php?resetID="+projectID;
		var req = new Request({
			method: 'get',
			//data: { 'request' : '1' },
			url: requestURL,
			onRequest: function() {
				//alert('Request made. Please wait...');
			},
			onComplete: function(response) {
				pj.killDim();
				$('contentarea').set('html',response);
				pj.setContentLinks();
			}
		}).send();
	}
}

// directory based slideshow (SS) - pass ul of image paths
dirSS={
	init:function(ulobj){
		dirSS.counter=1;
		dirSS.imgPaths = ulobj.getElements('li').get('text');
		var loader = new Asset.images(dirSS.imgPaths, {
			onProgress: function(counter, index){
			},
			onComplete: function(){
				//alert(dirSS.imgPaths.length+" images are all loaded");
			}
		});
		var imgEl = new Element('img',{
			'id':'dirSSfader',
			'src':dirSS.imgPaths[dirSS.counter],
			'styles':{
				'position':'absolute',
				'top':'0px',
				'left':'0px'
			}
		});
		var imgWrap = $('dirSSview').getParent();
		imgWrap.set('styles',{
			'position':'relative'
		});
		imgEl.set('opacity','0');
		imgEl.inject(imgWrap,'top');
		dirSS.rotate.periodical(4000);
	},
	rotate:function(){
		var newSrc = dirSS.imgPaths[dirSS.counter];
		$('dirSSfader').set('src',newSrc);
		var fader = new Fx.Tween($('dirSSfader'),{
			fps:30,
			transition: 'linear',
			duration: 1000,
			onComplete:function(){
				$('dirSSview').set('src',newSrc);
				this.set('opacity','0');
			}
		});
		fader.start('opacity','1');
		dirSS.counter++;
		if(dirSS.counter==dirSS.imgPaths.length){
			dirSS.counter=0;
		}
	},
	preload:function(){
	
	}
}

// debug output
db={
	init:function(){
		var outputHolder = new Element('div',{
			id:'output',
			styles:{
				position:'absolute',
				top:'100px',
				left:'100px',
				background:'#444',
				color:'#FFF',
				'z-index':'300',
				padding:'10px'
			}
		});
		outputHolder.inject(document.body);
	},
	display:function(string){
		if(!$('output')){
			db.init();
		}
		if(string || string == 0){
			$('output').set('html',string);
		}else{
			$('output').set('text','no string set');
		}
	},
	remove:function(){
		if($('output')){
			$('output').dispose();
		}
	}
}
