/*
Copyright (c) 2008-2010, Gigdoggy Inc.- Gregory Whiteside. All rights reserved.
gwhiteside@fanteraction.com
*/

function initialize_image_media(){
	try{image_library = data_source.pics;}catch(exception){}
	load_images();
	$("#upload_media_image").click(function(){$("#add_image_conf").removeClass("hidden");});
	$("#link_media_image").click(function(){$("#link_image_conf").removeClass("hidden");});
}

function load_images(){
	try{
	$("#images_conf .pic").remove();
	if(typeof design_pics != "undefined")
	for(var i = 0; i < design_pics.length; i++){
		$("#no_pics").addClass("hidden");
		var pic = design_pics[i];
		create_image_elem(pic,i);
	}
	else design_pics = [];
	}catch(exception){}
}

function remove_pic(event){
	if(confirm("Are you sure you want to remove this picture?")){
		var elem = event.data.elem;
		var index = event.data.index;
		design_pics.splice(index,1);
		//image_library = design_pics;
		api.update_design_pics(resource,function(){
			$(elem).remove();
			// remove thumbnail
			$("img[links_to='"+$(elem).attr("id")+"']").remove();
			$(".pic:first",$("#images_conf")).removeClass("hidden");
		});
		/*save_data(data_source["_id"],function(){
			$(elem).remove();
			// remove thumbnail
			$("img[links_to='"+$(elem).attr("id")+"']").remove();
			$(".pic:first",$("#images_conf")).removeClass("hidden");
		});*/
	}
}

// i is the index of the pic in band_data.pics, pic is the elem
function create_image_elem(pic,i){
	var ratio_size = 100;
	var pic_width = (typeof pic.size != "undefined") ? pic.size[0] : ratio_size;
	var pic_height = (typeof pic.size != "undefined") ? pic.size[1] : ratio_size;
	var ratio = (pic_height >= pic_width) ? ratio_size / pic_height : ratio_size / pic_width;
	var img_elem = $("<span class='pic' id='"+pic.id+"'><img class='image_gallery_img'></img><div class='default_image_actions'><a class='remove_pic' style='margin-right:1em'>Delete</a><a class='set_profile_pic hidden'>Set as profile pic »</a></div></span>");
	$("img",img_elem).css({"width":pic_width*ratio, "height":"auto"});
	try{
		var pic_url = ""
		if(pic.file.match(/^http/g))
			pic_url = pic.file;
		else pic_url = ((host != "http://localhost:8000/")? host : "http://app.gigdoggy.com/") + ((pic.file[0] == "/") ? pic.file.substring(1,pic.file.length) : pic.file);
		$("img",img_elem).attr("src", pic_url);
	}catch(exception){}	
	$(".remove_pic",img_elem).bind("click",{elem:img_elem, index:i}, remove_pic);
	//$(".set_profile_pic",img_elem).bind("click", {elem:img_elem, index:i}, set_profile_pic)
	
	$(img_elem).draggable({revert:true});
	var set_dragged_img = function(event){
		$(".default_image_actions",event.data.pic).addClass("hidden");
		selected_image = {obj:event.data.pic,index:event.data.index};
	}
	var unset_dragged_img = function(event){
		$(".default_image_actions",event.data.pic).removeClass("hidden");
		selected_image = null
	}
	$(img_elem).bind("dragstart",{pic:pic,index:i},set_dragged_img);
	$(img_elem).bind("dragstop",{pic:pic,index:i},unset_dragged_img);
	
	if(pic.profile == "true"){
		$(".set_profile_pic",img_elem).remove();
		$("#images_conf").prepend(img_elem)
	}
	else $("#images_conf").append(img_elem);
	return img_elem;
}

function set_profile_pic(event){
	for(var i = 0; i < data_source.pics.length; i++){
		data_source.pics[i]["profile"] = "false";
	}
	data_source.pics[event.data.index]["profile"] = "true";
	save_data(data_source["_id"],function(){
		$(".set_profile_pic",event.data.elem).addClass("hidden");
	});
}