
/***********************************************************separator object****************************************************/

function Separator(userNewsPaperId)
{

	this._input = null;
	this._userNewsPaperId = userNewsPaperId;
	
	this.getInput = function()			{return (this._input);};
	this.setInput = function(value)		{this._input = value;};
	this.getUserNewsPaperId = function(){return this._userNewsPaperId;};
	this.setUserNewsPaperId = function(value){this._userNewsPaperId = value;};
	
			/**************************************Separator management***********************************/

	
	/**
	 * return the separator html node
	 */
	this.helperSeparator = function()
	{
		var translation = ndNewsUtils.getTranslation("new title");
		var container = document.createElement("div");
		container.title = "Corpuseo";
		container.id = "popupSeparatorContainer";
		container._userNewsPaperId = this.getUserNewsPaperId();
		var inputDiv = document.createElement("div");
		inputDiv.id = "inputContainer";
		this.setInput(document.createElement("input"));
		this.getInput().id = "separatorNameInput";
		this.getInput().type = "text";
		inputDiv.appendChild(this.getInput());
		$(this.getInput()).inputBoxValue(translation);
		this.getInput().value = translation;
		container.appendChild(inputDiv);
		return (container);
	};
	var buttons = {};
	buttons[ndNewsUtils.getTranslation("Ok")] = function() { Separator.separatorAddToMyPaper(); $(this).dialog('close'); $('#popupSeparatorContainer').remove(); };
	buttons[ndNewsUtils.getTranslation("Cancel")] = function() { $(this).dialog('close'); };
	$(this.helperSeparator()).dialog(
	{
		modal: true,
		buttons: buttons
	});
	return (true);
}


Separator.sendSeparator = function(title)
{
	var xhr = ndNewsUtils.getXHR();
	if (xhr == null)
		return (null);
	var order = document.getElementById('previewSectionList').getElementsByTagName("li").length;
	//alert(order);
	var userNewsPaperId = document.getElementById('popupSeparatorContainer')._userNewsPaperId;
	var url = "index.php?controller=NewsPaper&action=saveNewsPaperElement&type=title&title=" + title +"&order=" + order+"&userNewsPaperId="+userNewsPaperId;
	//save reference on this object to use in the call back function
	xhr.open("GET", url, false);
	xhr.send(null);
	if ($(xhr.responseXML.getElementsByTagName("status")[0]).text() == "OK")
	{
		return ($(xhr.responseXML.getElementsByTagName("id")[0]).text());
	}
	else
	{
		ndNewsUtils.alertTranslation("An error occurs when saving section");
		return (null);
	}
	return (null);
};

Separator.addSeparatorInPreviewLayer = function(id)
{
	var li = document.createElement("li");
	var commandContainer = document.createElement("div");
	var span = document.createElement("span");
	span.innerHTML = Separator.getInputValue();
	li.className = "separator";
	li.appendChild(span);
	li.id = id;
	li.focusSection = function(){li.className = "separatorName focused";};
	li.blurSection = function(){li.className = "separatorName";};
	if (li.addEventListener != null)
	{
		li.addEventListener('focus', li.focusSection, true);
		li.addEventListener('blur', li.blurSection, true);
	}
	else
	{
		li.attachEvent('onfocus', li.focusSection);
		li.attachEvent('onblur', li.blurSection);
	}
	commandContainer.className = "commandContainer";
	tempVar = document.createElement("button");
	tempVar.className = "removeBtn";
	if (tempVar.addEventListener)
		tempVar.addEventListener('click', function(){NewsPaperElement.removeElement(li);}, true);
	else
		tempVar.attachEvent('onclick', function(){NewsPaperElement.removeElement(li);});
	commandContainer.appendChild(tempVar);
	tempVar = document.createElement("button");
	tempVar.className = "playBtn";
	//tempVar.onclick = 
	commandContainer.appendChild(tempVar);
	li.appendChild(commandContainer);
	ndNewsUI.addDraggable($(li));
	ndNewsUI.addDroppable($(li));
	if (NewsPaperElement.previewElementExists(li.id))
	{
		ndNewsUtils.alertTranslation("Already in your newspaper");
		return (false);
	}
	document.getElementById('previewSectionList').appendChild(li);
	return (true);
};

Separator.getInputValue = function()
{
	var container = document.getElementById("inputContainer");
	if (container == null)
		return (null);
	var input = container.getElementsByTagName('input')[0];
	if (input == null)
		return (null);
	return (input.value);
};

