function Proceed(arg, context)
{
    var controls;
    controls = context.split(",");
    var status = getStatusID(controls[0].split("|")[1]);
    var control;
    var parameters;
    var output = "";
    var x;
    var invalid = 0;
    var ids;
    if (arg.length > 0)
    {
        ids = arg.split(",");
        if (ids.length > 0) document.getElementById(status).innerHTML = "";
        var i;
        for (i=0; i < ids.length; i++)
        {
            var vcontrol = document.getElementById(ids[i]);
            if (vcontrol.options == null)
            {
                if (vcontrol.value.length == 0)
                {
                    document.getElementById(ids[i] + "_validator").innerHTML = "this field is required";
                    invalid += 1;
                }
                else
                {
                    document.getElementById(ids[i] + "_validator").innerHTML = "*";
                }
            }
            else
            {
                var y;
                var bnselected = false;
                for (y = 0; y < vcontrol.options.length; y++)
                {
                    if (vcontrol.options[y].selected)
                    {
                        bnselected = true;
                        break;
                    }
                }
                
                if (!bnselected)
                {
                    document.getElementById(ids[i] + "_validator").innerHTML = "this field is required";
                    invalid += 1;
                }
                else
                {
                    document.getElementById(ids[i] + "_validator").innerHTML = "*";
                }
            }   
        }
    }
    
    if (invalid == 0)//ok
    {
        for (i=0; i < controls.length; i++)
        {
            control = controls[i];
            parameters = control.split("|");
            switch (parameters[0])
            {
                //c.label.Replace("$", "{d}").Replace(",","{p}").Replace("|", "{k}")
                case "0"://textbox
                    output += "0|" + parameters[1] + "|" + document.getElementById(parameters[1]).value.replace(/\$/g, "{d}").replace(/,/g,"{p}").replace(/\|/g, "{k}") + "|" + parameters[2] + ",";
                    break;
                case "2": //listbox
                    var listbox = document.getElementById(parameters[1]);
                    var values = "";
                    for (x=0; x < listbox.options.length; x++)
                    {
                        if (listbox.options[x].selected)
                        {
                             values += listbox.options[x].value.replace(/\$/g, "{d}").replace(/,/g,"{p}").replace(/\|/g, "{k}") + "$";
                        }
                    }
                    output += "2|" + parameters[1] + "|" + values.substring(0, values.length - 1) + "|" + parameters[2] + ",";
                    break;
                case "1": //ddl
                    output += "1|" + parameters[1] + "|" + document.getElementById(parameters[1]).value.replace(/\$/g, "{d}").replace(/,/g,"{p}").replace(/\|/g, "{k}") + "|" + parameters[2] + ",";
                    break;
            }
        }
        document.getElementById(status).innerHTML = "Sending message...";
        EmailForm(output.substring(0, output.length - 1), status);
    }
}

function ClientCallback(result, context){
        if (result.length == 0)
        {
            document.getElementById(context).innerHTML = "Message sent";
        }
        else
        {
            document.getElementById(context).innerHTML = "";
        }
}
    
  
function ClientCallbackError(result, context){
      alert(result);
}

function getStatusID(cname)
{
    var sname = "";
    var i;
    var names = cname.split("_");
    for (i = 0; i < names.length - 1; i++)
    {
        sname += names[i] + "_";
    
    }
    return sname + "status";
}