//Advanced Email Check credit-
//By JavaScript Kit (http://www.javascriptkit.com)
function checkEmail(EmailAddress) {
	var testresults;
	if (!EmailAddress || EmailAddress.length < 1) {return true;}
	if (document.layers||document.getElementById||document.all) {
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (filter.test(EmailAddress)) {
			testresults=true;
		} else {
			alert("Please enter a valid email address!");
			testresults=false;
		}
		return (testresults);
	} else {
		return true;	
	}
}

function checkEmail2(txtEmail) {
	var testresults;
	var EmailAddress;
	//Make sure the Input Box exists
	if (txtEmail!=null) {
		EmailAddress=txtEmail.value;
	} else {
		return false;
	}
	if (!EmailAddress || EmailAddress.length < 1) {return false;}
	if (document.layers||document.getElementById||document.all) {
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (filter.test(EmailAddress)) {
			testresults=true;
		} else {
			alert("Please enter a valid email address!\nThe Email Address \"" + EmailAddress + "\" is not valid.");
			testresults=false;
		}
		return (testresults);
	} else {
		/* Warn: Browser does not support Regular Expressions */
		return true;	
	}
}

function emailReq(EmailAddress) {
	if (EmailAddress.length < 1 || checkEmail(EmailAddress)!=true) {
		if (EmailAddress.length < 1) {alert("Please enter a valid email address!");}
		return false;
	} else {
		return true;
	}
}

//	objTextBox (the text box to check), strFieldName (this will probably be used later for simpler alerting about the value's status), strFailureAlertMsg (the full alert message for failures), intMinLength (the min. length of the text box), blnAutoFocus (go to the textbox if it's not ok), blnDefaultReturn (if the specified object does not exist, the default is returned)
function checkTextBox(objTextBox, strFieldName, strFailureAlertMsg, intMinLength, blnAutoFocus, blnDefaultReturn) {
	if (objTextBox) {
		if (objTextBox.value.length >= intMinLength) {
			// Text value is ok, return true
			return true;
		} else {
			// Bad value entered, let the user know
			if (strFailureAlertMsg && strFailureAlertMsg.length) {alert(strFailureAlertMsg);}
			if (blnAutoFocus) {objTextBox.focus();}
			return false;
		}
	} else {
		/// object is null
		return blnDefaultReturn;
	}
}

function checkPhone(PhoneNumber) {
	if (!PhoneNumber || PhoneNumber.length < 7) {
		alert("Please enter a valid phone number!");
		return false;
	} else {
		return true;
	}
}
function removeLetters(obj) {
	//Remember to use both lower and upper case letters: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
	for (var i=0, output='', valid=".0123456789"; i<obj.value.length; i++) {
		if (valid.indexOf(obj.value.charAt(i)) != -1) {
			output += obj.value.charAt(i);
		}
	}
	obj.value = output;
}


function mlsUpdate(objSelectContainer) {
    var objSelectedItems = document.getElementById(objSelectContainer.id + '_selected');
    var objUnselectedItems = document.getElementById(objSelectContainer.id + '_unselected');
    var intSelectedIndex = 0;
    var intUnselectedIndex = 0;
    objSelectedItems.length = 0;
    objUnselectedItems.length = 0;
    for (var i = 0; i < objSelectContainer.options.length; i++) {
        if (objSelectContainer.options[i].selected) {
            objSelectedItems.options[intSelectedIndex] = new Option(objSelectContainer.options[i].text, objSelectContainer.options[i].value);;
            objSelectedItems.options[intSelectedIndex].originalIndex = i;
            intSelectedIndex++;
        } else {
            objUnselectedItems.options[intUnselectedIndex] = new Option(objSelectContainer.options[i].text, objSelectContainer.options[i].value);
            objUnselectedItems.options[intUnselectedIndex].originalIndex = i;
            intUnselectedIndex++;
        }
    }
    if (!objSelectedItems.style.width) {
        objSelectContainer.style.display = 'block';
        var selW = objSelectContainer.scrollWidth;
        selW = selW + 35;
        objSelectContainer.style.display = 'none';
        objSelectedItems.style.width = selW;
        objUnselectedItems.style.width = selW;
    }
}

function mlsSelect(objSelectContainer) {
    var mainElem = objSelectContainer;
    var objUnselectedItems = document.getElementById(objSelectContainer.id + '_unselected');
    for (var i = 0; i < objUnselectedItems.options.length; i++) {
        if (objUnselectedItems.options[i].selected) {
            mainElem.options[objUnselectedItems.options[i].originalIndex].selected = true;
        }
    }
    mlsUpdate(mainElem);
}

function mlsUnselect(objSelectContainer) {
    var mainElem = objSelectContainer;
    var objSelectedItems = document.getElementById(objSelectContainer.id + '_selected');
    for (var i = 0; i < objSelectedItems.options.length; i++) {
        if (objSelectedItems.options[i].selected) {
            mainElem.options[objSelectedItems.options[i].originalIndex].selected = false;
        }
    }
    mlsUpdate(mainElem);
}