function getRadioValue(field) {
  if (field.length) {
    for (var i = 0; i < field.length; i++) {
      if (field[i].checked) {
        return field[i].value;
      }
    }
  }
  else {
    if (field.checked) {
      return field.value;
    }
  }
  return null;
}

function parseDate(str) {
  var date = new Date();
  var dateStr = Date.parse(str.replace("-", "/"));
  if (isNaN(dateStr)) {
  	return null;
  }
  date.setTime(dateStr);
  return date;
}

// 用来客户端信息显示
var clientErrors = new Array();
var clientErrorCount = 0;

function addClientError(anErrorMessage) {
  clientErrors[clientErrorCount++] = anErrorMessage;
}

function hasClientErrors() {
  return clientErrors.length > 0;
}

function drawClientMessages() {
  var allMessages = "";
  if (clientErrors.length > 0) {
    allMessages += "<ul>";
    for (var i = 0; i < clientErrors.length; i++) {
      allMessages += "<li>" + clientErrors[i] + "</li>";
    }
    allMessages += "</ul>";
    document.getElementById("message").innerHTML = allMessages;
  }
}

var feildErrorStyle = "float:left;margin-left:0px;padding-top:5px;padding:3px;padding-right:10px;border:solid 1px #FF6600;background-color:#FFF2E9;";
var errorStyle = "float:left;padding:3px;border:solid 1px #FF6600;background-color:#FFF;";
var errorImage = " <img src=\"images/icon_red.gif\" width=\"14\" height=\"14\" align=\"absmiddle\" /> ";
var messageStyle = "float:left;padding:3px;border:solid 1px #00BE00;background-color:#E6FFE6;";
var messageImage = " <img src=\"images/icon_green.gif\" width=\"14\" height=\"14\" align=\"absmiddle\" /> ";
var promptStyle = "float:left;margin-left:0px;padding:3px;border:solid 1px #00A8FF;background-color:#E2F5FF;";
var promptImage = " <img src=\"images/icon_blue.gif\" width=\"14\" height=\"14\" align=\"absmiddle\" /> ";

// 清除提示信息
function clearMessages(divId) {
  var div = document.getElementById(divId);
  div.style.cssText = "";
  div.innerHTML = "";
}

// 显示客户端提示信息
function drawClientMessage(divId, message) {
  var div = document.getElementById(divId);
  div.style.cssText = messageStyle;
  div.innerHTML = messageImage + message;
  window.scrollTo(0, 0);
}

// 显示客户端提示错误信息
function drawClientError(divId, error) {
  var div = document.getElementById(divId);
  div.style.cssText = errorStyle;
  div.innerHTML = errorImage + error;
  window.scrollTo(0, 0);
}

// 用来服务端返回信息显示
function drawMessages(reply) {
  var result = reply.getResult();
  var allMessages = "";

  // 如果返回消息有错误, 则显示异常信息
  if (reply.isFault()) {
    allMessages += "code: " + result.code + "<br />";
    allMessages += "message: " + result.message;
    var errorDiv = document.getElementById("actionError");
    if (errorDiv) {
      errorDiv.style.cssText = errorStyle;
      errorDiv.innerHTML = errorImage + allMessages;
    }
    return;
  }

  // If return a script, execute it
  if (result.script) {
    eval(result.script);
  }

  if (result.fieldErrors) {
    for (var i in result.fieldErrors) {
      if (i == Buffalo.BOCLASS) {
        continue;
      }
      var errorDiv = document.getElementById(i + "Error");
      if (errorDiv) {
        errorDiv.style.cssText = feildErrorStyle;
        errorDiv.innerHTML = errorImage + result.fieldErrors[i];
      }
    }
  }

  if (result.actionMessages && result.actionMessages.length > 0) {
    var errorDiv = document.getElementById("actionError");
    if (errorDiv) {
      errorDiv.style.cssText = messageStyle;
      errorDiv.innerHTML = messageImage + result.actionMessages;
    }
  }
  else if (result.actionErrors && result.actionErrors.length > 0) {
    var errorDiv = document.getElementById("actionError");
    if (errorDiv) {
      errorDiv.style.cssText = errorStyle;
      errorDiv.innerHTML = errorImage + result.actionErrors;
    }
  }
}

