// selector object for assessment types
var selector = new function () {
		
	this.DOM = null;
	this.Event = null;
	this.radioTip = null;
	this.helpTip = null;
	
	this.aType = null;
	
	this.init = function ( aType ) {
		var self = selector;
		self.DOM = YAHOO.util.Dom;
		self.Event = YAHOO.util.Event;
		// hide all descriptions
		self.DOM.setStyle( self.DOM.getElementsByClassName('desc', 'div', 'selector_table'), 'display', 'none' );
		// set the active elements
		self.aType = aType;
		self.DOM.replaceClass( 'box_' + aType, '', 'active' );
		self.DOM.get('btn_' + aType).checked = true;
		//self.DOM.setStyle( 'desc_' + aType, 'display', '' );
		// set help button tooltips
		var helpButtons = self.DOM.getElementsByClassName( 'selector_buttons', 'img', 'selector_table' );
		self.helpTip = new YAHOO.widget.Tooltip( 'helpText', { context:helpButtons, text:_label.help.tip1 } );
		// set radio button tooltips
		var radioButtons = self.DOM.getElementsByClassName( 'selector_radios', 'input', 'selector_table' );
		self.radioTip = new YAHOO.widget.Tooltip( 'radioText', { context:radioButtons, text:_label.help.tip2 } );
		// activate the description show/hide events
		self.Event.addListener( helpButtons, 'click', self.toggleDesc );
		self.Event.addListener( radioButtons, 'click', self.loadForm );
		// add user statistics
		var w = screen.width;
		var h = screen.height;
		var s = w + 'x' + h;
		var stats = self.DOM.get('ustats');
		stats.value = stats.value + '|' + s;
	}
	
	this.toggleDesc = function ( el ) {
		var self = selector;
		if ( this.src.indexOf('.off.') == -1 ) {
			this.src = this.src.replace('.on.','.off.');
		} else {
			this.src = this.src.replace('.off.','.on.');
		}
		var aType = this.id.substr(4, this.id.length-4);
		var target = 'desc_' + aType;
		
		if ( self.DOM.getStyle(target, 'display') == 'none' ) {
			self.DOM.setStyle( target, 'display', '' );
		} else {
			self.DOM.setStyle( target, 'display', 'none');
		}
	}

	this.loadForm = function ( el ) {
		var self = selector;
		var aType = this.id.substr(4, this.id.length-4);
		if ( self.aType == aType ) return false;
		
		var redir = ( self.DOM.get('email').value.length > 0 ? false : true );
		if ( redir == false ) {
			var msg = _label.err.slct1;
			msg = msg.replace('A_TYPE',aType);
			redir = confirm(msg);
		}
		
		if ( redir == true ) {
			var url = window.location.href;
			
			if ( url.indexOf("module=page") > -1 ) {
				url = url.replace(self.aType, aType);
			} else if ( url.indexOf("assessment-form.htm") > -1 ) {
				if ( self.aType != "independent" && aType == "independent" ) {
					url = url.replace(self.aType+"-","");
				} else if ( self.aType == "independent" && aType != "independent" ) {
					url = url.replace("assessment-form", aType+"-assessment-form");
				} else {
					url = url.replace(self.aType, aType);
				}
			} else {
				var path = url.substr(0,url.lastIndexOf("/"));
				url = path + "/canada-immigration-"+( aType == "independent" ? "" : aType+"-" )+"assessment-form.htm";
			}
			window.location = url;
		} else {
			self.DOM.get('btn_' + self.aType).checked = true;
		}
	}
}
