function encodeUtf8( string ) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    }

function process_form()
{
    var fields_number = document.getElementById("fields_number").value;
    var error_message = "";

    for( i=1; i <= fields_number; i++ )
    {
        var new_label = document.createElement( "input" );
        new_label.setAttribute( "type", "hidden" );
        new_label.setAttribute( "name", "labeltext"+i );
        new_label.setAttribute( "id", "labeltext"+i );
        new_label.setAttribute( "value", document.getElementById( "label"+i ).innerHTML );
        document.getElementById( "frm_adw_contact" ).appendChild( new_label );
        
        // required field validation; if className is "required" then the field is required
        if( document.getElementById("field" + i + "required") && document.getElementById("field"+i).value == "" )
        {
            error_message = error_message + "- " + new_label.value + "\n";
        }
    }

    // error treatment
    if( error_message != "" )
    {
        error_message = "Urmatoarele campuri sunt obligatorii: \n" + error_message;
        alert(error_message);
        return false;
    }
    else
    {
        return true;
    }
}
        
function sendEmail()
{
    // pre-process the form
    if( process_form() )
    {
            
        
        // send the email through AJAX
        var fields_number = $('#fields_number').val();
        
        query_string = '?fields_number=' + encodeUtf8( fields_number );
        for( i=1; i <= fields_number; i++ )
        {
            query_string = query_string + '&labeltext'+i + '=' + encodeUtf8( $('#labeltext'+i).val() );
            query_string = query_string + '&field'+i + '=' + encodeUtf8( $('#field'+i).val() );
        }
        action_url = document.getElementById('frm_adw_contact').action;
        
        $.getJSON(action_url + query_string , function( data ){
                $('#success_message').fadeOut('fast');
                $('#error_message').fadeOut('fast');
                
                $('#' + data['received_text']).fadeIn('fast');
            });
    }
}

