/*-------------------- /projects/3/templates/js/events.js --------------------*/


$(document).ready(function () {
	$('#EventsCountsView').html($('#EventsCounts').html());
});


/*-------------------- /projects/3/templates/js/slidinglabels.js --------------------*/
/*
	Sliding Labels 3.0

	This is the official plugin version of Sliding Labels.
	It is open source code by Tim Wright of CSSKarma.com
	Use as you see fit, I'd like it if you kept this in
	the code, but basically share it and don't be a jerk.

	Support:
	http://www.csskarma.com/blog/sliding-labels-plugin

	Version: 2 - added textarea functionality
	Version: 3 - added axis parameter
	           - added speed parameter
	           - removed color parameter, as it should be define in the CSS
	           - added position:relative to wrapping element
	           - coverted to jQuery plugin
*/

(function($){$.fn.slidinglabels=function(options){var defaults={topPosition:"5px",leftPosition:"5px",axis:"x",speed:"fast"};var options=$.extend(defaults,options);var itemwrapper=this.children(".inputwrapper");var labels=itemwrapper.children("label");return labels.each(function(){obj=$(this);var parent=obj.parents(".inputwrapper");parent.css({position:"relative"});obj.css({position:"absolute",top:defaults.topPosition,left:defaults.leftPosition,display:"inline","z-index":99});var inputval=$(this).next().val();var labelwidth=$(this).width();var labelmove=labelwidth+5+"px";var labelheight=$(this).height();if(inputval!==""){if(defaults.axis=="x"){obj.stop().animate({left:"-"+labelmove},1)}else{if(defaults.axis=="y"){obj.stop().animate({top:"-"+labelheight},1)}}}$("input, textarea").focus(function(){var label=$(this).prev("label");var width=label.width();var height=label.height();var adjust=width+5+"px";var adjustUp=height+"px";var value=$(this).val();if(value==""){if(defaults.axis=="x"){label.stop().animate({left:"-"+adjust},defaults.speed)}else{if(defaults.axis=="y"){label.stop().animate({top:"-"+adjustUp},defaults.speed)}}}else{if(defaults.axis=="x"){label.css({left:"-"+adjust})}else{if(defaults.axis=="y"){label.css({top:"-"+adjustUp})}}}}).blur(function(){var label=$(this).prev("label");var value=$(this).val();if(value==""){if(defaults.axis=="x"){label.stop().animate({left:defaults.leftPosition},defaults.speed)}else{if(defaults.axis=="y"){label.stop().animate({top:defaults.topPosition},defaults.speed)}}}})})}})(jQuery);
/*-------------------- /projects/3/templates/js/locations_map.js --------------------*/


/**
 *  Javascript Funktionen für die Locations Map
 *
 *    showMarkers(markers_arr);      map neu laden. remove and add markers_arr
 *
 *
 */
function getMarkerIndex(id){
    for(var i=0;i<markersIds.length;i++){
        if(markersIds[i]==id){
           return i ;
        }
    }
    return false;
}

function showBallonOnMap(id){
    var index ;
    index = getMarkerIndex(id);
    var point  = new GLatLng(markersLat[index], markersLng[index]);
    var zoom = map.getZoom();
    // add marker to map
    map.addOverlay(markers[index]);
    // show ballon
    map.openInfoWindowHtml(point, markersHtml[index]);
    // go to point
    map.setCenter( point, zoom);
    //map.panTo(point);
}

function refreshMap(markers_arr){
    if (markerClusterer != null) {
      markerClusterer.clearMarkers();
    }
    markerClusterer = new MarkerClusterer(map, markers_arr, {maxZoom: clusterMaxZoom, gridSize: clusterGridSize});
    markerClusterer.resetViewport();
}

