/*
*
*/

jQuery.noConflict();


jQuery(document).ready(function(e) {
	jQuery('span#default-login-link').click(function() {
		jQuery('div#login-box-signup').hide();
		
		if(jQuery('div#login-box').css('display') == 'none') {
			jQuery('div#login-box').show();
		} else { jQuery('div#login-box').hide(); }

		if(jQuery('div#home-feature').length != 0) {
			if(jQuery('div#login-box-signup').css('display') == jQuery('div#login-box').css('display')) {
				jQuery('div#home-feature-anim').fadeIn(1000);
			} else { jQuery('div#home-feature-anim').fadeOut(1000); }
		}
	});
	
	jQuery('span#default-signup-link').click(function() {
		jQuery('div#login-box').hide();
	
		if(jQuery('div#login-box-signup').css('display') == 'none') {
			jQuery('div#login-box-signup').show();	
		} else { jQuery('div#login-box-signup').hide();	}		
	
		if(jQuery('div#home-feature').length != 0) {
			if(jQuery('div#login-box-signup').css('display') == jQuery('div#login-box').css('display')) {
				jQuery('div#home-feature-anim').fadeIn(1000);
			} else { jQuery('div#home-feature-anim').fadeOut(1000); }
		}
	});
});

//Sillo

Synbleu = Class.create();

Synbleu.prototype = {initialize : function(){
}};

Synbleu.Form = Class.create(Synbleu,{
});

Synbleu.Login = Class.create(Synbleu,{
/*	initialize : function(box,link,inputs,effects){
		this.active = false;
		this.closed = true;
		this.box = $(box);
		this.link = $(link) || null;
		this.emptyText = inputs.emptyText || null;
		this.inputs = inputs.className || null;
		this.emptyText = inputs.emptyText || null;
		this.pos = effects.pos;
		this.duration = effects.duration;
		if(this.link){
			this.box.setStyle({top: this.pos.closed});
			Event.observe(this.link,'click',this.toggle.bind(this));
			$$(this.inputs).invoke('observe','focus',this.focus.bind(this))
			              .invoke('observe','blur', this.blur.bind(this));
		}	
	},toggle : function(e){	
		if(!this.active){
			if(this.closed){ this.open();}
			else { this.close(); }
		}
	},open : function(){
		new Effect.Morph(this.box,{
			style : 'top:' + this.pos.open,
			duration: this.duration,
			beforeStart : function(){
				this.active = true;
			}.bind(this),
			afterFinish : function(){
				this.active = false;
				this.closed = false;
				
			}.bind(this)
		});
	},close : function(){
		new Effect.Morph(this.box,{
			style : 'top:' + this.pos.closed,
			duration: this.duration,
			beforeStart : function(){
				this.active = true;
			}.bind(this),
			afterFinish : function(){
				this.active = false;
				this.closed = true;
			}.bind(this)
		});
	},focus : function(e){
		var target = Event.element(e);
		if(target.getValue() == this.emptyText[target.id]){
			target.value = '';
		}
	},blur : function(e){
		var target = Event.element(e);
		if(target.getValue() == '') {
			target.value = this.emptyText[target.id]
		}
	} */
});

Synbleu.Accordion = Class.create(Synbleu,{
	initialize: function(box, nav) {
		this.active = false;
		if($(nav)) { $(nav).select('a').invoke('observe','click',this.toggleByNav.bind(this)); }
		if($(box)) {
			$(box).select('.accTarget').invoke('observe','click',this.toggle.bind(this)).invoke('addClassName','closed');
			$(box).select('.accContent').invoke('hide');
		}
	}, toggleByNav : function(e) {
		var el = Event.element(e);
		if(el.id == 'all') {
			
		} else {
			var target = $(el.id+'-tar');
			if(this.isClosed(target)) { this.scrollTo(target); }
		}
	}, scrollTo : function(el) {
		Effect.ScrollTo(el, {
			beforeStart : function() { this.active = true;}.bind(this), afterFinish : function() { this.open(el); }.bind(this)});
	}, toggle : function(e) {
		if(!this.active) {
			var el = Event.findElement(e,'.accTarget');
			if(this.isClosed(el)) { this.open(el); } else { this.close(el); }
		}
	}, close : function(el) {
		el.select('.caret')[0].removeClassName('open').addClassName('closed');
		Effect.SlideUp(el.next(),{
			duration : 0.5,
			beforeStart : function() { this.active = true;
			}.bind(this), afterFinish : function() {
				this.active = false; el.addClassName('closed'); }.bind(this)
			});
	}, open : function(el) {
		el.select('.caret')[0].removeClassName('closed').addClassName('open');
		Effect.SlideDown(el.next(),{
			duration : 0.5,
		    beforeStart : function() {
				this.active = true;
			}.bind(this),
			afterFinish : function() {
				this.active = false;
				el.removeClassName('closed');
					
			}.bind(this)
		});
	},
	isClosed : function(el) {
		return $w(el.className).indexOf('closed') > -1
	}
});

