dojo.require("dojox.validate._base");

function validateUser() {
    var errMsg = new Array();
    var email = dojo.byId('loginEmail').value;
    var password = dojo.byId('loginPassword').value;
    
	if (email == "") {
		errMsg.push('emailempty');
	}
	if(!validateEmail(email)){
		errMsg.push('email');
	}
	if(password == ""){
		errMsg.push("password");
	}
	if(errMsg.length>0){
		dojo.byId('loginError').innerHTML = dojo.byId('badloginTpl').innerHTML;
		return false;
    }else{
    	dojo.xhrPost({
			url: "/authorize/verify-user",
			content: {
				email: email,
				password: password
			},
			handleAs: "json",
			load: function (response) {
				if (response.status=='OK'){
					window.top.location.replace(currentDestination.length < 1 ? '/setup' : currentDestination);
					dijit.byId('mainLogin').hide();
				} else {
					var msgId = 'badloginTpl';
					if (response.status == 'suspended') msgId = 'suspendedTpl';
					dojo.byId('loginError').innerHTML = dojo.byId(msgId).innerHTML;
				}
			},
			error: function(response) {
				devError("AJAX error: " + response);
			},
			timeout: 30000
    	});
    }
}

function setHtml(tagId, iHtml) {
	dojo.html.set(dojo.byId(tagId), iHtml);
}

function validateChangePw(){
	var email = dojo.byId('changeemail').value;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (email == "" || reg.test(email) == false){
		setHtml('forgotpasswordError','Please enter a valid email address.');
		return false;
	}
	setHtml('forgotpasswordError', '');
	dijit.byId('mainLogin').hide();
	
	dojo.byId('changeemail').value = "";
	
	dojo.xhrPost({
		url:'/authorize/forgot-password',
		content: {
			email: email
		},
		handleAs: 'json',
		load:function(response){
			var status = response.status;
			if(status == 'OK'){
				showMessage('An email was sent to '+email+'.');
			} else {
				showMessage('Unable to reset password at this time.');
			}
		},
		timeout:30000
	});
	
}

function possessiveForm(str){
	var lastChar = str.substr(str.length-1, 1);
	if (lastChar.toLowerCase() == 's')
		return str+"'";
	return str+"'s";
}