Separator.clearInputValue = function()
{
	var container = document.getElementById("inputContainer");
	if (container == null)
		return (false);
	var input = container.getElementsByTagName('input')[0];
	if (input == null)
		return (false);
	input.value = "";
	return (true);
};

Separator.separatorAddToMyPaper = function()
{
	//todo? : the action which will add the separator to the user news paper database
	var id = Separator.sendSeparator(Separator.getInputValue());
	if (id)
	{
		Separator.addSeparatorInPreviewLayer(id);
		Separator.clearInputValue();
		ndNewsUI.removeFullscreenContainer();
		return (true);
	}
	return (false);
};


/********************************************************* general newspapers and newspaper sections action ******************************************************/

var NewsPaper = 
{
		_lastKey : null,
		_carousel : null,
		
		showleftcontent : function(index)
		{
			if (index == undefined || index == null)
				return (false);
			var toShow = $("#leftContainer .leftContainerContent")[index];
			$("#leftContainer .leftContainerContent").hide().addClass("hidden");
			$(toShow).removeClass("hidden").show();
			if (toShow)
			{
				if (index == 1)
				{
					if ($(".jcarousel-skin-newspaper").length == 0)
					{
						$(this._carousel).clone(true).insertBefore("#sectionList").jcarousel(
		                  {
		                	size:		6,
		                	vertical:	true,
		                    wrap:     	"circular",
		                    itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
		                    itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
		                  });
					}
				}
				else
				{
					$(".jcarousel-skin-newspaper").remove();
				}
				return (true);
			}
			return (false);
		},
		
		openSourcesMenu : function (callBack)
		{
			var body = document.getElementById("sourceMenu");
			var checkedSourceInput = $('#sourceMenu li input[type=checkbox]:checked');
			if (body.viewType != "sources")
			{
				body.innerHTML = (this.getSources());
			}
			for (var i = 0; i < checkedSourceInput.length; i++)
			{
				var name = "newsPaper-"+checkedSourceInput[i].value;
				$('#'+name+" input[type=checkbox]").get(0).checked = true;
			}
			ndNewsUI.openMenu(callBack);
			body.viewType = "sources";
		},
		
		closeMenu : function (event, callBack)
		{
			var body = document.getElementById("sourceMenu");
			if (!ndNewsUtils.getEventTarget(event).parentNode || !ndNewsUtils.getEventTarget(event).parentNode.id == "okBtn")
				callBack = null;
			ndNewsUI.closeMenu(callBack);
			return (true);
		},
		
		sectionSearch : function(key)
		{
			if (key.length < 3)
			{
				return (false);
			}
			var xhr = ndNewsUtils.getXHR();
			if (xhr == null)
				return (false);
			
			var url = "index.php?controller=NewsPaper&action=sectionSearchByKeyword&key="+encodeURIComponent(key);
			//save reference on this object to use in the call back function
			var sectionSearch = this;
			xhr.open("GET", url, false);
			xhr.send(null);
			if (xhr.readyState == 4)
			{
				return (xhr.responseText);
			}
			return (null);
		},
		
		displaySections : function(newspaperId)
		{
			jQuery.ajax(
					{
						url : "index.php?controller=NewsPaper&action=getNewsPaperSection&newspaperId=" + newspaperId,
						success: function(data)
						{
							var ul = document.createElement("ul");
							$(ul).attr("id", "sectionList");
							$(ul).attr("class", "jcarousel-skin-section");
							$(ul).html(data);
							$("#sectionList").replaceWith(ul);
							/*
							$(ul).jcarousel(
									{
										visible:	10,
										vertical:	true
									});
									*/
							return (true);
						},
						error: ndNewsUtils.ProcessXHR
					});
		}
};

