

function logon_block_rule_check(type) {
    var error = "";
    var isInt =1; 
    var invaildInput = false;   
    
    if (check_empty("blockPeriod")) {
        error = error + document.getElementById("periodEmptyError").value + "\n";
    } else {
        if (document.getElementById("blockPeriod").value == '0') {
            invaildInput = true;    
        }
        
        if (check_amountInvaild("blockPeriod", isInt))  {
          invaildInput = true;          
        }
    }        
    
    if (check_empty("times")) {
        error = error + document.getElementById("timesEmptyError").value + "\n";
    } else {
        if (document.getElementById("times").value == '0') {
            invaildInput = true;    
        }
        
        if (check_amountInvaild("times", isInt))  {
          invaildInput = true;          
        }     
    }
    
    if (check_empty("blockDuration")) {
        if (!document.getElementById("blockForever").checked) {
            error = error + document.getElementById("blockDurationEmptyError").value + "\n";
        }
    } else {
        if (document.getElementById("blockDuration").value == '0') {
            invaildInput = true;    
        }
        
        if (check_amountInvaild("blockDuration", isInt) && !((document.getElementById("blockForever").checked) && (document.getElementById("blockDuration").value == '-1')))  {
        	invaildInput = true;      
        }  
    }
    
    if (invaildInput) {
        error = error + document.getElementById("formatError").value + "\n";
    }
    
    
    if (error != "") {     
    	  if (type == 'check') {
            window.alert(error);         
        }
        return false;
    } else { 
        return true;
    }
}



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 time_spot_check() {
    var queryDateArray = (document.getElementById("queryDate").value).split("/");
    var queryDate = new Date();
    queryDate.setFullYear(queryDateArray[0]);
    queryDate.setMonth(queryDateArray[1]-1);
    queryDate.setDate(queryDateArray[2]);
  
    var chargeError = 0;
    if (check_empty("queryHour") || checkRange("queryHour", 23, 0) || check_amountInvaild("queryHour", 1)) {         
        chargeError++;
    }
    
    if (check_empty("queryMin") || checkRange("queryMin", 59, 0) || check_amountInvaild("queryMin", 1)) {      
        chargeError++;     
    } 
    
    if (chargeError != 0) { 
        alert(document.getElementById("invalidTimeError").value);
        return false;  
        
    } 
    
    return true;        
}

function host_query_check() {
    var error = "";
    var hostSearchType = document.getElementsByName("hostSearchType");
    var checkType = "all";
    for (var i=0; i<hostSearchType.length; i++) {
        if (hostSearchType[i].checked) {
            checkType = hostSearchType[i].value;
            break;
        }
    }

    if (checkType == "ipRange") {
        if (check_empty("ipStart")) {
             error = error + document.getElementById("IPEmptyInvalid").value + "\n";
        } else if (check_empty("ipEnd")) {
             document.getElementById("ipEnd").value=document.getElementById("ipStart").value;
        } else {
            if ((!checkIpAddress("ipStart")) || (!checkIpAddress("ipEnd"))) {
                error = error + document.getElementById("IPInvalid").value + "\n";    
            }       
        }  
    } else if ((checkType == "subHostName") && check_empty("subHostName")) {
        error = error + document.getElementById("subHostNameEmpty").value + "\n";
    } else if ((checkType == "hostCode") && check_empty("hostCode")) {
        error = error + document.getElementById("hostCodeEmpty").value + "\n";
    }

    if (error != "") {      
        window.alert(error); 
        return false;
    }
    
    return true;	
}

