﻿var http_request = false;
var strHost = 	'http://' + window.location.host;
var tmp_strNavigator = navigator.userAgent.toLowerCase();

/**
* Liest die Daten aller in einer Stadt stattfindenden Veranstaltungen aus
* @alias GetEventData_By_City
* @param _CityId Id der ausgewählten Stadt
*/
function GetEventData_By_City(_CityId, _GenreId, _Lc) 
{
	url = strHost;
	url += '/modules/events/AjaxCityData.aspx?ID=' + _CityId;
	url += '&GenreId=' + _GenreId;
	url += '&Lc=' + _Lc;
	
	//if (document.getElementById('div_loading')) document.getElementById('div_loading').style.top = (y + 10) + 'px';
    //if (document.getElementById('div_loading')) document.getElementById('div_loading').style.left = (x + 10) + 'px';
	
	//document.getElementById('div_loading').style.display = '';
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
		if (tmp_strNavigator.indexOf('msie') < 0) http_request.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
  	    return false;
    }

    http_request.onreadystatechange = HandleResponse_GetEventData_By_City;
    http_request.open('get', url, true);
    http_request.send(null);
}

/**
* wird nach einer erfolgreichen Ajax-Anfrage aufgerufen. Stellt die in einer Stadt stattfindenden Veranstaltungen dar
* @alias HandleResponse_GetEventData_By_City
*/
function HandleResponse_GetEventData_By_City() 
{
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var xmlDoc = http_request.responseXML;
           	var city_node = xmlDoc.getElementsByTagName('city').item(0);
			var tmp_strCity = city_node.getAttribute('value');
			var cityId = city_node.getAttribute('id');
			
			var strContent = ""
			
			// Menu: Ort als Überschrift des zweite Panels des Menüs "Alle Städte"
			strContent += '<table cellpadding="0" cellspacing="0" border="0">';
			strContent += '<tr>'
			strContent += '<td style="width:10px;">&nbsp;</td>';
			strContent += '<td style="font-weight:bold;">' + tmp_strCity + '</td>';
			strContent += '</table>';
			document.getElementById('menu_staedte_panel2_title').innerHTML = strContent;
			
			
			strContent = ''
			if (xmlDoc.getElementsByTagName('event').length > 0) {
				for (tmp_intI = 0; tmp_intI < xmlDoc.getElementsByTagName('event').length; tmp_intI++) {
					var event_node = xmlDoc.getElementsByTagName('event').item(tmp_intI);
					var event_id = event_node.getAttribute('id');
					var tmp_strAbgesagt = event_node.getAttribute('abgesagt');
					var tmp_strAusverkauft = event_node.getAttribute('ausverkauft');
					var tmp_strVerschoben = event_node.getAttribute('verschoben');
					var tmp_strTitle = event_node.getAttribute('title');
					var url = event_node.getAttribute('url');
					
					// Menu: Ausgabe einer Veranstaltung im Menü "Alle Städte" Level 2
					strContent += '<div id="div_stadt_veranstaltung_' + tmp_intI + '" class="div_std" ';
					strContent += 'onmouseover="javascript:GetEventDetail_Data(\'' + event_id;
					strContent += '\',this.id, \'' + cityId + '\');">';
					strContent += '<table style="width:100%;" border="0" cellpadding="0" cellspacing="0" onclick="javascript:window.open(\'';
					strContent += url + '\', \'_self\');">';
					strContent += '<tr onmouseover="chg_bgcolor_loop(\'stadt_veranstaltung\', ' + tmp_intI + ', \'hlt\');" ';
					strContent += 'onmouseout="javascript:chg_bgcolor_loop(\'stadt_veranstaltung\', ' + tmp_intI + ', \'std\');">';
					strContent += '<td style="width:10px;">&nbsp;</td>';
					strContent += '<td id="td_stadt_veranstaltung_' + tmp_intI + '" class="td_std">';
			/*		if (tmp_strAbgesagt == "abgesagt" || tmp_strAusverkauft == "ausverkauft" || tmp_strVerschoben == "verschoben") {
						if (tmp_strAbgesagt == "abgesagt") strContent += '<img src="/&assets/private/images/a_abgesagt.gif" border="0" alt="Konzert abgesagt" ';
						if (tmp_strAusverkauft == "ausverkauft") strContent += '<img src="/&assets/private/images/a_ausverkauft.gif" border="0" alt="Konzert ausverkauft" ';
						if (tmp_strVerschoben == "verschoben") strContent += '<img src="/&assets/private/images/a_verschoben.gif" border="0" alt="Konzert verschoben" ';
						strContent += ' />&nbsp;&nbsp;';
					}*/
					strContent += tmp_strTitle;
					strContent += '</td>';
					strContent += '<td style="width:20px;" align="right">';
					strContent += '<img src="/Assets/pfeil_std.gif" border="0" id="pfeil_stadt_veranstaltung_' + tmp_intI + '" />';
					strContent += '</td>';
					strContent += '</tr>';
					strContent += '</table>';
					strContent += '</div>';
				}
				
				document.getElementById('menu_staedte_panel2_content').innerHTML = strContent;
			}
			
			if (document.getElementById('menu_staedte_panel1').style.display=='') document.getElementById('menu_staedte_panel2').style.display= "";
			document.getElementById('menu_staedte_panel3').style.display= "none";
			if (document.getElementById('div_stadt_veranstaltung_' + (tmp_intI - 1)).offsetTop < 200) {
				document.getElementById('imgScroll_staedtePenel2_Up').style.display = 'None';
				document.getElementById('imgScroll_staedtePenel2_Down').style.display = 'None';
			}
			else {
				document.getElementById('imgScroll_staedtePenel2_Up').style.display = '';
				document.getElementById('imgScroll_staedtePenel2_Down').style.display = '';
			}
			
			// document.getElementById('div_loading').style.display = 'none';
		}
    }
}

