function is_invalid(obj, prm_field_name){
	if(obj.value == "")
	{
		alert(prm_field_name + " is empty.");
		obj.focus();
		return(true);
	}		
	else
		return(false);
}

function createXmlHttpRequestObject(){
	var xmlHttp;
	if(window.ActiveXObject){
		try{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");			
		}catch(e){
			xmlHttp = false;
		}		
	}else{
		try{
			xmlHttp = new XMLHttpRequest();
		}catch(e){
			xmlHttp = false;
		}
	}
	
	if(!xmlHttp)
		alert("Error Created Object");
	else
		return xmlHttp;		
}

function get_obj(str){
	return document.getElementById(str);
}

function get_number_value(num){
	var result = num.toString();
	while(result.indexOf(",") >= 0)
	{
		result = result.replace(",","");
	}
	return result;
}
function str_to_dec (input,delimiter,scale,decimark)
{
	var negative = false;
	input = input.toString();
	if (input == '')
		input = "0";
	var decimal, precision;
	var inlength = input.length;
	var found = false;
	var need = true;
	var yesnext = true;
	var zero_first = false;
	var addOne = false;
	//first check wheter input in exponential form
	//if input in exponential form, we return the input in exponential form without changing it
	for (var k=0;k<inlength;k++)
	{
		var result = input.substring(inlength-k,inlength-k-1);
		if (result == 'e')
		{
			need = false;
			break;
		}
	}
	if (need)
	{
		if(input.substring(0,1) == "-")
		{
			negative = true;
			input = Math.abs(parseFloat(input)).toString();
		}	
		if (scale == 0)
		{
			precision = Math.round(parseFloat(input)).toString();
			decimal = "";
		}
		else
		{
			for (var i=0;i<inlength;i++)
			{
				var result = input.substring(i,i+1);
				if (result == ".")
				{
					var position = i;
					var lastposition = 0;
					//check whether number 9 appear after decimal dot
					for (var j=1;j<=scale+1;j++)
					{
						if ((input.substring(position+j,position+j+1) >= 5) && (yesnext == true))
						{
							yesnext = true;
							lastposition = j;
						}
						else
						{
							yesnext = false;
							break;
						}
					}
					if ((!yesnext) || (lastposition == scale+1))
					{
						var to_round = input.substring(i+1,inlength);
						var roundlength = to_round.length;
						precision = input.substring(0,i);
						if (scale > roundlength)
						{
							scale = roundlength;
						}
						var rounded = to_round.substring(0,scale) + "." + to_round.substring(scale,roundlength);
						if(rounded.substring(0,1) == "0"){
							rounded = "1" + rounded;
							zero_first = true;
						}else if(to_round.substring(0,scale).length < Math.round(parseFloat(rounded)).toString().length){
							addOne = true;
							decimal = decimark;
							for (var i = 1;i<=scale;i++)
							{
								decimal = decimal + "0";
							}
							found= true;
							break;
						}
							
						decimal = decimark + Math.round(parseFloat(rounded)).toString();
						if(zero_first)
							decimal = decimark + decimal.substring(2,decimal.length);
						found = true;
						break;
					}
					else
					{
						input = Math.round(parseFloat(input)).toString();
						found = false;
					}
					break;
				}
			}
			if (!found)
			{
				precision = input.substring(0,inlength);
				decimal = decimark;
				for (var i = 1;i<=scale;i++)
				{
					decimal = decimal + "0";
				}
			}
		}
		//converting
		var strlen = precision.length;
		var firstpoint = strlen-3;
		var output = "";
		if(addOne)
			precision = parseInt(precision) + 1;
		
		precision = precision.toString();	
		for (var i = 0;i<strlen;i+=3)
		{
			var result = precision.substring(firstpoint-i,strlen-i);
			if (i != 0)
			{
				result = result + delimiter;
				output = result + output;
			}
			else
			{
				output = result + output;
			}
		} 
		output = output + decimal;
		if(negative)
			output = "-" + output;
		return output;
	}
	else
	{ 
		return input; 
	}
}
