/**
 * @author ticket.international. MK 2007
 */
 
CardID = 0; 
ResSetID = 0;
UserCenterID = 0;

 
function hide(aName)
{
	var DivField = $(aName)
			
	if (DivField)
	{
		if (DivField.style.display == "none") {
			DivField.style.display = "block";
		}
		else {
			DivField.style.display = "none";
		}
	}	
}	

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function getZipCode(CountryID, ZipCode, UserCenterID)
{
  var aUrl = "/ajax/ZipCity.php?CountryID=" + CountryID + "&ZipCode=" + ZipCode + "&UserCenterID=" + UserCenterID;
	
  with (new Ajax())
	{
    url=aUrl;
    method="POST";
    onSuccess=SetZipCode;
    onError=SetZipCodeError;
    doRequest();
  }	
}

function SetZipCode(txt,xml)
{
	if (txt == 'ERROR') 
	{
		$('CityName').innerHTML = 'ungültige PLZ';
		$('City').value = '';										
	}
	else 
	{
		$('CityName').innerHTML = txt;										
		$('City').value = $('CityField').value;
	}	
}

function SetZipCodeError(msg)
{
	$('CityName').innerHTML = '';
	$('City').value = '';		
}

function CityChanged()
{
	$("City").value = $("CityField").value;
}

function SendCardPIN(aCardID, aCustomerID)
{
	CardID = aCardID;

	URL = 'ticketweb.php?sign=72&UserCenterID=1&CustomerID=' + aCustomerID + '&ID=' + aCardID;

	var Req = Lokris.AjaxCall(URL, ReceivePIN, {async: true});
}

function ReceivePIN(message)
{
	if (message != 'ERROR') { $('OK' + CardID).innerHTML = 'sent to ' + message; }
	else								    { $('OK' + CardID).innerHTML = 'Error'; }	
}

function GetBankAccountValid(BankNumber, AccountNumber)
{
	var aUrl = 'Ajax/BankData.php?AccountNumber=' + AccountNumber + '&BankNumber=' + BankNumber;

  with (new Ajax())
	{
    url=aUrl;
    method="POST";
    onSuccess=function(txt,xml)
							{	if (txt == 0)  $('Account').innerHTML = 'Kontonummer nicht g&uuml;ltig';
              	if (txt == 1)  $('Account').innerHTML = ''; 
							};
    onError=function(txt,xml)
							{	$('Account').innerHTML = '';};
    doRequest();
  }	
}

function GetBankName(BankNumber)
{
	var aUrl = 'Ajax/BankData.php?AccountNumber=&BankNumber=' + BankNumber;

  with (new Ajax()) {
    url=aUrl;
    method="POST";
    onSuccess=function(txt,xml)
							{
							  if (txt == '') $('BankName').value = 'Bank uumlltig'; 
              	else           $('BankName').value = txt; 
							};
    onError=function(txt,xml)
							{	$('BankName').value = '';
  							$('Account').innerHTML = ''; };
    doRequest();
  }	
}



//Instanz der Klasse Ajax erzeugen und mit der Datenübertragung starten
function loadURL(aUrl)
{
    var timeoutHandler = function () {alert("Anfrage wegen Zeitüberschreitung abgebrochen.")};


/*  with (new Ajax()){
    url=aUrl;
    method="POST";
//    params="eingabe=" + aField;
    onSuccess=successHandler;
    onError=errorHandler;
    doRequest();
*/

	var Req = Lokris.AjaxCall(aUrl, successHandler, {timeout: 200*1000, timeoutHandler: timeoutHandler, async: true});
	
  }
  
  
//Den Text in die Seite einfügen
function successHandler(txt,xml)
{
	if (txt != undefined)
	{	
		txt = new String(txt);

		iPos = txt.indexOf('<');
		
		Cmd = trim(new String(txt.substr(0, iPos)));

		txt = txt.substr(iPos, txt.length - iPos)

		if (Cmd == 'DataCSV')
		{
			$('csv').style.cursor='pointer';
			filename = txt.substr(1, txt.length - 1)
			document.location.href="../seatplan/" + filename + '.csv'; 
		}	
		if (Cmd == 'DataPDF')
		{
			$('pdf').style.cursor='pointer';
			filename = txt.substr(1, txt.length - 1)
//			document.location.href="../seatplan/" + filename; 

			myPopup = window.open("../seatplan/" + filename, "myPopup", "width=900,height=700,left=30,top=30");
			myPopup.focus();
			
			$('pdf').style.display='block';				
			$('PDFLoading').style.display = 'none';
		}				          
		else if (Cmd == 'DataBorderell') {

			$('cmdData').align = "left";			
		 	$('cmdData').innerHTML = txt;	 
		}
		else if (Cmd == 'DataBorderell2') {

			$('cmdData2').align = "left";			
		 	$('cmdData2').innerHTML = txt;	 
		}
		else if (Cmd == 'transactionChart') {
			txt = txt.substr(1, txt.length - 1);
			
			$('cmdData').align = "left";			
			$('cmdData').innerHTML = "";
			if (txt != '') {
			  CreateGraph();
			  eval(txt);
			  chart.write("cmdData");
			} else {
			  $('cmdData').innerHTML = "No Data to display.";  
			}
		}		
		else if (Cmd != 'Data') {

			SetCombo('cmd' + Cmd, txt);
		}
		else
		{
			$('cmdData').align = "left";			
		 	$('cmdData').innerHTML = txt;	 			
			
			
			if ($('Site2') != null) if ($('Site2').checked) $('Charts').style.display='block';
			if ($('Site3') != null) if ($('Site3').checked) $('Charts').style.display='block';
			if ($('Site7') != null) if ($('Site7').checked) $('Charts').style.display='block';
			
			$('csv').style.display='block';
		}
  }
	else
	{
	  return '';	
	}
}

//Fehler
function errorHandler(msg){
  //document.getElementById("text").innerHTML=msg;
  return msg;   
}


function SetCombo(aName,aOptions)
{
//$('cmdData').innerHTML = $('cmdData').innerHTML + '<br>' + aName;			

	iWidth = 190; 
  if (aName == 'cmdDistributor')     { iWidth = 477;}
	if (aName == 'cmdEvent')				   { iWidth = 477;}
	if (aName == 'cmdPrintNumber')     { iWidth =  60;}
	if (aName == 'cmdLanguageVersion') { iWidth =  77;}		
	
	if (aName == 'cmdEvent') if ($('Charts').innerHTML == '') iWidth = 350;
	if ($('Charts').innerHTML == '') if (aName == 'cmdDistributor')     { iWidth = 493;}	
	
	if ($('Charts').innerHTML == '')
	  txt = '<select name="' + aName + '" id="' + aName + '" style="width: ' + iWidth + ';" onChange="ChangeFieldsBorderell();">' + aOptions + '</select>';
	else
	  txt = '<select name="' + aName + '" id="' + aName + '" style="width: ' + iWidth + ';" onChange="ChangeFields();">' + aOptions + '</select>';

 	$('DIV' + aName).innerHTML = txt;	
}