function alertMessages(reply) {
  var result = reply.getResult();
  var allMessages = "";

  // 如果返回消息有错误, 则显示异常信息
  if (reply.isFault()) {
    allMessages += "code: " + result.code + "\n";
    allMessages += "message: " + result.message + "\n";
    alert(allMessages);
    return;
  }

  // If return a script, execute it
  if (result.script) {
    eval(result.script);
  }

  if (result.actionMessages.length > 0) {
    for (var i = 0; i < result.actionMessages.length; i++) {
      allMessages += result.actionMessages[i] + "\n";
    }
    alert(allMessages);
  }
  else if (result.actionErrors.length > 0) {
    for (var i = 0; i < result.actionErrors.length; i++) {
      allMessages += result.actionErrors[i] + "\n";
    }
    alert(allMessages);
  }
}

function hasErrors(reply) {
  return reply.isFault() || hasActionErrors(reply) > 0 || hasFieldErrors(reply) > 0;
}

function hasActionErrors(reply) {
  var result = reply.getResult();
  return result && result.actionErrors && result.actionErrors.length > 0;
}

function hasActionMessages(reply) {
  var result = reply.getResult();
  return result && result.actionMessages && result.actionMessages.length > 0;
}

function hasFieldErrors(reply) {
  var result = reply.getResult();
  if (!result || !result.fieldErrors) {
    return false;
  }

  var errors = result.fieldErrors;
  for (i in errors) {
    return true;
  }

  return false;
}

var buffalo = new Buffalo("");

buffalo.onLoading = function(state) {
}

function openPrompt(field) {
  var promptMessage = promptMessages[field.name];
  if ("undefined" == promptMessage) {
    return;
  }
  var errorDiv = document.getElementById(field.name + "Error");
  errorDiv.style.cssText = promptStyle;
  errorDiv.innerHTML = promptImage + promptMessage;
}

function closePrompt(field) {
  var errorDiv = document.getElementById(field.name + "Error");
  errorDiv.style.cssText = "";

  var fieldNameInit = field.name + "_init";
  var promptMessageInit = promptMessages[fieldNameInit];

  if (null == promptMessageInit) {
    errorDiv.innerHTML = "&nbsp;";
  }
  else{
  	errorDiv.innerHTML = promptMessageInit;
  }
}

function openActionPrompt(promptContent) {
  var errorDiv = document.getElementById("actionError");
  errorDiv.style.cssText = promptStyle;
  errorDiv.innerHTML = promptImage + promptContent;
}

function closeActionPrompt() {
  var errorDiv = document.getElementById("actionError");
  errorDiv.style.cssText = "";
  errorDiv.innerHTML = "&nbsp;";
}

function isDate(dateStr, dilimeter) {
  if (dateStr == null) {
    return false;
  }

  if (dilimeter == "" || dilimeter == null) {
    dilimeter = "-";
  }

  var tempy = "";
  var tempm = "";
  var tempd = "";
  var tempArray;
  if (dateStr.length < 8 && dateStr.length > 10) {
    return false;
  }

  tempArray = dateStr.split(dilimeter);
  if (tempArray.length != 3) {
    return false;
  }

  if (tempArray[0].length == 4) {
    tempy = tempArray[0];
    tempd = tempArray[2];
  } else {
    tempy = tempArray[2];
    tempd = tempArray[1];
  }
  tempm = tempArray[1];
  var tDateString = tempy + "/" + tempm + "/" + tempd;
  var tempDate = new Date(tDateString);
  if (isNaN(tempDate)) {
    return false;
  }

  if (((tempDate.getUTCFullYear()).toString() == tempy)
        && (tempDate.getMonth() == parseInt(tempm) - 1)
        && (tempDate.getDate() == parseInt(tempd))) {
    return true;
  } else {
    return false;
  }
}


