/*
  moopop: unobtrusive javascript popups via late binding using mootools 1.2
  
  copyright (c) 2007-2008 by gonchuki - http://blog.gonchuki.com
  
  version:	1.1
  released: June 23, 2008
  
  This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    http://creativecommons.org/licenses/by-sa/3.0/
*/

/*
  Basic usage:
    add a rel attribute to your <a> tags to be like this:
      <a href="http://blog.gonchuki.com" rel="popup">foobar</a>
      or
      <a href="http://blog.gonchuki.com" rel="popup[600,400]">foobar</a>
      
    where:
      "popup" is the default string token to match against so the popup behavior
              can be attached.
      "[600,400]" is the (optional) size of the newly created window.
      
    optionally, you can specify an "r" parameter like this:
      "[600,400,r]" that will allow the window to be resizable.
*/

var moopop = {
  width: 0,
  height: 0,
  /*
    Function: captureByRel
      standard capturing method, it's autorun onDomReady and you can manually use it
      to capture a different set of popup windows.
      
    Syntax:
      moopop.captureByRel(value, element);
      
    Arguments:
      value - The partial string to match against the rel attribute of your links.
      element - [optional] a DOM element to restrict which links should be processed.
  */
  captureByRel: function(attrVal, parent) {
    this.capture((parent || document).getElements('a[rel*=' + (attrVal || 'popup') +']'));
  },
  
  /*
    Function: capture
      multipurpose function allowing for different methods of capturing the popups.
      
    Syntax:
      moopop.capture(obj, width, height);
      
    Arguments:
      obj - (mixed) can be either a DOM element, an Array of elements or a className.
      width - [optional] (integer) default width for popups without a given size, if
              specified you must also specify the height.
      height - [optional] (integer) default height for popups without a given size.
  */
  capture: function(el, width, height) {
    if ($defined(width) && $defined(height)) {
      this.width = width;
      this.height = height;
    }

    switch ($type(el)) {
      case 'string':
        el = $$(el);
      case 'element':
      case 'array':
        $splat(el).each(this.add_pop_to, this);
    }

    this.width = null;
    this.height = null;
  },
  
  /*
    Function: add_pop_to
      Primarily used internally but you can also use it to manually attach the popup
      behavior to a single DOM element.
      
    Syntax:
      moopop.add_pop_to(element);
      
    Arguments:
      element - a DOM element to process.
  */
  add_pop_to: function(el) {
    el.addEvent('click', function(e){ e.stop(); this.popup(el); }.bind(this));

    var size = el.get('rel').match(/\[(\d+),\s*(\d+)/) || ['', this.width, this.height];
    var resizable = el.get('rel').match(/,(r)/) || [];

    if (size[1]) el.store('popupprops', 'width=' + size[1] + ', height=' + size[2] + (resizable[1] ? ', scrollbars=yes, resizable=yes' : '') );
  },
  
  /*
    Function: popup
      Triggers the popup behavior on a given link. Used internally but you can also use it to
      force a given unprocessed link to open in a new window.
      
    Syntax:
      moopop.popup(element);
      
    Arguments:
      element - a DOM element to process.
  */
  popup: function(el) {
    window.open(el.get('href'), el.get('name') || '', el.retrieve('popupprops') || '');
  }
};

/*
  process all links with rel="popup" by default.
*/
window.addEvent('domready', function () {
  moopop.captureByRel('popup');
});

window.addEvent('domready', function()
{
	// *************** SCROLLING NAVIGATION
	
	var skroll = new Fx.Scroll(window, {duration: 1000, wait: false, transition: Fx.Transitions.quadInOut});
	
	$$('.gotohome').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('start'); });
	$$('.gotoswati').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('swati'); });
	$$('.gotoblog').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('blog'); });
	$$('.gotoforhire').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('forhire'); });
	$$('.gotofs').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('fs'); });
	$$('.gotoprojects').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('projects'); });	
	$$('.gotomedia').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('media'); });	
	$$('.gotocredits').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('credits'); });	

	$$('.gotolinks').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('links'); });
	$$('.gotocalendar').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('calendar'); });
	$$('.gotoclasses').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('classes'); });
	$$('.gotobibliography').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('bibliography'); });
	$$('.gotosplit').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('split'); });
	$$('.gotobidden').addEvent('click', function(event){ event = new Event(event).stop(); skroll.toElement('bidden'); });
});