function setListToValue(oList,nValue)
{
  for (var i = 0; i < oList.options.length; i++)
	{
        if (oList.options[i].value == nValue){
            oList.selectedIndex = i;
            return;
        }
    }
    oList.selectedIndex = -1;
}

function GetDate(aShift)
{
	var d = new Date(); // + ();

	if (aShift > 0)
	{
		var d = new Date(d.valueOf() + aShift * 24*60*60*1000);
	}

	iDay   = d.getDate();
	iMonth = d.getMonth() + 1;
	iYear  = d.getFullYear();

	if (iDay   < 10) { iDay   = '0' + iDay  ; }
	if (iMonth < 10) { iMonth = '0' + iMonth; }		

	return iYear + '-' + iMonth + '-' + iDay;			
}
	
function CheckBankNumber(BankNumber)
{
	var BankNumber = new String(BankNumber);

	if (BankNumber.length < 8)				$('BankName').value = '';		
	else if (BankNumber.length > 8) 	$('BankName').value = 'ungültige Bank';		
	else if (BankNumber.length = 8)   GetBankName(BankNumber);

}

function CheckAccountNumber(BankNumber, AccountNumber)
{
	if (BankNumber != '') GetBankAccountValid(BankNumber, AccountNumber);
	else                  $('Account').innerHTML = '';
}

function GetReservationDetails(ShowID, ReservationSetID, CollectNumber, SessionID)
{	

	if (ResSetID > 0 ) {
		$('Reservation' + ResSetID).innerHTML = ''; }
	ResSetID = ReservationSetID;
						 

	var aUrl = '../ticketweb.php?sign=20&ShowID=' + ShowID + '&ReservationSetID=' + ReservationSetID + '&CollectNumber=' + CollectNumber + '&PHPSESSID=' + SessionID;

  with (new Ajax())
	{
    url=aUrl;
    method="POST";
    onSuccess=function(txt,xml)
							{$('Reservation' + ReservationSetID).innerHTML = txt; };
    onError=function(txt,xml)
							{	$('Reservation' + ReservationSetID).innerHTML = 'not data found';};
    doRequest();
  }			
}

function isset(varname){
  return(typeof(window[varname])!='undefined');
}	


function Redirect(PaymentType, sign, CategoryID)
{	
	URL = '../ticketweb.php?sign=' + sign + '&PaymentType=' + PaymentType + '&CategoryID=' + CategoryID + '&' + Form.serialize('ResAction');

	window.location = URL;
}

function ChangePIN(CustomerID, CustomerCard, PINold, PINnew, UserCenterID)
{
	URL = 'ticketweb.php?sign=71&UserCenterID=' + UserCenterID + '&CustomerID=' + CustomerID + '&CardNumber=' + CustomerCard + '&OldPIN=' + PINold + '&NewPIN=' + PINnew;

	var Req = Lokris.AjaxCall(URL, 
														function(message) {	
															if (message == 'OK') {
																$('ErrorMsg').innerHTML = '<span>PIN changed.</span>';											
																$('CustomerCardNumber').value = '';
																$('PIN1').value = '';
																$('PIN2').value = '';
																$('PIN3').value = '';
															}
															else 	{
																$('ErrorMsg').innerHTML = '<span>PIN change not successfull. (' + message + ')</span>';									
															}
														}
														, {async: true});
}

function Logout(SessionID, Sign, UserCenterID)
{
	URL = 'ticketweb.php?sign=32&PHPSESSID=' + SessionID;

	var Req = Lokris.AjaxCall(URL, 
														function(message) {	
															URL = '../ticketweb.php?UserCenterID=' + UserCenterID + '&sign=' + Sign;
															window.location = URL;
														}
														, {async: true});
}


function DrawPie()
{
	var soPie = new SWFObject("../js/amChart/ampie/ampie.swf", "ampie", "500", "430", "8", "#FFFFFF");
	soPie.addVariable("path", "../js/amChart/ampie/");
	soPie.addVariable("settings_file", escape("conf/piesettings.xml")); // you can set two or more different settings files here (separated by commas)
	soPie.addVariable("data_file", escape("../seatplan/data.txt"));		
    soPie.addVariable("preloader_color", "#999999");	
	soPie.write("content");
	
}

function DrawBars()
{
	var soBar = new SWFObject("../js/amchart/amcolumn/amcolumn.swf", "amcolumn", "620", "800", "8", "#FFFFFF");
	soBar.addVariable("path", "../js/amchart/amcolumn/");
	soBar.addVariable("settings_file", escape("conf/settings.xml")); // you can set two or more different settings files here (separated by commas)
	soBar.addVariable("data_file", escape("../seatplan/data.txt"));		
    soBar.addVariable("preloader_color", "#999999");	
	soBar.write("content");
}

function DrawHistogramm()
{
	var soBar = new SWFObject("../js/amchart/amcolumn/amcolumn.swf", "amcolumn", "1120", "600", "8", "#FFFFFF");
	soBar.addVariable("path", "../js/amchart/amcolumn/");
	soBar.addVariable("settings_file", escape("conf/histogramsettings.xml")); // you can set two or more different settings files here (separated by commas)
	soBar.addVariable("data_file", escape("../seatplan/data.txt"));		
    soBar.addVariable("preloader_color", "#999999");	
	soBar.write("content");
}

function ActivateCard(aCardNumber, aPIN, aCustomerID, aUserCenterID)
{
	URL = 'ticketweb.php?sign=71&UserCenterID=' + aUserCenterID + '&CardNumber=' + aCardNumber + '&OldPIN=' + aPIN + '&NewPIN=' + aPIN + '&CustomerID=' + aCustomerID;
	var Req = Lokris.AjaxCall(URL, CardActivated, {async: true});
	$('Cards').innerHTML = '';
}

function CardActivated(message)
{
	if (message != 'OK') { alert('Error'); }
	else                 { Execute(PaymentType, UserCenterID, CustomerID);  }  // reload
}

