var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var x,y;
var dobj;
function movemouse(e) {
  if (isdrag) {
    dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
    dobj.style.top  = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
    return false;
  }
}
function selectmouse(e) {
  var fobj       = nn6 ? e.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";
  while (fobj.tagName != topelement && fobj.className != "dragme") {
    fobj = nn6 ? fobj.parentNode : fobj.parentElement;
  }
  if (fobj.className=="dragme") {
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0);
    ty = parseInt(dobj.style.top+0);
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
}
document.onmousedown=selectmouse;
document.onmouseup=new Function("isdrag=false");
function validateField(fieldName,fieldLabel,fieldType,isRequired) {
	var field = document.getElementById(fieldName);
	var fieldValue = field.value;
	var error = "no";
	if(isRequired == "r" && fieldValue.length < 1) {
		error = "Please fill in "+fieldLabel+" field";
	}
	if(fieldValue.length > 0) {
	switch(fieldType) {
		case "url":
			var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
			if(!RegExp.test(fieldValue)){ 
				error = "Please enter a valid URL in to the "+fieldLabel+" field.";
			}
		break;
		case "email":
			var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
			if(!RegExp.test(fieldValue)){ 
				 error = "Please enter a valid email address in to the "+fieldLabel+" field.";
			}
		break;
		case "password":
			var ok = "yes";
			var minLength = 6;
			var maxLength = 20;
			var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
			var temp;
			var pw = fieldValue;
			var length = fieldValue.length;
			for (var j=0; j<length; j++) {
				temp = "" + pw.substring(j, j+1);
				if (valid.indexOf(temp) == "-1") ok = "no";
			}
			if (length != 0 && (length < minLength || length > maxLength)) { ok = "no"; }
			if (ok != "yes") {
				error = "Please enter a valid Password\nPassword has to contain between 6 to 20 letters or numbers only.";
			}
		break;
		case "pageurl":
			var ok = "yes";
			var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
			var temp;
			var pw = fieldValue;
			var length = fieldValue.length;
			for (var j=0; j<length; j++) {
				temp = "" + pw.substring(j, j+1);
				if (valid.indexOf(temp) == "-1") ok = "no";
			}
			if (ok != "yes") {
				error = "Only letters and numbers are allowed in Buainess Name field";
			}
		break;
		case "lettersonly":
			var filteredValues = "#$%^&*<>?";
			for (i = 0; i < fieldValue.length; i++) {
				var c = fieldValue.charAt(i);
				if (filteredValues.indexOf(c)!=-1) {
					error = "Please do not enter special characters in to the "+fieldLabel+" field.";
				}
			}
		break;
		case "image":
			error = "Invalid file type";
			extArray = new Array(".jpg",".gif",".png",".jpeg");
			while (fieldValue.indexOf("\\") != -1)
			fieldValue = fieldValue.slice(fieldValue.indexOf("\\") + 1);
			var ext = fieldValue.slice(fieldValue.indexOf(".")).toLowerCase();
			for (var i = 0; i < extArray.length; i++) {
				if (extArray[i] == ext) { error = "no"; }
			}
		break;
		}
	}
	if(error != "no"){
		alert(error);
		field.focus();
		return false;
	} else {
		return true;
	}
}
function formatInput(object) {
	var string = object.value;
	var text = string.replace(/(^\s*|\s*$)/,'');
	object.value = text;
}
function forgotPass(correction) {
	var user = document.getElementById('userName').value;
	if(user.length < 1) {
		document.getElementById('userName').focus();
		alert("Please fill in User Name field");
		return false;
	}
	var qstring = "action=ForgotPass&txtUser="+user+"&corr="+correction;
	parent.xmlhttpPost(correction+'ajax/processAjax.php',qstring,parent.confirmForgotPass,'Generating Password Reset Link.<br>Please wait...');
}
function validateLogin() {
	if (!validateField("userName","User Name","anytext","r"))
		return false;
	if (!validateField("passWord","Password","anytext","r"))
		return false;
	parent.displayMessage('Validting your User Name and Password.<br>Please Wait...');
}
function validateSignup() {
	if (!validateField("txtName","User Name","anytext","r"))
		return false;
	if (!validateField("txtEmail","E-mail","email","r"))
		return false;
	if (!validateField("pwdPass","Password","password","r"))
		return false;
	if (document.getElementById('pwdPass').value != document.getElementById('pwdConfirm').value) {
		alert("Sorry, the password and confirmation password does not match.");
		return false;
	}
	if (!validateField("txtVerify","Verification Code","anytext","r"))
		return false;
	parent.displayMessage('Creating your Mom Circle account.<br>Please wait...');
}