var ajax = new sack();
var contentObj;	// Reference to article content <div>
var valueStr;
var ajaxElemName;

n_form_box = 1;

function showContent() {	 // Displaying content in the content <div>
	var resp = ajax.response;
	//alert(resp);
	contentObj.innerHTML = resp;	// ajax.response is a variable that contains the content of the external file
	//alert(document.getElementById("bankAddress").innerHTML);
	if (resp.indexOf("fastweb") != -1) {
		var num = resp.indexOf("fastweb[");
		var num2 = resp.indexOf("]");
		if (num > -1) {
			var idn = resp.substr(num + 8, num2 - num - 8);
			//alert(idn);
			$("ajax_form").hide();
			$("ok_message").show();	
		}
		//window.location = "ok.asp?id=" + idn;
	} else if (resp.indexOf("samsung_inclusive") != -1) {
		var num = resp.indexOf("samsung_inclusive[");
		var num2 = resp.indexOf("]");
		if (num > -1) {
			var idn = resp.substr(num + 18, num2 - num - 18);
			//alert(idn);
		}
		window.location = "ok.asp?id=" + idn;
	} else if (resp.indexOf("samsung_retail") != -1) {
		var num = resp.indexOf("samsung_retail[");
		var num2 = resp.indexOf("]");
		if (num > -1) {
			var idn = resp.substr(num + 15, num2 - num - 15);
			//alert(idn);
		}
		//window.location = "ok_samsung.asp?id=" + idn;
		var bankAddress = document.getElementById("bankAddress").innerHTML;
		bankAddress = bankAddress.replace(/&amp;/g, "&");
		window.location = bankAddress;
	} else if (resp.indexOf("<div id=\"preview\">") != -1) {
		ge("form_container").style.display = "none";
		ge("form_buttons").style.display = "none";
		//window.location = "?action=ok";
	} else if (resp.indexOf("reg_carte_redirect") != -1) {
		window.location = "?action=ok";
	} else if (resp.indexOf("condizioni_polizze") != -1) {
		window.location = "?action=docs";
	} else if (resp.indexOf("redirect_page") != -1) {
		var num = resp.indexOf("redirect_page[");
		var num2 = resp.indexOf("]");
		if (num > -1) {
			var idn = resp.substr(num + 14, num2 - num - 14);
			//alert(idn);
		}
		window.location = "ok.asp?id=" + idn;
	} else if (resp.indexOf("messageBox ok") != -1) {
		//document.getElementById("ajaxForm").reset();
		var bankAddress = document.getElementById("bankAddress").innerHTML;
		bankAddress = bankAddress.replace(/&amp;/g, "&");
		window.location = bankAddress;
	} else if (resp.indexOf("messageBox poste") != -1) {
		document.form_poste.submit();
		//alert("ok");
	}
	tooltips();
}

function showWaitMessage() {
	contentObj.innerHTML = '<div id="ajax_form_loading"><img src="img/ajax-loader-bar.gif" alt="" /> Invio dei dati in corso...</div>';
}

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 getFormRegCarte() {
	var newdiv = document.createElement('div');
	newdiv.setAttribute('id', "ajax_form_box_" + n_form_box);
	document.getElementById("forms_box").appendChild(newdiv);
	contentObj = document.getElementById("ajax_form_box_" + n_form_box);
	getAjaxFile('ajax/form_reg_carte.asp?id=' + n_form_box);
	n_form_box++;
	ge("tot_boxes").value = n_form_box - 1;
}


function getFormRegDocumenti() {
	var newdiv = document.createElement('div');
	newdiv.setAttribute('id', "ajax_form_box_" + n_form_box);
	document.getElementById("forms_box").appendChild(newdiv);
	contentObj = document.getElementById("ajax_form_box_" + n_form_box);
	getAjaxFile('ajax/form_reg_documenti.asp?id=' + n_form_box);
	n_form_box++;
	ge("tot_boxes").value = n_form_box - 1;
}

