var ajax = new sack();
var ajaxContentObj;
var valueStr;
var ajaxElemName;

function showContent() {
	ajaxContentObj.innerHTML = ajax.response;	// ajax.response is a variable that contains the content of the external file
	if (ajaxContentObj.innerHTML.indexOf("messageBox ok") != -1) {
		document.getElementById("ajaxForm").reset();
	}
}

function showWaitMessage() {
	ajaxContentObj.innerHTML = '<img src="img/ajax-loader-bar.gif" alt="" style="display: inline; margin: 10px 0; vertical-align: middle;" /> Sending data...';
}

function getAjaxFile(fileName) {
	ajax.requestFile = fileName;	// Specifying which file to get
	ajax.onCompletion = showContent;	// Specify function that will be executed after file has been found
	ajax.onLoading = showWaitMessage;	// Action when AJAX is loading the file
	ajax.runAJAX();		// Execute AJAX function	
}

function showNews(id) {
	getAjaxFile("ajax_news.asp?id=" + id);
}

function ajaxInit() {
	ajaxContentObj = document.getElementById("newsContent");
	var tags = document.getElementById("newsLinks").getElementsByTagName("a");
	for (i=0; i<tags.length; i++) {
		var tag = tags[i];
		tag.onclick = function() {
			var thisId = this.id;
			thisId = thisId.replace("news_", "");
			showNews(thisId);
		}
	}
	
}

function postForm(formId, language) {
	ajaxContentObj = document.getElementById("ajax_form_text");
	var elemArray = document.getElementById(formId);
	for (var i = 0; i < elemArray.length; i++) {
        var element = elemArray[i];
		if (element.type) {
			var elemType = element.type.toUpperCase();
			var elemName = element.name;
			//var valueStr = "";
			if (elemName) {
				var typesStr = "|TEXT|TEXTAREA|PASSWORD|BUTTON|RESET|SUBMIT|FILE|IMAGE|HIDDEN|";
				if (typesStr.indexOf("|" + elemType + "|") != -1) {
					valueStr = GetElemValue(elemName, element.value);
				} else if (elemType == "CHECKBOX" && element.checked) {
					valueStr = GetElemValue(elemName, element.value ? element.value : "On");
				} else if (elemType == "RADIO" && element.checked) {
					valueStr = GetElemValue(elemName, element.value);
				} else if (elemType.indexOf("SELECT") != -1) {
					for (var j = 0; j < element.options.length; j++) {
						var option = element.options[j];
						if (option.selected) {
							//valueStr = GetElemValue(elemName, option.value ? option.value : option.text);
							valueStr = GetElemValue(elemName, option.value);
						}
					}
				}
			}
			ajax.setVar(elemName, valueStr);
		}	
    }
	ajax.setVar("rndval", "");
	getAjaxFile('ajax/form_newsletter.asp?action=save&language=' + language);
}

function GetElemValue(el_name, value) {
	var comma = "";
	if (ajaxElemName != el_name) {
		valueStr = "";
	} else {
		comma = ", ";
	}
    valueStr += comma + escape((value ? value : "")).replace(/%0A/g, "<br>");
	// escape(value ? value : "").replace(/\+/g, "%2B");
	//+ escape(value ? value : "").replace(/\n/g, "%0D");
	//if (valueStr) alert(valueStr);
	ajaxElemName = el_name;
	return valueStr;
}

function ajaxProvince(regione) {
	var provincia = document.getElementById("provincia");
	ajaxContentObj = provincia;
	num_option = provincia.options.length;
	for (a=num_option;a>=0;a--) {
		provincia.options[a]=null;
	}
	//alert(regione);
	ajax.requestFile = "ajax/form_province.asp?regione=" + regione;	// Specifying which file to get
	ajax.onCompletion = function() {
		var provStr = ajax.response;
		//alert(provStr);
		var provArray = provStr.split("|");
		for (a=0;a<provArray.length;a++) {
			var thisProv = provArray[a];
			var thisProvArray = thisProv.split(",");
			var provValue = thisProvArray[0];
			var provName = thisProvArray[1];
			provincia.options[a]=new Option(provName, provValue, false, false);
		}
	};	// Specify function that will be executed after file has been found
	ajax.onLoading = function() {
		provincia.options[0] = new Option("Elenco province in caricamento...", "", true, false);
	};	// Action when AJAX is loading the file
	ajax.onError = function() {
		provincia.options[0] = new Option("Si è verificato un errore!", "", true, false);
	};	// Action when AJAX is loading the file
	ajax.runAJAX();		// Execute AJAX function
}