function Execute(aPaymentType, aUserCenterID, aCustomerID)
{

	PaymentType  = aPaymentType;
	UserCenterID = aUserCenterID;
	CustomerID   = aCustomerID;

	URL = 'ticketweb.php?sign=70&UserCenterID=' + aUserCenterID + '&CustomerID=' + aCustomerID;
	var Req = Lokris.AjaxCall(URL, LoadCards, {async: true});	
}

function LoadCards(message)
{
	if (message != '') {  
		$('Cards').innerHTML = message;
	}
}

function LoadSeats(UserCenterID, SessionID)
{
	URL = '/ticketweb.php?sign=75&SeatPlan=1&UserCenterID=' + UserCenterID + '&PHPSESSID=' + SessionID;

	$('Seating').innerHTML = '<img src="reports/gfx/loading.gif">';
	
	var Req = Lokris.AjaxCall(URL, 
														function(message) {	
															if (message != 'ERROR') { 
																$('Seating').innerHTML = message;
															}
															else {
																$('Seating').innerHTML = '<br><br><br><br><br>Plan laden fehlgeschlagen';									
															}
														}
														, {async: true});
														
	imgSeatingplan.style.display = "block";
}

function LoadSeatAlloc(aUserCenterID, aSessionID, x, y, BlockID, CategoryID, aShowID, aRecommendationID)
{
	UserCenterID = aUserCenterID;
	//SessionID    = aSessionID;
	ShowID       = aShowID;

	//RecID = aRecommendationID;
	if (BlockID == 0)
		URL = '/ticketweb.php?sign=75&SeatPlan=0&UserCenterID=' + UserCenterID + '&PHPSESSID=' + aSessionID + '&RecommendationID=' + aRecommendationID;
	else
		URL = '/ticketweb.php?sign=77&UserCenterID=' + UserCenterID + '&PHPSESSID=' + aSessionID + '&xx=' + x + '&yy=' + y + '&CategoryID=' + CategoryID + '&Block=' + BlockID + '&RecommendationID=' + aRecommendationID;

	var Req = Lokris.AjaxCall(URL, WriteAllocation, {async: true});
}

function WriteAllocation(message)
{
	SeatsMatching = 0;

	message = new String(message);

//$('myseat').innerHTML =  $('myseat').innerHTML + '<br>' + message;		
	if (message.indexOf('ERROR') == -1) {
		
		OldSeats = new String(UsedSeats);
		OldSeats = OldSeats.split('&');		
		
		Seats = new String(message);
		OldRecID = RecommendationID;
		RecommendationID = 0;

		if (Seats.indexOf('|') > -1) {
			RecommendationID = Seats.substr(0, Seats.indexOf('|'));
			Seats            = Seats.substr(Seats.indexOf('|') + 1, Seats.length);
			
			SeatsMatching    = Seats.substr(0, Seats.indexOf('|'));
			Seats            = Seats.substr(Seats.indexOf('|') + 1, Seats.length);			
			
			message = Seats;
		}
		
		//$('test').innerHTML = $('test').innerHTML + "<br>Not Blocked Alt: " + OldRecID + " Neu: " + RecommendationID;
		for (i = 0; i < OldSeats.length; i++) {

			if (Seats.indexOf(OldSeats[i] + '&') > -1) { // ist gleich, direkt aus allocation löschen
				Seats.replace(OldSeats[i],'');
			}
			else {
				OldSeat = new String(OldSeats[i]);
				OldSeat = OldSeat.split('=');
				OldSeat[0] = OldSeat[0].replace("\r\n", "");
				if (OldSeat[0] != '') {
					try {
						$('S' + OldSeat[0]).src = '/Seatplan/filler.gif';
					}
					catch(err) {}
				}			
			}
		}

		Seats = Seats.split('&');		

		// loesche usedseats, welche nun frei sind
		for (i = 0; i < Seats.length; i++) {

			Seat = new String(Seats[i]);
			Seat = Seat.split('=');
			Seat[0] = Seat[0].replace("\r\n", "");

			if (Rotated == 0) {
				if (Seat[1] == 2)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_S.png';
				if (Seat[1] == 3)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_R.png';			
				if (Seat[1] == 4)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_M.png';						
				if (Seat[1] == 5)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_RE.png';									
				if (Seat[1] == 6)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_DE.png';												
				if (Seat[1] == 8)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_SY.png';															
			}	
			if (Rotated == 1) {
				if (Seat[1] == 2)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_S_R.png';
				if (Seat[1] == 3)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_R_R.png';			
				if (Seat[1] == 4)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_M_R.png';						
				if (Seat[1] == 5)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_RE_R.png';									
				if (Seat[1] == 6)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_DE_R.png';												
				if (Seat[1] == 8)	$('S' + Seat[0]).src = '/Seatplan/' + UserCenterID + '_SY_R.png';					
			}
		}
		
		UsedSeats = message;
				
		if (window.parent.frames.length > 0) {
			try
			{
				if (RecommendationID > 0)
		    	window.parent.SeatsChangedEvent (RecID, RecommendationID);
			}
			catch(e)
			{
			    //alert('Call failed: ' + RecID + ',' + RecommendationID);
			}
	
		}			
		
		//if (SeatsMatching == 1) {
		//	$('NoSeatsChange').style.display = 'block';
		//	$('NoSeatsChange').style.left    = x;
		//	$('NoSeatsChange').style.top     = y;
		//}
		
		//muss hier aufgerufen werden anstatt in 3.plan.tpl, weil wenn für eine Category keine preise da sind trotzdem die PlanDetails angepasst wurden
		LoadSessionSeatPlanDetails(UserCenterID, SessionID);
	}
	else {
		alert(ErrorRecommendationFailed);
		
	
//		$('Seating').innerHTML = '';									

//		ErrorCode = 4;
//		if (message == 'ERROR;Price not found for this area!') ErrorCode = 5;
//
//		url = '/ticketweb.php?sign=1&UserCenterID=' + UserCenterID + '&PHPSESSID=' + SessionID + '&ErrorCode=' + ErrorCode + '&ShowID=' + ShowID;
//
//		parent.location.href=url; 		
	}
}

function LoadSessionSeatPlanDetails(UserCenterID, SessionID)
{
	URL = '/ticketweb.php?sign=78&UserCenterID=' + UserCenterID + '&PHPSESSID=' + SessionID;

	var Req = Lokris.AjaxCall(URL, 
														function(message) {	
																	parent.document.getElementById('PlanDetails').innerHTML = message;
														}
														, {async: true});
}



