﻿var form_check_status = true;

function resetForm(form)
{
	if (form == undefined)
		form = document.forms[0];
		
	form.reset();
}

function clearForm(form)
{
	if (form == undefined)
		form = document.forms[0];
		
	if (form.elements != undefined)
		objs = form.elements;
			
	for(i=0;i<objs.length;i++)
	{
		if (objs[i].type == "hidden" || objs[i].type == "button" || objs[i].type == "submit" || objs[i].type == "reset")
			continue;
		
		objs[i].value = "";
	}
}

function checkInputData(form)
{
	return callInputOnChange(form);
}

function checkAllData(form)
{
	return callAllOnChange(form);
}

function checkEmpty(field)
{
	var val = field.value;

	if (isEmpty(val))
	{
		alert();
		field.focus();
		form_check_status = false;
		return false;
	}

	form_check_status = true;
	return true;
}

function checkNull(field)
{
	return checkEmpty(field);
}

function checkNumber(field)
{
	var val = field.value;
	var num = parseInt(val);

	if (isEmpty(val))
	{
		alert(LANG["MSG_FORM_NUMERIC_EMPTY"]);
		field.focus();
		form_check_status = false;
		return false;
	}

	if (isNaN(num))
	{
		alert(LANG["MSG_FORM_NUMERIC_ERROR"]);
		field.focus();
		form_check_status = false;
		return false;
	}

	form_check_status = true;
	return true;
}

function checkZero(field)
{
	if (checkNumber(field) == false)
		return false;
	
	var num = parseInt(field.value);
	
	if (num == 0)
	{
		alert(LANG["MSG_FORM_ZERO_ERROR"]);
		field.focus();
		form_check_status = false;
		return false;
	}
	
	form_check_status = true;
	return true;
}

function checkDate(field)
{
}

function checkRequire(form)
{
	objs = form.elements;
	for(i=0;i<objs.length;i++)
	{
		if (objs[i].type == "hidden" || objs[i].type == "button" || objs[i].type == "submit" || objs[i].type == "reset")
			continue;
		
		if (objs[i].require == "true" && objs[i].value == "")
			return false;
	}
	
	return true;
}

function confirmDelete(item)
{
	var msg = LANG["MSG_CONFIRM_DELETE"] + item + " ?";
	
	if (confirm(msg))
	{
		return true;
	}
	
	return false;
}

function confirmUrlDelete(url,item)
{
	var msg = LANG["MSG_CONFIRM_DELETE"]  + item + " ?";
	
	if (confirm(msg))
	{
		if (url != null && url != '')
		{
			//alert(url);
			location = url;
		}
	}
	
	return false;
}



//ajax 
function validate_form(obj)
{
	//ajax
	xajax_validate_form(obj.table,obj.name,obj.value);
}

function focusInput(name)
{
	forms = document.getElementsByTagName("form");
	for(i=0;i<forms.length;i++)
	{
		objs = forms[i].elements;
		for(j=0;i<objs.length;j++)
		{
			if (objs[j].type == "text" && objs[j].name == name)
			{
				objs[j].focus();
				return;
			}
		}
	}
}

function setReadOnlyElement(obj)
{
	if (obj.type == "text")
	{
       	obj.readOnly = true;
       	obj.style.backgroundColor = "#D4D0C8";
	}
	else if (obj.type == "checkbox")
	{
		obj.disabled = true;
	}
	else if (obj.type == "select-one" || obj.type == "select-multiple")
	{
		obj.disabled = true;
	}
	else if (obj.type  == "textarea")
	{
		obj.readOnly = true;
      	obj.style.backgroundColor = "#D4D0C8";
	}
}

function setReadOnly()
{
    fields = document.getElementsByTagName("textarea");
    for (i = 0; i < fields.length; i++)
    	setReadOnlyElement(fields[i]);
    
    fields = document.getElementsByTagName("select");
    for (i = 0; i < fields.length; i++)
        setReadOnlyElement(fields[i]);
      
    fields = document.getElementsByTagName("input");
    for (i = 0; i < fields.length; i++)
    	setReadOnlyElement(fields[i]);
}

function setReadOnlyForm(form)
{
	objs = form.elements;
	
	for(i=0;i<objs.length;i++)
	{
		//alert(objs[i].name);
		setReadOnlyElement(objs[i]);
	}
}

function sumValue(name1,name2,name3)
{
	try
	{
		field1 =  getElementByName(name1);
		field2 =  getElementByName(name2);
		field3 =  getElementByName(name3);
		
		var val1 = field1.value;
		var num1 = parseFloat(val1);
		
		var val2 = field2.value;
		var num2 = parseFloat(val2);
		
		if (isNaN(num1) || isNaN(num2))
			return;
		
		total = num1 * num2;
		
		field3.value = total;
	}
	catch(e) {}
}