var UserNewsPaper = 
{
		_userNewsPaperId : null,
		
		getId : function(){return this._userNewsPaperId;},
		setId : function(value){this._userNewsPaperId = value;},
		
		init : function(userNewsPaperId)
		{
			this._userNewsPaperId = userNewsPaperId;
		},
		
		changeName : function(name)
		{
			if (ndNewsUtils.trim(name).length == 0)
			{
				$("#renameErrorMessage").text(ndNewsUtils.getTranslation("Name is incorrect"));
				return (false);
			}
			if (name == $('#name').text())
			{
				return (true);
			}
			var url = "index.php?controller=NewsPaper&action=changeUserNewsPaperName&userNewsPaperId=" + UserNewsPaper.getId() + "&newName=" + encodeURIComponent(name);
			jQuery.ajax({
				url:		url,
				success:	function()
				{
					//reset error message
					$("#renameErrorMessage").text("");
					//hide form
					var name = $('#userNewspaperNameInput').val();
					var boxDimension = UserNewsPaper.computeTextSize(name, $('div.userNewspaperName').get(0), 20);
					if (boxDimension != null)
					{
						$('#name').css("fontSize", boxDimension.fontSize); 
						$('#name').css("paddingTop", boxDimension.paddingTopBottom); 
						$('#name').css("paddingBottom", boxDimension.paddingTopBottom); 
						$('#name').text($('#userNewspaperNameInput').val()).show(); 
					}
				 	$('#userNewspaperNameSelection').hide();
				 	//hide message inviting user to choose a name
				 	$('#namePrompt').hide();
				},
				error:		function(xhr)
				{
					if(xhr.status == 409)
					{
						$("#renameErrorMessage").text(ndNewsUtils.getTranslation("Already exists"));
						return (false);
					}
					ndNewsUtils.processXHR(xhr);
				}
			});
		},
		
		validate : function()
		{
			var url = "index.php?controller=NewsPaper&action=validate&userNewsPaperId=" + UserNewsPaper.getId();
			var data = "generationHour=" + $(".hourBox option:selected").val();
			if ($('#mailAlert button.selected').attr("id") == "mailAlertYes")
				data = "&alertMe=true";
			
			jQuery.ajax(
					{
						method : "post",
						url : url,
						data : data,
						dataType: "html",
						success : function(){window.location = "index.php?controller=NewsPaper&action=getStarted";},
						error : function (xhr)
						{
							$("#errorMesage").html(xhr.responseText);
						}
					});
		},
		
		computeTextSize : function(string, referer, padding)
		{
			if (ndNewsUtils.trim(string).length < 1)
				return (null);
			var refererWidth = $(referer).width();
			var refererHeight = $(referer).height();
			var fontsize = 11;
			var prevFontSize = 10;
			var div = document.createElement("div");
			$(div).css("visibility", "hidden");
			$(div).css("position", "absolute");
			$(div).css("width", "auto");
			$(div).css("height", "auto");
			$(div).css("padding", $(referer).css("padding"));
			$(div).css("font-family", "Arial, sans-serif");
			$(div).css("font-size", fontsize + "px");
			$(div).css("font-weight", "bold");
			$(div).css("text-align", "center");
			$(div).text(string);
			$("body").append(div);
			var width = $(div).width();
			var height = $(div).height();
			if (width > (refererWidth) && height > (refererHeight))
			{
				return (null);
			}
			while(width < (refererWidth - padding) && height < (refererHeight - padding))
			{
				prevFontSize = fontsize;
				fontsize = (Number($(div).css("font-size").substr(0, $(div).css("font-size").length - 2)) + 1);
				$(div).css("font-size", fontsize + "px");
				width = $(div).width();
				height = $(div).height();
			}
			$(div).css("font-size", prevFontSize + "px");
			var boxDim = {fontSize : prevFontSize, paddingTopBottom : Math.floor((refererHeight - $(div).height())/2)};
			$(div).remove();
			return (boxDim);
		},
		
		computeCropTextSize : function(string, referer)
		{
			if (string.length < 1)
				return (false);
			var refererWidth = $(referer).width();
			var refererHeight = $(referer).height();
			var div = document.createElement("div");
			$(div).css("visibility", "hidden");
			$(div).css("position", "absolute");
			$(div).css("width", "auto");
			$(div).css("height", "auto");
			$(div).css("font-family", "Arial, sans-serif");
			$(div).css("font-size", $(referer).css("font-size"));
			$(div).css("font-weight", "bold");
			$(div).css("text-align", "center");
			$(div).css("text-transform", "capitalize");
			$(div).text(string + "...");
			$("body").append(div);
			var width = $(div).width();
			var height = $(div).height();
			if (width < (refererWidth) && height < (refererHeight))
			{
				return (string);
			}
			while(width > (refererWidth) || height > (refererHeight))
			{
				string = string.substring(0, (string.length - 1) -1);
				$(div).text(string + "...");
				width = $(div).width();
				height = $(div).height();
			}
			$(div).remove();
			return (string + "...");
		}
};