function fillExpireYear(YearField)
{
	now = new Date();
	var year = now.getFullYear();

	combobox = '<select name="ExpireYear">';
	combobox += '<option value="0" selected>Jahr</option>';

	for(i = 0; i < 6; i++)
	{	
		combobox += '<option value=\"'+ year +'\">'+ year +'</option>';
		year = year + 1;		
	}
	combobox += '</select>';
	
	$(YearField).innerHTML = combobox;
}

function FillYearDownward(YearField) {
	now = new Date();
	var year = now.getFullYear();

	combobox = '<select name="Year">';
	combobox += '<option value="0" selected>Jahr</option>';

	for(i = -3; i < 0; i++)
	{	
		combobox += '<option value=\"'+ year +'\">'+ year +'</option>';
		year = year - 1;		
	}
	combobox += '</select>';
	
	$(YearField).innerHTML = combobox;
}



function CheckFields(FormID)
{
	arr = $(FormID);
	
	for(i = 0; i < arr.length; i++)
	{
   			 if(arr[i].name == "FirstName") 		{ FirstName 		= arr[i].value; }
		else if(arr[i].name == "LastName")  		{ LastName  		= arr[i].value; }
		else if(arr[i].name == "Email")     		{ Email 			= arr[i].value; }
		else if(arr[i].name == "EmailConfirm")		{ EmailConfirm 		= arr[i].value; }
		else if(arr[i].name == "Login")				{ Login 			= arr[i].value;	}
		else if(arr[i].name == "Password")			{ Password 			= arr[i].value;	}
		else if(arr[i].name == "PasswordConfirm")	{ PasswordConfirm 		= arr[i].value;	}
		else if(arr[i].name == "WantInfoPerMail")	{ WantInfoPerMail	= arr[i].value; }
		else if(arr[i].name == "Street")			{ Street			= arr[i].value; }
		else if(arr[i].name == "TelNumber")			{ TelNumber			= arr[i].value; }
		else if(arr[i].name == "ZIP")				{ ZIP				= arr[i].value; }
		else if(arr[i].name == "City")				{ City				= arr[i].value; }
		else if(arr[i].name == "Birthday")			{ Birthday			= arr[i].value; }
		else if(arr[i].name == "Fax")				{ Fax				= arr[i].value; }
		else if(arr[i].name == "Mobile")			{ Mobile			= arr[i].value; }
	}

	
	
	sErrMsg = ""; 
    if(typeof (FirstName)  		!= "undefined" && sErrMsg == "")	{ if(FirstName 		== "")			{ sErrMsg = "Der Vorname muss angegeben werden!"; }																		}
	if(typeof (LastName)  		!= "undefined" && sErrMsg == "")	{ if(LastName 		== "")			{ sErrMsg = "Der Nachname muss angegeben werden!"; }																	}
	if(typeof (Email)	 		!= "undefined" && sErrMsg == "")	{ if(Email 			== "")			{ sErrMsg = "Bitte geben Sie Ihre Email-Adresse an!"; }																	}
	if(typeof (EmailConfirm) 	!= "undefined" && sErrMsg == "")	{ if(EmailConfirm 	== "")			{ sErrMsg = "Das Email-Best&auml;tigungsfeld wurde leer gelassen!"; }													}
	if(typeof (Email)	 		!= "undefined" && (typeof (EmailConfirm) != "undefined") && sErrMsg == "")	{ if(Email 			!= EmailConfirm){ sErrMsg = "Die Email-Adressen stimmen nicht &uuml;berein!"; }					}
	if(typeof (Email)	 		!= "undefined" && sErrMsg == "")	{ if(!CheckMailFormat(Email))		{ sErrMsg = "Dies ist keine g&uuml;ltige Email-Adresse!"; }																}
	if(typeof (EmailConfirm)	!= "undefined" && sErrMsg == "")	{ if(!CheckMailFormat(EmailConfirm)){ sErrMsg = "Dies ist keine g&uuml;ltige Email-Adresse!"; }																}
	if(typeof (Login)	 		!= "undefined" && sErrMsg == "")	{ if(Login 			== "")			{ sErrMsg = "Sie m&uuml;ssen einen Benutzernamen angeben!"; }															}
//	if(typeof (Login)	 		!= "undefined" && (typeof (Password) != "undefined") && sErrMsg == "")	{ if(Login 			== Password)	{ sErrMsg = "Benutzername und Passwort d&uuml;rfen nicht &uuml;bereinstimmen!"; }	}
	if(typeof (Password)		!= "undefined" && sErrMsg == "")	{ if(Password 		== "")			{ sErrMsg = "Sie m&uuml;ssen ein Password angeben!";}																	}
	if(typeof (PasswordConfirm)		!= "undefined" && sErrMsg == "")	{ if(PasswordConfirm		== "")			{ sErrMsg = "Das Password-Best&auml;tigungsfeld wurde leer gelassen!"; }												}
	if(typeof (Password)	 	!= "undefined" && typeof (PasswordConfirm) != "undefined" && sErrMsg == "")	{ if(Password 		!= PasswordConfirm)	{ sErrMsg = "Die Passw&ouml;rter stimmen nicht &uuml;berein!"; }					}
	if(typeof (Password)		!= "undefined" && sErrMsg == "")	{ if(Password.length < 6)			{ sErrMsg = "Das Password muss mindestens 6 Zeichen haben!";}																	}
	if(typeof (PasswordConfirm)		!= "undefined" && sErrMsg == "")	{ if(Password.length < 6)			{ sErrMsg = "Die Password-best&auml;tigung muss mindestens 6 Zeichen haben!"; }												}
	if(typeof (Street)			!= "undefined" && sErrMsg == "") { if(Street.length == 0) {sErrMsg = "Sie m&uuml;ssen eine Stra&szlig;e eingeben!"; }}
	if(typeof (ZIP)				!= "undefined" && sErrMsg == "") { if(ZIP == "") 	{sErrMsg = "Sie m&uuml;ssen eine Postleitzahl eingeben!"; }}
	if(typeof (City)			!= "undefined" && sErrMsg == "") { if(City == "") 	{sErrMsg = "Sie m&uuml;ssen eine Stadt eingeben!"; }}
	
	 $('error').innerHTML = sErrMsg;
	 
	if(sErrMsg  == "")
	{
		return true;
	}
	else
	{
		return false;
	}
	
}

