function Galery(init_data) {
	var items = [];	
	var selected = 0;
	var playing = false;
	
	var init = init_data;
}	

Galery.prototype.load = function(items) 
{
	this.items = items;
	this.selected = 0;
	this.init();
}

Galery.prototype.show_next = function() 
{
	this.selected++;
	this.show_main();
	this.overview = 0;
}

Galery.prototype.show = function(i) 
{
	this.selected = i;
	this.show_main();
}

Galery.prototype.init = function() 
{
	// $('.galery_bottom').hide();			
	test = document.location.hash;	
}

Galery.prototype.show_main = function() 
{
	var item = this.items[this.selected];
	var url = '/img/galery/Galeryitem' + item.id + '.jpg';
	
	var i = new Image;
	i.src = url;
	document.location = '#'+this.selected;
	
	var div = [];	
	div[div.length] = this.show_nav();	
	div[div.length] = '<div class="galery_main"><img src="'+url+'" alt="galeryitem" onclick="g.show_next(); return false;"></div>';	
	$('.galery_cont').html(div.join(''));
}


Galery.prototype.show_nav = function() 
{
	var div = [];	
	div[div.length] = '<div class="item stop" onclick="g.stop(); return false;"></div>';	
	div[div.length] = '<div class="item play_active" onclick="g.play(); return false;"></div>';
	div[div.length] = '<div class="item back" onclick="g.show_bar(); return false;"></div>';
	return '<div class="nav_bar">'+div.join('')+'</div>';
}

Galery.prototype.show_bar = function() 
{
//	document.location = '#top';
//	var item = this.items[this.selected];
//	var div = [];
//	var sel = this.selected;
//	for(i in this.items) {
//		// if(i == sel | i == sel-1 | i = sel+1) {
//			var item = this.items[i];
//					
//			var url = '/img/galery/Galeryitem' + item.id + 'small.jpg';
//			var img = new Image;
//			img.src = url;
//					
//			// <img src="'+url+'" alt="galeryitem">
//			div[div.length] = '<div class="galery_item" style="background-image: url('+url+');" onclick="g.show('+i+'); return false;"></div>';
//		
//	}	
//	$('.cont_content').html(div.join(''));
}


function anzeige_open(id)
{
	$("#dialog").remove();
	$("body").append("<div id=\"dialog\"></div>");
		
	$("#dialog").load('/anzeigen/detail/'+id)
	.dialog({
		height: 600,
		width: 600, 
		modal: true
	});		
}
function Proposal() {
	var editmode = false;
	var prop_name;
	var prop_url;
	var opts = {};
	var selected = [];
	
	var selects;		
}	

Proposal.prototype.bind_proposal = function() 
{
	var me = this;
	$("#"+me.prop_name+"_selector_search").keyup(function(key) {		
		var val = $(this).val();
		if(val.length < 1)
			return;
			
		var inp_field = $(this); 
		$.getJSON(me.prop_url, {input:val}, function(data) {				
			me.create_list(data);
		});
	});	
}
	
Proposal.prototype.create_list = function(data)
{	
	var me = this;		
	var res = new Array();					
	res[res.length] = "<ul class=proposal>";
	if(data != null)
	{
		for(i in data)
		{
			item = data[i];
			res[res.length] = "<li info=\""+item.id+"\">" + item.title +"</li>";
			if(res.length > 20)
			{
				break;
			}
		}
		res[res.length] = "</ul>"
		$("#"+me.prop_name+"_selector_proposals").html(res.join(""));
	
		$("#"+me.prop_name+"_selector_proposals li").each(function() {
			$(this).click(function() {
				$("#"+me.prop_name+"_selector_proposals").empty();
				var id = parseInt($(this).attr("info"));
				if(me.is_selected(id) == true)
				{								
					me.remove(id);
				}
				else
				{							
					me.add(id, $(this).html());
				}
				me.set_mode_view();
				
			}).mouseover(function() {
				$(this).css("cursor","pointer");
			});
		});	
	} 
	else
	{
		$("#"+me.prop_name+"_selector_proposals").empty();
		return;	
	}	
}	
			
Proposal.prototype.add = function(id,title)
{			
	
	if(this.opts.select == "single")
	{
		this.selected = [];
	}

	var id = parseInt(id);
	this.selected[this.selected.length] = {id:id, title:title, status:"on"};
	this.write_info();
}
			
Proposal.prototype.remove = function(id)
{						
	var t = this.get_selected();
	
	var id = parseInt(id);
	var items = this.get_selected();
	for(i = 0; i < items.length; ++i)
	{
		var index = items[i];
		var item = this.selected[index];				
		if(item.id == id)
		{
			item.status = "off";
			this.write_info();
		}
	}
}
			
