var asset_url = null;
var fx_to_call_on_drop = null;

var drop_call_insert_text = function(element,droppableElement) {
	insertAtCursor(droppableElement,asset_url);
	Element.hide(element);
};

var drop_call_no_fx = function(element,droppableElement) {
	alert("Assets.js :: Er is nog geen fx_to_call_on_drop geconfigureerd!");
};

var drop_call_alert_text = function(element,droppableElement) {
	alert(asset_url);
	Element.hide(element);
};

var drop_call_create_asset = function(element,droppableElement) {
	hidden_field_from_droppable_field(droppableElement).value = getId(element.id);
	droppableElement.style.backgroundColor = "Green";
	Element.hide(element);
};

var drop_call_create_asset_and_resize_to_155 = function(element,droppableElement) {
	asset_id = getId(element.id);
	hidden_field_from_droppable_field(droppableElement).value = asset_id;
	droppableElement.style.backgroundColor = "Green";
	Element.hide(element);
	asset_resize(asset_id,"correct","155x155!");
}

var drop_call_asset_url = function(element,droppableElement) {
	hidden_field_from_droppable_field(droppableElement).value = asset_url;
	Element.hide(element);
};


function asset_resize(asset_id,size_name,size_size) {
	new Ajax.Request("/assets/resize/" + asset_id + "?size_name=" + size_name + "&size_size=" + size_size);
}

function set_fx_to_call_on_drop(fx) {
	fx_to_call_on_drop = fx;
}

function droppable_field_status(field) {
	hidden_field = hidden_field_from_droppable_field(field);
	if(hidden_field.value == null) {
		if(field.hasClassName("ready")) {
			field.removeClassName("ready");
		}
	}else {
		if(!field.hasClassName("ready")) {
			field.addClassName("ready");
		}
	}
}

function hidden_field_from_droppable_field(field) {
	return $(field.id.gsub("droppable_field_",""));
}

function init_droppable_fields() {
	var drop_fields = document.getElementsByClassName("droppable_field");
	for(i=0;i<drop_fields.length;i++) {
		droppable_field_status(drop_fields[i]);
	}
}

function asset_editor_init(draggable_element) {
	asset_url = "  !" + $('asset_thumbnail').src + "!";
	var drags = document.getElementsByClassName("draggable");
	for(i=0;i<drags.length;i++) {
		new Draggable(drags[i].id,{revert:true});
	}
	//new Draggable('asset_editor',{revert:true});
	
	if(fx_to_call_on_drop == null) {
		fx_to_call_on_drop = drop_call_no_fx;
	}
	
	var drop_fields = document.getElementsByClassName("droppable_field");
	for(i=0;i<drop_fields.length;i++) {
		drop_fields[i].style.borderColor = "Orange";
        Droppables.add(drop_fields[i].id, {
		   accept: 'draggable',
		   onDrop: fx_to_call_on_drop 
		});
    }
}