function Counter(Counter, CounterTag)
{
	
	var reservierung = $('btnreservierung');
	var reservierungCC = $('btnreservierungCustomerCard');
	var creditcard = $('btncreditcard');
	var customercard = $('btncustomercard');
	
	
	if(typeof iCounter == "undefined")
	{
		iCounter = Counter;
	}
	else if(iCounter <= 0)
	{
		if(reservierung != null)
		{
			parent.$('btnreservierung').disabled = true;
		}
		if(reservierungCC != null)
		{
			parent.$('btnreservierungCustomerCard').disabled = true;
		}
		if(creditcard != null)
		{
			parent.$('btncreditcard').disabled = true;
		}
		if(customercard != null)
		{
			parent.$('btncustomercard').disabled = true;
		}
	}
	else
	{
		iCounter = iCounter - 1;
		if($(CounterTag) == null) {
			parent.$(CounterTag).innerHTML = "<b>" + iCounter + "</b>";
		}
		else {
			$(CounterTag).innerHTML = "<b>" + iCounter + " </b>";
		}
	}
}

function ResetCounter(counter) {
	iCounter = counter;
}

function DisableComboBox() {
	var RadioButtonsCnt = document.getElementsByName("CategoryID").length;

	var Category = new Array();
	var k = 0;
	var PriceID = new Array();

	for(i = 0; i < RadioButtonsCnt; i++) {
		Category[i] = document.getElementsByName("CategoryID")[i];
		
		//ermitteln der gecheckten Categories
		if(Category[i].checked) {
			CatID = Category[i].value;
			
			for(j = 0; j < PriceArray.length; j++){
				Prices = PriceArray[j].split("_");
				
				//ermitteln der Preise für die Category
				if(CatID == Prices[0]) {
					PriceID[k] = Prices[1]; // PriceID --> alle Preise die ich habe
					k++;
				}
			}
		}
	}
	
	for(i=0; i < PriceArray.length; i++){
		Prices = PriceArray[i].split("_");
		if(CatID == Prices[0]) {
			$('_'+Prices[1]).disabled = false;
		}
	}
}
			
function ChangeComboBoxValue(CategoryID) {
	var PriceID = new Array();
	var k = 0;
	var l = 0;
	OtherPrices = new Array();
	
	for(i=0; i < PriceArray.length; i++){
		Prices = PriceArray[i].split("_");
		if(CategoryID == Prices[0]) {
			PriceID[k] = Prices[1];
			k++;
		}
		if(!OtherPrices.contains(Prices[1])) {
			OtherPrices[l] = Prices[1];
			l++;
		}
	}
	
	for(i=0; i < OtherPrices.length; i++) {
		for(j=0; j < PriceID.length; j++) {
			if(OtherPrices[i] != PriceID[j]) {
				$('_'+OtherPrices[i]).disabled = true;
				$('_'+OtherPrices[i]).value = 0;
			}
			else {
				$('_'+OtherPrices[i]).disabled = false;
				break;
			}
		}
	}
}

Array.prototype.contains = function (element)
{
    for (var i = 0; i < this.length; ++i) {
        if (this[i] == element) {
            return true;
        }
    }
    return false;
}

function AddCard(CardNumber, PIN, SeatID) {
	
	if($('PUC'+SeatID).value == '' || $('PIN'+SeatID).value == '') {
		$('ErrorMsg').innerHTML 		= "<div class='error'><span>Voer uw kaartnummer en de pincode van uw kaart in.</span></div>";
		return false;
	}
	BlurScreen(true);
	var sUrl = "ticketweb.php?sign=94&CardNumber=" + CardNumber + "&PIN=" + PIN + "&SeatID=" + SeatID;

	var Req = Lokris.AjaxCall(sUrl, function (message) {
										UserData = message.split('|');
										if(UserData[0] == 0) {
											$('CustomerCardNbr').value = CardNumber;
											$('PIN').value			   = PIN;
											
											$('PUC'+SeatID).style.display	= 'none';
											$('PIN'+SeatID).style.display	= 'none';
											
											$('CardNumber'+SeatID).style.display	= 'block';
											$('CustomerName'+SeatID).style.display	= 'block';
											
											$('CardNumber'+SeatID).innerHTML  		= CardNumber;
											$('CustomerName'+SeatID).innerHTML  	= UserData[1];
											
											$('Add'+SeatID).style.display	= 'none';
											$('Del'+SeatID).style.display	= 'block';
											
											$('ErrorMsg').innerHTML 		= '';
										}
										else {
											$('ErrorMsg').innerHTML = "<div class='error'><span>" + UserData[1] + "</span></div>";
										}
										BlurScreen(false);
									}, {async:true});
}

function DeleteCard(CardNumber,SeatID) {
	var sUrl = "ticketweb.php?sign=95&CardNumber=" + CardNumber + "&SeatID=" + SeatID;
	var Req = Lokris.AjaxCall(sUrl, function (message) {
										var DeleteCard = message.split(';');

										if(DeleteCard[0] == '0') {
											$('CardNumber'+SeatID).style.display	= 'none';
											$('CustomerName'+SeatID).style.display	= 'none';
											
											$('PUC'+SeatID).value  			= '';
											$('PIN'+SeatID).value  			= '';
											
											$('PUC'+SeatID).style.display	= 'block';
											$('PIN'+SeatID).style.display	= 'block';
											
											$('Add'+SeatID).style.display	= 'block';
											$('Del'+SeatID).style.display	= 'none';

											$('ErrorMsg').innerHTML 		= '';
										}
										else {
											$('ErrorMsg').innerHTML = DeleteCard[1];
										}
									}, {async:true});

}

// onbeforeunload="return KillRecommendation();" im body-tag
// submitbuttons und weiterlinks müssen einen namen haben und mit 'this' als parameter in der funktion aufgerufen werden
function KillRecommendation(aNextLink) {
	
	var sUrl = "ticketweb.php?sign=96";
	
	try {
		if (typeof(aNextLink.name) != 'undefined') {		
			window.onbeforeunload = null;					
			return true;
		}
		else {
		
			var Req = Lokris.AjaxCall(sUrl, function(message) {
											}, {async:true});
		
			window.onbeforeunload = "return \"\"";
		}
	}
	catch(e) {
		
		var Req = Lokris.AjaxCall(sUrl, function(message) {
											}, {async:true});
		
		window.onbeforeunload = "return \"\"";
	}
}

function checkKey(event) {
			
	event = event || window.event;
			
	switch(event.keyCode) {
		case 48:// 0
			event.keyCode = 0;
			break;
		case 49:// 1
			event.keyCode = 0;
			break;
		case 50:// 2
			event.keyCode = 0;
			break;
		case 51:// 3
			event.keyCode = 0;
			break;
		case 52:// 4
			event.keyCode = 0;
			break;
		case 53:// 5
			event.keyCode = 0;
			break;
		case 54:// 6
			event.keyCode = 0;
			break;
		case 55:// 7
			event.keyCode = 0;
			break;
		case 56:// 8
			event.keyCode = 0;
			break;
		case 57:// 9
			event.keyCode = 0;
			break;			
	}
}

