var watchlist = {
	handleList: function(image,id){
		var action = "";
		if(image.className.endsWith("add")){
			action = "add";
		} else if(image.className.endsWith("remove")){
			action = "remove";
		}		
		main.ajax({
			path: main.path.href+"/watchlist.ajax",
			parameters: {
				action:action,
				id:id
			},
			onSuccess: function(json){
				if(action=="add"){
					image.className = "btn_watchlist_remove";
				} else {
					image.className = "btn_watchlist_add";
				}
				this.updateLabel(json.label);
			}.bind(this)
		});
	},
	handleDetail: function(button,id,labels){
		var action = "";
		var button = $(button);
		if(!Object.isElement(button)){
			alert("no button available");
		return false;
		}
		
		if(button.className.gsub(" button_newonhover","").endsWith("remove")){
			action = "remove";
		} else if(button.className.gsub(" button_newonhover","").endsWith("add")){
			action = "add";
		}
		main.ajax({
			path: main.path.href+"/watchlist.ajax",
			parameters: {
				action:action,
				id:id
			},
			onSuccess: function(json){
				if(action=="remove"){
					button.className = button.className.gsub("remove","add");
					button.down("a",0).update(button.down("a",0).innerHTML.gsub(labels[1],labels[0]));
				} else {
					button.className = button.className.gsub("add","remove");
					button.down("a",0).update(button.down("a",0).innerHTML.gsub(labels[0],labels[1]));
				}
				this.updateLabel(json.label);
				this.sendCutpoints();
			}.bind(this)
		});
	},
	handleTitle: function(image){
		if(image.className == "btn_watchlist_add"){
			image.title = "Video der Merkliste hinzufügen.";
		} else {
			image.title = "Video von der Merkliste löschen.";
		}
	},
	updateLabel: function(label){
		$("watchlist_handler").down(".body").down("label").update(label);
	},
	id_clip: 0,
	points:[],
	saveCutpoints: function(obj){
		// points validieren
		this.points = [];
		var cutpoints = obj.cut;
			cutpoints.each(function(e,i){
				if(!Object.isUndefined(e.start) && !Object.isUndefined(e.start)){
					this.points.push(e);
				}
			}.bind(this));
		// button abschicken wenn noch nicht in merkliste
		var button = $$(".handler")[0].down("span",0);
		if(button.className.endsWith("add")){
			eval(button.down("a",0).readAttribute("onclick").gsub("this","button"));
		} else {
			this.sendCutpoints();
		}
	},
	sendCutpoints: function(){
		// ajax abschicken
		if(this.points.size()>0){
			main.ajax({
				path: main.path.href+"/watchlist.ajax",
				parameters: {
					action:"add_cutpoints",
					cutpoints:this.points.toJSON(),
					id:this.id_clip
				},
				onSuccess: function(json){
					this.points = [];
				}.bind(this)
			});
		}
	},
	removeCutpoint: function(button,id,index){
		main.ajax({
			path: main.path.href+"/watchlist.ajax",
			parameters: {
				action:"remove_cutpoint",
				id:id,
				index:index
			},
			onSuccess: function(json){
				var ul = button.up("ul");
				button.up("li").remove();
				var lis = ul.select("li");
				if(lis.size()>0){
					lis.each(function(e,i){
						if(lis.size()-1==i)e.addClassName("last");
						else e.removeClassName("last");
					});
				} else {
					ul.up("div.cutpoints").hide();
				}
			}.bind(this)
		});
	}
};
