/*******************************
 *
 *	Register Class
 *
 *  Version: 1.0
 *
 *	Author: 
 *	The Roundhouse
 *
 *  © The Roundhouse 2007 -
 * 	ALL RIGHTS RESERVED
 */

var Register = new Class({
						 
	iMode:			null,
	arrRatingsCand:	null,
	arrRatingsEmpl:	null,
	objDrag:		null,
					  
	initialize: function()
	{
		this.iMode			= 0;
		this.arrRatingsCand	= new Array("I definitely want to move on.",
										"I'm seriously thinking about moving on.",
										"My job is ok but I'm open to ideas...",
										"I really like my job - I'm just looking around.",
										"I love my job.");
		
		this.arrRatingsEmpl	= new Array("I'm desperate to find the right candidates.",
										"I urgently need to find the right candidates.",
										"I'm seriously looking for the right candidates.",
										"I am looking to employ, but it's not urgent.",
										"I'm not really looking to employ anyone right now .");
	},
	
	applySlider: function()
	{
		this.objDrag = new Drag.Move($('slider'),
					  {
						  container: 		$('range'),
						  onDrag: 			function()
											{
												// 242 is the width, but since we want
												// to then get it between 0 and 4 we
												// just divide the divider by 4.
												var iWidth 	= 242/4;
												var iPos 	= ($('slider').getCoordinates().left - $('range').getCoordinates().left) / iWidth;
												
												// round
												iPos 		= Math.round(iPos);
												
												// set the hidden field in the form
												// to have this value
												var strPhrase = this.objRegister.iMode == 0 ?
																this.arrRatingsCand[iPos] :
																this.arrRatingsEmpl[iPos] ;
												
												$('rating').setHTML(strPhrase);
												$('register_job_rating').value = strPhrase;
											}
					  });
		
		this.objDrag.objRegister 		= this;
		this.objDrag.arrRatingsCand		= this.arrRatingsCand;
		this.objDrag.arrRatingsEmpl		= this.arrRatingsEmpl;
						  
	},
	
	setMode:	function(iMode)
	{
		this.iMode = iMode;
		this.objDrag.fireEvent('onDrag');
		
		Cookie.set("prSearchMode", iMode, {duration:3650, domain:document.domain, path:'/'});
	},
	
	writeToForm:	function()
	{
		$('register_iscandidate').value = (this.iMode == 0 ? true : false);
	},
	
	validateForm:		function()
	{
		MM_validateForm('register_username','','R','register_surname','','R','register_email','','RisEmail','register_address1','','R','register_city','','R','register_postcode','','R','register_password','','R','register_password2','','R');
		var blValid = document.MM_returnValue;
		
		if(blValid && this.iMode == 0)
		{
			if($('cv_input').getValue() == "")
			{
				blValid = false;
				alert("Please add your CV");
			}
		}
		
		return blValid;
	}
});

// create a register object
var prRegister = new Register();

