
document.observe("dom:loaded", function() {
	var c = $("bookmarkcontainer");
	if(c) {
		c.innerHTML = "<a href='"+location.href+"' onclick='return bookmarksite()' class='sidebar-bookmark sidebar-print-book-mail'> Bookmark</a>";
	}
	
	Stern.init();

});




var Stern = {
	init : function() {
		var t=this;
		t.sterne = new Array();
		$$("#ratingcontainer a").each(function(el, idx) {
			var im = el.down("img");
			im.idx = idx;
			im.cl = im.hasClassName("full") ? "full" : im.hasClassName("half") ? "half" : "";
			t.sterne.push(im);
			el.observe("mouseover", t.sternover.bindAsEventListener(t,idx));
			el.observe("focus", t.sternover.bindAsEventListener(t,idx));
			el.observe("blur", t.reset.bindAsEventListener(t));
		});	
		
		var s = $("ratingcontainer");
		if(s && s != null) s.observe("mouseout", t.reset.bindAsEventListener(t));
	},
	
	sternover: function(ev, idx) {
		var t= this;
		for(var j=0; j<t.sterne.length; j++) {
			t.sterne[j].removeClassName("full");
			t.sterne[j].removeClassName("half");
			if(j <= idx) t.sterne[j].addClassName("full");
		}
	},
	
	reset: function() {
		var t= this;
		for(var j=0; j<t.sterne.length; j++) {
			t.sterne[j].removeClassName("full");
			t.sterne[j].removeClassName("half");
			t.sterne[j].addClassName(t.sterne[j].cl);
		}
	}
}


var bookmarkmsg = "Der Vorgang wird von diesem Browser nicht unterstuetzt. Bitte nutzen Sie die von Ihrem Browser eingebaute Funktionalität um die Seite zu den Favoriten hinzuzufügen.";
function bookmarksite(){

  var btitle = "Bewusstkaufen.at - " + location.title;
	
  try {
  	// Internet Explorer
	if(Prototype.Browser.IE) {
        try {
          window.external.AddFavorite(location.href, btitle);
        } catch(ex){
          alert("Diese Funktion wird von diesem Browser nicht unterstuetzt. Schliessen Sie dieses Fenster und Druecken Sie STRG-D um zu Bookmakren!");
        }
	}
	else if(window.sidebar) {		// Firefox
		window.sidebar.addPanel(btitle, location.href, '');
	} else alert(bookmarkmsg);
	
  } catch(e) {
		alert(bookmarkmsg);
  }
  return false;
}


function filterHeadKlick(containerid, isactive, reseturl) {
	var c = $(containerid);
	if(typeof c.visi == "boolean") {
		if(c.visi==true) filtertoggle(containerid, false);
		else filtertoggle(containerid, true);
	}
	else if(isactive == true) location.href = reseturl;
	else filtertoggle(containerid, true);
}

function filtertoggle(containerid, openit) {
	var c = $(containerid);
	var i = $("button_"+containerid);
	if(openit) {
		c.show();
		c.visi = true;
		i.src = "images/label-detail/label-filter-zuklappen.gif";
	} else {
		c.hide();
		c.visi = false;
		i.src = "images/label-detail/label-filter-aufklappen.gif";
	}
}

// extract id from a youtube link
function extractId(url) {
		var youtube_id;
		youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
		return youtube_id;
}



function mail(encodedAdress) {
	var i;
	var decodedAdress = "";
	for(i=0; i<encodedAdress.length;i++) {
	  decodedAdress = decodedAdress + String.fromCharCode(encodedAdress.charCodeAt(i) - 1);
	}
	location.href = "mailto:"+decodedAdress;
}

function checkLoginForm(formObject) {
	if(formObject.username.value == "") alert("Bitte zuerst Benutzername oder E-Mail Adresse angeben.");
	else if(formObject.password.value == "") alert("Bitte zuerst das Passwort angeben.");
	else return true;
	return false;
}

function tr(txt) {
	txt = txt.replace(/^\s+/, "");
	txt = txt.replace(/\s+$/, "");			
	return txt;
}

function chkmail(email)  {
	var eParts = email.split("@");
	var eParts1;
	if(eParts.length == 2) {
		eParts1 = eParts[1].split(".");
		if(eParts[0].length == 0 || eParts1.length < 2 || eParts1[0].length == 0 || eParts1[1].length == 0) return false;
	} else return false;
	return true;
}

function checkAndSubmitLoginForm(formObject) {
	if(formObject.onsubmit()) formObject.submit();
}

function checkNLForm(f) {

	if(f.anrede.value != "m" && f.anrede.value != "f") {
		alert("Bitte geben Sie zuerst eine Anrede an!");
		f.anrede.focus();
	} else if(tr(f.vorname.value) == "" || tr(f.vorname.value) == "Vorname") {
		alert("Bitte geben Sie ihren Vornamen an!");
		f.vorname.focus();
		f.vorname.select();
	} else if(tr(f.nachname.value) == "" || tr(f.nachname.value) == "Nachname") {
		alert("Bitte geben Sie ihren Nachnamen an!");
		f.nachname.focus();
		f.nachname.select();
	} else if(chkmail(f.email.value) == false) {
		alert("Bitte geben Sie eine gültige E-Mail Adresse an!");
		f.email.focus();
		f.email.select();
	} else return true;
	return false;
}

