// JavaScript Document

function createXMLHttpRequest()
{
	if (window.ActiveXObject)
	{
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		xmlHttp=new XMLHttpRequest;
	}
}

function getId(str)
{
	if(document.getElementById(str))
	{
		return document.getElementById(str);  //
	}
	return false;  
}


function startRequest(method,action,buffer,data,pageType,resultType)
{
	createXMLHttpRequest();
	xmlHttp.onreadystatechange= handleStateChange;
	xmlHttp.open(method,action,buffer);
	noteAjaxResulttype=resultType;

	switch(pageType)
	{
		case "html":
			xmlHttp.setRequestHeader("Content-Type", "text/html; charset=utf-8");
			break;
		case "xml":
			xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
			break;
		case "form":
			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
			break;
		default:
			xmlHttp.setRequestHeader("Content-Type", "text/html; charset=utf-8");
			break;
	}
	var SendData = data+"&timeStamp=" + new Date().getTime();
	xmlHttp.send(SendData);
}

function handleStateChange()
{
	if (xmlHttp.readyState == 4)
	{
		if (xmlHttp.status == 200)

		{
			//getId(noteTextAjaxBoard).innerHTML = xmlHttp.responseText;
			recieveRequest();
		}
		else if(xmlHttp.status == 404)
		{
			//getId(noteTextAjaxBoard).innerHTML = noteAjaxNotFound;
		}
		else
		{
			//getId(noteTextAjaxBoard).innerHTML = noteAjaxLoading;
		}
	}
	else
	{
		//getId(noteTextAjaxBoard).innerHTML = noteAjaxLoading;
	}

}
/*Add Start By Selver.Ding*/
Array.prototype.unique=function()
{
	var a={};
	for(var i=0;i<this.length;i++)
	{
		if(typeof a[this[i]]=="undefined")
		{
			a[this[i]]=1;
		}
	}
	this.length=0;
	for(var i in a)
	{
		this[this.length]=i;
	}
	return this;
}
/*Add End By Selver.Ding*/
function recieveRequest()
{
	if (noteAjaxResulttype==1)
	{	
		/*Add Start By Selver.Ding*/
		data = eval ('('+xmlHttp.responseText+')');
		document.getElementById('termin').options.length=0;
		document.getElementById('bergfuehrer').options.length=0;
		timeList = data;
		nameList = new Array();
		//document.getElementById('termin').options[document.getElementById('termin').options.length]=new Option("nicht zugewiesen","nicht zugewiesen"); 
		//document.getElementById('bergfuehrer').options[document.getElementById('bergfuehrer').options.length]=new Option("nicht zugewiesen","nicht zugewiesen"); 
		if(timeList.length>0)
		{
			document.getElementById('termin').options[0]=new Option("Bitte wählen",""); 
			for(var i=0;i<timeList.length;i++){
				SelectTimeArray=new Option(timeList[i].time,timeList[i].time,false,false);
				document.getElementById('termin').options[i+1] = SelectTimeArray;
				for(var j=0;j<timeList[i].name.length;j++)
				{
					nameList.push(timeList[i].name[j]);
				}	
			} 
		}
		else
		{
			document.getElementById('termin').options[0]=new Option("nicht zugewiesen",""); 
		}
		if(nameList.length>0)
		{
			nameList.unique();
			document.getElementById('bergfuehrer').options[0]=new Option("Bitte wählen",""); 
			for(var i=0;i<nameList.length;i++){
				SelectNameArray=new Option(nameList[i],nameList[i],false,false);
				document.getElementById('bergfuehrer').options[i+1] = SelectNameArray;
			}
		}
		else
		{
			document.getElementById('bergfuehrer').options[0]=new Option("nicht zugewiesen",""); 
		}
		/*Add End By Selver.Ding*/
	}
	else if (noteAjaxResulttype==2)
	{
		if(xmlHttp.responseText == 'SUBSCRIBE_SUCCESS')
		{
			show_newsletter_error('topPrompt',CONTACT_SUCCESS,true);
		}
		else
		{
			show_newsletter_error('topPrompt',SUBSCRIBE_ERROR);	
		}
		setFooterStyle();
	}
	else if (noteAjaxResulttype==3)
	{
		//alert(xmlHttp.responseText);
		if(xmlHttp.responseText == 'SUCCEED')
		{
			//show_newsletter_error('GutscheinError',CONTACT_SUCCESS,true);
			getId('GutscheinFormSucceed').style.display = '';
			getId('GutscheinOkInfo').innerHTML = Gutschein_Success;
			getId('Gutscheinform').style.display = 'none';	
            getId('form_notice_text').style.display = 'none';		
			clearFormValues('Gutscheinform');
			setFooterStyle();
		}
		else
		{
			show_newsletter_error('GutscheinError',SUBSCRIBE_ERROR);	
		}
		setFooterStyle();
	}
	else if (noteAjaxResulttype==4)
	{
		if(xmlHttp.responseText == 'SUCCEED')
		{
			getId('katalogbestellunFormSucceed').style.display = '';
			getId('katalogbestellunOkInfo').innerHTML = KatalogbestellungSuccess;
			getId('mailkatalogbestellunForm').style.display = 'none';
			getId('datalogbestellungTitleInfo').style.display = 'none';
            getId('form_notice_text').style.display = 'none';
			clearFormValues('mailkatalogbestellunForm');
			setFooterStyle();
		}
		else
		{
			show_newsletter_error('KatalogbestellunError',KatalogbestellungError);	
		}
		setFooterStyle();
	}	
	else if (noteAjaxResulttype==5)
	{
		if(xmlHttp.responseText == 'SUCCEED')
		{
			getId('ticketreservierungFormSucceed').style.display = '';
			getId('ticketreservierungOkInfo').innerHTML = ticketreservierungSuccess;
			getId('mailTicketreservierungForm').style.display = 'none';
			getId('datalogTicketreservierungTitleInfo').style.display = 'none';
            getId('form_notice_text').style.display = 'none';
			clearFormValues('mailTicketreservierungForm');
			setFooterStyle();
		}
		else if (xmlHttp.responseText == 'DBERROR')
		{
			show_newsletter_error('ticketreservierungError',ticketreservierungError);	
		}
		else
		{
			maxTicketsNumber = xmlHttp.responseText;
			aError = anzahlDerKarteError.replace(/\%s/g, maxTicketsNumber);
			getId('ticketreservierungAnzahlDerKarte').className = 'erroreStyle';
			getId('ticketreservierung_mail').disabled=false;
			show_newsletter_error('ticketreservierungError',aError);
		}
		setFooterStyle();
	}
	else
	{
		return true;
	}
}

//Send Data
function sendData(formName){
	var data ;
	for(i=0;i<getId(formName).elements.length;i++)
	{
		curElement = getId(formName).elements[i];
		if(curElement.type=="checkbox")
		{
			if(curElement.checked)
				curElement.value = 1;
			else
				curElement.value = 0;
		}
			
			if(curElement.type=="select")
			{
				if(curElement.selectedIndex!=-1)
					data += "&" + curElement.name + "=" + curElement.options[curElement.selectedIndex].value;
			}
			else
			{
				if(curElement.type=="radio")
				{
					if(curElement.checked)
						data += "&" + curElement.name + "=" + curElement.value;
					}
					else
					{
						data += "&" + curElement.name + "=" + encodeURIComponent(curElement.value);
					}
				}
			}
		//escape
		return data;
}
