
function overlay(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		eventX = e.pageX;
		eventY = e.pageY;
	} else if (e.clientX || e.clientY) 	{
		eventX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		eventY = e.clientY + document.body.scrollTop 	+ document.documentElement.scrollTop;
	}

	var divX = parseInt(YAHOO.util.Dom.getX(['detailGrid']));
	var divY = parseInt(YAHOO.util.Dom.getY(['detailGrid']));
	var width = parseInt(YAHOO.util.Dom.getStyle(['detailGrid'],'width'));
	var height = parseInt(YAHOO.util.Dom.getStyle(['detailGrid'],'height'));

	if ((eventX >= divX) && (eventX <= (divX + width)) && (eventY >= divY) && (eventY <= (divY + height))) return false;
	else return true;
}

function aniInDetail(e) {
	var attributes = { opacity: {  to: 1 } };
	var popDetail = new YAHOO.util.Anim('detailGrid', attributes, 0.25, YAHOO.util.Easing.none); 
	popDetail.animate();
}

function aniOutDetail(e) {
	if (overlay(e)) {
		var attributes = { opacity: { to: 0	} };
		var popDetail = new YAHOO.util.Anim('detailGrid', attributes, 0.25, YAHOO.util.Easing.none);
		popDetail.animate();
	}
}

function moveOut(e) {
	switch(this.id)	{
		case "WD": nameID = "webDeveloper";
			var jobID = 'job-wd';
		break;
		case "FD": nameID = "flashDeveloper";
			var jobID = 'job-fd';
		break;
		case "PM": nameID = "projectManager";
			var jobID = 'job-pm';
		break;
		case "IA": nameID = "informationArchitect";  
			var jobID = 'job-ia';
		break;
		case "ID": nameID = "internetDeveloper";  
			var jobID = 'job-id';
		break;
		case "QA": nameID = "qualityAssurance";  
			var jobID = 'job-qa';
		break;
		default: nameID = ""; break;
	}
	
	
	//change email's subject for the selected job	
	var jobEmail = document.getElementById(jobID).getAttribute("href");
	document.getElementById('job').href = jobEmail;


	var elements = YAHOO.util.Dom.getElementsByClassName('open', 'div'); 
	if (elements[0]== undefined){
		YAHOO.util.Dom.setStyle(['detailFrame'], 'display', 'inline');
		var attributes = { left: {  to: 0 } };
		var popDetail = new YAHOO.util.Anim(nameID, attributes, 1, YAHOO.util.Easing.easeOut);
		popDetail.animate();
		YAHOO.util.Dom.addClass(nameID, "open");
		
		//Add jQuery scroll bars for each job description
		$(function() {
			$('#scroll-job-pm, #scroll-job-pm-en, #scroll-job-ia, #scroll-job-ia-en, #scroll-job-id, #scroll-job-wd, #scroll-job-fd, #scroll-job-qa').jScrollPane({
				scrollbarWidth: 9,
               	dragMinHeight: 144,
				dragMaxHeight: 144
			});
		});
	} else{

		YAHOO.util.Dom.hasClass(nameID, "open");
		if (elements[0].id == nameID){
			var hideEle = function() { YAHOO.util.Dom.setStyle(['detailFrame'], 'display', 'none'); }
			var attributes = { left: {  to: -319 } };
			var hideDetail = new YAHOO.util.Anim(elements[0], attributes, 1, YAHOO.util.Easing.easeOut);
			hideDetail.onComplete.subscribe(hideEle);
			hideDetail.animate();
			YAHOO.util.Dom.removeClass(elements[0], "open");
			
			//change email's subject for the default job
			if (location.pathname.indexOf('/en/') == -1) { document.getElementById('job').href = 'mailto:careers@thehangar.cr?Unetenos'; }
			else { document.getElementById('job').href = 'mailto:careers@thehangar.cr?Join our crew'; }

		}else{

			//shows another div
			var showEle = function() {
				var attributes2 = { left: {  to: 0 } };
				var popDetail = new YAHOO.util.Anim(nameID, attributes2, 1, YAHOO.util.Easing.easeOut);
				popDetail.animate();
				YAHOO.util.Dom.addClass(nameID, "open");			   
			}
			var attributes = { left: {  to: -319 } };
			var hideDetail = new YAHOO.util.Anim(elements[0], attributes, 1, YAHOO.util.Easing.easeOut);
			hideDetail.onComplete.subscribe(showEle);
			hideDetail.animate();
			YAHOO.util.Dom.removeClass(elements[0], "open");
		}
	}
}