Synbleu.Curtain = Class.create(Synbleu,{
	initialize : function(){
		this.curtain = $('curtain') || null;
		var layout = $('container').getLayout();

		if(this.curtain){
			this.curtain.setStyle({
				height :  layout.get('height') + 'px'
			});
		}
	},
	show : function(){
		if(this.curtain){
			this.curtain.setStyle({display:'block'});
		}
	},
	hide : function(){
		if(this.curtain){
			this.curtain.setStyle({display:'none'});
		}
	}
});

Synbleu.JobForm = Class.create(Synbleu,{
	initialize: function(job,form){
	    this.form = $(form);
	    this.formId = $(form).select('#JobId')[0];
	    this.formTitle = $(form).select('#apply-title')[0];
	    this.formcls = $(form).select('#close')[0];
		this.job_id = job.split('_')[1];
		this.title = $(job).select('.job-title')[0].innerHTML;
		this.link = $(job).select('a#'+this.job_id)[0];
		Event.observe(this.link,'click',this.open.bind(this));
		Event.observe(this.formcls,'click',this.close.bind(this));
		this.curtain = new Synbleu.Curtain();
		
	},
	open : function(e){
		Event.stop(e);
		this.curtain.show();
		var viewport = document.viewport.getScrollOffsets();
		
		this.form.setStyle({
			display : 'block',
		    top     : viewport.top + 'px'
		});
		
		$(this.formTitle).update(this.title);
		this.formId.value = this.job_id;
		
		
	},
	close : function(e){
		this.curtain.hide();
		
		this.form.setStyle({
			display : 'none'
		});
	}
	

});

Synbleu.EmailJob = Class.create(Synbleu,{
	initialize :  function(jobs,form){
		this.jobs = $$(jobs);
		this.form = $(form);
		this.active = false;
		
		this.curtain = new Synbleu.Curtain();
		
		this.formId = $(form).select('#JobEmailEmailJid')[0];
	    this.formTitle = $(form).select('#email-job-title')[0];
	    this.formMsg   = $(form).select('#job-sent-msg')[0];
	    this.formcls = $(form).select('#close')[0];
	    
		this.jobs.invoke('observe','click',this.open.bind(this));
		Event.observe(this.formcls,'click',this.close.bind(this));
	},
	open : function(e){
		Event.stop(e);
		var j_id = Event.element(e).up().id;
		$(this.formTitle).update($('job_'+j_id).select('h3')[0].innerHTML);
		this.formId.value = j_id;
		
		this.curtain.show();
		var viewport = document.viewport.getScrollOffsets();
		
		this.form.setStyle({
			display : 'block',
			top     : viewport.top + 'px'
		});
	},
	close : function(e){
		this.curtain.hide();
		this.formMsg.update('');
		this.form.setStyle({
			display : 'none'
		});
	},
	canSend : function(){
		
		
		if(!this.active){
			return this.active = true;
		}
		else {
			return false;
		}
	},
	
	sent : function(){
		if(1 == parseInt(this.formMsg.select('#was-sent')[0].innerHTML)){
			
			this.active = false;
			
		}
		
	}
	
});

/*
 * landing
 */




Synbleu.Workhistory = Class.create(Synbleu,{
	initialize : function(job_box,add_bttn) {
		this.job_box = $(job_box);
		
		this.curr_box = 1;
		this.add_bttn = add_bttn;
		this.add_bttn.observe('click',this.addNewBox.bind(this));
		
	},
	addNewBox  : function(event){
		
		var el = this.job_box.down(1).cloneNode(true);
		this.job_box.insert(el);
	}

});

jQuery(document).ready(function($){ 
   
	var login = new Synbleu.Login('top-login-container',
			                      'default-login-link',
			                      {className : '.defaultLogin', emptyText:{'UserUsername': 'Email','UserPassword':'Password'}},
			                      {pos : {open : '0px', closed : '-50px'} , duration : 0.6}
	);
	
	var accordian = new Synbleu.Accordion('expertise','expert-nav');
	
	
	
	
		
});