/************************************************ read news paper utilities *********************************/

var ndNewspaper = {};

ndNewspaper.onHashChange = function()
{
	var type = window.location.hash.split('-')[0];
	type = type.substr(1,type.length - 1);
	var id = window.location.hash.split('-')[1];
	if (type == "section")
	{
		$("html").css("overflow", "hidden");
		//$(".sectionItems:not(.hidden)").hide().addClass("hidden");
		//$(".sectionContainer").hide('slide', {direction:"left"}, "slow");
		$(".sectionContainer").hide();
		//$("#section-"+ id +" .sectionItems").removeClass("hidden");
		$("#section-"+ id +"").show();
		$("html").css("overflow", "auto");
	}
	return (true);
};
	
/*********************************************** user newspaper element action *****************************/

var NewsPaperElement = {};

NewsPaperElement.moveElementUp = function(element)
{
	if (element == null)
		return (false);
	var prevLi = $(element).prev("li");
	if ( element == null || (prevLi.length == 0) || element.parentNode == null)
		return (false);
	if (ndNewsUI.moveElementTo(element, $(element).prev("li").get(0)))
	{
		element.parentNode.insertBefore(element, $(element).prev("li").get(0));
		return (true);
	}
	return (false);
};

NewsPaperElement.moveElementDown = function(element)
{
	if (element == null)
		return (false);
	var nextLi = $(element).next("li");
	if ( element == null || (nextLi.length == 0) || element.parentNode == null)
		return (false);
	if (ndNewsUI.moveElementTo($(element).next("li").get(0), element))
	{
		element.parentNode.insertBefore($(element).next("li").get(0), element);
		return (true);
	}
	return (false);
};

NewsPaperElement.removeElement = function(element)
{
	if ( element == null || element.parentNode == null)
		return (false);
	var xhr = ndNewsUtils.getXHR();
	if (xhr == null)
		return (false);
	var url = "index.php?controller=NewsPaper&action=deleteElement&elementId=" + element.id;
	xhr.open("GET", url, false);
	xhr.send("");
	if ($(xhr.responseXML.getElementsByTagName("status")[0]).text() == "OK")
	{
		ConfigScreen.removeElementMenu($("#preview li").index(element));
		element.parentNode.removeChild(element);
		return (true);
	}
	ndNewsUtils.alertTranslation("An error occurs when moving element");
	return (false);
};



NewsPaperElement.previewElementExists= function(id)
{
	if ($("#preview .sectionid-"+id).length > 0)
		return (true);
	return (false);
};

NewsPaperElement.previewElementInnerHtmlExists= function(innerHtml)
{
	var previewSections = document.getElementById('previewSectionList').getElementsByTagName('li');
	for (var i = 0; i < previewSections.length; i++)
	{
		if (previewSections[i].firstChild.innerHTML == innerHtml)
		{
			return (true);
		}
	}
	return (false);	
};


NewsPaperElement.separatorSetUpValidatation = function ()
{
	var separatornamerequiered = ndNewsUtils.getTranslation("Title field is empty");
	var separatorminlengthnotreached = ndNewsUtils.getTranslation("Title field is must contains at least 3 letters");
	$("#popupSeparatorContainer").validate({
	    rules: 
	    {
			separatorName: 
	        {
	          required: true,
	          minlength:  3
	        }
	    },
	    messages: 
	    {
	    	separatorName:
	        {
	          required: separatornamerequiered,
	          minlength: separatorminlengthnotreached
	        }
	    },
	    errorPlacement: function(error, element) 
	    {
	        error.insertAfter(element);
	    }});
};

