/**
 * Use this function instead of 
 *	"document.getElementById"
 * to access HTML elements by Id
 *
 * @param _elementId - the id of the element to be accessed
 */
function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements[i] = element;
  }

  return elements;
}
//validates registration fields
function validateFields(){
	var password = $('newpassword').value;
	//var password2 = $('newpassword1').value;
	
	var countrycode = $('countrycode').value;
	var phone = $('phoneno').value;
	var separator = " ";
	
	var newphone =  countrycode+separator+ phone;
	var totalphone = document.getElementById('newphone');
	totalphone.value = newphone;
	$('registerTime').value = new Date().getTime() + '';
		if($('role').value == 0){
			messageInfoDisplay('errorMsg',"You must select your role.","block");	
			$('role').focus();
			return false;
		}else if(isEmpty($('email').value)){
			messageInfoDisplay('errorMsg',"Email address is required.","block");	
			$('email').focus();
			return false;
		}else if (!isValidEmail($('email'))){
			messageInfoDisplay('errorMsg',"Please enter a valid email address.","block");
			$('email').focus();
			return false;
		}else if(isEmpty($('user').value)){
			messageInfoDisplay('errorMsg',"User Name is required.","block");
			$('user').focus();	
			return false;
		} 
		/*
		else if($('countrycode').value == 0 && !isEmpty($('phoneno').value)){
			messageInfoDisplay('errorMsg',"Country code is required.","block");	
			$('countrycode').focus();
			return false;
		}
		else if($('countrycode').value != 0 && isEmpty($('phoneno').value)){
			messageInfoDisplay('errorMsg',"Phone no. is required.","block");	
			$('phoneno').focus();
			return false;
		}
		else if(!isEmpty($('phoneno').value) && !isNumeric($('phoneno').value)){
			getDocumentElement('errorMsg',"Numeric numbers are only accepted.","block");	
			$('phoneno').focus();
			return false;
		}
		*/
		else if(isEmpty(password)){
			messageInfoDisplay('errorMsg',"Password is required.","block");	
			$('newpassword').focus();
			return false;
		}
	/*	else if(isEmpty(password2)){
			messageInfoDisplay('errorMsg',"Please confirm your password.","block");	
			$('newpassword1').focus();
			return false;
		}
		else if(password != password2){
			messageInfoDisplay('errorMsg', "Password did not match.", "block");
			$('newpassword').focus();
			return false;
		} */
		else if(isEmpty($('agree').checked)){
			messageInfoDisplay('errorMsg', "You must agree to the terms of use.", "block");
			$('agree').focus();
			return false;
		}else{
			checkUsername($('user').value);
		}
}
//clear fields of registration
function reloadRegistration(){
	clearField('user');
	clearField('firstname');
	clearField('lastname');
	clearField('email');
	clearField('country');
	clearField('city');
	clearField('photo');
	clearField('phoneno');
	clearField('newpassword');
	clearField('newpassword1');
	clearField('errorMsg');
	setChecked('agree',false);
}
//cancels registration
function cancelRegistration(){
	reloadRegistration();
}

function checkUsername(_username) {
	jQuery('#popupRegister').css('display','none');
	showLoaderPopup("Creating New Account...");
	new Ajax.Request(checkUsernameUrl, { 													
		asynchronous:true, method: 'post', parameters: 'username='+_username,
			onComplete: function(transport){
				var member = transport.responseText;
				if(member === "no") {
					document.mejForm.submit();
				} else {
					jQuery('#popupLoader').css('display','none');
					showModal("popupRegister");
					messageInfoDisplay('errorMsg',"User Name is already exist.","block");
					$('user').focus();	
					return false;
				}
				
			}
	});
}