/**
* Liest die Daten aller Tremine einer Veranstaltung aus
* @alias GetEventDetail_Data
* @param _EventId Id des ausgewählten Events
* @param _DivId Id des aufrufenden Divs zur Unterscheidung in welchem Menü man sich befindet
* @param _CityId Id der ausgewählten Stadt
*/
function GetEventDetail_Data(_EventId, _DivId, _CityId) {
	url = strHost;
    url += '/modules/events/AjaxEventData.aspx?ID=' + _EventId;
	url += '&CityId=' + _CityId;
	url += '&Lc=de';
    //if (document.getElementById('div_loading')) document.getElementById('div_loading').style.top = (y + 10) + 'px';
    //if (document.getElementById('div_loading')) document.getElementById('div_loading').style.left = (x + 10) + 'px';
	//document.getElementById('div_loading').style.display = '';
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
		if (tmp_strNavigator.indexOf('msie') < 0) http_request.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
  		//Object konnte nicht erstellt werden
        return false;
    }

    if (_CityId != '')
    {
        http_request.onreadystatechange = HandleResponse_GetEventDetail_Data;
    }
    else 
    {
        http_request.onreadystatechange = HandleResponse_Events;
    }
    http_request.open('get', url, true);
    http_request.send(null);
}

/**
* Stellt die Termine einer Veranstaltung im Menü "Alle Städte" dar
* @alias HandleResponse_GetEventDetail_Data
*/
function HandleResponse_GetEventDetail_Data() 
{
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var strContent = "";
			var xmlDoc = http_request.responseXML;
			var city_node = xmlDoc.getElementsByTagName('city').item(0);
			var tmp_strCity = city_node.getAttribute('value');
			var event_node = xmlDoc.getElementsByTagName('event').item(0);
			var tmp_strTitle =  event_node.getAttribute('title');
			var eventid = event_node.getAttribute('id');
			var url = event_node.getAttribute('url');
			
			//// Menu: Veranstaltungstitel als Überschrift des dritten Panels des Menüs "Alle Städte"
			strContent = "";
			
			if (tmp_strTitle.length > 35)
			{
			    tmp_strTitle = tmp_strTitle.substring(0, 35) + " ...";
			}
			strContent += '<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td style="width:10px;">&nbsp;</td><td style="font-weight:bold; color:#ffffff;">' + tmp_strTitle + '</td>';
			strContent += '<td style="width:20px:">&nbsp;</td></tr></table>';
			document.getElementById('menu_staedte_panel3_title').innerHTML =  strContent;
			
			//Termine
			strContent = "";
			if (xmlDoc.getElementsByTagName('termin').length > 0) {
				//es gibt einen Termineintrag --> dieser wird direkt angezeigt
				for (var i = 0; i < xmlDoc.getElementsByTagName('termin').length; i++)
				{
				    var termin_node = xmlDoc.getElementsByTagName('termin').item(i);
				    var tmp_strDate = termin_node.getAttribute('date');
				    var tmp_strCity = termin_node.getAttribute('city');
				    var url = termin_node.getAttribute('url');
				    var ticketlink = termin_node.getAttribute('ticketlink');
			
			
			        strContent += '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
				    strContent += '<tr>';
				    strContent += '<td style="width:10px;">&nbsp;</td>';
				    strContent += '<td id="td_menu_kuenstler_panel2_termine" class="td_std">';
				    strContent += tmp_strDate + ', ' + tmp_strCity;
				    strContent += '</td>';
				    strContent += '<td style="width:20px:">&nbsp;</td>'
				    strContent += '</tr>';
				    strContent += '<tr>';
				    strContent += '<td style="width:10px;">&nbsp;</td>';
				    strContent += '<td id="td_menu_kuenstler_panel2_termine" class="td_std">';
				    if (ticketlink != '' && ticketlink != null) {
				        var Directories = url.split("Date/");
				        if (Directories.length >= 1) {
				            var EventId = Directories[1].split("/");
				            strContent += '<a href="http://koka36.de/locationdetails.php?' + ticketlink + '" target="_blank" class="aFF3C1A" onfocus="if(this.blur)this.blur()" onclick="SendBuyTicketsStatsData(\'' + EventId[1] + '\');">Tickets kaufen</a>&nbsp;|&nbsp';
				        }
				        else {
				            strContent += '<a href="http://koka36.de/locationdetails.php?' + ticketlink + '" target="_blank" class="aFF3C1A" onfocus="if(this.blur)this.blur()">Tickets kaufen</a>&nbsp;|&nbsp';
				        }
				    }

				    strContent += '<a href="';
				    strContent += url;
				    strContent += '" class="a545450" onfocus="if(this.blur)this.blur()">Mehr Informationen</a>';
				    strContent += '</td>';
				    strContent += '<td style="width:20px:">&nbsp;</td>'
				    strContent += '</tr>';
				    
				    strContent += '</table>';
				}
			}
			
			document.getElementById('div_menu_staedte_panel3_termine').innerHTML =  strContent;
			
			if (document.getElementById('menu_staedte_panel1').style.display=='') {
				document.getElementById('menu_staedte_panel3').style.display= "";
			}
			//document.getElementById('div_loading').style.display = 'none';
		} else {
            //Die Antwort konnte nicht korrekt verarbeitet werden. Fehlerbehandlung?
        }
    }
}