function buildBallonHtml(img,name,zip,city,street,cats,gallery_cnt,events_cnt,id){
 
    if( typeof name == 'undefined') name = '';
    if( typeof zip == 'undefined') zip = '';
    if( typeof city == 'undefined') city = '';
    if( typeof street == 'undefined') street = '';
    if( typeof cats == 'undefined') cats = '';
    if( typeof gallery_cnt == 'undefined') gallery_cnt = '';
    if( typeof events_cnt == 'undefined') events_cnt = '';

    var out = "";
    out='<div class="locationballon">';
        if(img!='')out += '<div class="image"><a href="/de/location/'+id+'/"><img width="50" height="50" src="'+img+'"></a></div>';
        out += '<div class="data">';
            out += '<div class="name"><b><a href="/de/location/'+id+'/">'+name+'</a></b></div>';
            out += '<div class="adress">';
            if(zip!='') out += zip+' ';
            if(city!='') out += city ;
            if(street!='') out += ', '+street;
            out += '</div>';
            out += '<div class="infos">';
            out += '<a href="/de/gallery/location/'+id+'">'+gallery_cnt+' Galerien</a> | ';
            //out += '<a href="">'+events_cnt+' Events</a> | ';
            out += cats;
            out += '</div>';
        out += '</div>';
    out += '</div>';
    return out ;
}

function createMarker(lat,lng, html, icon) {
    var point  = new GLatLng(lat, lng);
    var marker = new GMarker(point, {icon:icon,draggable: false,bounceGravity: 0.8});
    GEvent.addListener(marker,"click", function() {
        map.openInfoWindowHtml(point, html, {pixelOffset:new GSize(3,2)});
    });
    return marker;
}

function showCategoryOnMap(cat){
    markers = [];
    for(var i=0;i<markersIds.length;i++){
        if(markersCats[i]==cat || cat=="all"){
             markers.push(createMarker(markersLat[i], markersLng[i], markersHtml[i], mapIcon1));
        }
    }
    refreshMap(markers);
}

function goToStartPosition(){
	map.setCenter(new GLatLng(init_lat, init_lng), curr_zoom);
}

/*-------------------- /projects/3/templates/js/locations.js --------------------*/

var LocationListId = "#LocationsListeSimple";



$(document).ready(function () {

	/*----------------------------------------------------------------------------
     click auf kategorien NAme
    ----------------------------------------------------------------------------*/
	$('#location_select li, .category_name').click(function(){
		var urltext = $(this).attr('urltext');

		showCategoryOnMap(urltext);
		markCategorySelection(urltext);

		if( urltext == 'all'){
			$(LocationListId+' .item').show();				// alle Kategorien einblenden
			$(LocationListId+' .item').addClass('closed');	// alle locations der kategorie ausblenden
			$(LocationListId+' .item .trenner').show();		// alle trenner von allen kategorien einblenden
		} else {
			showCategoryLocations(urltext);					// alle locations der kategorie einblenden
			showCategory(urltext);							// gewählte Kategorie anzeigen, andere Kategorien schliessen
		}

	});

	/*----------------------------------------------------------------------------
     click auf alle locations einer kategorie anzuzeigen
    ----------------------------------------------------------------------------*/
    $('.showall').click(function(){
        var urltext = $(this).attr('rel');

		showCategoryOnMap(urltext);
		markCategorySelection(urltext);
		showCategoryLocations(urltext); // alle locations der kategorie einblenden
		showCategory(urltext);	// andere Kategorien schliessen gewählte anzeigen

    });

	$('#EventsCountsView').html($('#EventsCounts').html());

});
 
function markCategorySelection(urltext){
	$('#location_select').parent().find('span').removeClass('bullet-on').addClass('bullet-off');		// alle li off
	$('#catselect_'+urltext).find('span').removeClass('bullet-off').addClass('bullet-on');				// li markieren
}
/**
 * die restlichen Locations einer Kategorie einblenden
 */
function showCategoryLocations(urltext){
	$('#catitem_'+urltext).removeClass('closed');
	$('#catitem_'+urltext+' .trenner').hide();		// trenner der gewählten Kategorie ausblenden
}

/**
 * die restlichen Locations einer Kategorie ausblenden
 */
function hideCategoryLocations(urltext){
	$('#catitem_'+urltext).addClass('closed');
	$('#catitem_'+urltext+' .trenner').hide();// trenner der gewählten Kategorie einblenden
}

function showCategory(urltext){
	$(LocationListId+' .item').hide(); // alle Kategorien ausblenden
	$('#catitem_'+urltext).show();// den eigene wieder einblenden
}
/*-------------------- /projects/3/templates/js/ajaxcalendar.js --------------------*/
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


