﻿
function confirmModifyPassword(message) {
    if (confirm (message)) {
    } else {
	    document.getElementById("newPassword").value = "";
		document.getElementById("doubleCheckPassword").value = "";
	}
}

function confirmNewPassword() {
    if (document.getElementById("newPassword").value == document.getElementById("doubleCheckPassword").value) {
        return true;
    }
	return false;
}

function checkGroupSelect() {
    for (var i = 1; i <=5 ; i++) {
		var fieldName_i = "group" + i;
        var group = document.getElementById(fieldName_i).value;
		for (var j = i+1; j <= 5 ; j++) {
            var fieldName_j = "group" + j;
		    if (group == document.getElementById(fieldName_j).value) {
                return false;
		    }
		}
    }
	return true;
}

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_check_value(username,userEmail) {
	var error = "";
    if (check_empty("username")) {
         error = error + document.getElementById("usernameEmptyString").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;
    } else { 
		if ( (document.getElementById("newPassword").value != "") || (document.getElementById("doubleCheckPassword").value != "")) 	{
            if (confirm (document.getElementById("confirmString").value)) {
        } else {
	        document.getElementById("newPassword").value = "";
		    document.getElementById("doubleCheckPassword").value = "";
			return false;
	    }
	}
        return true;
    }
}

function addUser_check_value() {
	var error = "";
    if (check_empty("username")) {
         error = error + document.getElementById("usernameEmptyString").value + "\n";
    }

	if (check_empty("password")) {
         error = error + document.getElementById("passwordEmptyString").value + "\n";
    } else {
	    if ( (document.getElementById("password").value != document.getElementById("doubleCheckPassword").value)) {
		    error = error + document.getElementById("userNewPasswordError").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 (!(checkGroupSelect())) {
        error = error + document.getElementById("userSelectGroupError").value + "\n";
	}
    if (error != "") {	  	
        window.alert(error); 
		return false;
    } else { 
		return true;
    }
}

function updatePersonalSetting_check_value() {
  var error = "";
	if (!confirmNewPassword()) {
  	window.alert(document.getElementById("userNewPasswordError").value);
  	return false;
	}  	
  if (!checkOldPassword()) {
  	window.alert(document.getElementById("userOldPasswordError").value);
  	return false;
  }        
	if ( (document.getElementById("newPassword").value != "") || (document.getElementById("doubleCheckPassword").value != "")) 	{
            if (confirm (document.getElementById("confirmString").value)) {
        } else {
	        document.getElementById("newPassword").value = "";
		    document.getElementById("doubleCheckPassword").value = "";
			return false;
	    }
	}
        return true;
    
}

function checkOldPassword(){
	var keyInPsd = document.getElementById("oldPassword").value;
	var oldPsd = document.getElementById("userOldPassword").value;
	if (keyInPsd != oldPsd) {
		return false;
	}
	return true;
}

function addAgent_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 (document.getElementById("monitoringMethod").value == "1") {
  	if (check_empty("community")) {
    	error += document.getElementById("communityEmptyString").value + "\n";
    }
    if (check_empty("snmp_port")) {
     	error += document.getElementById("portEmptyString").value + "\n";
    } else {
	    if ((check_amountInvaild("snmp_port", isInt)) || (checkRange("snmp_port", 65535, 0)))  {
        error += document.getElementById("InvalidPortString").value + "\n";
	    }     
		}
  } else {
    if (check_empty("tcp_port")) {
      error += portEmptyString + "\n";
   	} else {
	    if ((check_amountInvaild("tcp_port", isInt)) || (checkRange("tcp_port", 65535, 0)))  {
        error += InvalidPortString + "\n";
	   	}     
		}    
  }

	if (check_empty("cpuThreshold")) {
         error = error + document.getElementById("InvalidCputhresholdString").value + "\n";
    } else {
	    if ((check_amountInvaild("cpuThreshold", isInt)) || (checkRange("cpuThreshold",100,0))) {
            error = error + document.getElementById("InvalidCputhresholdString").value + "\n";
	    }    
	}

	if (check_empty("memThreshold")) {
         error = error + document.getElementById("InvalidMemthresholdString").value + "\n";
    } else {
	    if ((check_amountInvaild("memThreshold", isInt)) || (checkRange("memThreshold",100,0))) {
            error = error + document.getElementById("InvalidMemthresholdString").value + "\n";
	    }
	}

	if (check_empty("storageThreshold")) {
         error = error + document.getElementById("InvalidStoragethresholdString").value + "\n";
    } else {
	    if ((check_amountInvaild("storageThreshold", isInt)) || (checkRange("storageThreshold",100,0))) {
            error = error + document.getElementById("InvalidStoragethresholdString").value + "\n";
	    }    
	}

    if (check_empty("inKbps")) {
        error = error + document.getElementById("InvalidInKbpsString").value + "\n";
    } else {
	    if (check_amountInvaild("inKbps", isInt)) {
            error = error + document.getElementById("InvalidInKbpsString").value + "\n";
	    }
	}

	if (check_empty("outKbps")) {
         error = error + document.getElementById("InvalidOutKbpsString").value + "\n";
    } else {
	    if (check_amountInvaild("outKbps", isInt)) {
            error = error + document.getElementById("InvalidOutKbpsString").value + "\n";
	    }
	}

	if (check_empty("runningSoftwareNumberThreshold")) {
         error = error + document.getElementById("invaildRunningSoftwareNumberThreshold").value + "\n";
    } else {
	    if (check_amountInvaild("runningSoftwareNumberThreshold", isInt)) {
            error = error + document.getElementById("invaildRunningSoftwareNumberThreshold").value + "\n";
	    }
	}

	if (check_empty("processNumberThreshold")) {
         error = error + document.getElementById("invaildProcessNumberThreshold").value + "\n";
    } else {
	    if (check_amountInvaild("processNumberThreshold", isInt)) {
            error = error + document.getElementById("invaildProcessNumberThreshold").value + "\n";
	    }
	}

    if (error != "") {	  	
        window.alert(error); 
				return false;
    } else {
    		submitForm();
				return true;
	}  
}
	  	
function updateAgentThreshold_check_value() {
    var error = "";
	var isInt =1;
	var isFloat = 2
    var cpuThresholdArray = document.getElementsByName("cpuThreshold");
	var memThresholdArray = document.getElementsByName("memThreshold");
	var storageThresholdArray = document.getElementsByName("storageThreshold");
	var runningSoftwareNumberThresholdArray = document.getElementsByName("runningSoftwareNumberThreshold");
	var processNumberThresholdArray = document.getElementsByName("processNumberThreshold");
	var inKbpsThresholdArray = document.getElementsByName("inKbps");
    var outKbpsThresholdArray = document.getElementsByName("outKbps");
    var index = cpuThresholdArray.length;
	for (var i = 0; i < index; i++) {
            if (check_empty_forArrayItem(cpuThresholdArray[i])) {
                error = error + document.getElementById("InvalidCputhresholdString").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(cpuThresholdArray[i], isInt) || checkRange_forArrayItem(cpuThresholdArray[i],100,0)) {
                    error = error + document.getElementById("InvalidCputhresholdString").value + "\n";
	            }    
			}
	
            if (check_empty_forArrayItem(memThresholdArray[i])) {
                error = error + document.getElementById("InvalidMemthresholdString").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(memThresholdArray[i], isInt) || checkRange_forArrayItem(memThresholdArray[i],100,0)) {
                    error = error + document.getElementById("InvalidMemthresholdString").value + "\n";
	            }    
			}
	
            if (check_empty_forArrayItem(storageThresholdArray[i])) {
                error = error + document.getElementById("InvalidStoragethresholdString").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(storageThresholdArray[i], isInt) || checkRange_forArrayItem(storageThresholdArray[i],100,0)) {
                    error = error + document.getElementById("InvalidStoragethresholdString").value + "\n";
	            }    
			}
	
            if (check_empty_forArrayItem(runningSoftwareNumberThresholdArray[i])) {
                error = error + document.getElementById("invaildRunningSoftwareNumberThreshold").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(runningSoftwareNumberThresholdArray[i], isInt)) {
                    error = error + document.getElementById("invaildRunningSoftwareNumberThreshold").value + "\n";
	            }    
			}

            if (check_empty_forArrayItem(processNumberThresholdArray[i])) {
                error = error + document.getElementById("invaildProcessNumberThreshold").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(processNumberThresholdArray[i], isInt)) {
                    error = error + document.getElementById("invaildProcessNumberThreshold").value + "\n";
	            }    
			}

			 if (check_empty_forArrayItem(inKbpsThresholdArray[i])) {
                error = error + document.getElementById("InvalidInKbpsString").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(inKbpsThresholdArray[i], isInt)) {
                    error = error + document.getElementById("InvalidInKbpsString").value + "\n";
	            }    
			}

			 if (check_empty_forArrayItem(outKbpsThresholdArray[i])) {
                error = error + document.getElementById("InvalidOutKbpsString").value + "\n";
            } else {
	            if (check_amountInvaild_forArrayItem(outKbpsThresholdArray[i], isInt)) {
                    error = error + document.getElementById("InvalidOutKbpsString").value + "\n";
	            }    
			}
	}	

    if (error != "") {	  	
        window.alert(error); 
		return false;
    } else { 
		return true;
    }
}

