var callbackhash_rshr_ajax_quickform = {

	process: function (result) {

		// parse xml into dom object
		this.returnObject = eval('(' + result + ')');

		if (this.returnObject['success'] == 'true') {
			document.getElementById(this.returnObject['name']).action = '';
			document.getElementById(this.returnObject['name']).submit();
		} else {
			document.getElementById(this.returnObject['id']).innerHTML = this.returnObject['html'];
		}
	}
}

var html_quickform = new rshr_ajax_quickform(callbackhash_rshr_ajax_quickform);

// variables for processing steps in form
var contact_fields     = new Array('vorname', 'email', 'nachricht');
var recommend_fields   = new Array('to_vorname', 'to_email', 'from_vorname', 'from_email', 'nachricht');
var application_fields = new Array('formid', 'datenschutz', 'ausbildungsstatus', 'vorname', 'nachname', 'strasse', 'hausnummer', 'postleitzahl', 'ort', 'land', 'email', 'geburtstag', 'geburtsort', 'nationalitaet','herkunft','homenumber','mobilenumber','referralname','referralorganisation','othersources');

function rshr_quickform_ajax(type, language) {

	// return false if ajax is not found
	if (!rshr_check_ajax_available()) return false;

	var post_object          = new Object();
	post_object['source']    = type;
	post_object['_language'] = language;

	eval('var post_object_fields = ' + type + '_fields');

	for(var s=0; s<post_object_fields.length; s++) {

		var fElement = document.getElementById('field_'+post_object_fields[s]);

        // no element found --> skip
        if (!fElement || !fElement.getAttribute) continue;

        var elName = fElement.getAttribute('name');
        var elTag  = fElement.nodeName.toLowerCase();
        var elType = fElement.getAttribute('type');

        // no element name --> skip
        if (!elName) continue;

        // type switch
        var useValue = true;

        switch (elTag) {
			// special case "input"
			case 'input':
			//var elType  = fElement.getAttribute('type');
	            switch(elType) {
					case 'submit':
				        useValue = false;
				        break;

					case 'radio':
					case 'checkbox':
				        if (!fElement.checked) {
				                useValue = false;
				        }
				        break;

					case 'hidden':
						break;
	            }

	            break;

	    // normal values
	    case 'textarea':
	    case 'select':
			break;
        // do nothing
        case 'button':
	        useValue = false;
	        break;
        }

        if (useValue) {
                post_object[post_object_fields[s]] = fElement.value;
        }
	}

	html_quickform.process(post_object);

} // end rshr_quickform_ajax