/**
* stellt den mouseover-Effekt für das Menü dar
* @alias chg_bgcolor_loop
* @param tmp_strID Id des zu färbenden Elements
* @param tmp_intI Zählvariable
* @param tmp_strClass zuzuweisende Klasse (std|hlt)
*/
function chg_bgcolor_loop(tmp_strID, tmp_intI, tmp_strClass) 
{
	/*
	Swappen der cssKlasse für MouseOver-Anzeige in den Menüs
	wird in Schleifen benutzt
	tmp_strID - Zählvariable, die in der ID des DIV-Elements für den jeweiligen Menüeintrag enthalten  sein muss
	tmp_strClass - cssKlassen-Präfix 'hlt'|'std'
	tmp_intI - Zählvariable, die in der ID des DIV-Elements für den jeweiligen Menüeintrag enthalten  sein muss
	*/
	
	var tmp_strAppendix = tmp_strID.concat('_').concat(tmp_intI);
	document.getElementById('td_' + tmp_strAppendix).className = 'td_' + tmp_strClass;
	document.getElementById('div_' + tmp_strAppendix).className = 'div_' + tmp_strClass;
	document.getElementById('pfeil_' + tmp_strAppendix).src = '/Assets/pfeil_' + tmp_strClass + '.gif';

	//if (tmp_strID.indexOf('stadt_veranstaltung') < 0) document.getElementById('menu_staedte_panel3').style.display = 'none';
	//document.getElementById('menu_kuenstler_panel3').style.display = 'none';
}