//gallery controls
function showGallery(e){
try {
	YAHOO.util.Event.preventDefault(e);
	YAHOO.util.Dom.setStyle(['contentImages'], 'display', 'inline');
	YAHOO.util.Dom.setStyle(['detailImages'], 'display', 'inline');
	YAHOO.util.Dom.setStyle(['largeImageNav'], 'display', 'inline'); 
	YAHOO.util.Dom.setStyle(['content'], 'display', 'none');
	YAHOO.util.Dom.setStyle(['galleryCaptions'], 'opacity', 0.75); 

	//Shows first gallery image
	var thumbnails = YAHOO.util.Dom.getElementsByClassName('sImage', 'img');
	if (thumbnails.length > 0) {//shows the first pic, if find some ones
		document.getElementById('largeImage').src = thumbnails[0].src.replace(/thumbnails/, "");//set first image
		YAHOO.util.Dom.addClass('img0', 'selected');
		YAHOO.util.Event.addListener(thumbnails, "mouseover", switchImages);//Add event handler for all gallery images
		showCaption(thumbnails[0]);	
		
		YAHOO.util.Dom.setStyle(['largeImageNavLeft'], 'display', 'none');
	}
		
	/*
	//Add jQuery scrollbar
	$(function(){
		$('#contentImages-scroll').jScrollPane({
			scrollbarWidth: 9,
			dragMinHeight: 144,
			dragMaxHeight: 144,
			animateTo: true
		});
	});*/
} catch (ex) {}
}

function hideGallery(e){
	YAHOO.util.Event.preventDefault(e);
	YAHOO.util.Dom.setStyle(['contentImages'], 'display', 'none');
	YAHOO.util.Dom.setStyle(['detailImages'], 'display', 'none');
	YAHOO.util.Dom.setStyle(['largeImageNav'], 'display', 'none');
	YAHOO.util.Dom.setStyle(['content'], 'display', 'inline');

	var popDetail = new YAHOO.util.Anim('detailGrid', { opacity: { to: 0	} }, 0.25, YAHOO.util.Easing.none);
	popDetail.animate();
}

function loadImages () {
	//Requires connection-min.js to get external files
	var AjaxObject = {
		handleSuccess:function(o){
			document.getElementById('contentImages-scroll').innerHTML = o.responseText;
			this.onComplete(o);
		},
		handleFailure:function(o){
			document.getElementById('contentImages-scroll').innerHTML = "Error importing pictures from flickr:<br />" + o.statusText;
		},
		startRequest:function() {
		   YAHOO.util.Connect.asyncRequest('GET', 'http://' + location.hostname  + '/includes/facebook-gallery.php', callback, "");
		},
		onComplete:function() {
			var thumbnails = YAHOO.util.Dom.getElementsByClassName('sImage', 'img');
			if (thumbnails.length > 0) {//shows the first pic, if find some ones
				document.getElementById('largeImage').src = thumbnails[0].src.replace(/_s/, "");//set first image
				YAHOO.util.Dom.addClass('img0', 'selected');
			}
			YAHOO.util.Event.addListener(thumbnails, "mouseover", switchImages);//Add event handler for all images
		}
	};
	var callback = {
		success:AjaxObject.handleSuccess,
		failure:AjaxObject.handleFailure,
		scope: AjaxObject
	};
	AjaxObject.startRequest();//ajax call
}

function switchImages(e){
	YAHOO.util.Dom.removeClass(YAHOO.util.Dom.getElementsByClassName('selected', 'img'), 'selected');//remove selected class
	var target = YAHOO.util.Event.getTarget(e);
	document.getElementById('largeImage').src = target.src.replace(/thumbnails/, "");
	YAHOO.util.Dom.addClass(target, 'selected');
	
	showCaption(target);
}

