var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName  = navigator.appName;
var fullVersion  = ''+parseFloat(navigator.appVersion); 
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;

// In MSIE, the true version is after "MSIE" in userAgent
if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
 browserName = "Microsoft Internet Explorer";
 fullVersion = nAgt.substring(verOffset+5);
}
// In Opera, the true version is after "Opera" 
else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
 browserName = "Opera";
 fullVersion = nAgt.substring(verOffset+6);
}
// In Chrome, the true version is after "Chrome" 
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
 browserName = "Chrome";
 fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" 
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
 browserName = "Safari";
 fullVersion = nAgt.substring(verOffset+7);
}
// In Firefox, the true version is after "Firefox" 
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
 browserName = "Mozilla Firefox";
 fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent 
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) 
{
 browserName = nAgt.substring(nameOffset,verOffset);
 fullVersion = nAgt.substring(verOffset+1);
 if (browserName.toLowerCase()==browserName.toUpperCase()) {
  browserName = navigator.appName;
 }
}
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix);

majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
 fullVersion  = ''+parseFloat(navigator.appVersion); 
 majorVersion = parseInt(navigator.appVersion,10);
}

/*if((browserName == "Mozilla Firefox" && parseFloat(fullVersion) >= 3.6) || (browserName == "Microsoft Internet Explorer" && parseFloat(fullVersion) > 7.0))
{
    loadJavaScript("includes/js/equalcolumns.js");
    loadJavaScript("includes/js/jquery-1.4.2.min.js");
    loadJavaScript("includes/js/showcase.js");
}*/

var fieldvalue = "";
var staticVoteImg = 0;
var locationID = 0;
var locationIDcount = 0;

function loadJavaScript(filename)
{
    var fileref = document.createElement('script');
    fileref.setAttribute("language","JavaScript");
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", filename);
    
    document.getElementsByTagName("head")[0].appendChild(fileref)
}

function googlemaps_initialize(id)
{
    locationID = id;
    locationIDcount = 0;
    
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById("locationmap"));
        map.setCenter(new GLatLng(51.2249, 6.7742), 13);
    }
}

function googlemaps_showAddress(address)
{
    var map = new GMap2(document.getElementById("locationmap"));
    var geocoder = new GClientGeocoder();

    geocoder.getLatLng(
        address,
        function(point)
        {
            if(!point)
            {
                if(locationIDcount == 0)
                {
                    locationIDcount = 1;
                    postData("googlemaps");
                }
                //alert(address + " not found");
            }
            else
            {
                var blueIcon = new GIcon(G_DEFAULT_ICON);
                blueIcon.iconSize = new GSize(20, 34);
                blueIcon.image = "http://www.lifestyle-emotions.de/templates/lifestyle/img/googlemaps.png";
                markerOptions = { icon:blueIcon };

                map.addControl(new GSmallMapControl());
                map.setCenter(point, 13);
                var marker = new GMarker(point, markerOptions);
                map.addOverlay(marker);
                
                //marker.openInfoWindowHtml(address);
            }
        }
    );
}

function clearInput(field)
{
	fieldvalue = document.getElementById(field).value;
	document.getElementById(field).value = "";
}

function fillInput(field)
{
	if(document.getElementById(field).value == "") document.getElementById(field).value = fieldvalue;
}

function changeLocationImg(image)
{
	document.getElementById('locationImg').style.backgroundImage = "url(./templates/lifestyle/img/" + image + ")";
}

function changeLocationSite(type)
{
	if(type == "description")
	{
		document.getElementById('location_description').style.display = "block";
		document.getElementById('location_bottom').style.display = "block";
		document.getElementById('location_datetickets').style.display = "none";
	}
	else if(type == "datetickets")
	{
		document.getElementById('location_description').style.display = "none";
		document.getElementById('location_bottom').style.display = "none";
		document.getElementById('location_datetickets').style.display = "block";
	}
}

function changeVoteImg(id,value)
{
	if(value == true)
	{
		for(var i = 1; i <= 6; i++)
		{
			if(id >= i) document.getElementById('voteImg' + i).src = "./templates/lifestyle/img/globe_good.png";
			else document.getElementById('voteImg' + i).src = "./templates/lifestyle/img/globe_bad.png";
		}		
	}
	else
	{
		if(staticVoteImg == 0)
		{
			for(var i = 1; i <= 6; i++)
			{
				document.getElementById('voteImg' + i).src = "./templates/lifestyle/img/globe_bad.png";
			}
		}
		else
		{
			changeVoteImg(staticVoteImg,true);
		}
	}
}

function changeVoteImgStatic(id)
{
	staticVoteImg = id;
	
	document.getElementById('votingfield').value = id;
	
	for(var i = 1; i <= 6; i++)
	{
		if(id >= i) document.getElementById('voteImg' + i).src = "./templates/lifestyle/img/globe_good.png";
	}
}

