function getShowTimeContent(dom,sel) {
	var f = document.fShowtimes;
	if(sel) {
		
		var chkShowsLst = "";
		var hasShowsChecked = false;
		for(var i=0;i<f.chkShows.length;i++) {
			if(f.chkShows[i].checked) {
				chkShowsLst += f.chkShows[i].value + ",";
				hasShowsChecked = true;
			}
		}
		var lastCommaIndex = chkShowsLst.lastIndexOf(",");
		chkShowsLst = chkShowsLst.substring(0,lastCommaIndex)

		if(hasShowsChecked) {
			if (window.ActiveXObject) {
				http_request.open('POST', '/rpc/LoadShowtimesContent_ie.cfm', true);
			} else {
				http_request.open('POST', '/rpc/LoadShowtimesContent.cfm', true);
			}
			http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
			http_request.send('&dom='+dom+'&chkShows='+chkShowsLst+'&date='+f.txtVisitDate.value);
			http_request.onreadystatechange = handlePopupContent;
		}
	} else {
		if (window.ActiveXObject) {
			http_request.open('POST', '/rpc/LoadShowtimesContent_ie.cfm', true);
		} else {
			http_request.open('POST', '/rpc/LoadShowtimesContent.cfm', true);
		}
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		http_request.send('&dom='+dom+'&date='+f.txtVisitDate.value);
		http_request.onreadystatechange = handlePopupContent;
	}
}

var detailsLoaded = false;
var actDetailId;

function loadShowDetails(e, act, id, showAlert, dom) {
	
	if(!detailsLoaded && actDetailId != id) {
		if(!dom)dom=1;
		actDetailId = id;
		// load detail content
		if (window.ActiveXObject) {
			http_request.open('POST', '/rpc/LoadShowDetails_ie.cfm', true);
		} else {
			http_request.open('POST', '/rpc/LoadShowDetails.cfm', true);
		}
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		http_request.send('&id='+id+'&showalert='+showAlert+'&dom='+dom);
		http_request.onreadystatechange = handleShowDetailsContent;
		
	}
	
	// determine main popup position
	var mainPopupXPos = Number(document.getElementById("popupContainer").style.left.split("px")[0]);
	var mainPopupYPos = Number(document.getElementById("popupContainer").style.top.split("px")[0]);
	mainPopupXPos -= 30;
	mainPopupYPos += 40;
	
	// position where mouse is
    //
    var xPos;
    var yPos;
   
    if (BrowserDetect.browser == "Explorer") { // IE
    	xPos = e.clientX;
    	yPos = e.clientY;
    } else { // Mozilla, Safari, ...
    	  
    	xPos = e.pageX;
    	yPos = e.pageY;
    	// correction
    	xPos -= mainPopupXPos;
    	yPos -= mainPopupYPos;
    }
   
    // for ie add scroll position
    //
    if (document.all && !document.captureEvents) {
    	xPos    += document[docEl].scrollLeft;
        yPos    += document[docEl].scrollTop;
        // correction
    	xPos -= mainPopupXPos;
    	yPos -= mainPopupYPos;
    	xPos -= 10;
    	yPos -= 5;
    }
    
    // show detail popup
    if(!detailsLoaded && actDetailId != id) {
    	document.getElementById("showTimesDetailContent").innerHTML = "Loading content...";
    }
	document.getElementById("detail").style.top = yPos + "px";
	document.getElementById("detail").style.left = xPos + "px";
	document.getElementById("detail").style.visibility = "visible";	

}

