function isSet(value) {
  value += "";
  if (value == 'undefined' || value == 'null') {
    return false;
  }

  return true;
}

function openWindow(url, name, parameters) {
  if (!isSet(name)) {
    name = 'newWindow';
  }

  if (!isSet(parameters)) {
    parameters = '';
  }

  window.open(url, name, parameters).focus();
  return false;
}

function openProviderWindow(url, providerId) {
   return openWindow(url, providerId, 'width=782,height=600,scrollbars=yes');
}

function showHide() {
	var ids = showHide.arguments;
	for (var i = 0; i < ids.length; i++) {
		var elem = document.getElementById(ids[i]);
		if (isSet(elem)) {
			if (elem.style.display == "block") {
				elem.style.display = "none";
			} else {
				elem.style.display = "block";
			}
		}
	}

	return(false);
}

function isEmail(str) {
  /** are regular expressions supported? **/
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported){
    return ((str.indexOf(".") > 2) && (str.indexOf("@") > 0));
  }
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function validateECard() {
  var validateOK = true;
  var frm = document.sendform;
  var msg = "";

  if (frm.fromname.value == ""){
    msg += "Please enter your name.\n";
    validateOK = false;
  }
 	
  if(!isEmail(frm.fromemail.value)) {
    msg += "Please enter a valid address for your email.\n";
    validateOK = false;
  }

  if (frm.toname.value == "" ) {
    msg += "Please enter the name of the person you are sending to.\n";
    validateOK = false;
  }

  if(!isEmail(frm.toemail.value)) {
    msg += "Please enter a valid 'to' email address.\n";
    validateOK = false;
  }

  if (frm.comments.value == ""){
    msg += "Please enter your message.\n";
    validateOK = false;
  }
  
  if ( !validateOK ) {
    alert(msg);
  }
  
  return validateOK;
}