function postData(input)
{
    createXMLHttpRequest();
    sendPostQuery(input);
    
    return false;
}

function createXMLHttpRequest()
{
	if (window.ActiveXObject)
	{
 		try
 		{
   			// IE 6 and higher
      		xhttp = new ActiveXObject("MSXML2.XMLHTTP");
        }
		catch(e)
		{
  			try
  			{
  				// IE 5
  				xhttp = new ActiveXObject("Microsoft.XMLHTTP");
      		}
  			catch(e)
  			{
     			xhttp=false;
      		}
        }
     }
     else if (window.XMLHttpRequest)
	 {
		try
		{
  			// Mozilla, Opera, Safari ...
     		xhttp = new XMLHttpRequest();
       	}
  		catch(e)
	  	{
    		xhttp=false;
      	}
    }
}

function sendPostQuery(input)
{
	if (!xhttp)
	{
 		alert("An Error occured when trying to initialize XMLHttpRequest!");
		return; // exit
  	}
  	
  	if(input == "getPackagePrice")
  	{
		var eventdate = document.getElementById('eventdate').value;
		var ticket_id = document.getElementById('ticketcategory').value;
		var singleroom = document.getElementById('singleroom').value;
		var doubleroom = document.getElementById('doubleroom').value;
		var hotel_id = document.getElementById('hotel').value;
		var arrival = document.getElementById('arrival').value;
		var depature = document.getElementById('depature').value;
		
        if(singleroom == "") singleroom = 0;
        else
        {
            singleroom = singleroom.replace(/,/g, "");
            singleroom = singleroom.replace(/\./g, "");
            singleroom = document.getElementById('singleroom').value = singleroom;
        }
        if(doubleroom == "") doubleroom = 0;
        else
        {
            doubleroom = doubleroom.replace(/,/g, "");
            doubleroom = doubleroom.replace(/\./g, "");
            doubleroom = document.getElementById('doubleroom').value = doubleroom;
        }
        
        arrival = arrival.split('|');
        depature = depature.split('|');
		var nights = parseInt(arrival[0]) + parseInt(depature[0]);
	
	    xhttp.open("POST","ajax_postData.php",true);
	    xhttp.onreadystatechange = sendRequest_getPackagePrice;
	    
	    var data = "eventdate=" + eventdate + "&ticket_id=" + ticket_id + "&hotel_id=" + hotel_id + "&singleroom=" + singleroom + "&doubleroom=" + doubleroom + "&arrival=" + arrival[1] + "&depature=" + depature[1] + "&nights=" + nights + "&type=getPackagePrice";
	 }
	 else if(input == "getTicketCategories")
	 {
		var eventdate = document.getElementById('eventdate').value;
		var performer_id = document.getElementById('performer').value;
		var venue_id = document.getElementById('venue').value;

	    xhttp.open("POST","ajax_postData.php",true);
	    xhttp.onreadystatechange = sendRequest_getTicketCategories;
	    
	    var data = "eventdate=" + eventdate + "&performer_id=" + performer_id + "&venue_id=" + venue_id + "&type=getTicketCategories";
	 }
	 else if(input == "getArrivals")
	 {
		var eventdate = document.getElementById('eventdate').value;
		
	    xhttp.open("POST","ajax_postData.php",true);
	    xhttp.onreadystatechange = sendRequest_getArrivals;
	    
	    var data = "eventdate=" + eventdate + "&type=getArrivales";
	 }
	 else if(input == "getDepatures")
	 {
		var eventdate = document.getElementById('eventdate').value;
		
	    xhttp.open("POST","ajax_postData.php",true);
	    xhttp.onreadystatechange = sendRequest_getDepatures;
	    
	    var data = "eventdate=" + eventdate + "&type=getDepatures";
	 }
	 else if(input == "googlemaps")
	 {
	    xhttp.open("POST","ajax_postData.php",true);
	    xhttp.onreadystatechange = sendRequest_googlemaps;
	    
	    var data = "id=" + locationID + "&type=googlemaps&onlycity=" + locationIDcount;
	 }

    try
	{
		xhttp.setRequestHeader("Pragma", "no-cache");
		xhttp.setRequestHeader("Cache-Control", "must-revalidate");
		xhttp.setRequestHeader("If-Modified-Since", document.lastModified);
		xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");  
	    xhttp.send(data);
	}
	catch (e)
	{
		
	}
}