function handleShowDetailsContent() {
	if(http_request.readyState == 4)	{
		if(http_request.status == 200) {
		
			//req.responseText represents the returning text from the server
			var response = http_request.responseText;
			var xmlDoc;
			var value;
			response = unescape(response);
			//alert(response);
			//
			//for IE
			if (window.ActiveXObject) {
				
				//crate xml docuemnt object in IE
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = "false";
				
				xmlDoc.loadXML(response);
				var x = xmlDoc.documentElement; 
				value = x.childNodes[0].nodeValue;  
				
			}
			//for Firefox
			else {
				xmlDoc = http_request.responseXML;
				var element = xmlDoc.getElementsByTagName('resp').item(0);
				
				value = element.childNodes[0].nodeValue;
			}
			
			//write value
			document.getElementById("showTimesDetailContent").innerHTML = value;
			
			detailsLoaded = true;
			
		} else {
			alert("Error: returned status code " + http_request.status + " " + http_request.statusText);
		}	
	} 
	
}

function showHideShowDetails(act) {
	
	if(act) {
		
		// determine main popup position
		var mainPopupXPos = Number(document.getElementById("popupContainer").style.left.split("px")[0]);
		var mainPopupYPos = Number(document.getElementById("popupContainer").style.top.split("px")[0]);
		mainPopupXPos -= 30;
		mainPopupYPos += 40;
		
		// position where mouse is
	    //
	    var xPos;
	    var yPos;
	   
	    if (BrowserDetect.browser == "Explorer") { // IE
	    	xPos = window.event.screenX;
	    	yPos = window.event.screenY;
	    } else { // Mozilla, Safari, ...
	    	  
	    	xPos = e.pageX;
	    	yPos = e.pageY;
	    	// correction
	    	xPos -= mainPopupXPos;
	    	yPos -= mainPopupYPos;
	    }
	    
	    // for ie add scroll position
	    //
	    if (document.all && !document.captureEvents) {
	    	xPos    += document[docEl].scrollLeft;
	        yPos    += document[docEl].scrollTop;
	        // correction
	    	xPos -= mainPopupXPos;
	    	yPos -= mainPopupYPos;
	    	xPos -= 70;
	    	yPos -= 213;
	    }
	   
		document.getElementById("detail").style.top = yPos + "px";
		document.getElementById("detail").style.left = xPos + "px";
		document.getElementById("detail").style.visibility = "visible";	
	} else {
		document.getElementById("detail").style.visibility = "hidden";
		detailsLoaded = false;
	}
}

//find out if ie runs in quirks mode
//
var docEl = (
             typeof document.compatMode != "undefined" && 
             document.compatMode        != "BackCompat"
            )? "documentElement" : "body";
            
// calendar functions ////////////////////////////////
var cal = new Calendar();

// init calendar ////////////////////////////////////
function initCalendar() {
	cal.weekNumbers = false;
	cal.firstDayOfWeek = 1;
	cal.setDateFormat("%d.%m.%Y");
	cal.callHandler = calSetDate;
	cal.showOthers = true;

	cal.create(document.getElementById('divShowsCalendar'));
}				

var calSetDate = function() {
	var y = this.date.getFullYear();
    var m = this.date.getMonth();     // integer, 0..11
    var d = this.date.getDate(); 
    m = m+1;
    if(d < 10) d = "0"+d;
    if(m < 10) m = "0"+m;
    
    document.getElementById("txtVisitDate").value = d+"."+m+"."+y;
    //document.getElementById("divShowsCalendar").style.visibility = "hidden";
    //calVisState = 0;
	//cal.hide();
}

var calVisState = 0;
var showHideCalendar = function(act) {
	if(!act) {
		if(calVisState == 0) {
			document.getElementById("divShowsCalendar").style.visibility = "visible";
			calVisState = 1;
			cal.show();			
		} else {	
			document.getElementById("divShowsCalendar").style.visibility = "hidden";		
			calVisState = 0;
			cal.hide();
		}
	} else {
		if(act == 'show') {
			document.getElementById("divShowsCalendar").style.visibility = "visible";
			calVisState = 1;
			cal.show();	
		} else if(act == 'hide') {
			document.getElementById("divShowsCalendar").style.visibility = "hidden";	
			calVisState = 0;
			cal.hide();	
		}
	}
}
/////////////////////////////////////////////////////