$(document).ready(function () {

 

    /*----------------------------------------
        ajax Calender Bar Tast 1
    ---------------------------------------*/
//    var ajaxCalendarBarOptions = {
//
//         'slideOutEffect':'slide', //  fade, slide, clip, fold, drop, highlight, scale
//         'slideOutTime':400,
//         'slideInEffect':'clip',
//         'slideInTime':400,
//         'pagerlinks':'', // leer, oder ajax
//         'daylinks':'ajax'  // leer, oder ajax
//    };
//	$('#AjaxCalendarBar').xdAjaxCalendar(ajaxCalendarBarOptions);

    /*----------------------------------------
        ajax Calender Bar Tast 1
    ---------------------------------------*/
//    $('#AjaxCalendarBar2').xdAjaxCalendar({
//            'slideOutEffect':'slide', //  fade, slide, clip, fold, drop, highlight, scale
//            'slideOutTime':250,
//            'slideInEffect':'clip',
//            'slideInTime':500,
//            'pagerlinks':'ajax',
//            'daylinks':'ajax'
//        },
//        MeineCallbackBeimDayClick
//        );



});


function MeineCallbackBeimDayClick(href){
    log('MeineCallbackBeimDayClick() ');
    //log('href: '+href);
}
 


/**
 *  xdAjaxCalendar jQuery plugin:
 */