function nextPic(e) {
	var target = YAHOO.util.Dom.getElementsByClassName('selected', 'img')[0];
	try {
		var next = YAHOO.util.Dom.getNextSibling(target.id);
		if (next != null) {
			YAHOO.util.Dom.removeClass(target, 'selected');
			YAHOO.util.Dom.addClass(next, 'selected');
			document.getElementById('largeImage').src = next.src.replace(/thumbnails/, "");

			showCaption(next);
			
			/*var destinationSelector = $(target).attr('rel');
			$('#contentImages-scroll')[0].scrollTo(parseInt(destinationSelector));*/
		}
	} catch (e) {}
}

function prevPic(e) {
	var target = YAHOO.util.Dom.getElementsByClassName('selected', 'img')[0];
	try {
		var prev = YAHOO.util.Dom.getPreviousSibling(target.id);
		if (prev != null) {
			YAHOO.util.Dom.removeClass(target, 'selected');
			YAHOO.util.Dom.addClass(prev, 'selected');
			document.getElementById('largeImage').src = prev.src.replace(/thumbnails/, "");

			showCaption(prev);

			/*var destinationSelector = $(target).attr('rel');
			$('#contentImages-scroll')[0].scrollTo(parseInt(destinationSelector) );*/
		}
	} catch (e) {}
}

function showCaption(e) {
	
	//Show/Hide Navigation Arrows
	if (e.id == 'img19') {
		YAHOO.util.Dom.setStyle(['largeImageNavRight'], 'display', 'none');
	}else {
		YAHOO.util.Dom.setStyle(['largeImageNavRight'], 'display', 'inline');
	}	
	
	if (e.id == 'img0') {
		YAHOO.util.Dom.setStyle(['largeImageNavLeft'], 'display', 'none');
	}else {
		YAHOO.util.Dom.setStyle(['largeImageNavLeft'], 'display', 'inline');
	}	

	//Show Caption
	document.getElementById('galleryCaptions').innerHTML = e.alt;
}

function roll (e) {
	var overImage = this.src.replace(/.png/, "-over.png");
	this.src = overImage;
}

function unRoll (e) {
	var overImage = this.src.replace(/-over.png/, ".png");
	this.src = overImage;
}

function iniAll() { 

	YAHOO.util.Dom.setStyle(['detailGrid'], 'opacity', 0); 

	YAHOO.util.Event.addListener("detailGrid", "mouseover", aniInDetail);
	YAHOO.util.Event.addListener("detailGrid", "mouseout", aniOutDetail);

	YAHOO.util.Event.addListener("WD", "click", moveOut);
	YAHOO.util.Event.addListener("SWD", "click", moveOut);
	YAHOO.util.Event.addListener("FD", "click", moveOut);
	YAHOO.util.Event.addListener("SFD", "click", moveOut);
	YAHOO.util.Event.addListener("PM", "click", moveOut);
	YAHOO.util.Event.addListener("IA", "click", moveOut);
	YAHOO.util.Event.addListener("ID", "click", moveOut);
	YAHOO.util.Event.addListener("QA", "click", moveOut);

	YAHOO.util.Event.addListener("seeMore", "click", showGallery);
	YAHOO.util.Event.addListener("flickrMore", "click", showGallery);
	YAHOO.util.Event.addListener("flickrMore2", "click", showGallery);
	YAHOO.util.Event.addListener("closeGallery", "click", hideGallery);

	//Added to handle large image nav
	YAHOO.util.Event.addListener(document.getElementById("largeImageNavLeft"), "click", prevPic );
	YAHOO.util.Event.addListener(document.getElementById("largeImageNavRight"), "click", nextPic );
	
	//Opens external links in new windows
	if (!document.getElementsByTagName) return; 
	var anchors = document.getElementsByTagName("a"); 
	for (var i=0; i<anchors.length; i++) { 
	var anchor = anchors[i]; 
	if (anchor.getAttribute("href") && 
		anchor.getAttribute("rel") == "external") 
	 	anchor.target = "_blank"; 
	} 	
	
	//Adds rollover images events
	var rollOvers = YAHOO.util.Dom.getElementsByClassName('rollover', 'img');
	YAHOO.util.Event.addListener(rollOvers, "mouseover", roll);
	YAHOO.util.Event.addListener(rollOvers, "mouseout", unRoll);
	
}

YAHOO.util.Event.onDOMReady(iniAll);