/**
* Stellt die Termine einer Veranstaltung im Menü "Alle Künstler" dar
* @alias HandleResponse_Events
*/
function HandleResponse_Events() 
{
    if (http_request.readyState == 4) {
		document.body.style.cursor = 'default';
        if (http_request.status == 200) {
			var strContent = "";
			var xmlDoc = http_request.responseXML;
			var event_node = xmlDoc.getElementsByTagName('event').item(0);
			var tmp_strTitle =  event_node.getAttribute('title');
			var eventid = event_node.getAttribute('id');
			
			//Titel der Veranstaltung
			strContent = "";
			if (tmp_strTitle.length > 35)
			{
			    tmp_strTitle = tmp_strTitle.substring(0, 35) + " ...";
			}
			strContent += '<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td style="width:10px;">&nbsp;</td><td style="font-weight:bold;color:#ffffff;">' + tmp_strTitle + '</td>';
			strContent += '<td style="width:20px:">&nbsp;</td></tr></table>';
			document.getElementById('menu_kuenstler_panel2_title').innerHTML =  strContent;
			
			//Termine
			strContent = "";
			if (xmlDoc.getElementsByTagName('termin').length > 0) {
				//es gibt einen Termineintrag --> dieser wird direkt angezeigt
				for (var i = 0; i < xmlDoc.getElementsByTagName('termin').length; i++)
				{
				    var termin_node = xmlDoc.getElementsByTagName('termin').item(i);
				    var tmp_strDate = termin_node.getAttribute('date');
				    var tmp_strCity = termin_node.getAttribute('city');
				    var tmp_intDB_ART_ID_ALT = termin_node.getAttribute('art_id_alt');
				    var tmp_intDB_ART_SYS_ID_ALT = termin_node.getAttribute('art_sys_id_alt');
				    var tmp_strDB_ART_MDT_ID_ALT = termin_node.getAttribute('art_mdt_id_alt');
				    var url = termin_node.getAttribute('url');
			        var ticketlink = termin_node.getAttribute('ticketlink');
			
			        strContent += '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
				    strContent += '<tr>';
				    strContent += '<td style="width:10px;">&nbsp;</td>';
				    strContent += '<td id="td_menu_kuenstler_panel2_termine" class="td_std">';
				    strContent += tmp_strDate + ', ' + tmp_strCity;
				    strContent += '</td>';
				    strContent += '<td style="width:20px:">&nbsp;</td>'
				    strContent += '</tr>';
				    strContent += '<tr>';
				    strContent += '<td style="width:10px;">&nbsp;</td>';
				    strContent += '<td id="td_menu_kuenstler_panel2_termine" class="td_std">';
				    if (ticketlink != '' && ticketlink != null) {
				        var Directories = url.split("Date/");
				        if (Directories.length >= 1) {
				            var EventId = Directories[1].split("/");
				            strContent += '<a href="http://koka36.de/locationdetails.php?' + ticketlink + '" target="_blank" class="aFF3C1A" onfocus="if(this.blur)this.blur()" onclick="SendBuyTicketsStatsData(\'' + EventId[1] + '\');">Tickets kaufen</a>&nbsp;|&nbsp';
				        }
				        else {
				            strContent += '<a href="http://koka36.de/locationdetails.php?' + ticketlink + '" target="_blank" class="aFF3C1A" onfocus="if(this.blur)this.blur()">Tickets kaufen</a>&nbsp;|&nbsp';
				        }
				    }

                    strContent += '<a href="';
				    strContent += url;
				    strContent += '" class="a545450" onfocus="if(this.blur)this.blur()">Mehr Informationen</a>';
				    strContent += '</td>';
				    strContent += '<td style="width:20px:">&nbsp;</td>'
				    strContent += '</tr>';
				    
				    strContent += '</table>';
				}
			}
			
			document.getElementById('div_menu_kuenstler_panel2_termine').innerHTML =  strContent;

			if (document.getElementById('menu_kuenstler_panel1').style.display=='') {
			    
				document.getElementById('menu_kuenstler_panel2').style.display= "";
			}
			//document.getElementById('div_loading').style.display = 'none';
		} else {
            //Die Antwort konnte nicht korrekt verarbeitet werden. Fehlerbehandlung?
        }
    }
}

/**
* übermittelt die Daten des Events an die Statistikseite
* @alias SendBuyTicketsStatsData
* @param _eventId Id des ausgewählten Events
*/
function SendBuyTicketsStatsData(_eventId) {
    url = strHost;
    url += '/modules/stats/BuyTickets.aspx?ID=' + _eventId;
    
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (tmp_strNavigator.indexOf('msie') < 0) http_request.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }

    if (!http_request) {
        return false;
    }

    http_request.onreadystatechange = HandleResponse_SendBuyTicketsStatsData;
    http_request.open('get', url, true);
    http_request.send(null);
}

/**
* wird nach einer erfolgreichen Ajax-Anfrage aufgerufen. Stellt die in einer Stadt stattfindenden Veranstaltungen dar
* @alias HandleResponse_SendBuyTicketsStatsData
*/
function HandleResponse_SendBuyTicketsStatsData() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            
        }
    }
}