window.addEvent('domready', function()
{
	$$('.menuElementProjects').addEvent('mouseenter', function(){
			this.set('tween', {
				duration: 1000,
				transition: Fx.Transitions.Bounce.easeOut
			}).tween('height', '70px');
	});
	$$('.menuElementProjects').addEvent('mouseleave', function(){this.set('tween', {}).tween('height', '25px');});
});

window.addEvent('domready', function()
{
	$$('.menuElementImproved').addEvent('mouseenter', function(){
			this.set('tween', {
				duration: 1000,
				transition: Fx.Transitions.Bounce.easeOut
			}).tween('height', '95px');
	});
	$$('.menuElementImproved').addEvent('mouseleave', function(){this.set('tween', {}).tween('height', '25px');});
});

window.addEvent('domready', function()
{
	$$('.menuElementSwati').addEvent('mouseenter', function(){
			this.set('tween', {
				duration: 1000,
				transition: Fx.Transitions.Bounce.easeOut
			}).tween('height', '110px');
	});
	$$('.menuElementSwati').addEvent('mouseleave', function(){this.set('tween', {}).tween('height', '25px');});
});

window.addEvent('domready', function()
{
	$$('.menuElementHire').addEvent('mouseenter', function(){
			this.set('tween', {
				duration: 1000,
				transition: Fx.Transitions.Bounce.easeOut
			}).tween('height', '60px');
	});
	$$('.menuElementHire').addEvent('mouseleave', function(){this.set('tween', {}).tween('height', '25px');});
});


window.addEvent('domready', function()
{
	var summaryHorizontalSlide = new Fx.Slide('split_summary', {mode: 'horizontal'});
	var behindHorizontalSlide = new Fx.Slide('split_behind', {mode: 'horizontal'});
	var reviewsHorizontalSlide = new Fx.Slide('split_reviews', {mode: 'horizontal'});
	var splitTrailerHorizontalSlide = new Fx.Slide('split_trailer', {mode: 'horizontal'});
	var groupTrailerHorizontalSlide = new Fx.Slide('split_2k10_trailer', {mode: 'horizontal'});
	var excerptsHorizontalSlide = new Fx.Slide('split_excerpts', {mode: 'horizontal'});
	
	$('a_summary').addEvent('click', function(e){
		e.stop();

		reviewsHorizontalSlide.slideOut();
		behindHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideIn();

		$$('.slide_split_summary').setStyle('z-index', 10);
		$$('.slide_split_behind').setStyle('z-index', 0);
		$$('.slide_split_reviews').setStyle('z-index', 0);
		$$('.slide_split_trailer').setStyle('z-index', 0);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
		$$('.slide_split_excerpts').setStyle('z-index', 0);
	});
	
	
	$('a_behind').addEvent('click', function(e){
		e.stop();

		reviewsHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideOut();
		behindHorizontalSlide.slideIn();

		$$('.slide_split_summary').setStyle('z-index', 0);
		$$('.slide_split_behind').setStyle('z-index', 10);
		$$('.slide_split_reviews').setStyle('z-index', 0);
		$$('.slide_split_trailer').setStyle('z-index', 0);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
		$$('.slide_split_excerpts').setStyle('z-index', 0);
	});

	$('a_reviews').addEvent('click', function(e){
		e.stop();

		behindHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideOut();
		reviewsHorizontalSlide.slideIn();

		$$('.slide_split_summary').setStyle('z-index', 0);
		$$('.slide_split_behind').setStyle('z-index', 0);
		$$('.slide_split_reviews').setStyle('z-index', 10);
		$$('.slide_split_trailer').setStyle('z-index', 0);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
		$$('.slide_split_excerpts').setStyle('z-index', 0);
	});

	$('a_2k10_trailer').addEvent('click', function(e){
		e.stop();

		reviewsHorizontalSlide.slideOut();
		behindHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideIn();
		
		$$('.slide_split_summary').setStyle('z-index', 0);
		$$('.slide_split_behind').setStyle('z-index', 0);
		$$('.slide_split_reviews').setStyle('z-index', 0);
		$$('.slide_split_trailer').setStyle('z-index', 0);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 10);
		$$('.slide_split_excerpts').setStyle('z-index', 0);
	});

	$('a_split_trailer').addEvent('click', function(e){
		e.stop();

		reviewsHorizontalSlide.slideOut();
		behindHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideIn();
		
		$$('.slide_split_summary').setStyle('z-index', 0);
		$$('.slide_split_behind').setStyle('z-index', 0);
		$$('.slide_split_reviews').setStyle('z-index', 0);
		$$('.slide_split_trailer').setStyle('z-index', 10);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
		$$('.slide_split_excerpts').setStyle('z-index', 0);
	});

	$('a_excerpts').addEvent('click', function(e){
		e.stop();

		reviewsHorizontalSlide.slideOut();
		behindHorizontalSlide.slideOut();
		summaryHorizontalSlide.slideOut();
		groupTrailerHorizontalSlide.slideOut();
		splitTrailerHorizontalSlide.slideOut();
		excerptsHorizontalSlide.slideIn();
		
		$$('.slide_split_summary').setStyle('z-index', 0);
		$$('.slide_split_behind').setStyle('z-index', 0);
		$$('.slide_split_reviews').setStyle('z-index', 0);
		$$('.slide_split_trailer').setStyle('z-index', 0);
		$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
		$$('.slide_split_excerpts').setStyle('z-index', 10);
	});

	// *********Default
	reviewsHorizontalSlide.slideOut();
	behindHorizontalSlide.slideOut();
	groupTrailerHorizontalSlide.slideOut();
	splitTrailerHorizontalSlide.slideOut();
	excerptsHorizontalSlide.slideOut();
	summaryHorizontalSlide.slideIn();

	$$('.slide_split_summary').setStyle('z-index', 10);
	$$('.slide_split_behind').setStyle('z-index', 0);
	$$('.slide_split_reviews').setStyle('z-index', 0);
	$$('.slide_split_trailer').setStyle('z-index', 0);
	$$('.slide_split_2k10_trailer').setStyle('z-index', 0);
	$$('.slide_split_excerpts').setStyle('z-index', 0);
});

