//Guideline @ 2009 Jun 24
//Each time changing content, increase file's version number at style2.jin
function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
		return "";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
		
	if(TRIM_VALUE==""){
		return "";
	}
		
	else{
		return TRIM_VALUE;
	}
}

function RTrim(VALUE){
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	
	if(v_length < 0){
		return"";
	}
	var iTemp = v_length -1;
		
	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){}	
		else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;
	}
	return strTemp;
}


function LTrim(VALUE){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";
	var iTemp = 0;	
	
	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){}		
		else{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	}
	return strTemp;
}
									
function matchPositivePattern(val){
	if(val.match(/^([0-9.]+[npumkgGKM])$/) || val.match(/^([0-9.]+[" "]+[npumgGkKM])$/))
		return true;
	return false;
}

function matchNegativePattern(val){
	if(val.match(/^(-[0-9.]+[npumkgGKM])$/) || val.match(/^(-[0-9.]+[" "]+[npumgGkKM])$/))
		return true;
	return false;
}

function matchPattern(val){
	if (matchPositivePattern(val) || matchNegativePattern(val))
		return true;
	return false;
}

function validateNumber (myfield)
{
	if (myfield.value=="")
		return true;
   if (!isNaN(Number(myfield.value))) 
    return true;
	else if(matchPattern(myfield.value))
		return true;
	myfield.value = 0;
	alert("Please input number! (e.g. 1.02u or 1.0K)");        	
	return false;
}
/*
function validatePositiveNumber (myfield)
   {
	if (myfield.value=="")
		return true;
	if (!isNaN(Number(myfield.value))) {
		var n = Number(myfield.value);
		if (n>=0)
			return true;		
	}
	else if(myfield.value.match(/^([0-9.]+[npumgGkKM])$/)) {
		var str = Trim(myfield.value);
		var n = Number(str.substr(0,str.length-1)); 
		if (n>=0)
			return true;
	}
	alert("Please input POSITIVE number! (e.g. 1.02u or 1.0K)");
	myfield.value = 1;
	return false;
}*/

function validatePositiveIntNumber (myfield)
{    
	if (myfield.value==""){
		alert("The field cannot be empty");
   return false;
}
	if (!isNaN(Number(myfield.value))) {
		var n = Number(myfield.value);
		if (n>0)
			return true;		
	}	
	alert("Please input POSITIVE Integer number! (e.g. 1,2)");
	myfield.value = 1;
   return false;
}

function validatePositiveNumber (myfield, defaultvalue)
   {
	var n;
	if (myfield.value=="")
		return true;
	if (!isNaN(Number(myfield.value))) {
		n = Number(myfield.value);
		if (n>0)
			return true;	
	}
	else if(matchPositivePattern(myfield.value)) {
		var str = Trim(myfield.value);
		n = Number(str.substr(0,str.length-1)); 
		if (n>0)
			return true;
	}

	alert("Please input POSITIVE number! (e.g. 1.02u or 1.0K)");
	if (String(defaultvalue)!="undefined")
		myfield.value = defaultvalue;
	else
		myfield.value = 1e-12;
	return false;
}

function validateNonNegativeNumber (myfield)
{    
	if (myfield.value=="")
		return true;
	if (!isNaN(Number(myfield.value))) {
		var n = Number(myfield.value);
		if (n>=0)
			return true;		
	}	
	else if(matchPositivePattern(myfield.value)) {
		var str = Trim(myfield.value);
		n = Number(str.substr(0,str.length-1)); 
		if (n>=0)
			return true;
	}

	alert("Please input Non-Negative number! (e.g. 1.02u or 1.0K)");
	myfield.value = 0;
   return false;
}

function validateNumber (myfield, defaultvalue)
{
	if (myfield.value=="")
		return true;
   if (!isNaN(Number(myfield.value))) 
    return true;
	else if(matchPattern(myfield.value))
		return true;
	myfield.value = defaultvalue;
	alert("Please input number! (e.g. 1.02u or 1.0K)");        	
	return false;
}

function validateNonNegativeNumber (myfield, defaultvalue)
   {
	var n;
	if (myfield.value=="")
		return true;

	if (!isNaN(Number(myfield.value))) {
		n = Number(myfield.value);
		if (n>=0)
			return true;	
	}
	else if(matchPositivePattern(myfield.value)) {
		var str = Trim(myfield.value);
		n = Number(str.substr(0,str.length-1)); 
		if (n>=0)
			return true;
	}

	alert("Please input Non-Negative number! (e.g. 1.02u or 1.0K)");
	if (String(defaultvalue)!="undefined")
		myfield.value = defaultvalue;
	else
		myfield.value = 0;

	return false;
}

function validateNonNegativeNumberLtMax (myfield, max_value, defaultvalue)
   {
	if (String(defaultvalue) == ("undefined"))
		defaultvalue = 0;
	if (String(max_value) ==("undefined"))
		max_value = 1e18;

	var n;
	if (myfield.value=="")
		return true;
	if (!isNaN(Number(myfield.value))) {
		n = Number(myfield.value);
		if (n>=0){
			if (n > Number(max_value)){
				alert("Please input a number less than "+max_value);
				myfield.value = defaultvalue;
				return false;
			}
			return true;
		}
	}
	else if(matchPositivePattern(myfield.value)) {
		var str = Trim(myfield.value);
		n = Number(str.substr(0,str.length-1)); 
		if (n>0)
			return true;
		else if(n >=0){
			myfield.value = 0;
			return true;
		}
	}
	alert("Please input Non-Negative number! (e.g. 1.02u or 1.0K).");
	myfield.value = defaultvalue;
	return false;
}

function validateEmail(val){
	return (val.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/));
}

function checkMinMaxRelation(Min,Max){
	if (isNaN(Number(Max)) || isNaN(Number(Min))){
		var dMax = getNumeric(Max);
		var dMin = getNumeric(Min);
		if(Number(dMin) > Number(dMax)){
			return false;
		}
	} else if(Number(Min) > Number(Max)){
		return false;
	}
	return true;
}
function validation(){
//alert("This is validation");
}
