function login_check_value() {
    var error = "";
    if (check_empty("userAccount")) {
         error = error + document.getElementById("accountErrorString").value + "\n";
    }
    if (check_empty("userPassword")) {
         error = error + document.getElementById("passwordErrorString").value + "\n";
    }     
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function user_delete_check() {
    var deleteUserArray = document.getElementsByName("user");
    for (var i = 0; i < deleteUserArray.length; i++) {
        if (deleteUserArray[i].checked == true) {           
            if (confirm(document.getElementById("deleteWarning").value)){
                return true;
            } else {
                break;    
            }
        }        
    }
    return false;
}

function device_delete_check() {
    var deleteDeviceArray = document.getElementsByName("device");
    for (var i = 0; i < deleteDeviceArray.length; i++) {
        if (deleteDeviceArray[i].checked == true) {           
            if (confirm(document.getElementById("deleteWarning").value)){
                return true;
            } else {
                break;    
            }
        }        
    }
    return false;
}

function user_check_value(username, userEmail) {
    var error = "";
  if (check_empty(username)) {
    error = error + document.getElementById("userAccountEmptyString").value + "\n";
  }
    if (check_empty(userEmail)) {
    error = error + document.getElementById("userEmailEmptyString").value + "\n";
  } else {
      if (!(checkEmail(userEmail))) {
        error = error + document.getElementById("userEmailErrorString").value + "\n";
    }
    }
    /*if (!confirmNewPassword()) {
    error = error + document.getElementById("userNewPasswordError").value + "\n";
    }*/
  if (error != "") {        
    window.alert(error); 
        return false;
  }
  return true;
}

function addUser_check_value() {
    var error = "";
    if (check_empty("account")) {
         error = error + document.getElementById("userAccountEmptyString").value + "\n";
    }

    if (check_empty("password") || check_empty("reconfirmPassword")) {
         error = error + document.getElementById("passwordEmptyString").value + "\n";
    } else {
        if ((document.getElementById("password").value != document.getElementById("reconfirmPassword").value)) {
                error = error + document.getElementById("userNewPasswordError").value + "\n";    
            }
        }
    if (check_empty("email")) {
         error = error + document.getElementById("userEmailEmptyString").value + "\n";
    } else {
        if (!(checkEmail("email"))) {
             error = error + document.getElementById("userEmailErrorString").value + "\n";
        }
    }
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function updateUser_check_value() {
    var error = "";
    if (check_empty("account")) {
         error = error + document.getElementById("userAccountEmptyString").value + "\n";
    }

    if ((document.getElementById("newPassword").value != document.getElementById("reconfirmPassword").value)) {
        error = error + document.getElementById("userNewPasswordError").value + "\n";    
    }
    if (check_empty("email")) {
         error = error + document.getElementById("userEmailEmptyString").value + "\n";
    } else {
        if (!(checkEmail("email"))) {
             error = error + document.getElementById("userEmailErrorString").value + "\n";
        }
    }
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function refresh_check() {
  var error = "";
    if (check_empty("refreshSettingValue")) {
         error = error + document.getElementById("valueEmptyString").value + "\n";
    }
    if (check_amountInvaild("refreshSettingValue", 1)) {   
        error = error + document.getElementById("valueamountInvaildString").value + "\n";
    }
    
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function device_check_value() {
  var error = "";
    var isInt =1;
    var isFloat = 2;   
    if (check_empty("IPAddress")) {
         error = error + document.getElementById("IPEmptyString").value + "\n";
    } else {
        if (!checkIpAddress("IPAddress"))  {
            error = error + document.getElementById("IPInvalidString").value + "\n";
        }
    }
    
    if (check_empty("description")) {
        error = error + document.getElementById("descEmptyString").value + "\n";
    }
    
    if (check_empty("port")) {
         error = error + document.getElementById("portEmptyString").value + "\n";
    } else {
        if ((check_amountInvaild("port", isInt)) || (checkRange("port",65535,0)))  {
            error = error + document.getElementById("InvalidPortString").value + "\n";
        }     
    }
    if (check_empty("community")) {     
         error = error + document.getElementById("communityEmptyString").value + "\n";
    }
    if (check_empty("inOctetsUpperBound")) {
        error = error + document.getElementById("inEmptyString").value + "\n";
    } else {
        if (check_amountInvaild("inOctetsUpperBound", isInt)) {
            error = error + document.getElementById("inString").value + " : " 
                          + document.getElementById("InvalidNumberString").value + "\n";
        }
    }
    if (check_empty("outOctetsUpperBound")) {
         error = error + document.getElementById("outEmptyString").value + "\n";
    } else {
        if (check_amountInvaild("outOctetsUpperBound", isInt)) {
            error = error + document.getElementById("outString").value + " : " 
                          + document.getElementById("InvalidNumberString").value + "\n";
        }
    }
    if (check_empty("inErrorsUpperBound")) {
        error = error + document.getElementById("inErrorEmptyString").value + "\n";
    } else {
        if (check_amountInvaild("inErrorsUpperBound", isInt)) {
            error = error + document.getElementById("inErrorString").value + " : " 
                          + document.getElementById("InvalidNumberString").value + "\n";
        }
    }
    if (check_empty("outErrorsUpperBound")) {
         error = error + document.getElementById("outErrorEmptyString").value + "\n";
    } else {
        if (check_amountInvaild("outErrorsUpperBound", isInt)) {
            error = error + document.getElementById("outErrorString").value + " : " 
                          + document.getElementById("InvalidNumberString").value + "\n";
        }
    }
    
    var isError = checkIfThreshold();
    
    if ((error != "")||(isError==true)) {       
        if(error != ""){
            window.alert(error);
        } 
            return false;
    } else { 
            return true;
    }  
}

function host_check_value() {
    var error = "";
    var isInt =1;
    var isFloat = 2;
    if (check_empty("hostIp")) {
      error = error + document.getElementById("ipError").value + "\n";
    } else {
        if (!checkIpAddress("hostIp"))  {
          error = error + document.getElementById("IPInvalidString").value + "\n";
        }
    }
    if (check_empty("hostPort")) {
    error = error + document.getElementById("portError").value + "\n";
  } else {
      if ((check_amountInvaild("hostPort", isInt)) || (checkRange("hostPort",65535,0)))  {
            error = error + document.getElementById("InvalidPortString").value + "\n";
        }     
    }
    
  if (error != ""){
    window.alert(error);   
      return false;
  } else { 
        return true;
    }
}

function checkIfThreshold() {
    var isInt = 1;
    var isFloat = 2;
    var ifInOctets = document.getElementsByName("ifInOctetsUpperBound");
    var ifOutOctets = document.getElementsByName("ifOutOctetsUpperBound");
    var ifInErrors = document.getElementsByName("ifInErrorsUpperBound");
    var ifOutErrors = document.getElementsByName("ifOutErrorsUpperBound");
    var isError = false;
    
    for(var i = 0; i < ifOutErrors.length; i++) {
        document.getElementById("if"+i).style.display='none';
        if((ifInOctets[i].value=="")||(ifOutOctets[i].value=="")||(ifInErrors[i].value=="")||(ifOutErrors[i].value=="")) {
            if(!((ifInOctets[i].value=="")&&(ifOutOctets[i].value=="")&&(ifInErrors[i].value=="")&&(ifOutErrors[i].value==""))){
                document.getElementById("if"+i).style.display='';
                isError = true;
            }
        } else {
            if (check_amountInvaild_by_value(ifInOctets[i].value, isInt)||
                    check_amountInvaild_by_value(ifOutOctets[i].value, isInt)||
                    check_amountInvaild_by_value(ifInErrors[i].value, isInt)||
                    check_amountInvaild_by_value(ifOutErrors[i].value, isInt)) {
         document.getElementById("if"+i).style.display='';
                 isError = true;
        }
        }
    }

    return isError;
}

function timeRange_check() {
    var startDateArray = (document.getElementById("startDate").value).split("/");
    var endDateArray = (document.getElementById("endDate").value).split("/");
    var startDate = new Date();
    var endDate = new Date();
    startDate.setFullYear(startDateArray[0]);
    startDate.setMonth(startDateArray[1]-1);
    startDate.setDate(startDateArray[2]);
    
    endDate.setFullYear(endDateArray[0]);
    endDate.setMonth(endDateArray[1]-1);
    endDate.setDate(endDateArray[2]);
    
    var error = "";   
    var chargeError = 0;
    if (check_empty("startHour") || checkRange("startHour", 23, 0) || check_amountInvaild("startHour", 1)) {         
        chargeError++;
    }
    
    if (check_empty("startMin") || checkRange("startMin", 59, 0) || check_amountInvaild("startMin", 1)) {      
        chargeError++;     
    } 
    
    if (check_empty("endHour") || checkRange("endHour", 23, 0) || check_amountInvaild("endHour", 1)) {     
        chargeError++;    
    } 
    
    if (check_empty("endMin") || checkRange("endMin", 59, 0) || check_amountInvaild("endMin", 1)) {      
        chargeError++;     
    } 
    
    if (startDate > endDate) {      
        chargeError++;     
    }
    
    if (startDate.getTime() == endDate.getTime()){
        if (parseInt(document.getElementById("endHour").value, 10) < parseInt(document.getElementById("startHour").value, 10)) {                
            chargeError++;
        } else if (parseInt(document.getElementById("endHour").value, 10) == parseInt(document.getElementById("startHour").value, 10)){
            if (parseInt(document.getElementById("endMin").value, 10) < parseInt(document.getElementById("startMin").value, 10) ) {      
                chargeError++;   
            }  
        }
    }
    
    if (chargeError != 0) { 
        alert(document.getElementById("invalidTimeError").value);
        return false;  
        
    } 
    
    return true;        
}

function searchSNMPDevice_check_value() {
    var error = "";
    if ((check_empty("fromIP")) || (check_empty("toIP"))) {
         error = error + document.getElementById("IPEmptyInvalid").value + "\n";
    } else {
        if ((!checkIpAddress("fromIP")) || (!checkIpAddress("toIP"))) {
            error = error + document.getElementById("IPInvalid").value + "\n";    
        }       
    }  
    
    if (check_empty("community")) {
         error = error + document.getElementById("communityEmptyInvalid").value + "\n";
    } 

    
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function register_check_value() {
    var error = "";  
    if (check_empty("serial")) {
         error = error + document.getElementById("serialEmptyInvalid").value + "\n";
    } 
    
    if (check_empty("authCode")) {
         error = error + document.getElementById("authCodeEmptyInvalid").value + "\n";
    } 
    
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function get_checked_target_type(frmName){
      var queryForm = document.getElementById(frmName);
    var radioArray = queryForm.targetType;
    if (radioArray[0].checked) {
          document.getElementById("type").value="device";
    } else if (radioArray[1].checked) {
          document.getElementById("type").value="interface";
    }
}

function get_checked_network_y_axis(frmName){
      var queryForm = document.getElementById(frmName);
    var radioArray = queryForm.networkYAxis;
    if (radioArray[0].checked) {
          document.getElementById("yAxis").value="speed";
    } else if (radioArray[1].checked) {
          document.getElementById("yAxis").value="max";
    }
}

function general_chart_check() {
    get_checked_target_type("generalQueryForm");
    get_checked_network_y_axis("generalQueryForm");
    var isValidTime = timeRange_check();

    selectAll();
    parent.tree.document.getElementById("isQueryResult").value="true";
    return isValidTime;
}

function comparative_chart_check() {
    get_checked_target_type("comparativeQueryForm");
    get_checked_network_y_axis("comparativeQueryForm");
    var isValid = timeRange_check();
    isValid = is_num_item_legal();

    selectAll();
    parent.tree.document.getElementById("isQueryResult").value="true";
    return isValid;
}

function is_num_item_legal(){
     var itemLength = document.comparativeQueryForm.device.length;
     if (itemLength <= 0){
         alert(document.getElementById("emptyItemError").value);
           return false;
     }
     if (itemLength != 2) {
         alert(document.getElementById("invalidNumItemError").value);
           return false;
     }
     return true;
}

function setting_check_value() {
    var error = "";
    if (check_empty("host")) {
         error = error + document.getElementById("hostEmptyString").value + "\n";
    }
    
    if (check_empty("mailFrom")) {
         error = error + document.getElementById("mailFromEmptyString").value + "\n";
    } else {
        if (!(checkEmail("mailFrom"))) {
              error = error + document.getElementById("emailErrorString").value + "\n";
        }
    }

    if (check_empty("account")) {
         error = error + document.getElementById("accountEmptyString").value + "\n";
    }

    if ((document.getElementById("password").value != document.getElementById("reconfirmPassword").value)) {
      error = error + document.getElementById("passwordError").value + "\n";    
    }

    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function add_fixed_ip_record_check_value() {
    var error = "";
    if ((check_empty("startIp")) || (check_empty("endIp"))) {
         error = error + document.getElementById("IPEmptyInvalid").value + "\n";
    } else {
        if ((!checkIpAddress("startIp")) || (!checkIpAddress("endIp"))) {            
            error = error + document.getElementById("IPInvalid").value + "\n";    
        }       
    }     
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }
}

function persional_setting__check_value() {
  var error = "";
  
  if (check_empty("oldPassword")) {
         error = error + document.getElementById("oldPasswordEmptyString").value + "\n";
  } 
  
  
  if ((document.getElementById("newPassword").value != document.getElementById("reconfirmPassword").value)) {
      error = error + document.getElementById("userNewPasswordError").value + "\n";    
  }
  
  if (error != "") {  
      window.alert(error);   
      return false;
  } else { 
      return true;
  }
    
}

function upload_check(){
    if (!confirm(document.getElementById("importWarning").value)) {
        return false;
    }
    
    if (check_empty("file")) {
        window.alert(document.getElementById("invalidFile").value);
        return false;
    }
    
    document.getElementById("uploadForm").submit();
    return true;
}

var reportOptionItems = new Array("deviceAllTopOption", "deviceAllByGroupTopOption", "deviceGroupTopOption", 
																	"interfaceAmountTopOption", "interfaceByGroupAmountTopOption", "interfacePercentageTopOption", 
																	"interfacePercentageByGroupTopOption");

function report_check() {
    var error = "";
    var isInt =1;
    var types = document.getElementsByName("type");
    var isTypeChecked = false;
    
    //設備描述空白檢查
    if (check_empty("descr")) {
        error = error + document.getElementById("emptyDescr").value + "\n";
    }

		//報表種類都沒有勾選檢查
    for (var i = 0; i < types.length; i++) {
    	if (types[i].checked) {
          isTypeChecked = true;
          break;
    	}
    }
    if (isTypeChecked == false) {
        error = error + document.getElementById("emptyTypes").value + "\n";
    }
    
    //排行數字是否正確輸入檢查(數字，1~10)
    var topNs = document.getElementsByName("topN");
    for (var i = 0; i < reportOptionItems.length; i++) {
    	  var qwe = reportOptionItems[i];
        var optionValue = document.getElementsByName(reportOptionItems[i]);
        if (!types[i].checked) {
            continue;
    	  }
        if (optionValue[0].checked) {
            continue;
        }
    	  if ((check_empty_forArrayItem(topNs[i])) || (check_amountInvaild_by_value(topNs[i].value, isInt)) || (checkRange_forArrayItem(topNs[i],10,1)))  {
            error = error + document.getElementById("topString").value + "\n";
            break;
        }
    }
    
    //是否有選擇使用者檢查
    var isRead = document.getElementsByName("isRead");
    var isMail = document.getElementsByName("isMail");
    var isRight = false;
    for(var j = 0 ; j<isRead.length ; j++){
  	    if(isRead[j].checked == true){  
            isRight = true;
            break;
        }
    }
    for(var j = 0 ; j<isMail.length ; j++){
  	    if(isMail[j].checked == true){  
            isRight = true;
            break;
        }
    }
    if (!isRight) {
    	  error = error + document.getElementById("userSettingString").value + "\n";
    }
    
    if (error != "") {	
        window.alert(error);   
		    return false;
   	}
   	
	  return true;
}

function dbSetting_check() {
    var error = "";
  
    if (check_empty("password")) {
        error = error + document.getElementById("passwordEmptyString").value + "\n";
    } 
   
    if (error != "") {  
        window.alert(error);   
        return false;
    } else { 
        return true;
    }
}