function abnormality_query_check() {
	var timeCheck = timeRange_check();
	if (timeCheck == false) {
	    return false;
	}
	
	var typeArray = document.getElementsByName("type");
	var check = false;
	for (var i = 0; i < typeArray.length; i++) {
	    if (typeArray[i].checked) {
	        check = true;
	        break;	
	    }	
	}
	
	if (!check) {
	      alert(document.getElementById("invalidTypeError").value);
        return false; 
	}
	
	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 general_query_check_value() {
	var timeCheck = timeRange_check();
	if (timeCheck == false) {
	    return false;
	}	
    var error = "";
    var hostSearchType = document.getElementsByName("hostSearchType");
    var checkType = "all";
    for (var i=0; i<hostSearchType.length; i++) {
        if (hostSearchType[i].checked) {
            checkType = hostSearchType[i].value;
            break;
        }
    }

    if (checkType == "ipRange") {
        if (check_empty("ipStart") || check_empty("ipEnd")) {
             error = error + document.getElementById("IPEmptyInvalid").value + "\n";
        } else {
            if ((!checkIpAddress("ipStart")) || (!checkIpAddress("ipEnd"))) {
                error = error + document.getElementById("IPInvalid").value + "\n";    
            }       
        }  
    } else if ((checkType == "subHostName") && check_empty("subHostName")) {
        error = error + document.getElementById("subHostNameEmpty").value + "\n";
    } else if ((checkType == "hostCode") && check_empty("hostCode")) {
        error = error + document.getElementById("hostCodeEmpty").value + "\n";
    }

    if (error != "") {      
        window.alert(error); 
        return false;
    }
    
    return true;
}

function addUserGroup_check() {
    var error = "";
    if (check_empty("userGroupName")) {
         error = error + document.getElementById("groupNameError").value + "\n";
    }	
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }    
}

function delete_list_check(name) {
	var error = "";
	var check = false;
    var deleteUserArray = document.getElementsByName(name);
    for (var i = 0; i < deleteUserArray.length; i++) {
        if (deleteUserArray[i].checked == true) {           
            check = true;
        }        
    }
    
    if (check) {
        if (confirm(parent.functionBar.document.getElementById("deleteWarning").value)){
            return true;
        } 	
    } else {
        alert(document.getElementById("invalidNumberError").value);
    }
    if (name=="user"){
      parent.functionBar.document.parameterTreeForm.reload.value = "true";
    }
    
    return false;
}

function delete_list_host_check() {
	  var error = "";
	  var check = false;
    var deleteUserArray = document.getElementsByName("host");
    for (var i = 0; i < deleteUserArray.length; i++) {
        if (deleteUserArray[i].checked == true) {           
            check = true;
        }        
    }
    
    if (check) {
        if (confirm(parent.functionBar.document.getElementById("deleteWarning").value)){
            return true;
        } 	
    } else {
        alert(document.getElementById("invalidHostNumberError").value);
    }
    parent.functionBar.document.parameterTreeForm.reload.value = "true";
    return false;
}

function ip_mac_check() {
	var timeCheck = timeRange_check();
	if (timeCheck == false) {
	    return false;
	}	
    var error = "";
    var typeIp = document.getElementById("typeIp");
    var typeDescription = document.getElementById("typeDescription");
    var typeMac = document.getElementById("typeMac");
    var typeChecked = "subHostName";
    if (typeMac.checked) {
    	typeChecked = "mac";
    } else if (typeDescription.checked) {
    	typeChecked = "hostDescription";
    } else if (typeIp.checked) {
    	typeChecked = "ip";
    }
       
    if (check_empty("address")) {
         error = error + document.getElementById("emptyAddress").value + "\n";
    } else {
        if (typeChecked == "ip") {
        		if (!checkIpAddress("address")) {
		             error = error + document.getElementById("IPInvalidString").value + "\n";
	          }
        } else if (typeChecked == "mac") {
        //@todo checkMacAddress
        }
    }

    
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        document.getElementById("address").value = trim(document.getElementById("address").value);
        return true;
    }
}

function add_host_check() {
	if (check_empty("group")) {
		return false;
	}
	
	if (!checkIpAddress("ipAddr")) {
		return false;
	}
	
	if (checkRange("port", 65536, 1) || check_amountInvaild("port", 1) || check_empty("port")) {
		return false;	
	}
	
	return true;
}    