function SetOptionalItem(SeatID, ItemID, Add) {
	
	if(Add) { Add = 1; }
	else	{ Add = 0; }
	
	TicketPrice = parseFloat($('TicketPrice' + SeatID).innerHTML);
	ItemPrice   = parseFloat($('ItemPrice'   + SeatID).innerHTML);
	
	if (Add == 1) $('LinePrice'+SeatID).innerHTML = makeCurrency(TicketPrice + ItemPrice);
	if (Add == 0) $('LinePrice'+SeatID).innerHTML = makeCurrency(TicketPrice);	
	
	URL = "ticketweb.php?sign=97&SeatID=" + SeatID + "&ItemID=" + ItemID + "&Add=" + Add;

	var Req = Lokris.AjaxCall(URL, function(message) {
										$('amount').innerHTML = makeCurrency(message);
									}, {async:true});
		
}

function AddVoucher(VoucherNumber, SeatID) {
	
	if($('Voucher'+SeatID).value == '') {
		$('ErrorMsg').innerHTML 		= "Please fill in the Vouchernumber";
		return false;
	}
//	BlurScreen(true);
	var sUrl = "/ticketweb.php?sign=94&VoucherNumber=" + VoucherNumber + "&SeatID=" + SeatID;

	var Req = Lokris.AjaxCall(sUrl, function (message) {
										Resp = message.split('|');
										if (Resp[0] == '0') {
											
											$('VoucherNumber'+SeatID).style.display	= 'block';
											$('Voucher'+SeatID).style.display	    = 'none';
											$('VoucherNumber'+SeatID).innerHTML  	= Resp[1];											
											$('ErrorMsg').innerHTML = '';											
											
											$('Add'+SeatID).style.display	= 'none';
											//$('Del'+SeatID).style.display	= 'block';											
											
										}	
										else {

											$('ErrorMsg').innerHTML = Resp[1];							
										
										}	
										
										//	BlurScreen(false);

									}, {async:true});
}

//function RemoveVoucher(VoucherNumber, SeatID) {
//}


function CollectPoints( Cardnumber, cbSuccess, cbError, cbShowBusinessRules ) {
	
	var URL = "ticketweb.php?sign=79&CardNumber=" + Cardnumber;
	
	var Req = Lokris.AjaxCall(URL, function(message) {									
									var result = message.evalJSON();
									
									if ( result.Success ) {
										cbSuccess( result.Points, result.BonusPoints );
										if ( result.HasBenefits ) {
											ShowBrBenefits(true);
										}
									} else {
										cbError( result.ErrorMessage );
									}
									
									}, {async:true});
		
}


function ShowGreyBox( Title, URL, Mode) {
	if ( (Title == '') || (URL == '') || (Mode == '') ) return false;
	
	switch(Mode) {
	case "small":		return GB_show(Title, URL, false, false, false, true);
	break;
	case "smallcenter":	return GB_showCenter(Title, URL, false, false, false, true);
		break;
	case "large":		return GB_showFullScreen(Title, URL, false, true);
		break;
	case "image":		return GB_showImage(Title, URL);
	}
	
	return false;
}


function SetOptItem(SeatID, ItemID, Add) {

//		BlurScreen(true);
    $('ErrorMsg').innerHTML = '';
	
	if(Add) { Add = 1; }
	else	{ Add = 0; }
	
	URL = "ticketweb.php?sign=97&SeatID=" + SeatID + "&ItemID=" + ItemID + "&Add=" + Add;

	var Req = Lokris.AjaxCall(URL, function(message) {
										GetTransaction();
									}, {async:true});
		
}

function GetTransaction() {

	URL = "ticketweb.php?sign=98";

	var Req = Lokris.AjaxCall(URL, function(message) {
										FillTransaction(message);
									}, {async:true});
		
}	

function ProcessMessage(aMessage) {

	sMessage = new String(aMessage);
	arrMsg   = sMessage.split('|');

	if (arrMsg[0] == '0') {
	  $('ErrorMsg').innerHTML = '';
	  $('cardnumber').value = '';
	}
	else {
	  $('ErrorMsg').innerHTML = "<div class='error'><span>" + arrMsg[1] + "</span></div>";	
	}
}

function AddCard() {

	$('btnAddCard').disabled = true;

    $('ErrorMsg').innerHTML = '';

	if (!checkData()) {
		return false;
	}
	
	var sUrl = "ticketweb.php?sign=94&CardNumber=" + $('cardnumber').value + "&PIN=" + $('pin').value;
	
	$('pin').value = '';

	var Req = Lokris.AjaxCall(sUrl, function (message) {
										sMessage = new String(message);
										arrMsg = sMessage.split("|");
										
										if (arrMsg[0] == 0) {
											GetTransaction();
											$('btnAddCard').disabled = false;
										}
										else {
											ProcessMessage(message); // the error Msg from this are more important
											$('ErrCode').innerHTML = arrMsg[0];
											$('btnAddCard').disabled = false;
										}
								}, {async:true});
	
}

function toggleRow (iNumber, tableID) {

	var TABLE = document.getElementById(tableID);
 	var TR = TABLE.getElementsByTagName("tr")[iNumber];
	
	if (TR.style.display == 'none') TR.style.display = '';
	else 							TR.style.display = 'none';
}

function toggleCol (iNumber, tableID) {

	var TABLE = document.getElementById(tableID);
	var TRs = TABLE.getElementsByTagName("tr");
	var TH = TRs[0].getElementsByTagName("th")[iNumber];
	
	if (TH.style.display == 'none') TH.style.display = '';
	else 							TH.style.display = 'none';

	for(var i = 1; i < TRs.length; i++) {
		var TD = TRs[i].getElementsByTagName("td")[iNumber - 1];

		if (TD.style.display == 'none') TD.style.display = '';
		else      						TD.style.display = 'none';
	}
}

function hideCol (iNumber, tableID) {

	var TABLE = document.getElementById(tableID);
	var TRs = TABLE.getElementsByTagName("tr");
	var TH = TRs[0].getElementsByTagName("th")[iNumber];
	
	TH.style.display = 'none';

	for(var i = 1; i < TRs.length; i++) {

		var TD = TRs[i].getElementsByTagName("td")[iNumber];		
	
		if (typeof(TD) == 'undefined') {	 
			var TD = TRs[i].getElementsByTagName("th")[iNumber];		
		}

		TD.style.display = 'none';
		
//alert(iNumber + ' ' + i);						
	}
}