(function($){
    $.fn.xdAjaxCalendar = function(opts, callbackClickDay){

        // If no options were passed, create an empty opts object
        //if(!opts) opts = {};

        // merge default and user parameters
        opts = $.extend( {
                'slideOutEffect':'fade', //  fade, slide, clip, fold, drop, highlight, scale
                 'slideOutTime':200,
                 'slideInEffect':'fade',
                 'slideInTime':200,
                 'pagerlinks':'normal',
                 'daylinks':'normal'// normal, ajax
            }, opts);

        //
 
        var handler = this ;
        var totalWidth = handler.width();
        var totalHeight = handler.height();
        var targetid = handler.attr('id');

		//console.log(totalWidth);
		//console.log(totalHeight);
		//console.log(targetid);
        //console.log(opts);
        var calendarbar = handler.find('.CalendarBar');
        handler.width(totalWidth).height(totalHeight).css({'position':'relative','overflow':'hidden'})
        
        function click_day(e){
            //log('click daylink');
            var href =  $(this).attr('href');
            var loadedcal = $('#'+targetid  ).find('.CalendarBar');

            if(typeof callbackClickDay == 'function'){
                callbackClickDay.call(this, href);
            }
            if(opts.pagerlinks=="ajax"){
                //log('do ajax');
                fadeOut(loadedcal,href);
                //
                e.preventDefault();
                return false;
            }
            return true;
        }

        function click_pager(e){
            //log('click_pager()');
            var href =  $(this).attr('href');
			var loadedcal = $('#'+targetid  ).find('.CalendarBar');
            log(opts.pagerlinks)

            if(opts.pagerlinks=="ajax"){
                log('do ajax');
				fadeOut(loadedcal,href);
                e.preventDefault();
                return false;
            }
            return true;
        }

        function click_month(e){
            log('click monthlink');
            var href =  $(this).attr('href');

            if(opts.pagerlinks=="ajax"){
                log('do ajax');
                e.preventDefault();
                return false;
            }

            e.preventDefault();
            return false;
        }


        function loadCalender(href){
            //log('loadCalender()');

            //
            var ajaxurl = "";
            ajaxurl += XDCMS.base_url+'ajax/ajaxcalendar/';
            ajaxurl += href.replace(XDCMS.base_url,'');

            //ajax
            $.ajax({
                url: ajaxurl,
                success: function(data) {
                    $('#'+targetid).html(data);
                    var loadedcal = $('#'+targetid).find('.CalendarBar');
                    loadedcal.hide();
                    init(loadedcal);
                    fadeIn(loadedcal);
                }
            });

        }



        function fadeIn(calbar){
           if(opts.slideInEffect=="fade"){
                calbar.fadeIn(opts.slideInTime, function(){
                  //init(calbar);
                    //loadCalendarSuccess();
                    //log('slideIn ready');
                });
            } else {
                calbar.show(opts.slideInEffect, {}, opts.slideInTime, function(){
                    //init(calbar);
                    //log('slideIn ready');
                });
            }
        }

		function fadeOut(calbar, href){
            
            if(opts.slideOutEffect=="fade"){
                calbar.fadeOut(opts.slideOutTime, function(){
                    //log('fadeOut ready')
                    //calbar.remove();
                    loadCalender(href)
                    //showIndicator(handler);
                    //loadCalender(targetid, href);
                });
            }else{
                calbar.hide(opts.slideOutEffect, {}, opts.slideOutTime, function(){
                    //log('fadeOut ready')
                    //calbar.remove();
                    loadCalender(href)
                    //////showIndicator(handler);
                    //loadCalender(targetid, href);
                });
            }
        }

        function init(calbar){
            // fix width/height and css
            //log('int()');
			//console.log(calbar);
            var day_links = calbar.find('ul li a');
            var pager_links = calbar.find('a.nav-prev, a.nav-next');
            //var month_link  = calbar.find('.nav .month');

            pager_links.click(click_pager);
            //month_link.click(click_month);
            day_links.click(click_day);
            
            //alert(handler.width())
            // dem Calender Wrapper Container eine id geben
            // und einige css styles um das layout zu fixen
//            var wrapper = $(this);
//            wrapper.css({'position':'relative','overflow':'hidden'});
            //handler.css({'position':'relative','overflow':'hidden'});
            //.attr('id','AjaxCalendarItem_'+i)
            // click auf einen Link
//            links.click(function(e){
//                var href =  $(this).attr('href');
//
//                // fade out
//                if(slideOutEffect=="fade"){
//                    calendarbar.fadeOut(slideOutTime, function(){
//                        log(href)
//                        //showIndicator(handler);
//                        //loadCalender(targetid, href);
//                    });
//                }else{
//                    calendarbar.hide(slideOutEffect, {}, slideOutTime, function(){
//                        log(href)
//                        ////showIndicator(handler);
//                        //loadCalender(targetid, href);
//                    });
//                }
//
//                e.preventDefault();
//                return false;
//            });

        }
//        function afterSlideOut(targetid, href){
//            log('afterSlideOut()')
//            //log(targetid)
//            //log(href)
//            loadCalender(targetid, href);
//        }

        function showIndicator(obj){
            XDCMS.indicator_ele.css({'top':'2px','left':'2px','position':'absolute'});
            //log(XDCMS.indicator_ele);
            obj.append(XDCMS.indicator_ele);
        }


//        function init(){
//            //log('init()');
//            //handler.each(eachBar);
//            eachBar();
//        }
        
        init(calendarbar);
        
        return this;
    }
})(jQuery);




// log(totalWidth+'x'+totalHeight);


  
//        calendarbar.stop().animate({'left':'-50'},'slow');
//        //calendarbar.stop().animate({'marginLeft':-(parseInt($(this).text())-1)*ul.width()},'slow');
     


//        handler.each(function(i){
//
//            eachBar(i);
//
//        });
       // handler.each(function(i){ eachBar()});
//
//        handler.each(function(i){
//            var wrapper = $(this);
//            var eleid = $(this).attr('id') ;




            // slider aufbauen
//            calendarbar.wrap('<div class="ajaxCalenderSlider" />');
//            var calenderSlider = wrapper.find('.ajaxCalenderSlider');
//            calenderSlider.width(totalWidth).height(totalHeight).css({'top':'0','left':'0','position':'absolute'});
//
//
//            // click auf einen Link
//            links.click(function(e){
//                var href = $(this).attr('href') ;
//
//
//
//                // slide out
//                if(slideoutEffect=="fade"){
//                    calenderSlider.fadeOut(500);
//                }else{
//                    calenderSlider.hide(slideoutEffect, {}, 500);
//                }
//
//                loadCalender(eleid, href);

//            }); // ENDE - click()
//
//        }); // ENDE - each()




/*-------------------- /projects/3/templates/js/jquery.carousel.js --------------------*/
/**
 * @author Stéphane Roucheray
 * @extends jquery
 */