var f = 0;
function postForm(formId) {
	f++;
	var realFormId = formId;
	contentObj = document.getElementById("ajax_form_text");

	//poste
	if (formId == "ajaxFormPoste") {
		realFormId = "ajaxForm";
	}

	// /poste
	if (formId == "ajax_form_reg_carte_preview") {
		realFormId = "ajax_form_reg_carte";
	}
	if (formId == "ajax_form_reg_documenti_preview") {
		realFormId = "ajax_form_reg_documenti";
	}
	if (formId == "ajax_form_reg_carte_preview" || formId == "ajax_form_reg_documenti_preview") {
		ge("preview_container").style.display = "block";
		contentObj = document.getElementById("preview_container");
	}
	var elemArray = document.getElementById(realFormId);
	for (var i = 0; i < elemArray.length; i++) {
        var element = elemArray[i];
		if (element.type) {
			//var elemType = element.type.toUpperCase();
			var elemName = element.name;
			//if (elemName && element.disabled == false) {
				//if (elemName == "cognome") alert(elemName);
				//
				//if (elemName == "nome") alert(elemName);
				ajax.setVar(elemName, "");
			//}
		}
	}
	
	//alert(f + "|" + formId + "|" + realFormId);
	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 elemDisabled = element.disabled;
			//var valueStr = "";
			if (elemName && element.disabled == false) {
				if (ajaxElemName != elemName) {
					valueStr = "";
				}
				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);
				} 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);
						}
					}
				}
				if (valueStr != "") {
					//alert(elemName + ": " +  valueStr + "|" + element.disabled)
					ajax.setVar(elemName, valueStr);
				}
				//ajaxElemName = elemName;
			}
		}	
    }

	ajax.setVar("rndval", "");
	if (formId == "ajaxForm") {
		getAjaxFile('ajax/form_acquista_ora.asp?action=save');
	} else if (formId == "ajaxFormPhonesafeInclusive") {
		getAjaxFile('ajax/form_acquista_ora_samsung_inclusive.asp?action=save');
	} else if (formId == "ajaxFormPhonesafeRetail") {
		getAjaxFile('ajax/form_acquista_ora_samsung_retail.asp?action=save');
	} else if (formId == "ajaxFormFastwebBusiness") {
		getAjaxFile('ajax/form_acquista_ora_fastweb_business.asp?action=save');
	}  else if (formId == "ajax_form_reg_carte_preview") {
		getAjaxFile('ajax/reg_carte.asp?action=preview');
	} else if (formId == "ajax_form_reg_documenti_preview") {
		getAjaxFile('ajax/reg_documenti.asp?action=preview');
	}  else if (formId == "ajax_form_reg_carte") {
		getAjaxFile('ajax/reg_carte.asp?action=save');
	}  else if (formId == "ajax_form_reg_documenti") {
		getAjaxFile('ajax/reg_documenti.asp?action=save');
	}  else if (formId == "ajax_form_condizioni_polizze") {
		getAjaxFile('ajax/condizioni_polizze.asp?action=save');
	}  else if (formId == "ajaxFormPoste") {
		getAjaxFile('ajax/form_acquista_ora.asp?action=save&poste=true');
	} else if (formId == "ajaxFormPagamentoPoste") {
		getAjaxFile('ajax/form_pagamento_postemobile.asp?action=save');
	}
}

function GetElemValue(el_name, value) {
	var comma = "";
	if (ajaxElemName == el_name  && valueStr != "") {
		comma = ", ";
	}
    valueStr += comma + escape((value ? value : "")).replace(/%0A/g, "<br>");
	// escape(value ? value : "").replace(/\+/g, "%2B");
	//+ escape(value ? value : "").replace(/\n/g, "%0D");
	ajaxElemName = el_name;
	//alert(el_name + "*" + valueStr);
	return valueStr;
}

function ajaxProvince(regione) {
	var provincia = document.getElementById("provincia");
	contentObj = 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
}
