var obj = new Array();
var vtyp1;
var vtyp2;

function isEmpty(obj) {
	for(var prop in obj) {
		if(obj.hasOwnProperty(prop))
			return false;
	}
	return true;
}

var dateArr = [];
$(document).ready(function() {	
	
	$("img.advancedPanorama").panorama({
	               auto_start: 0,
                   start_position: 0,
                   control_display:'yes',
                   viewport_width:630,
	         });
	
	Galleria.loadTheme('css/galleria/galleria.classic.min.js');
            $(".galleria").galleria({
                width: 660,
                height: 500,
                 transition: 'pulse',

            });
	
	var raum='eg';
	$('#tour .sidebar .eg').click(function() {
	id=$(this).attr('id');
	if(raum!=id) {
	$('#raum .virtuelle_tour .info').hide();
	$('#tour .eg.active').removeClass('active');
	$('#tour #'+id).addClass('active');
	$('#raum .'+raum).hide();
	$('#raum .'+id).fadeIn();
	}
	raum=id;
	
});
      
$("#raum .tooltip").click(function() {
	var id=$(this).attr('id');
	$('#raum .virtuelle_tour .info').hide();
	$('#raum .virtuelle_tour .'+id+'.info').fadeIn();

});     
         
/*
$("#raum .tooltip").each(function() {
    var content = $(this).next('.info').html();

    $(this).qtip({
    	show: 'mouseover',
 		hide: 'mouseout',
        content: content,
        show : {delay: 20},
        style: {name:'blue',tip:'topRight',left:50,color:'#00456D',},
        position: {
            corner: {
                target: 'bottomRight',
                tooltip: 'topRight'
            }
        }
    });
});
*/

$('img[usemap]').maphilight({
	fill: true,
	fillColor: '2699D1',
	fillOpacity: 0.1,
	stroke: true,
	strokeColor: '2699D1',
	strokeOpacity: 1,
	strokeWidth: 1,
	fade: true,
	alwaysOn: false,
	neverOn: false,
	groupBy: false,
	wrapClass: true,
	shadow: false,
	shadowX: 0,
	shadowY: 0,
	shadowRadius: 6,
	shadowColor: '000000',
	shadowOpacity: 0.8,
	shadowPosition: 'outside',
	shadowFrom: false
});

	// sidebar infos verstecken auf zusammenfassung seite
	if($('#zusammenfassung').length || $('#saved_termin').length) {$('#buchen .sidebar .info').hide();}
	
	// detailinfo anzeigen
	$('.showDetail').click(function() {
		id=$(this).attr('id');
		$('.detail.'+id).toggle();	
	});
	
	
	$('#objekt button').click(function() {//// OBJEKTAUSWAHL
		el = $(this);
		val = el.val();
		name = el.attr('name');
		if(!obj.length) {
			obj[1] = parseInt($('.type1').val());
			obj[2] = parseInt($('.type2').val());
			obj[3] = parseInt($('.type3').val());
			obj[4] = parseInt($('.type4').val());
		}
		if(name == 'detail') {// DETAILBUTTON
			el.next('div.info').slideToggle();
		}
		
		
		if(name == 'select') {// AUSWÄHLWN
			$('#objekt .view'+val).fadeToggle();
			el2 = '.obj' + val;
			if($(el2 + ' button[name="select"]').hasClass('select')) {
				obj[val] = 0;
				$(this).removeClass('select');
			} else {
				obj[val] = 1;
				$(this).addClass('select');
			}
			$('.type' + val).val(obj[val]);
			if(obj[1] || obj[2]) {
				$('#objekt .view7').fadeIn();
				$('.edv').removeAttr('disabled');
				$('.edv').next().removeClass('grey');
			} else {
				$('#objekt .view7').fadeOut();
				$('.edv').next().addClass('grey');
				$('.edv').attr('disabled', 'disabled');
				$('.edv').removeAttr('checked');
			}
			if(obj[3] || obj[4]) {
				$('.maschinen, .chemie').removeAttr('disabled');
				$('.maschinen, .chemie').next().removeClass('grey');
			} else {
				$('.maschinen, .chemie').next().addClass('grey');
				$('.maschinen, .chemie').attr('disabled', 'disabled');
				$('.maschinen, .chemie').removeAttr('checked');
			}
			if(obj[1] || obj[2] || obj[3] || obj[4]) {
				$('#objekt #submit').removeAttr('disabled');
			} else {
				$('#objekt #submit').attr('disabled', 'disabled');
			}
		}
	});
	function check_vtyp() {// VERANSTALTUNGSTYP überprüfen
		if($('#vtyp textarea').val().length > 30) {
			vtyp2 = 1;
		} else {
			vtyp2 = 0;
		}
		if((vtyp1 || $('#vtyp input[type="radio"]:first').attr('checked') == 'checked' || $('#vtyp input[type="radio"]:last').attr('checked') == 'checked') && vtyp2) {
			$('#vtyp .submit').removeAttr('disabled');
		} else {
			$('#vtyp .submit').attr('disabled', 'disabled');
		}
	}


	$('#vtyp input[type="radio"]').click(function() {
		vtyp1 = 1;
		check_vtyp();
	});

	$('#vtyp textarea').keypress(function() {
		check_vtyp();
	});

	$('#menu .toggle_login').click(function() {/// login anzeigen
		el = $('#menu .login_panel');
		if(el.css('display') == 'none') {
			el.slideDown();
		}
	});

	$('#register_frm, #passwort_frm').validationEngine();
	/// registerformular validierung
	$('#login_frm1, #login_frm2').attr('action', './scripts/functions.php');
	$("#login_frm1, #login_frm2").validationEngine({/// login validierung
		ajaxFormValidation : true,
		onAjaxFormComplete : ajaxValidationCallback,
	});

	var mouse_is_inside = false;
	$('.login_panel').hover(function() {// login ausblenden
		mouse_is_inside = true;
	}, function() {
		mouse_is_inside = false;
	});
	$("body").mouseup(function() {
		if(!mouse_is_inside)
			$('.login_panel').slideUp();
	});
	
	$.datepicker.regional['de'] = {/// datepicker deutsch
		clearText : 'l&ouml;schen',
		clearStatus : 'aktuelles Datum l�schen',
		closeText : 'schlie�en',
		closeStatus : 'ohne �nderungen schlie�en',
		prevText : '&#x3c;zur�ck',
		prevStatus : 'letzten Monat zeigen',
		nextText : 'Vor&#x3e;',
		nextStatus : 'n&auml;chsten Monat zeigen',
		currentText : 'heute',
		currentStatus : '',
		monthNames : ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
		monthNamesShort : ['Jan', 'Feb', 'M&auml;r', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
		monthStatus : 'anderen Monat anzeigen',
		yearStatus : 'anderes Jahr anzeigen',
		weekHeader : 'Wo',
		weekStatus : 'Woche des Monats',
		dayNames : ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
		dayNamesShort : ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
		dayNamesMin : ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
		dayStatus : 'Setze DD als ersten Wochentag',
		dateStatus : 'W�hle D, M d',
		firstDay : 1,
		initStatus : 'W&auml;hle ein Datum',
		isRTL : false
	};
	
	if($('.datepicker.de').length) $.datepicker.setDefaults($.datepicker.regional['de']);
	
	$.datepicker.setDefaults({
		minDate : new Date(y, m, d),
		altFormat : 'dd.mm.yy',
	})

	$(".start-date").datepicker({
		altField : '.start-date',
		onSelect : function(dateText, inst) {
			start_date = new Date(dateText);
			startdate();

		}
	});
	;

	$(".end-date").datepicker({
		altField : '.end-date',
		onSelect : function(dateText, inst) {
			end_date = new Date(dateText);
			enddate();
		}
	});
	
	
	
	if($('#calendar').length) {
		if($('#buchen #calendar').length) {
			events='scripts/events.php';
			buchen=true;
		} else {
			var buchen=false;
			events='scripts/events_be.php';
		}
	}

	$('#calendar').fullCalendar({
		viewDisplay : function(view) {
			refreshDate();
			dateArr = [];
			var today = view.start;
			var viewData = $('#calendar').fullCalendar('getView');
			cMonth = today.getMonth();
			cYear = today.getFullYear();
			$('td.fc-widget-content').each(function() {// NEED TO MAKE SURE TO use ui-widget-content
				if($(this).hasClass('fc-today')) {
					// Let's not change anything... leave the default color for Today
				} else {
					if(buchen){
					$(this).css({
						'background' : 'none',
						'background-color' : '#99FF66'
					});
					}
					// making default green notice that I need to make the background:none to remove the jQueryUI image bg
				}
			});
			$('.fc-day-number').each(function() {
				lDay = parseInt($(this).text());
				//check if it is another month date
				lYear = parseInt(cYear);
				if($(this).parents('td').hasClass('fc-other-month')) {
					
					//if it is belong to the previous month
					if(lDay > 15) {
						lMonth = parseInt(cMonth) - 1;
						lDate = new Date(lYear, lMonth, lDay);
						dateArr.push(lDate);
					} else//belong to the next month
					{
						lMonth = parseInt(cMonth) + 1;
						lDate = new Date(lYear, lMonth, lDay);
						dateArr.push(lDate);
					}
				} else {
					lMonth = parseInt(cMonth);
					lDate = new Date(lYear, lMonth, lDay);
					dateArr.push(lDate);
				}

			});
		},
		header : {
			left : 'prev,next,today',
			center : 'title',
			right : 'month'
		},
		titleFormat : {
			month : "MMMM yyyy",
			week : "d.[ MMMM][ yyyy]{ - d. MMMM yyyy}",
			day : "dddd, d.MMMM yyyy"
		},
		columnFormat : {
			month : "ddd",
			week : "ddd d.M.",
			day : "dddd d.M."
		},
		timeFormat : {
			"" : "h(:mm)t"
		},
		isRTL : false,
		firstDay : 1,
		
		allDayText : 'Ganztags',
		monthNames : ["Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
		monthNamesShort : ["Jan", "Feb", "M&auml;r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
		dayNames : ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
		dayNamesShort : ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
		buttonText : {
			prev : "&nbsp;&#9668;&nbsp;",
			next : "&nbsp;&#9658;&nbsp;",
			prevYear : "&nbsp;&lt;&lt;&nbsp;",
			nextYear : "&nbsp;&gt;&gt;&nbsp;",
			today : "heute",
			month : "Monat",
			week : "Woche",
			day : "Tag"
		},
		
		editable : false,
		events : events,
		eventRender : function(event, element) {
			if(buchen) {
			if(event.id!=1)element.hide();
			for(var i in dateArr) {
				if(event.end == null) {
					event.end = event.start;
				}
				if(event.id!=1&&(dateArr[i].getTime() >= event.start.getTime()) && (dateArr[i].getTime() <= event.end.getTime())) {
					$('.fc-day' + i).css({
						'background' : 'none',
						'background-color' : '#FFCCCC',
					}).addClass('red');
					// I'm adding the class of red so that we can use the event click option..
				}
			}
			}
		},
	});
	$('#response .loading').css('display', 'none');
});