function sendRequest_getPackagePrice()
{
	//alert (xhttp.readyState);
 	if (xhttp.readyState==4 && xhttp.status==200)
 	{
		//alert ( xhttp.responseText );
		var input = xhttp.responseText;
		
		document.getElementById('packageprice').innerHTML = input;
		
		var sr_persons = document.getElementById('singleroom').value;
        
        var hotel_id = document.getElementById('hotel').value;
        
        if(hotel_id)
        {
            var dr_persons = 2 * document.getElementById('doubleroom').value;
            
            if(dr_persons == "") dr_persons = 0;
            if(sr_persons == "") sr_persons = 0;
            
    		var persons = parseInt(sr_persons) + parseInt(dr_persons);
    		
    		var arrival = document.getElementById('arrival').value;
    		var depature = document.getElementById('depature').value;
    		
            arrival = arrival.split('|');
            depature = depature.split('|');
    		var nights = parseInt(arrival[0]) + parseInt(depature[0]);
    
    		document.getElementById('persons').innerHTML = persons;
    		document.getElementById('nights').innerHTML = nights;
        }
        else
        {
            document.getElementById('persons').innerHTML = sr_persons;
        }
        
		if(nights == 0)
		{
			document.getElementById('packageprice_price').style.display = "none";
			document.getElementById('packageprice_QuantityError').style.display = "none";
			document.getElementById('packageprice_NightError').style.display = "block";
			document.getElementById('location_bottom').style.display = "none";
		}
		else if(input == "QuantityError")
		{
			document.getElementById('packageprice_price').style.display = "none";
			document.getElementById('packageprice_QuantityError').style.display = "block";
			document.getElementById('packageprice_NightError').style.display = "none";
			document.getElementById('location_bottom').style.display = "none";
		}
		else
		{
			document.getElementById('packageprice_price').style.display = "block";
			document.getElementById('packageprice_QuantityError').style.display = "none";
			document.getElementById('packageprice_NightError').style.display = "none";
			document.getElementById('location_bottom').style.display = "block";
		}
	}
}

function sendRequest_getTicketCategories()
{
	//alert (xhttp.readyState);
 	if (xhttp.readyState==4 && xhttp.status==200)
 	{
		//alert ( xhttp.responseText );
		var input = xhttp.responseText;

		for(var i = document.getElementById('ticketcategory').length ; i >= 0 ; i--)
		{
	  		document.getElementById('ticketcategory').options[i] = null;
	  	}
		
		input = input.split('||');
		for(var i = 0; i < input.length; i++)
		{
			output = input[i].split('|');
			var opt = document.createElement("option");
			opt.innerHTML = output[1];
			opt.value = output[0];
			document.getElementById('ticketcategory').appendChild(opt);
		}
		
		sendPostQuery('getArrivals');
	}
}

function sendRequest_getArrivals()
{
	//alert (xhttp.readyState);
 	if (xhttp.readyState==4 && xhttp.status==200)
 	{
		//alert ( xhttp.responseText );
		var input = xhttp.responseText;

		for(var i = document.getElementById('arrival').length ; i >= 0 ; i--)
		{
	  		document.getElementById('arrival').options[i] = null;
	  	}
		
		input = input.split('||');
		for(var i = 0; i < input.length; i++)
		{
			output = input[i].split('|');
			var opt = document.createElement("option");
			opt.innerHTML = output[2];
			opt.value = output[0] + "|" + output[1];
			document.getElementById('arrival').appendChild(opt);
		}
		
		sendPostQuery('getDepatures');
	}
}

function sendRequest_getDepatures()
{
	//alert (xhttp.readyState);
 	if (xhttp.readyState==4 && xhttp.status==200)
 	{
		//alert ( xhttp.responseText );
		var input = xhttp.responseText;

		for(var i = document.getElementById('depature').length ; i >= 0 ; i--)
		{
	  		document.getElementById('depature').options[i] = null;
	  	}
		
		input = input.split('||');
		for(var i = 0; i < input.length; i++)
		{
			output = input[i].split('|');
			var opt = document.createElement("option");
			opt.innerHTML = output[2];
			opt.value = output[0] + "|" + output[1];
			if(output[0] == 1) opt.selected = "selected";
			document.getElementById('depature').appendChild(opt);
		}
		
		sendPostQuery('getPackagePrice');
	}
}

function sendRequest_googlemaps()
{
	//alert (xhttp.readyState);
 	if (xhttp.readyState==4 && xhttp.status==200)
 	{
		//alert ( xhttp.responseText );
		var input = xhttp.responseText;
		
		googlemaps_showAddress(input);
	}
}

function changeActiveHomeBox($box)
{
    document.getElementById('box_new').style.display = "none";
    document.getElementById('box_lowprice').style.display = "none";
    document.getElementById('box_popular').style.display = "none";
    document.getElementById($box).style.display = "block";
}

function displayDiv(input)
{
    document.getElementById(input).style.display = "none";
    document.getElementById(input + "_hidden").style.display = "block";
}

function undisplayDiv(input)
{
    document.getElementById(input).style.display = "block";
    document.getElementById(input + "_hidden").style.display = "none";
}

function openNewWindow(url)
{
    newWindow = window.open(url,"Hotelwindow","width=700,height=600,menubar=no,scrollbars=yes,status=no,toolbar=no")
}
