// redirect if not inside frame:
if (self == top && self.location.pathname.indexOf("/cliplist") > -1
&& self.location.hostname != "localhost")
	self.location.href = "http://www.krones.com/" + lang + "/presse";

var page;

window.addEvent("domready", function(){

	// change cliplist links to flash external interface call:
	$$("#clipList .teaser a").addEvent("click", function(ev){
		ev.stop();
		this.blur();
		// mod_rewrite-links or not:
		this.set("clipID", this.get("href").match(/(\/|&clipid=)(\d{4})$/)[2]);
		// start flash:
		if ($("vplayer").setVideoID)
			$("vplayer").setVideoID(this.get("clipID"));
		// start html 5 video
		if ($("ivideo")) {
			var thumb = this.hasClass("img") ? this.getFirst() : this.getParent().getPrevious().getFirst();
			var posterUrl = thumb.get("src").split("width").shift() + "width=" + video.width 
			+ "&height=" + video.height;
			$("ivideo").set("poster", posterUrl);
			var mp4 = thumb.get("rel") ? video.url + thumb.get("rel") : "";
			$("ivideo").set("src", mp4);
			$("ivideo").load();
			if (mp4 != "") $("ivideo").play();
		}
		var title = this.hasClass("img") ? this.getNext().getFirst().get("text") : this.get("text");
		var div = this.hasClass("img") ? this.getParent() : this.getParent().getParent();
		// change headline:
		$("contentLeft").getElement("h1").set("text", title);
		// mark selected clip:
		if ($("clipList").getElement(".teaser.sel"))
			$("clipList").getElement(".teaser.sel").removeClass("sel");
		div.addClass("sel");
		// track via webtrekk:
		var media_id = lang + "." + this.get("clipID") + "__"
		+ title.trim().toLowerCase().replace(/ +/g, "_");
		//wt_sendinfo(media_id,  "click");
	});

	// display first page:
	$("clipList").getElement("#pg1").setStyle("display", "block");
	page = 1;

	// display paging:
	var pageLinks = $$("#clipList #paging #pages a");
	var pageCount = pageLinks.length;
	var pagingLength = 6;
	if (pageCount > pagingLength) {
		var moreStart = new Element("span", {
			text: "...",
			"class": "more"
		}).inject(pageLinks[0].getNext(), "after").setStyle("display", "none");
		new Element("span", {
			text: "|"
		}).inject(pageLinks[0].getNext().getNext(), "after").setStyle("display", "none");
		for (var i = pagingLength - 2; i < pageCount; i++) {
			if (i < pageCount - 1) {
				pageLinks[i].setStyle("display", "none")
				.getNext().setStyle("display", "none");
			}
			else {
				var moreEnd = new Element("span", {
					text: "...",
					"class": "more"
				}).inject(pageLinks[i], "before");
				new Element("span", {text: "|"}).inject(pageLinks[i], "before");
			}
		}
	}
	if ($("paging")) $("paging").setStyle("display", "block");

	// set paging links:
	$$("#clipList #paging a").addEvent("click", function(ev){
		ev.stop();
		this.blur();
		if (this.get("id") == "prev" && page == 1
		|| this.get("id") == "next" && page == $("clipList").getElement("#paging a.last").get("text").toInt()
		|| this == $("clipList").getElement("#paging a.sel"))
		return;
		if (this.get("id") == "prev")
			this.set("page", page - 1);
		else if (this.get("id") == "next")
			this.set("page", page + 1);
		else {
			// fix for Opera:
			var href = this.toString();
			this.set("page", href.substr(href.lastIndexOf("=") + 1).toInt());
			//this.set("page", this.href.substr(this.href.lastIndexOf("=") + 1).toInt());
		}
		$("clipList").getElement("#pg" + page).setStyle("display", "none");
		$("clipList").getElement("#pg" + this.get("page")).setStyle("display", "block");
		var sel = $("clipList").getElement("#paging a.sel").removeClass("sel");
		if (this.get("id") == "prev") {
			sel = sel.getPrevious().getPrevious();
			if (sel == moreStart || sel == moreEnd) sel = sel.getPrevious().getPrevious();
			if (sel.getStyle("display") == "none") {
				sel.setStyle("display", "block")
				.getNext().setStyle("display", "block");
				for (var i = pageLinks.length - 2; i > page - 1; i--) {
					pageLinks[i].setStyle("display", "none")
					.getNext().setStyle("display", "none");
				}
				moreEnd.setStyle("display", "block")
				.getNext().setStyle("display", "block");

			}
			sel.addClass("sel");
		}
		else if (this.get("id") == "next") {
			sel = sel.getNext().getNext();
			if (sel == moreStart || sel == moreEnd) sel = sel.getNext().getNext();
			if (sel.getStyle("display") == "none") {
				sel.setStyle("display", "block")
				.getNext().setStyle("display", "block");
				for (var i = 1; i < page - 1; i++) {
					pageLinks[i].setStyle("display", "none")
					.getNext().setStyle("display", "none");
				}
				moreStart.setStyle("display", "block")
				.getNext().setStyle("display", "block");
			}
			sel.addClass("sel");
		}
		else
			this.addClass("sel");
		page = this.get("page").toInt();
		if (pageCount > pagingLength) {
			if (page < pagingLength - 2) {
				moreStart.setStyle("display", "none")
				.getNext().setStyle("display", "none");
				moreEnd.setStyle("display", "block")
				.getNext().setStyle("display", "block");
				for (var i = 0; i < pageCount; i++) {
					if (i < pagingLength - 2)
						pageLinks[i].setStyle("display", "block")
						.getNext().setStyle("display", "block");
					else if (i < pageCount - 1) {
						pageLinks[i].setStyle("display", "none")
						.getNext().setStyle("display", "none");
					}
				}
			}
			else if (page > pageCount - pagingLength + 2) {
				moreStart.setStyle("display", "block")
				.getNext().setStyle("display", "block");
				moreEnd.setStyle("display", "none")
				.getNext().setStyle("display", "none");
				for (var i = 0; i < pageCount; i++) {
					if (i > 0 && i < pageCount - pagingLength + 2)
						pageLinks[i].setStyle("display", "none")
						.getNext().setStyle("display", "none");
					else {
						pageLinks[i].setStyle("display", "block")
						.getNext().setStyle("display", "block");
					}
				}
			}
		}
	});

});