window.addEvent('domready', 
function()
{
	if($('jobseeker'))
	{
		$('jobseeker').addEvent('click', 	  function()
											  {
												  prRegister.setMode(0);
												  $('jobseeker').addClass("active");
												  $('employer').removeClass("active");	
												  
												  $('mode_iam').setStyle('backgroundPosition', '0 0');
												  $('cv_options').removeClass('hidden');
												  $('rating_question').setHTML('How do you feel about your current job?');
												  
												  $('feditcontent_friendly01').setStyle('textIndent','0px');
												  $('feditcontent_friendly02').setStyle('textIndent','-300000px');
												  
												  $('fpanel').setStyle('height','200px');
												  
												  for(var i = 1; i <= 3; i++)
												  {
													  $('lbl_address'+i).setHTML('Address Line '+i+':');
												  }
												  //sIFR.activate(griffith_thin);
												 
												 
												 // jiggle ie settings for display purposes
												 if(window.ie7)
												 {
													  $('rating').setStyle('position','absolute');
													  $('rating').setStyle('top','35px');
													  $('optout').setStyle('padding-top','50px');
													  $('regsubmit').setStyle('position','relative');
													  $('regsubmit').setStyle('top','-50px');
												 }
												 if(window.ie6)
												 {
													  $('rating_question').setStyle('position','absolute');
													  $('rating_question').setStyle('margin-top','-100px');
													  $('range').setStyle('position','absolute');
													  $('range').setStyle('left','1px');
													  $('range').setStyle('margin-top','-140px');
													  $('range').setStyle('border','0px');
													  $('rating').setStyle('position','absolute');
													  $('rating').setStyle('margin-top','-60px');
													  $('current_job_slider').setStyle('padding-top','100px');
													  $('optout').setStyle('position','relative');
													  $('optout').setStyle('margin-top','-30px');
													  $('regsubmit').setStyle('padding-top','0px');
													  $('form_register_reg').setStyle('border','0px');
													  $('form_register_startagain').setStyle('border','0px');
												 }
												
											  });
	}
	
	if($('employer'))
	{
		$('employer').addEvent('click', 	  function()
											  {
												  prRegister.setMode(1);
												  $('employer').addClass("active");
												  $('jobseeker').removeClass("active");	
												  
												  $('mode_iam').setStyle('backgroundPosition', '0 18px');
												  $('cv_options').addClass('hidden');
												  $('rating_question').setHTML('How urgently are you seeking candidates?')
												  
												  $('feditcontent_friendly02').setStyle('textIndent','0px');
												  $('feditcontent_friendly01').setStyle('textIndent','-300000px');
												  
												  $('fpanel').setStyle('height','200px');
												 
												  for(var i = 1; i <= 3; i++)
												  {
													  $('lbl_address'+i).setHTML('Company Address Line '+i+':');
												  }
												  
												  
												   // jiggle ie settings for display purposes
												  if(window.ie7)
												  {
													$('regsubmit').setStyle('top','-45px');  
												  }
												  
												  if(window.ie6)
												 {
													  $('rating_question').setStyle('position','absolute');
													  $('rating_question').setStyle('margin-top','-100px');
													  $('range').setStyle('position','absolute');
													  $('range').setStyle('left','1px');
													  $('range').setStyle('margin-top','-140px');
													  $('range').setStyle('border','0px');
													  $('rating').setStyle('position','absolute');
													  $('rating').setStyle('margin-top','-60px');
													  $('current_job_slider').setStyle('padding-top','100px');
													  $('optout').setStyle('position','absolute');
													  $('optout').setStyle('margin-top','-40px');
													  $('regsubmit').setStyle('padding-top','40px');
													  $('regsubmit').setStyle('border','0px');
													  $('form_register_reg').setStyle('border','0px');
													  $('form_register_startagain').setStyle('border','0px');
												 }
												  
											  });
	}
		
	prRegister.applySlider();
	
	// ie 6 and ie 7 require some pre-jigging around
	if(window.ie7)
	{
		if($('rating'))
		{
			$('rating').setStyle('position','absolute');
			$('rating').setStyle('top','35px');
			$('range').setStyle('position','absolute');
			$('range').setStyle('top','20px');
		}
		
		if($('optout'))
			$('optout').setStyle('padding-top','50px');
			
		if($('regsubmit'))
		{
			$('regsubmit').setStyle('position','relative');
			$('regsubmit').setStyle('top','-50px');
		}
	}
		
	if(window.ie6)
	{
		$('rating_question').setStyle('position','absolute');
		  $('rating_question').setStyle('margin-top','-100px');
		  $('range').setStyle('position','absolute');
		  $('range').setStyle('left','1px');
		  $('range').setStyle('margin-top','-140px');
		  $('range').setStyle('border','0px');
		  $('rating').setStyle('position','absolute');
		  $('rating').setStyle('margin-top','-60px');
		  $('current_job_slider').setStyle('padding-top','100px');
		  $('optout').setStyle('position','relative');
		  $('optout').setStyle('margin-top','-30px');
		  $('regsubmit').setStyle('padding-top','0px');
		  $('form_register_reg').setStyle('border','0px');
		  $('form_register_startagain').setStyle('border','0px');
	}
	
	
	if($('feditcontent_friendly01'))
	{
		 $('feditcontent_friendly01').setStyle('textIndent','0px');
		 if($('fpanel'))
		 	$('fpanel').setStyle('height','200px');
	}
	
	if($('feditcontent_friendly02'))
		$('feditcontent_friendly02').setStyle('textIndent','-300000px');
	
	if(Cookie.get("prSearchMode") && Cookie.get("prSearchMode") == "1")
	{
		$('employer').fireEvent('click');
	}
	
	$('register_cv').setStyle('opacity', 0);
	$('register_cv').setStyle('visibility', 'visible');
	$('register_cv').addEvent('change', function()
										 {
											 $('cv_input').value = this.value;
										 });
});

