window.addEvent('domready', function() {
					var input_start = $('filter_datum_start');
		            var datepicker_start = new ka.datePicker( input_start );
		            datepicker_start.choose(null);
                    input_start.store('datepicker', datepicker_start);
                    
                    var input_ende = $('filter_datum_ende');
              		var datepicker_ende = new ka.datePicker( input_ende );
					datepicker_ende.choose(null);
                    input_ende.store('datepicker', datepicker_ende);
});

window.Wettkampf = new Class({

	/* initialize legt die variablen an und startet ein Request der die Bewertung ausliest */
	initialize: function(detailpage){
		this.detailpageUrl = detailpage;
		this.req = {};
	},
	
	reloadpage: function(page){

	 		this.req.page = page;
	 		this.request();
			
	},
	
	request: function(){
	
	
	new Request.JSON({url: pageUrl+'/reload', noCache: 1, onRequest : function(){


			


			}.bind(this),
			onComplete: function(res){
			
				j4s.ivwReload();
				wettkampfparent =	$$('.wettkampf_kalender')[0].getParent();
				wettkampfparent.set('html',res);
			
			
			//	res;
			}.bind(this)}).post(this.req);
	
	
	},
	
	setFilter: function(){
	
	
	
	},
	
	filter: function(){
	
		var name = $('filter_name');
		var type = $('filter_type');
		var datum_start = $('filter_datum_start');
		var datum_ende = $('filter_datum_ende');
		var ort = $('filter_ort');
		var plz = $('filter_plz');

		
		this.req.filter = {};
		this.req.filter.name = name.get('value');
		this.req.filter.type = type.get('value');
		this.req.filter.datum =  datum_start.get('value');
		this.req.filter.datum_ende =  datum_ende.get('value');
		this.req.filter.ort = ort.get('value');
		this.req.filter.plz = plz.get('value');
		
		this.req.page = 1;
		
		this.request();
	
	},
	
	loaddetails: function(page){
	

		
	
			var req = {};
	 		req.page = page;
		

			new Request({url: this.detailpageUrl+'/'+page+'/ajax', noCache: 1, onRequest : function(){

			}.bind(this),
			onComplete: function(res){
			
			
				wettkampfparent =	$$('.wettkampf_kalender')[0].getParent();
				wettkampfparent.set('html',res);
				res.stripScripts( true );
				
				
			
			//	res;
			}}).post(this.req);
	

	
	}


});










window.Bewertung = new Class({


	/* initialize legt die variablen an und startet ein Request der die Bewertung ausliest */
	initialize: function(id,anzahl){
		this.stars = anzahl;
		this.rsn = id;
		this.span = $('bewertung'+this.rsn);
		this.bewertet = false;
		this.tooltip;

			this.create_tooltip();
			var req = {};
	 		req.rsn = this.rsn;
		
			new Request.JSON({url: pageUrl+'/bewerten', noCache: 1, onComplete: function(res){
				
				this.stars = res.bewertung;
				this.bewertet = false;
				this.show_stars();
				
			}.bind(this)}).post(req);
		
		
	},
	
	create_tooltip: function(){
	
		this.tooltip = new tooltip(this.span,"test");
		
	},

	/* Beim MausOver über einen Stern wird hiermit die Zahl Des Sternes übergeben und dann bis zu dieser Zahl die Sterne Aktiviert und den rest als Deaktiviert ausgegebn */
	over_star: function(anzahl){
		for (var i = 1; i <= 5; i++){
			$("stern"+this.rsn+i).src = "bildervorlagen/stern" + ((i <= anzahl)? "": "1") + ".png";
		}
	},


	/* Bei MouseOut wird wieder die Bewertung angezeigt wie sie normal ist */
	out_star: function(){
		for (var i = 1; i <= 5; i++){
			$("stern"+this.rsn+i).src = "bildervorlagen/stern" + ((i <= this.stars)? "": "1") + ".png";
		}
	},

	/* Übergibt die anzahl der Punkte startet einen Request und erhählt die neue Bewertung oder ein Hinweis das bereits bewertet wurde (ip abgleich) */
	bewerten: function(bewertung){

			var req = {};
	 		req.rsn = this.rsn;
			req.bewertung = bewertung;

			new Request.JSON({url: pageUrl+'/bewerten', noCache: 1, onRequest : function(){
			this.tooltip.setText('Bewertung läuft');
			this.tooltip.show();
			/*
				new Element ('span',{
					text : 'Bewertung Läuft'
				}).inject(this.span);
			*/
			}.bind(this), 
			onComplete: function(res){
			
			 this.tooltip.show();
			 this.tooltip.stop(res.erfolg);
				
				this.stars = res.bewertung;
				this.bewertet = true;
				this.show_stars();
			/*	
				new Element ('span',{
					text : res.erfolg
				}).inject(this.span);
				// alert(res.a);
				
			*/	
			}.bind(this)}).post(req);
			
	},
	
	/* Mit dieser Funktion werden die Bilder erstellt und farbig gemacht , wird bei jedem Request auf gerufen*/
	show_stars: function(){
	
		this.span.empty();
		
		for(i = 1; i <= this.stars; i++){
			var img = new Element('img',{
			
				src : 'bildervorlagen/stern.png',
				width: '15px',
				'id' : 'stern'+this.rsn+i
			
			}).inject(this.span);
			
			if(this.bewertet == false){
				img.sternanzahl = i;
				_this = this;
			 	img.addEvent('mouseover', function(element){
			 		_this.over_star(element.target.sternanzahl);
			 	});
	
			 	
			 	img.addEvent('mouseout', function(element){
			 		_this.out_star(element.target.sternanzahl);
			 	});
		
		
			 	img.addEvent('click', function(element){
			 		_this.bewerten(element.target.sternanzahl);
			 	});
			 }
			 	
		}
		
		for(i = this.stars + 1; i <= 5 ; i++){
		
			var img = new Element('img',{
			
				src : 'bildervorlagen/stern1.png',
				width: '15px',
				'id' : 'stern'+this.rsn+i 
						
			}).inject(this.span);
			
			if(this.bewertet == false){
				 
				img.sternanzahl = i;
				var _this = this;
			 	img.addEvent('mouseover', function(element){
			 		_this.over_star(element.target.sternanzahl);
			 	});
			 	
			 	img.addEvent('mouseout', function(element){
			 		_this.out_star(element.target.sternanzahl);
			 	});
			 	
			 			 	
			 	img.addEvent('click', function(element){
			 		_this.bewerten(element.target.sternanzahl);
			 	});
			}
	
		}

		if(this.stars == 0){
		
			new Element('span',{
				text : 'keine Bewertung vorhanden'
			}).inject(this.span);
		
		}

	
	}


});