NewsPaperElement.addSeparator = function(index)
{
	var greeting = ndNewsUtils.getTranslation("Enter a title");
	var container = document.createElement("form");
	$(container).bind('submit', function(){if ($("#popupSeparatorContainer").valid()) {NewsPaperElement.sendSeparator(index);$(this).dialog('close');} return (false);});
	container.title = "Corpuseo";
	container.id = "popupSeparatorContainer";
	var inputDiv = document.createElement("div");
	$(inputDiv).attr("id", "inputContainer");
	var inputField = document.createElement("input");
	$(inputField).attr("id","separatorNameInput");
	$(inputField).attr("name","separatorName");
	$(inputField).attr("type","text");
	var inputlabel = document.createElement("label");
	$(inputlabel).html(greeting);
	$(inputlabel).attr("for", "separatorNameInput");
	$(inputDiv).append(inputlabel);
	$(inputDiv).append(inputField);
	container.appendChild(inputDiv);
	var buttons = {};
	buttons[ndNewsUtils.getTranslation("Ok")] = function(){if ($("#popupSeparatorContainer").valid()) {NewsPaperElement.sendSeparator(index);$(this).dialog('close');}};
	buttons[ndNewsUtils.getTranslation("Cancel")] = function(){$(this).dialog('close');};
	$(container).dialog(
		{
			open: NewsPaperElement.separatorSetUpValidatation,
			modal: true,
			buttons: buttons,
			close: function(){$("#popupSeparatorContainer").remove();}
		});
};

NewsPaperElement.sendSeparator = function(index, userNewsPaperId)
{
	var title = $("#separatorNameInput").val();
	var serpartorTitleList = $("#preview .separator .title");
	for(var i = 0; i < serpartorTitleList.length; i++)
		if ($(serpartorTitleList[i]).html().toLowerCase() == title.toLowerCase())
		{
			ndNewsUtils.alertTranslation("Already in your newspaper");
			return (false);
		}
	//alert(order);
	if (userNewsPaperId == null)
		userNewsPaperId = UserNewsPaper.getId();
	var url = "index.php?controller=NewsPaper&action=saveNewsPaperElement&type=title&title=" + encodeURIComponent(title) +"&order=" + index +"&userNewsPaperId="+userNewsPaperId;
	jQuery.ajax(
			{
				url:	url,
				success:	function(data)
				{
					ConfigScreen.addElementMenu(index);
					$(data).insertBefore($("#preview li").get(index));
				},
				error:		function(xhr)
				{
					ndNewsUtils.alertTranslation("An error occurs when saving section");
				}
			});
	return (true);
};


/**
 * add section in user news paper in database and return the resulting id
 * @param int id
 * @return int
 */
NewsPaperElement.addSectionInUserNewsPaper = function(id, userNewsPaperId)
{
	var sectionList = $("#preview .section");
	var re = /sectionid-([0-9]*)/;
	for(var i = 0; i < sectionList.length; i++) {
		// recherche de la section dans la liste
		var res = re.exec($(sectionList[i]).attr("class"));
		if(id == res[1])
		{
			ndNewsUtils.alertTranslation("Already in your newspaper");
			return (false);
		}
	}

	var order = $("#preview li").length;
	if (userNewsPaperId == null)
		userNewsPaperId = UserNewsPaper.getId();
	//ndNewsUtils.alertTranslation("section added");
	var url = "index.php?controller=NewsPaper&action=saveNewsPaperElement&type=section&sectionId=" + id + "&order=" + order +"&userNewsPaperId="+userNewsPaperId;
	jQuery.ajax(
			{
				url:	url,
				success:	function(data)
				{
					ConfigScreen.addElementMenu();
					$("#preview").append(data);
				},
				error:		function(xhr)
				{
					ndNewsUtils.alertTranslation("An error occurs when saving section");
				}
			});
	return (true);
};

/**
 * add a section to a user newspaper. If the section is already
 * in the newspaper a warning message is displayed.
 * If everything is ok, a success message is displayed. 
 */
NewsPaperElement.addSection = function(id, userNewsPaperId)
{
	var url = "index.php?controller=NewsPaper&action=compareNewsPaperSections&sectionId="+id +"&userNewsPaperId="+userNewsPaperId; // pour les ID

	jQuery.ajax(
			{
				url:	url,
				success:	function(data)
				{	
					ConfigScreen.addElementMenu();
					$("#preview").append(data);
					ndNewsUtils.alertTranslation("section added");
				},
				error:		function(xhr)
				{
					if(xhr.status==404)
						ndNewsUtils.alertTranslation("Already in your newspaper");
					else
						ndNewsUtils.alertTranslation("An error occurs when saving section");
				}
			});
};

/**
 * add search in user news paper in database and return the resulting id
 * @return int
 */
