// JavaScript Document
function sumFormFields(name,i)
{
	var value = 0;
	for (x=0;x<i;x++)
	{
		
		value += parseFloat(document.getElementById(name+'_'+x).value);
	}
	return value;
}

var arrLayers = Array();
function changeLayerVisibility(layerName)
{
	var hidden_name = layerName+'_is_open';

	var visibility = document.getElementById(layerName).style.visibility;

	if (visibility == 'visible')
	{
		document.getElementById(layerName).style.visibility = 'hidden';
		document.getElementById(layerName).style.height = '0px';
		document.getElementById(hidden_name).value = '0';			
		arrLayers[layerName] = 0;
	}
	else
	{
		document.getElementById(layerName).style.visibility = 'visible';
		document.getElementById(layerName).style.height = 'auto';
		document.getElementById(layerName).style.width = '100%';
		document.getElementById(hidden_name).value = '1';
		arrLayers[layerName] = 1;	
	}			
}

var rules = Array();
function Rule_Isrequired(element_name, form_name, error)
{
    element_type = document.getElementById(element_name).type;

    // Checkbox, radio
    if (element_type == 'checkbox' || element_type == 'radio')
    {
        if (!document.getElementById(element_name).checked)
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
    else
    {
        element_value = document.getElementById(element_name).value;

        if (element_value == '')
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
}

function Rule_Regexp(element_name, form_name, error, args)
{
    element_type = document.getElementById(element_name).type;

    // Checkbox, radio
    if (element_type != 'checkbox' && element_type != 'radio')
    {
        element_value = document.getElementById(element_name).value;
        regexp = eval('/'+args+'/g;');
        result = regexp.test(element_value);

        if (result == false)
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
}

function Rule_Minlength(element_name, form_name, error, args)
{
    element_type = document.getElementById(element_name).type;

    // Checkbox, radio
    if (element_type != 'checkbox' && element_type != 'radio')
    {
        element_value = document.getElementById(element_name).value;

        if (element_value.length < args)
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
}

function Rule_Maxlength(element_name, form_name, error, args)
{
    element_type = document.getElementById(element_name).type;

    // Checkbox, radio
    if (element_type != 'checkbox' && element_type != 'radio')
    {
        element_value = document.getElementById(element_name).value;

        if (element_value.length > args)
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
}

function Rule_Email(element_name, form_name, error)
{
    element_type = document.getElementById(element_name).type;

    // Checkbox, radio
    if (element_type != 'checkbox' && element_type != 'radio')
    {
        element_value = document.getElementById(element_name).value;
        regexp = eval('/[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}/g;');
        result = regexp.test(element_value);

        if (result == false)
        {
            document.getElementById(element_name).focus();
            return error+"\n";
        }
        else
        {
            return true;
        }
    }
}

function addRule(rule,element_name,error,args)
{
    rules.push(Array(rule,element_name,error,args));
}

function checkForm(form_name)
{
    var msg = "";
    var error = 0;
    for (var i=0;i<rules.length;i++)
    {
        result = eval(rules[i][0]+"('"+rules[i][1]+"','"+form_name+"','"+rules[i][2]+"','"+rules[i][3]+"')");
        if (result != true)
        {
            error = 1;
            msg += result;
        }
    }

    if (error == 1)
    {
        alert(msg);
        return false;
    }
    else
    {
        return true;
    }
}