jQuery.fn.carousel = function(previous, next, options){
	var sliderList = jQuery(this).children()[0];

	if (sliderList) {
		var increment = jQuery(sliderList).children().outerWidth("true"),
		elmnts = jQuery(sliderList).children(),
		numElmts = elmnts.length,
		sizeFirstElmnt = increment,
		shownInViewport = Math.floor(jQuery(this).width() / sizeFirstElmnt),
		firstElementOnViewPort = 1,
		isAnimating = false;






		for (i = 0; i < shownInViewport; i++) {
			jQuery(sliderList).css('width',(numElmts+shownInViewport)*increment + increment + "px");
			// added on 25-05-2010 by TT
			if(numElmts > options.min)
			jQuery(sliderList).append(jQuery(elmnts[i]).clone());
		}

		jQuery(previous).click(function(event){
			if (!isAnimating) {
				if (firstElementOnViewPort == 1) {
					jQuery(sliderList).css('left', "-" + numElmts * sizeFirstElmnt + "px");
					firstElementOnViewPort = numElmts;
				}
				else {
					firstElementOnViewPort--;
				}

				jQuery(sliderList).animate({
					left: "+=" + increment,
					y: 0,
					queue: true
				}, "swing", function(){isAnimating = false;});
				isAnimating = true;
			}

		});

		jQuery(next).click(function(event){
			if (!isAnimating) {
				if (firstElementOnViewPort > numElmts) {
					firstElementOnViewPort = 2;
					jQuery(sliderList).css('left', "0px");
				}
				else {
					firstElementOnViewPort++;
				}
				jQuery(sliderList).animate({
					left: "-=" + increment,
					y: 0,
					queue: true
				}, "swing", function(){isAnimating = false;});
				isAnimating = true;
			}
		});

		if(numElmts < options.min){
			$(next).unbind();
			$(previous).unbind();
		}
	}
};

/*-------------------- /projects/3/templates/js/main.js --------------------*/


/*

muss im Header:
var XDCMS = new Object();
XDCMS.project_id = '1' ;
XDCMS.base_url = 'http://xdcmsdev.thomaszuhause.homeip.net/de/' ;
XDCMS.indicator_url =  "/img/ajaxload/loader_grey.gif" ;

 */
$(document).ready(function () {
//

	/*-------------------------------------------------------------------------
	   Newsletter Formular
	---------------------------------------------------------------------------*/
	var user_nickname_txt = 'Dein Vor- & Nachname oder Nickname';
	var user_email_txt = 'Deine E-Mail Adresse';

	if( $('.user_nickname').val() == '' ){
		$('.user_nickname').val(user_nickname_txt).focus(function(){
			 if($(this).val()==user_nickname_txt){
				 $(this).val('')
			 }
		}).blur(function(){
			if($(this).val()==''){
				 $(this).val(user_nickname_txt)
			 }
		}) ;

	}
 

	if( $('.user_email').val() == ''   ){
		$('.user_email').val(user_email_txt).focus(function(){
			 if($(this).val()==user_email_txt){
				 $(this).val('')
			 }
		}).blur(function(){
			if($(this).val()==''){
				 $(this).val(user_email_txt)
			 }
		}) ;

	}

    $('#NewsletterJoin').submit(function(){
		if( $('.user_nickname').val() == user_nickname_txt){
			$('.user_nickname').val('');
		}
		if( $('.user_email').val() == user_email_txt){
			$('.user_email').val('');
		}
	});
		
	 
	
	
	
	initTopNavi();

	/*-------------------------------------------------------------------------
	   prettyPhoto
	---------------------------------------------------------------------------*/
	$("a[rel^='prettyOverlay'],a[rel^='prettyPhoto']").prettyPhoto({
			animationSpeed: 'normal',
			opacity: 0.55,
			showTitle: true,
			allowresize: true,
			counter_separator_label: '/' ,
			theme: 'light_rounded' /* light_rounded / dark_rounded / light_square / dark_square */

		});

//	/*-------------------------------------------------------------------------
//	   Fancy Box
//	---------------------------------------------------------------------------*/
//	$(".zoom").fancybox({
//                        'titleShow'     	: true,
//                        'titlePosition'  	: 'over', // inside, over
//                        'transitionIn'		: 'elastic', // none, elastic, fade
//                        'transitionOut'		: 'elastic', // none, elastic, fade
//                        'hideOnContentClick': true,
//                        'speedIn'		: 200,
//                        'speedOut'		: 200,
//                        'overlayShow'		: true,
//                        'overlayOpacity'	: 0.7,
//						'titleFormat'       : formatFancyBoxTitle
////						'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
////
////                                var ret = '<span id="fancybox-title-over">'+currentOpts.title+ '</span>';
////                            return ret ;
////                                //return '<span id="fancybox-title-over">Image ' +  (currentIndex + 1) + ' / ' + currentArray.length + '</span>';
////                        }
//                });
//
//				$(".zoom_locationpics").fancybox({
//                        'titleShow'     	: true,
//                        'titlePosition'  	: 'over', // inside, over
//                        'transitionIn'		: 'elastic', // none, elastic, fade
//                        'transitionOut'		: 'elastic', // none, elastic, fade
//                        'hideOnContentClick': true,
//                        'speedIn'		: 200,
//                        'speedOut'		: 200,
//                        'overlayShow'		: true,
//                        'overlayOpacity'	: 0.7
//                });
//
});