NewsPaperElement.addAutomaticSearchInNewsPaperElement = function(userNewsPaperId)
{
	var searchText = $("#searchInput").val();
	var searchList = $("#preview .search .title");
	for(var i = 0; i < searchList.length; i++)
		if ($(searchList[i]).html().indexOf(searchText) != -1)
		{
			ndNewsUtils.alertTranslation("Already in your newspaper");
			return (false);
		}
	var searchMode = $("#operatorSelection input:radio:checked").val();
	var sources = $("#sourceSelector").serialize();
	var order = $("#preview li").length;
	//alert(order);
	if (userNewsPaperId == null)
		userNewsPaperId = UserNewsPaper.getId();
	var url = "index.php?controller=NewsPaper&action=saveNewsPaperElement&type=search&searchText=" + encodeURIComponent(searchText) + "&searchMode=" + searchMode;
	if (sources.length > 0)
		url += "&" + sources;
	url += "&order=" + order+"&userNewsPaperId="+userNewsPaperId;
	jQuery.ajax(
			{
				url:	url,
				success:	function(data)
				{
				ConfigScreen.addElementMenu();
					$("#preview").append(data);
				},
				error:		function(xhr)
				{
					ndNewsUtils.alertTranslation("An error occurs when saving section");
				}
			});
	return (true);
};

var ConfigScreen = 
{
		_translation : ndNewsUtils.getTranslation("Add a section group title before"),
		
		highlightAtIndex : function(index)
		{
			$($("#preview li.over").get(0)).toggleClass( "over" );
			$($("#preview li").get(index)).toggleClass( "over" );
			$($("#setupOrganize .over").get(0)).toggleClass( "over" );
			$($("#setupOrganize").children("div").get(index)).toggleClass( "over" );
			$($("#rightContainer .over").get(0)).toggleClass( "over" );
			$($("#rightContainer").children("div").get(index)).toggleClass( "over" );
		},
		
		toggleStep : function(index)
		{
			$($("#step .selected").get(0)).toggleClass( "selected" );
			$($("#step div").get(index)).toggleClass( "selected" );
		},
		
		toggleSelectedNewsPaper : function(selectedItemChild)
		{
			$(".jcarousel-item").removeClass("selected");
			$(selectedItemChild).parent().addClass("selected");
			
		},
		
		addElementMenu : function(index)
		{
			var count = $("#preview li").length;
			if (index == undefined || index == null)
				index = count;
			var elementmenu = document.createElement("div");
			var addtitle	 = document.createElement("div");
			var label = document.createElement("div");
			var moveup = document.createElement("div");
			var movedown = document.createElement("div");
			var elementcount = document.createElement("div");
			$(elementcount).attr("class", "elementCount");
			$(elementcount).html(count + 1);
			$("#rightContainer").append(elementcount);
			$(elementmenu).attr("class", "elementMenu");
			$(addtitle).attr("class", "addtitle");
			$(label).attr("class", "addtitlelabel");
			$(moveup).attr("class", "moveup");
			$(movedown).attr("class", "movedown");
			$(label).html(" &lt; " + this._translation);
			$(elementmenu).mouseover(function()
			{
				var index = $("#setupOrganize .elementMenu").index(this);ConfigScreen.highlightAtIndex(index);
			});
			$(addtitle).click(function()
			{
				var index = $("#setupOrganize .elementMenu").index($(this).parent());NewsPaperElement.addSeparator(index);
			});
			$(movedown).mouseover(function(){$(this).addClass('active');});
			$(movedown).mouseout(function(){$(this).removeClass('active');});
			$(movedown).click(function()
			{
				var index = $("#setupOrganize .elementMenu").index($(this).parent());
				NewsPaperElement.moveElementDown($("#preview li").get(index));
			});
			$(moveup).mouseover(function(){$(this).addClass('active');});
			$(moveup).mouseout(function(){$(this).removeClass('active');});
			$(moveup).click(function()
			{
				var index = $("#setupOrganize .elementMenu").index($(this).parent());
				NewsPaperElement.moveElementUp($("#preview li").get(index));
			});
			$(elementmenu).append(addtitle);
			$(elementmenu).append(label);
			$(elementmenu).append(moveup);
			$(elementmenu).append(movedown);
			$("#setupOrganize").append(elementmenu);
		},
		
		removeElementMenu : function(index)
		{
			$($("#setupOrganize .elementMenu").get(index)).remove();
			$($("#rightContainer .elementCount").get($("#rightContainer .elementCount").length - 1)).remove();
		}
};