function updateAgentInfo_check_value() {
    var error = "";
	var isInt =1;
	var isFloat = 2
    var portArray = document.getElementsByName("port");
	var communityArray = document.getElementsByName("community");
	var index = portArray.length;
    for (var i = 0; i < index; i++) {
        if (check_empty_forArrayItem(portArray[i])) {
            error = error + document.getElementById("portEmptyString").value + "\n";
        } else {
	            if ((check_amountInvaild_forArrayItem(portArray[i], isInt)) || (checkRange_forArrayItem(portArray[i],65535,0))) {
                    error = error + document.getElementById("InvalidPortString").value + "\n";
	            }    
		}

        if (check_empty_forArrayItem(communityArray[i])) {
            error = error + document.getElementById("communityEmptyString").value + "\n";
	    }
	}

    if (error != "") {	  	
         window.alert(error); 
	     return false;
    } else { 
	    return true;
    }
}

function updateWatcherInfo_check_value() {
    var error = "";
	var isInt =1;
	var isFloat = 2
    var cpuThresholdArray = document.getElementsByName("cpuThreshold");
	var memThresholdArray = document.getElementsByName("memThreshold");
	var processMaxThresholdArray = document.getElementsByName("processMaxThreshold");
	var index = cpuThresholdArray.length;
    for (var i = 0; i < index; i++) {
        if (check_empty_forArrayItem(cpuThresholdArray[i])) {
            error = error + document.getElementById("cpuInvalidString").value + "\n";
        } else {
	            if ((check_amountInvaild_forArrayItem(cpuThresholdArray[i], isInt)) || (checkRange_forArrayItem(cpuThresholdArray[i],100,0))) {
                    error = error + document.getElementById("cpuInvalidString").value + "\n";
	            }    
		}

        if (check_empty_forArrayItem(memThresholdArray[i])) {
            error = error + document.getElementById("memInvalidString").value + "\n";
        } else {
	            if ((check_amountInvaild_forArrayItem(memThresholdArray[i], isInt)) || (checkRange_forArrayItem(memThresholdArray[i],100,0))) {
                    error = error + document.getElementById("memInvalidString").value + "\n";
	            }    
		}

		if (check_empty_forArrayItem(processMaxThresholdArray[i])) {
            error = error + document.getElementById("processInvalidString").value + "\n";
        } else {
	            if (check_amountInvaild_forArrayItem(processMaxThresholdArray[i], isInt)) {
                    error = error + document.getElementById("processInvalidString").value + "\n";
	            }    
		}
	}

    if (error != "") {	  	
         window.alert(error); 
	     return false;
    } else { 
	    return true;
    }
}  