function addHostGroup_check() {
    var error = "";
    if (check_empty("hostGroupName")) {
         error = error + document.getElementById("groupNameError").value + "\n";
    }	
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }    
}

function read_abnormality_check() {
    var error = "";
    var records = document.getElementsByName("readRecordId");
    var check = false;
    for (var i = 0; i < records.length; i++) {
    	if (records[i].checked) {
    		check = true;
    		break;
    	}
    }
    if (!check) {
         error = error + document.getElementById("readCheckError").value + "\n";
    }	
    if (error != "") {      
        window.alert(error); 
        return false;
    } else { 
        return true;
    }	
}


function syslog_host_check_value() {
    var error = "";
    var isInt =1;
    var isFloat = 2;
    if (check_empty("IPAddress")) {
      error = error + document.getElementById("ipError").value + "\n";
    } else {
        if (!checkIpAddress("IPAddress"))  {
          error = error + document.getElementById("IPInvalidString").value + "\n";
        }
    }
    if (check_empty("port")) {
    error = error + document.getElementById("portError").value + "\n";
  } else {
      if ((check_amountInvaild("port", isInt)) || (checkRange("port",65535,0)))  {
            error = error + document.getElementById("InvalidPortString").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 (!checkPassword("oldPassword")) {
      error = error + document.getElementById("passwordErrorString").value + "\n";    
  } 
  
  if (checkPassword("newPassword")) {
      if ((document.getElementById("newPassword").value != document.getElementById("reconfirmPassword").value)) {
          error = error + document.getElementById("userNewPasswordError").value + "\n";    
      }	
  } else {
      error = error + document.getElementById("passwordErrorString").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 setting_check_value() {
    var error = "";
    var isInt =1;
    var isFloat = 2;  
    
    if (check_empty("serverIP")) {
      error = error + document.getElementById("ipError").value + "\n";
    } else {
        if (!checkIpAddress("serverIP"))  {
          error = error + document.getElementById("IPInvalidString").value + "\n";
        }
    }        
    
    if (check_empty("mailHost")) {
         error = error + document.getElementById("hostEmptyString").value + "\n";
    }
    
    if (check_empty("ed4clientServerPort")) {
         error = error + document.getElementById("portError").value + "\n";
    } else {
      if ((check_amountInvaild("ed4clientServerPort", isInt)) || (checkRange("ed4clientServerPort",65535,0)))  {
            error = error + document.getElementById("InvalidPortString").value + "\n";
        }     
    }
    
    if (check_empty("arpScannerServerPort")) {
         error = error + document.getElementById("portError").value + "\n";
    } else {
      if ((check_amountInvaild("arpScannerServerPort", isInt)) || (checkRange("arpScannerServerPort",65535,0)))  {
            error = error + document.getElementById("InvalidPortString").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 (document.getElementById("auth").value == "true") {   
    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 (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;
}

function checkTcpipNetworkingRulesRemoved() {
    var warningMessage = document.getElementById("confirmWarning").value;
    var errorMessage = document.getElementById("invalidNumberError").value;
    if(delete_list_check("recordId", warningMessage, errorMessage)) {
        return true;    
    } else {
        return false;    
    }    
}

function checkTcpipNetworkingRulesAdded() {
    var error = "";
    var isInt =1; 
    var invaildInput = false;       
    
    if (check_empty("port") && check_empty("processName")) {
        error = error + document.getElementById("emptyError").value + "\n";    
    } else {
        if (check_amountInvaild("port", isInt)) {
            if (!check_empty("port")) {	
                invaildInput = true;
            }
        } 
        
        if (checkRange("port", 65535, 0)) {
            invaildInput = true;            
        } 
    }
    
    if (invaildInput) {
        error = error + document.getElementById("invalidPort").value + "\n";                    
    }
    
    if (error != "") {      
        window.alert(error); 
        return false;
    } else {         
        return true;
    }
}