function formatFancyBoxTitle(title, currentArray, currentIndex, currentOpts){
	var url = $(currentArray).attr('url');

	var ret = '<div class="fancybox-title-inner"><a href="'+url+'">Alle Bilder anzeigen</a></div>';

 	 
//	console.log(currentIndex);
//	console.log($(currentOpts));
//	console.log($(currentOpts).parent().attr('url'));
return ret ;
}

/**
 * Top Navi Hover Effekt
 */
function initTopNavi(){


	//$('#TopNav li > a').append('<span class="hover"></span>');
	$('#TopNav li > a').find('.hover').css('opacity',0);
	$('#TopNav li > a').hover(function() {
		$('.hover', this).stop().animate({
			'opacity': 1
		}, 500, 'easeOutSine');
		//$(this).parent().find('ul').show();
	},function() {
		$('.hover', this).stop().animate({
			'opacity': 0
		}, 700, 'easeOutExpo');
		//$(this).parent().find('ul').hide();
	})

	$('#TopNav .level_4').hover(function(){
		$(this).find('ul').show();
	},function(){
		$(this).find('ul').hide();
	});
//	$('#TopNav .level_3').hover(function(){
//		$(this).find('ul').show();
//	},function(){
//		$(this).find('ul').hide();
//	});



}

function init_ajaxGlobalIndicator(){
	var indicator_img =  $('<img>').attr('src',XDCMS.indicator_url) ;

	var ajaxGlobalIndicator = $('<div>');
	$('body').append(ajaxGlobalIndicator);
	ajaxGlobalIndicator
	.attr('id','globalAjaxIndicator')
	.css({
		'top':'3px',
		'right':'3px',
		'position':'absolute',
		'border':'1px solid #eee',
		'background':'#fff',
		'padding':'5px',
		'-webkit-border-radius':'5px',
		'-moz-border-radius':'5px',
		'border-radius':'5px'
	})
	.html(indicator_img)
	.hide()
	;

    

	$(document).ajaxStart(function(){
		$('#globalAjaxIndicator').show();
	//log('load global indicator');
	}).ajaxStop(function(){
		$('#globalAjaxIndicator').hide();
	//log('hide global indicator');
	});
    
}

function ajax_trackimage(image_id){
    var url = '/projects/index.php';
    var params = 'id='+XDCMS.project_id;
	params += '&ajax=1';
    params += '&modul=mediagallery';
    params += '&controller=trackimage';
    params += '&image_id='+image_id;
	$.ajax({
		type: "POST",
		url: url,
		data: params,
		success: function(msg){
			//alert( "Data Saved: " + msg );
		}
	});
}



function log(l){
	//console.log(l);
}


function slideshow(){
			//alert('test');
			 //console.log('slideshow');
}
/*--------------------------------------------------------------------------------
sum bytes: 24360 (23,79 KB)
--------------------------------------------------------------------------------*/