window.actions = new Class({
    
    initialize: function(event_rsn,oldEvents,user_rsn,button_activ){
    
        this.old_event = oldEvents;
        this.button_activ = button_activ;
        this.texte = {
            fav : { 
                inactiv :{
                    button : 'Zu Favoriten hinzufügen',
                    ok : 'Erfolgreich hinzugefügt',
                    fehler : 'Konnte nicht hinzugefügt werden'
                },
                activ : {
                    button : 'von Favoriten löschen',
                    ok : 'Erfolgreich gelöscht',
                    fehler : 'Konnte nicht gelöscht werden'
                }
            },
            
            teilgenommen : {
                inactiv :{
                    button : 'War dabei',
                    ok : 'Erfolgreich hinzugefügt',
                    fehler : 'Konnte nicht hinzugefügt werden'
                },
                activ : {
                    button : 'Doch nicht dabei',
                    ok : 'Erfolgreich gelöscht',
                    fehler : 'Konnte nicht gelöscht werden'
                }
            },
            
            erlebnissbericht : {
                inactiv :{
                    button : 'Erlebnisbericht schreiben'
                }
            },
            
            empfehlen : {
                inactiv :{
                    button : 'Diese Veranstaltung empfehlen',
                    ok : 'Mail wurde versand',
                    fehler : 'Mail konnte nicht versand werden'
                }
            }
         };

    
        this.event_rsn = event_rsn;

        this.cI = new inlinebox();
    	this.cI.clearContentOnClose = true;
        
        this.buttonHolder = $('kalender_details_links');
        
       if(user_rsn > 0){     
            // Favoriten hinzufügen
            var div = new Element('div',{'class':'navigation-level3 navigation-level3-orange'}).inject(this.buttonHolder);
            if(this.button_activ.fav){
                var a = new Element('a',{'html':this.texte.fav.activ.button, 'id':'inline_toFav'}).inject(div);
                a.addEvent('click', this.showFavDel.bind(this));
            }else{
                var a = new Element('a',{'html':this.texte.fav.inactiv.button, 'id':'inline_toFav'}).inject(div);
                a.addEvent('click', this.showFavAdd.bind(this));
            }
            
            // Hat Teilgenommen
            var div = new Element('div',{'class':'navigation-level3 navigation-level3-orange'}).inject(this.buttonHolder);
            var a = new Element('a',{'html':this.texte.teilgenommen.inactiv.button}).inject(div);
            a.addEvent('click', this.showTeilgenommen.bind(this));
            
            // Erlebnissbericht
            var div = new Element('div',{'class':'navigation-level3 navigation-level3-orange'}).inject(this.buttonHolder);
            var a = new Element('a',{'html':this.texte.erlebnissbericht.inactiv.button}).inject(div);
            a.addEvent('click', this.showBerichtSchreiben.bind(this));      
        }
        
        // Empfehlen
        var div = new Element('div',{'class':'navigation-level3 navigation-level3-orange'}).inject(this.buttonHolder);
        var a = new Element('a',{'html':this.texte.empfehlen.inactiv.button}).inject(div);
        a.addEvent('click', this.showEmpfehlen.bind(this));      
        
    },
    
    showBerichtSchreiben: function(){
    /*
        new Element('h2', {'html' : 'Bericht Schreiben'}).inject(this.cI.content);
        new Element('div', {'html' : 'Bitte wähl das Jahr aus'}).inject(this.cI.content);
        new Element('div', {'html' : 'Speichern'}).inject(this.cI.content);
        
        this.cI.showBox();
    */
        
      //  this.forms = new addForm();
      //  this.forms.showForm();
    	
    	iAddExperienceReport.showForm();
    

    },
    
    showFavAdd: function(){
    
        new Element('h2', {'html' : 'Zu Meinen Favoriten hinzufügen'}).inject(this.cI.content);
        var div = new Element('div').inject(this.cI.content);
        var btJa = new Element('a',{ 'html':'jetzt hinzufügen','class':'button','style':'margin-right:5px;'}).inject(div);
        var btNein = new Element('a',{ 'html':'nicht doch nicht','class':'button','style':'margin-left:5px;'}).inject(div);
        btJa.addEvent('click', this. sendFavAdd.bind(this));
        btNein.addEvent('click', this.cI.close.bind(this.cI));

        this.cI.showBox();
    
    },
    
    showFavDel: function(){
    
        new Element('h2', {'html' : 'Von Meinem Favoriten löschen'}).inject(this.cI.content);
        var div = new Element('div').inject(this.cI.content);
        var btJa = new Element('a',{ 'html':'ja löschen','class':'button','style':'margin-right:5px;'}).inject(div);
        var btNein = new Element('a',{ 'html':'nein doch nicht','class':'button','style':'margin-left:5px;'}).inject(div);
        btJa.addEvent('click', this. sendFavDel.bind(this));
        btNein.addEvent('click', this.cI.close.bind(this.cI));

        this.cI.showBox();
    
    },
    
    sendFavAdd: function(){
    
            var req = {};
            req.event_rsn = this.event_rsn;
            
			new Request.JSON({url: pageUrl+'/addfav', noCache: 1, onRequest : function(){
			     //alert("wird hinzugefügt");
			}.bind(this), 
			onComplete: function(res){
                if(res.erfolg == true){
                    // Erfolgreich
                    try{
                        var btToFav = $('inline_toFav');
                        btToFav.removeEvents();
                        btToFav.set('text', this.texte.fav.activ.button);
                        btToFav.addEvent('click', this.showFavDel.bind(this));
                        this.cI.close.bind(this.cI).delay(500);
        
                    }catch(e){
                
                    }
                }else{
                    alert("Bereits in ihren Favoriten");
                }
			}.bind(this)}).post(req);
			

    
    },

    sendFavDel: function(){
    
            var req = {};
            req.event_rsn = this.event_rsn;
            
			new Request.JSON({url: pageUrl+'/delfav', noCache: 1, onRequest : function(){
			    // alert("wird gelöscht");
			}.bind(this), 
			onComplete: function(res){
                if(res.erfolg == true){
                    // erfolgreich
                    try{
                        var btToFav = $('inline_toFav');
                        btToFav.removeEvents();
                        btToFav.set('text', this.texte.fav.inactiv.button);
                        btToFav.addEvent('click', this.showFavAdd.bind(this));
                        this.cI.close.bind(this.cI).delay(500);
                    }catch(e){
                
                    }
                }else{
                    //alert("wurde bereits gelöscht");
                }
			}.bind(this)}).post(req);
			

    
    },
    
    showEmpfehlen: function(){
    
    
        new Element('h2', {'html' : 'Diese Veranstalltung empfehlen'}).inject(this.cI.content);
        
        new Element('div', {'html' : 'Email deines Freundes', style:'text-align:left'}).inject(this.cI.content);
        var divTo = new Element('div').inject(this.cI.content);
        new Element('input', {
            name:'mail_to', 
            type:'text', 
            value:'',
            maxlength:'30',
            style:'width:250px;',
            'id':'mail_to'
        }).inject(divTo);
        
        new Element('div', {'html' : 'Dein Emailadresse', style:'text-align:left'}).inject(this.cI.content);
        var divFrom = new Element('div').inject(this.cI.content);
        new Element('input', {
            name:'mail_from', 
            type:'text', 
            style:'width:250px;',
            value:'',
            maxlength:'30',
            'id':'mail_from'
        }).inject(divFrom);
   
        new Element('div', {'html' : 'Text', style:'text-align:left'}).inject(this.cI.content);
        var divText = new Element('div').inject(this.cI.content);
        new Element('textarea', {
            name:'mail_text',  
            cols:'30',
            value:'',
            rows:'5',
            maxlength:'10',
            'id':'mail_text'
        }).inject(divText);
        
        var divSend = new Element('div').inject(this.cI.content);
        var aSend = new Element('a',{ 'html':'Abschicken','class':'button'}).inject(divSend);
        
        aSend.addEvent('click', this.sendEmpfehlung.bind(this));
        

        this.cI.showBox();
    
    },
    
    sendEmpfehlung: function(){
    	
    	var go = true;
    	var emailto = new kFormValidator('mail_to', 'Bitte g&uuml;ltig E-Mail angeben', {check: 'email'});
    	if( !emailto.okOrShow() ) go = false;
    	
    	var emailfrom = new kFormValidator('mail_from', 'Bitte g&uuml;ltig E-Mail angeben', {empty: false, check: 'email'});
    	if( !emailfrom.okOrShow() ) go = false;	
    
        var namec = new kFormValidator('mail_text', 'bitte ausf&uuml;llen', {empty: false});
    	if( !namec.okOrShow() ) go = false;
    	
    	
        if( go == true ){
            var req = {};
     		req.empfehlen_to = $('mail_to').value;
     		req.empfehlen_text = $('mail_text').value;
            req.empfehlen_from = $('mail_from').value;
            
    		new Request.JSON({url: pageUrl+'/empfehlen', noCache: 1, onRequest : function(){
    		     //alert("wird verschickt");
    		   //  this.tooltip.setText('Mail wird verschickt');
    		    // this.tooltip.show();
    		}.bind(this), 
    		onComplete: function(res){
    		 //alert("verschickt");
    		/*)
    		     this.tooltip.show();
    		     this.tooltip.stop(res.erfolg);
    			this.stars = res.bewertung;
    			this.bewertet = true;
    			this.show_stars(); */
    		}.bind(this)}).post(req);
        }
			
    },
    
    showTeilgenommen: function(){
    

          new Element('h2', {'html' : 'Ich habe Teilgenommen:'}).inject(this.cI.content);
    	    
    	    
    	    new Hash (this.old_event).each(function(item,key){
    	           
    	       var date1 = new Date(item.date*1000).format('%d.%m.%Y') ;
    	       var div = new Element('div', {'html': date1}).inject(this.cI.content);

    	       
    	       var span = new Element('span',{'html':'ja', 'style':'margin-left:15px;margin-right:5px;'}).inject(div);
    	       new Element('input', {
    	       
    	       'type':'Radio',
    	       'name':item.event_year_rsn,
    	       'value':'yes',
    	       'id':item.event_year_rsn+'yes'
    	       }).inject(span);
    	       
    	       var span = new Element('span',{'html':'nein', 'style':'margin-left:5px;margin-right:5px;'}).inject(div);
    	       new Element('input', {
    	       
    	       'type':'Radio',
    	       'name':item.event_year_rsn,
    	       'value':'no',
    	       'id':item.event_year_rsn+'no',
    	       'checked':true
    	       }).inject(span);

    	     
    	    }.bind(this));
    	   
            
            try{
        	   this.button_activ.dabei.each(function(item1,key1){
                    $(item1.event_year_rsn+'yes').set('checked',true);
        	   }.bind(this));
        	}catch(e){
        	
        	}    
        var divSend = new Element('div').inject(this.cI.content);
        var aSend = new Element('a',{ 'html':'Abschicken','class':'button'}).inject(divSend);
        
        aSend.addEvent('click', this.sendTeilgenommen.bind(this));

    	    
    	    
        this.cI.showBox();
    
    },
    
    sendTeilgenommen: function(){
        var req = {};
        req['rsn'] = this.event_rsn;
        
        req['year_rsn'] = {};
        new Hash (this.old_event).each(function(item,key){

            req['year_rsn'][item.event_year_rsn] = $(item.event_year_rsn+'yes').checked;
            
            

        
        }.bind(this));
    
        
        new Request.JSON({url: pageUrl+'/dabei', noCache: 1, onRequest : function(){

        }.bind(this), 
        onComplete: function(res){
            this.cI.close.bind(this.cI).delay(500);
        }.bind(this)}).post(req);
    
    }

});