function updateCalendar(st,t) {
	new Ajax.Updater('events', '/includes/header-kalender.php?st='+st+"&t="+t, {});
	
}



var Sternbewertung = {
	init : function(stars, can_comment, can_rate) {
		if(!can_comment) {
			alert("Um eine Bewertung abgeben zu können, müss Sie sich zuerst einloggen!");
			$("sbusername").focus();
			$("sbusername").select();
		} else if(!can_rate) {
			alert("Sie haben diesen Eintrag schon bewertet! Wenn Sie wollen können Sie jedoch ein Kommentar abgeben.");
			window.location.href = "#rateandcomment";
			$("kommentar").focus();
			$("kommentar").select();
		} else {
			var opt = $("rating"+stars);
			if(opt) opt.checked = true;
			window.location.href = "#rateandcomment";
		}
	}	
}







var Kommentar = {
	
	init : function(loggedon) {
		this.loggedon = loggedon;
	},
	
	checkAndSubmit: function(f) {
		var a=arguments;
		var withRating = a.length > 1 ? a[1] : false;
		if(f) {
			if(withRating) {
				var rated = false;
				for(var i=1; i<=5; i++) {
					if($("rating"+i).checked) rated = true;
				}
				if(!rated) {
					alert("Bitte geben Sie zuerst eine Sternbewertung an!");
					return false;
				}
			}
			if(tr(f.kommentar.value) == "") alert("Bitte geben Sie zuerst ein Kommentar ein.");
			else f.submit();
		}
	},
	
	answer: function(id) {
		var block = $("kommentar-antwort-forumlar").hide().remove();
		$("kommentar_"+id).insert( {after: block} );
		if(Effect) Effect.SlideDown(block, {duration: 0.3});
		else block.show();
		
		$("comment_answer_id").value = id;
	},
	
	report: function(url,usr,date,txt) {
		var b = "\n\n---------------------------------------\n\nLink:\n"+url+"\n\nBenutzer:\n"+usr+"\n\nZeitpunkt:\n"+date+"\n\nKommentar:\n"+txt+"\n\n";
		location.href = "mailto:admin@bewusstkaufen.at?subject=Bedenkliches Kommentar auf www.bewusstkaufen.at&body="+this.rawurlencode(b);	
	},
	
	rawurlencode: function(str) {
		str = (str+'').toString();
		return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A');
	}
}

var FB = {

	fbwin : null,
	accessToken : null,
	appID : "219815044733906",
	
	setUserData : function(user) {
		var t=this;
		if(user.id) {
			var queryParams = ['a=fblogin',t.accessToken, 'id='+user.id];
			var query = queryParams.join('&');
			location.href = "login.php?"+query;
		} else {
			$('BK_loading').hide();
			alert("Registrierung/Anmeldung via Facebook Connect ist fehlgeschlagen!");
		}
	},

	
	login : function() {
		var t=this;

		if (window.location.hash.substr(1,12).toLowerCase()=="access_token") {

			var tkn = window.location.hash.substring(1);
			try {
				window.opener.FB.logonFBUser(tkn);
				window.close();
			}  catch(e) {
				t.logonFBUser(tkn);      
			}
	
		} else {

		   var path = 'https://www.facebook.com/dialog/oauth?';
		   var queryParams = ['client_id=' + t.appID, 'redirect_uri=http://'+window.location.hostname+'/login.php?a=fbc', 'response_type=token','scope=email,user_hometown'];
		   var query = queryParams.join('&');
		   var url = path + query;
		   
		   t.fbwin = window.open(url, "fbconnect", "width=900,height=500,location=no,status=no");
		}
	},
	

	logonFBUser : function(token) {
		var t=this;
		
		try {
			t.loading = new Element('div', { id: 'BK_loading', style : 'position:fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 3000; background-image: url(/cms_site/css/loading.gif); background-repeat: no-repeat; background-position: center center; background-color: #FFFFFF;' } );
				$(document.body).insert( { bottom: t.loading } );
				$("BK_loading").setOpacity(0.7);
		}  catch(e) {
			// nothing
		}
		
		t.accessToken = token;
		var path = "https://graph.facebook.com/me?";
		var queryParams = [t.accessToken, 'callback=FB.setUserData','scope=email'];
		var query = queryParams.join('&');
		var url = path + query;
		
		// use jsonp to call the graph
		var script = document.createElement('script');
		script.src = url;
		$$('body')[0].insert({bottom: new Element('script', {src: url})});
	
	}
}

function openUserProfile(id) {
	new Ajax.Request('profiloverlay.php', {
		parameters : {id:id},
		onSuccess : function(response) {
			if(response.responseText == "") return false;
			
			var h;
			try {			
				var el = new Element("div", {style: "visibility:hidden"});
				el.insert({bottom: response.responseText});
				$$('body')[0].insert({bottom: el});
				h = el.offsetHeight;
				
				el.remove();
			} catch(e) {
				h = 240;	
			}
			
			Shadowbox.open({
				content: response.responseText,
				player: "html",
				title: "",
				width: 500,
				height: h,
				displayNav: false
			});
		
		}
	});
	

}