window.addEvent('domready', function()
{
	var educationHorizontalSlide = new Fx.Slide('s_education', {mode: 'horizontal'});
	var publicationHorizontalSlide = new Fx.Slide('s_publication', {mode: 'horizontal'});
	var awardsHorizontalSlide = new Fx.Slide('s_awards', {mode: 'horizontal'});
	var teachingHorizontalSlide = new Fx.Slide('s_teaching', {mode: 'horizontal'});
	var literaryHorizontalSlide = new Fx.Slide('s_literary', {mode: 'horizontal'});
	
	$('a_education').addEvent('click', function(e){
		e.stop();
		awardsHorizontalSlide.slideOut();
		teachingHorizontalSlide.slideOut();
		literaryHorizontalSlide.slideOut();
		publicationHorizontalSlide.slideOut();
		educationHorizontalSlide.slideIn();
	});
	
	
	$('a_publication').addEvent('click', function(e){
		e.stop();
		awardsHorizontalSlide.slideOut();
		teachingHorizontalSlide.slideOut();
		literaryHorizontalSlide.slideOut();
		educationHorizontalSlide.slideOut();
		publicationHorizontalSlide.slideIn();
	});

	$('a_awards').addEvent('click', function(e){
		e.stop();
		teachingHorizontalSlide.slideOut();
		literaryHorizontalSlide.slideOut();
		educationHorizontalSlide.slideOut();
		publicationHorizontalSlide.slideOut();
		awardsHorizontalSlide.slideIn();
	});

	$('a_teaching').addEvent('click', function(e){
		e.stop();
		awardsHorizontalSlide.slideOut();
		literaryHorizontalSlide.slideOut();
		educationHorizontalSlide.slideOut();
		publicationHorizontalSlide.slideOut();
		teachingHorizontalSlide.slideIn();
	});

	$('a_literary').addEvent('click', function(e){
		e.stop();
		awardsHorizontalSlide.slideOut();
		teachingHorizontalSlide.slideOut();
		educationHorizontalSlide.slideOut();
		publicationHorizontalSlide.slideOut();
		literaryHorizontalSlide.slideIn();
	});

	// *********Default
	awardsHorizontalSlide.slideOut();
	teachingHorizontalSlide.slideOut();
	literaryHorizontalSlide.slideOut();
	publicationHorizontalSlide.slideOut();
	educationHorizontalSlide.slideIn();
});