/** ################################################################################
 *	registration.js
 *	registration helper
 *	julia yu 7/11/2008
 *  ################################################################################
 */

window.clues = window.clues || {};
window.clues.register = window.clues.register || {};

clues.register = {
	
	// show the check user link if js is enabled
	setup : function(){
		var checkNameLink = $("checkUser");
		if (checkNameLink) {
			checkNameLink.setStyle("display", "block");
			checkNameLink.addEvent("click", clues.register.checkName);
		}
		
		var countrySelect = $("country");
		if (countrySelect) {
			// change it right away if its already 6
			var countryID = countrySelect.options[countrySelect.selectedIndex].value;
			clues.register.toggleBookcode(countryID);
			countrySelect.addEvent("change", clues.register.countryChanged);
		}
	},
	
	// the country changed
	countryChanged : function(e) {
		var countryID = this.options[this.selectedIndex].value;
		clues.register.toggleBookcode(countryID);
	},
	
	// figure out if we need to show book code
	toggleBookcode : function(countryID) {
            var cardCode = $("cardCode");
            var cardCodeHelp = $("cardCodeHelp");
            if(cardCode && cardCodeHelp) {
		if (countryID == 6) {
		    cardCode.setStyle("display", "block");
		    cardCodeHelp.setStyle("display", "block");
		} else {
		    cardCode.setStyle("display", "none");
		    cardCodeHelp.setStyle("display", "none");
		}
            }
	},
	
	// check if the username exists
	checkName : function(e){
		var username = $("username").value || "";
		var requestURL = "/registration/ajax-username-available?username=" + username;
		if (clues.ajaxPath) {
			requestURL = clues.ajaxPath + requestURL;
		}

		var req = new Request.HTML().get(requestURL); 
		req.addEvent("success", clues.register.showNameStatus);
		
		e.preventDefault();
	},
	
	// the response came back, display appropriate message
	showNameStatus : function(responseTree, responseElements, responseHTML){		
		$("usernameFeedback").setStyle("display", "block");
		$("usernameFeedback").set('html',responseHTML);
	}
}


/** ------------------------------------------------------
 *	Page load 
 */
window.addEvent("domready", clues.register.setup);