function showRow (iNumber, tableID) {
	
	var TABLE = document.getElementById(tableID);
	var TRs = TABLE.getElementsByTagName("tr")[iNumber];

	TRs.style.display = 'block';

}

function hideRow (iNumber, tableID) {

	var TABLE = document.getElementById(tableID);
	var TRs = TABLE.getElementsByTagName("tr")[iNumber];

	TRs.style.display = 'none';				
}

function showCol (iNumber, tableID) {

	var TABLE = document.getElementById(tableID);
	var TRs = TABLE.getElementsByTagName("tr");
	var TH = TRs[0].getElementsByTagName("th")[iNumber];
	
	TH.style.display = '';

	for(var i = 1; i < TRs.length; i++) {
		var TD = TRs[i].getElementsByTagName("td")[iNumber];
		
		if (typeof(TD) == 'undefined') {	 
			var TD = TRs[i].getElementsByTagName("th")[iNumber];		
		}		

		TD.style.display = '';
	}
}

function SetOptionsForPriceType(aID, aCategoryArray) {	
	// set values for combobox, 
	CardTypeCB = $(aID);

	//if you can select more tickets as in auditorium available then
	//change the cb value to available tickets in auditorium
	AvailableSeatsCount = aCategoryArray["MaxSeatsForUser"];				

	if (AvailableSeatsCount > aCategoryArray["MaxFreeSeats"]) {
		AvailableSeatsCount = aCategoryArray["MaxFreeSeats"];
	}				
	for (j = 1; j <= AvailableSeatsCount; j++) {
		OptionField = new Option(j, j, false, true);
		CardTypeCB.options[j] = OptionField;
	}

	CardTypeCB.options.selectedIndex = 0;				
}

function ChangeCategory(CategoryID) {

	if (CategoryID == 0) {
		// return 0;
		CategoryID = $F('CategoryID');
	}

	ClearAndDisableAllPriceTypeOptions();

	for (i = 0; i <= FreeSeatsArray.length - 1; i++) {

		if (CategoryID == FreeSeatsArray[i]["CategoryID"]) {

			sCardTypeID = "_" + FreeSeatsArray[i]["CardTypeID"];					

			SetOptionsForPriceType(sCardTypeID, FreeSeatsArray[i]);
			
			$(sCardTypeID).disabled = false;						
		}
		
	}
	
	calculatePrice();
}

function ClearAndDisableAllPriceTypeOptions() {

	for (k = 0; k < FreeSeatsArray.length; k++) {

		sName = '_' + FreeSeatsArray[k]["CardTypeID"];

		ClearOptions(sName);
		$(sName).disabled = true;

	}
}

function ClearOptions(id)
{
	$(id).options.length = 0;
	
	// add option 0
	OptionField = new Option(0, 0, false, true);
	$(id).options[0] = OptionField;
	
}

function GetNumberOfChoosenTickets() {
	iCategoryID = $F('CategoryID');

	iTicketCnt = 0;				
	
	for (i = 0; i < FreeSeatsArray.length; i++) {
	
		if (iCategoryID == FreeSeatsArray[i]["CategoryID"]) {
		
			sCardTypeID = "_" + FreeSeatsArray[i]["CardTypeID"];
			iTicketCnt = iTicketCnt + parseFloat($(sCardTypeID).value);
		}
	}
	
	return iTicketCnt;
}

function CheckChoosenTickets() {

	TicketCnt = GetNumberOfChoosenTickets();

	if (TicketCnt >= FreeSeatsArray[0]["DefaultSeatCnt"]) {
		MaxAvailable = TicketCnt - FreeSeatsArray[0]["DefaultSeatCnt"];
		sErrorMsg = "You have exceeded your maximal ticket count. Please unselect " + MaxAvailable + " tickets to reach your maximal available ticket count.";
		$('ErrorMsg').style.display = "block";
		$('ErrorMsg').innerHTML = "<span>" + sErrorMsg + "</span>";
		return false;
	}
	else {
		document.dolphinform.submit();
		return true;
	}
}

function checkData() {
	
//	return true;	
	
	var PIN = $('pin').value;
	var CardNumber = $('cardnumber').value;
	
	var sErrorMsg = '';

	if( CardNumber.length == 0 ) {
		sErrorMsg = "<div class='error'><span>" + TEXT_FillCardNumber + ".</span></div>"
	}
	else if( PIN.length == 0 ) {
		sErrorMsg = "<div class='error'><span>" + TEXT_FillPin + ".</span></div>"
	}
	else if( CardNumber.length < 8 ) {
		sErrorMsg = "<div class='error'><span>" + TEXT_CardNumberToShort + ".</span></div>"
	}
	else if( PIN.length < 4 ) {
		sErrorMsg = "<div class='error'><span>" + TEXT_CardPinToShort + ".</span></div>"
	}

	if ( !sErrorMsg == '' ) {
		$('ErrorMsg').innerHTML = sErrorMsg;
		return false;
	}

	return true;
}

function GetNodeText(aNode) {

	if (window.ActiveXObject) { //IE
		return aNode.text;
	}
	else {
		return aNode.textContent;		
	}
}