function checkIgnredProcessName (ignredProcessName) {
    if (check_empty(ignredProcessName)) {
        window.alert(document.getElementById("emptyString").value);     
        return false;
    }else {
        return true;   
    }
}


function checkGroupName () {
    if (check_empty("groupName")) {
        window.alert(document.getElementById("emptyString").value);     
        return false;
    }else {
        return true;   
    }
}

function productRegister_check_value() {
	var error = "";
    if (check_empty("serial")) {
         error = error + document.getElementById("serialNamuberEmptyString").value + "\n";
    }
	if (check_empty("authCode")) {
         error = error + document.getElementById("authCodeEmptyString").value + "\n";
    }	  
    if (error != "") {	  	
        window.alert(error); 
		return false;
    } else { 
        return true;
    }
}

function chart_check() {
    if (!chart_timeRange_check()) {
    		window.alert(document.getElementById("invalidTimeError").value);
        return false;
    }
    if (!checkIpAddress("ipAddress")) {
    		window.alert(document.getElementById("invalidIPError").value);
    		return false;
    }
    return true;
}

function chart_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]);
    startDate.setDate(startDateArray[2]);
    
    endDate.setFullYear(endDateArray[0]);
    endDate.setMonth(endDateArray[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) {       
	    return true;    
	} 
	
	return false;    
}