Proposal.prototype.write_info = function() 
{	
	var me = this;
	var res = [];
	var ids = [];
	var items = this.get_selected();
	for(i = 0; i < items.length; ++i)
	{
		var index = items[i];
		var item = this.selected[index];
		if(typeof( item ) == 'object')
		{
			res[res.length] = '<span info="' + item.id +'">' + item.title + '</span>';
			ids[ids.length] = item.id;	
		}
	}
	$("#"+me.prop_name+"_selector_info").html(res.join(''));
	$("#"+me.prop_name+"_selector_ids").val(ids.join(','));
	
	$("#"+me.prop_name+"_selector_info span").each(function() {
		$(this).click(function(){								
			me.remove($(this).attr("info"));					
		}).mouseover(function() {
			$(this).css("cursor","pointer");
		});				
	});
}
			
Proposal.prototype.get_item = function(id)
{		
	var id = parseInt(id);
	var items = this.get_selected();
	for(i = 0; i < items.length; ++i)
	{
		var item = items[i];				
		if(item.id == id)
		{
			return item;
		}
	}
}
		
Proposal.prototype.is_selected = function(id)
{
	var item = this.get_item(id);
	if(typeof(item) == 'object')
	{
		return tue;
	}
}
			
Proposal.prototype.get_selected = function()
{
	var res = [];
	for(i in this.selected)
	{
		var item = this.selected[i];
		if(typeof( item ) == 'object')
		{
			if(item.status == 'on')
			{
				res[res.length] = i;
			}				
		}
	}
	return res;			
}
			
Proposal.prototype.select = function(init_data) 
{		
	var me = this;	
	for(i in init_data)
	{
		var item = init_data[i];
		if(typeof( item ) == 'object')
		{
			var item = init_data[i];			
			this.add(item.id, item.title);
		}
	}
}

Proposal.prototype.gui_init = function()
{
	var me = this;
	$("#"+me.prop_name+"_selector_add").click(function() {
		if(me.editmode == true) {
			me.set_mode_view();		
		}
		else {
			me.set_mode_edit();
		}		
	}).mouseover(function() {
		$(this).css({cursor:"pointer"});
	});
}

Proposal.prototype.set_mode_view = function()
{
	var inp = $("#"+this.prop_name+"_selector_search");
	this.editmode = false;
	inp.hide(100);
	inp.val(" ");
	inp.focus();
	$("#"+this.prop_name+"_selector_add").attr("src","/images/down.gif");
	$("#"+this.prop_name+"_selector_proposals").empty();
}

Proposal.prototype.set_mode_edit = function()
{
	$("#"+this.prop_name+"_selector_add").attr("src","/images/up.gif");
	var inp = $("#"+this.prop_name+"_selector_search");
	inp.val(" ");
	this.editmode = true;

	if(this.selects.length > 0) {		
		this.create_list(this.selects);
	}
	else {
		inp.show(100);
	}
}

Proposal.prototype.set_selects = function(items)
{
	selects = [];
	for(i in items) {
		var id = i;
		var title = items[i];
		selects[selects.length] = {'id':id, 'title':title};
	}
	
	this.selects = selects;
}
		
Proposal.prototype.init = function(prop_name, init_data, opts, selects)
{
	this.selected = [];	
	this.editmode = false;
	this.opts = opts;
	this.prop_name = prop_name;
	this.prop_url = opts.url;
	this.set_selects(selects);

	this.gui_init();
	
	this.select(init_data);	
	this.bind_proposal();
	this.write_info();	
		
	return this;
}

var pepi = (function() {
	var images = [];
	
	return {				
		init: function(json_data) {
			this.images = json_data;
			this.detail(0);
		},
	
		detail: function(i) {		
			if(i > this.images.length) {
				i = 0;
			}
			var img_url = this.images[i];
			if(img_url == 'undefined')
			{
				console.log(this.images);
			}	
		
			var img = this.create_detail_image(i, this.images[i]);			
			$("#pepi_detail").html(img);		
		},			
		
		create_detail_image: function(i, img_url) {		
			var img = '<img src="'+img_url+'" alt="detailbild" border="0" onclick="pepi.detail('+(parseInt(i)+1)+'); return false;">';
			return img;
		}
	};
})();

var singles = (function() {

	return {
				
		delete_img: function(id)
		{			
			$.get('/singles/edit/delete_img', {'id':id}, function(data) {
				var x = $('li[info='+id+']');
				x.remove();
			});	
		},
		
		vote: function(id, score)
		{
			console.log(id,score);
			
			
			
			$.get('/singles/vote/'+id+'/'+score,{}, function(data) {
 
			});
		}			
	};
})();


//$(document).ready(function() {
//	
//	var stars = [];
//	var star = '<img src="/images/icons/star.png">';
//	
//	$('.voting_cont div').each(function() {			
//		stars[stars.length] = $(this);		
//	});	
//	
//	$('.voting_cont div').mouseenter(function(event) {
//		var middle = $(this).attr('info');
//		
//		for(i in stars) {
//			var item = $(stars[i]);
//			var val = item.attr('info');					
//			if(val > middle) {				
//				item.html(null);					
//			}
//			else {
//				item.html(star);				
//			}
//		}
//	}).click(function() {
//		var middle = $(this).attr('info');
//		console.log('vote score:' + middle);
//		
//	});
//});