function FillTransaction(xmlString)
{
	var xmlDoc;

	//for IE
	if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = "false";
		xmlDoc.loadXML(xmlString);
	}

	//for Mozilla, Firefox, Opera, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		var parser = new DOMParser();
		xmlDoc = parser.parseFromString(xmlString,"text/xml");
	}
	root = xmlDoc.documentElement;

    for ( i = 0; i <  root.childNodes.length; i++) {

		if (root.childNodes[i].tagName == 'CheckOut') {	
			checkout = parseInt(root.childNodes[i].childNodes[0].nodeValue);

			switch (checkout) {
			
				case 0: $('enterCardNr'  ).style.display = 'none';
						$('btnCreditCard').style.display = 'none';
						break;
				
				case 1: $('enterCardNr'  ).style.display = 'none';
						$('btnCreditCard').style.display = 'block';		// book cc		
						
						$('ErrorMsg').innerHTML = "<div class='error'><span>" + TEXT_OutstandingCreditCardAmount + "</span></div>";							

						break;
				
				case 2: $('enterCardNr'  ).style.display = 'none';
						$('btnCreditCard').style.display = 'block';		// only book, no cc								
						break;
				
				case 3: $('enterCardNr'  ).style.display = 'block';
						$('btnCreditCard').style.display = 'none';															
						break;
				
				case 4: $('enterCardNr'  ).style.display = 'block';
						$('btnCreditCard').style.display = 'none';																				
						break;

				case 5: $('enterCardNr'  ).style.display = 'block';
						$('btnCreditCard').style.display = 'none';							
						break;	
						
				case 6: $('enterCardNr'  ).style.display = 'block';
						$('btnCreditCard').style.display = 'block';							
						
						$('ErrorMsg').innerHTML = "<div class='error'><span>" + TEXT_AddCardOrPayWithCC + "</span></div>";													
						break;															
			
			}
		}		
	
	
//			if (root.childNodes[i].tagName == 'Total') {	
//				$('amount').innerHTML = makeCurrency( parseInt(root.childNodes[i].childNodes[0].nodeValue) / 100 );
//			}
		
		if (root.childNodes[i].tagName == 'CreditCard') {		
			$('outstandingamount').innerHTML = makeCurrency( parseInt(root.childNodes[i].attributes.getNamedItem('OutstandingAmount').nodeValue) / 100 );
		}			
	
		if (root.childNodes[i].tagName == 'Tickets') {
		
			TicketsNode = root.childNodes[i];
			
		    for ( j = 0; j <  TicketsNode.childNodes.length; j++) {			

				TicketNode = TicketsNode.childNodes[j];

			    for ( k = 0; k <  TicketNode.childNodes.length; k++) {			

					if (TicketNode.childNodes[k].tagName == 'ID') {					
						TicketID = GetNodeText(TicketNode.childNodes[k]);
					}

					if (TicketNode.childNodes[k].tagName == 'Name') {					
						TicketName = GetNodeText(TicketNode.childNodes[k]);
					}					
					
					if (TicketNode.childNodes[k].tagName == 'HidePrice') {					
						HidePrice = GetNodeText(TicketNode.childNodes[k]);
					}		
					
					if (TicketNode.childNodes[k].tagName == 'Amount') {	
						Price = makeCurrency( parseInt(GetNodeText(TicketNode.childNodes[k])) / 100 );
					}
					
					if (TicketNode.childNodes[k].tagName == 'Surcharge') {						
						Surcharge = makeCurrency( parseInt(GetNodeText(TicketNode.childNodes[k])) / 100 );					
					
						if (HidePrice == '1') {
							if (Surcharge > 0) { $('Price' + TicketID).innerHTML = 'EUR ' + Surcharge; }
							else               { $('Price' + TicketID).innerHTML = '';}						
							
							$('Ticket'+ TicketID).innerHTML = '1 Ticket'; 			
						}
						else {
							$('Price' + TicketID).innerHTML = 'EUR ' + Price + '&nbsp';							
							$('Ticket'+ TicketID).innerHTML = ''; 			
						}
					}				

					if (TicketNode.childNodes[k].tagName == 'Paid') {					
						 $('Price' + TicketID).style.color = 'green';
						 $('Ticket'+ TicketID).style.color = 'green'; 
					}						
					else {
						 $('Price' + TicketID).style.color = 'white';
						 $('Ticket'+ TicketID).style.color = 'white'; 
					}												

					if (TicketNode.childNodes[k].tagName == 'Items') {
					
						ItemsNode = TicketNode.childNodes[k];

					    for ( m = 0; m <  ItemsNode.childNodes.length; m++) {									
						
							ItemNode = ItemsNode.childNodes[m];

							ItemID    = parseInt(ItemNode.attributes.getNamedItem('ID').nodeValue)
							ItemPrice = parseInt(ItemNode.attributes.getNamedItem('Amount').nodeValue);

							$('ItemPrice' + TicketID + ItemID).innerHTML = 'EUR ' + makeCurrency(ItemPrice / 100) + '&nbsp;';
							
						}
					
					}
					
					if (TicketNode.childNodes[k].tagName == 'Payment') {
					
						PayNode = TicketNode.childNodes[k];

					    for ( m = 0; m <  PayNode.childNodes.length; m++) {								

							Pay = PayNode.childNodes[m];

							if ((Pay.tagName == 'CustomerCard') ||(Pay.tagName == 'CVReservation')) {

								if (Pay.attributes.length > 0) {

									$('card' + TicketID).innerHTML = Pay.attributes.getNamedItem('CardNr').nodeValue;

									if (Pay.attributes.getNamedItem('CardNr'  ).nodeValue == 'Card needed')	{

										$('card' + TicketID).innerHTML = TEXT_CardNeeded;
								
 									  if ($('ErrorMsg').innerHTML == '') { // only first
										  sMsg = "<div class='error'><span>" + TEXT_AddCardForTicket + ": \"<b>" + TicketName + "\"</b> " + TEXT_ToContinueWithTransaction + "</span></div>";
										  $('ErrorMsg').innerHTML = sMsg;
									  }
								    }

									if (Pay.attributes.getNamedItem('CardName').nodeValue != '')
								  		$('card' + TicketID).innerHTML = $('card' + TicketID).innerHTML + ' / ' + Pay.attributes.getNamedItem('CardName').nodeValue;									
								  
									if (trim(Pay.attributes.getNamedItem('CardOwner').nodeValue) != '')
										$('card' + TicketID).innerHTML = $('card' + TicketID).innerHTML + ' / ' + Pay.attributes.getNamedItem('CardOwner').nodeValue;																		  

									if (Pay.attributes.getNamedItem('CardLoadingMoney').nodeValue > 0)
								  		$('card' + TicketID).innerHTML = $('card' + TicketID).innerHTML + ' / Loading ' + makeCurrency(Pay.attributes.getNamedItem('CardLoadingMoney').nodeValue/100);
								  
									if (Pay.attributes.getNamedItem('CardLoadingTickets').nodeValue > 0)
								  		$('card' + TicketID).innerHTML = $('card' + TicketID).innerHTML + ' / Credits ' + Pay.attributes.getNamedItem('CardLoadingTickets').nodeValue;									  
								}
							}
						
						}
					
					}
				
				}				
			
			}
			
		}

	}
}


function CheckForAllowedCharacter(aCharacter) {
	
	AllowedCharacters = new String("1234567890ß!§$%&/()=?[]{}abcdefghijklmnopqrstuvwxyzüäöABCDEFGHIJKLMNOPQRSTUVWXYZÜÄÖ*+'#_-:.;,");
	
	return AllowedCharacters.indexOf(aCharacter) >= 0;
}


