function ItemMenu(){	
	var _self 				= this;
	var _currentElement 	= null;
	var _itemMenu	  		= document.getElementById('itemMenu');
	var _itemMenuDropDown	= document.getElementById('itemMenuDropDown');	
	
	// all item Menu options
	var _itemMenuOptions = new Object();	
	_itemMenuOptions['clearPage'] = 'closed';
	_itemMenuOptions['editText']  = 'closed';
	_itemMenuOptions['addHeading']  = 'closed';
	_itemMenuOptions['addElement']  = 'closed';
	_itemMenuOptions['insertPicture']  = 'closed';
	_itemMenuOptions['previewMenu']   = 'closed';
	_itemMenuOptions['selectFlash']   = 'closed';
	_itemMenuOptions['toggleHeadings']   = 'closed';
	_itemMenuOptions['endPreview']   = 'closed';
	_itemMenuOptions['activateEmbed']   = 'closed';
	_itemMenuOptions['editSimpleText']   = 'closed';
	_itemMenuOptions['link']   = 'closed';
	_itemMenuOptions['createLink']   = 'closed';
	_itemMenuOptions['editMenu']  = 'closed';
	
	this.setZIndex = function(zIndex){_itemMenu.style.zIndex = zIndex;}
	
	this.hideItemMenu = function(){
		_itemMenu.style.visibility = "hidden";
		_itemMenuDropDown.style.display="none";
	}
	
	this.showItemMenu = function(element){
		_resizeManager.displayResizeDiv(element);
		var holderDiv = element.properties["holderDiv"];
		var position = _utilities.findPos(holderDiv);
		_itemMenu.style.visibility = "visible";		
		_itemMenu.style.top = position[1] - 22;
		var width = holderDiv.offsetWidth;
		_itemMenu.style.width = Math.max(width,40);
		_itemMenu.style.left = position[0]; 		
		_currentElement = element;		
		_self.showBottomMenu();
	}
	this.resizeItemMenu = function(){
		_itemMenu.style.width = _currentElement.properties["holderDiv"].offsetWidth;;
	}
	
	this.showBottomMenu = function(){
		_itemMenuDropDown.style.display="block";
		var holderDiv = _currentElement.properties["holderDiv"];
		var position = _utilities.findPos(holderDiv);
		_itemMenuDropDown.style.top = position[1] + parseInt(holderDiv.offsetHeight) +3;
		_itemMenuDropDown.style.left =position[0]; 
		_self.setOpacity(30);
		itemTitle();
		showItemMenuOptions();
		showUserMenu();	
		showCollapseButton();	
	}
	this.hideBottomMenu = function(){
		_itemMenuDropDown.style.display="none";
	}
	this.setOpacity = function(value){
		_pm.setStyle(_itemMenuDropDown,"opacity:"+value+";");
	}
	function itemTitle(){
		var elementType =  _currentElement.properties["type"];
		var title = "";
		var subTitle = ""; 
		var parentElement = _elementsManager.getElementFromElementsTable(_currentElement.properties['parentId'])
		if(parentElement != null && parentElement != undefined && parentElement.properties["type"] == "heading"){
			title = "Heading"
		}else{
			switch(elementType){
				case "text" : title = "Text"; break;
				case "simpleText" : title = "Text"; break;
				case "webPage": title = "Web Page";break;
				case "website": title = "Page Background";break;
				case "footer": title = "Page Footer";break;
				case "div": title = "Div (square)";break;
				case "image": title = "Image";break;
				case "menu":
					if(_currentElement.properties["currentView"] == "hover") subTitle = " - (hover layer)"
					title = "Menu";
					break;
				case "embed": title = "Embed Element";break;
				case "flash": title = "Flash Element";break;
				case "bookmark": title = "Book";break;
				case "easyMenu": title = "Menu";break;
				case "easyMenuHeading": title = "Heading";break;
				case "note": title = "Note";break;
				default: break; 
			}
		}
		document.getElementById("itemTitle_div").innerHTML = "<b>"+title+"</b>" + subTitle;
		document.getElementById("itemTitle_div").title = title + subTitle + ": click + hold to drag this object"
	}
	function showCollapseButton(){
		if(_currentElement.properties["type"] == "webPage")document.getElementById("collapseItem_img").style.display="block";
		else document.getElementById("collapseItem_img").style.display="none";
	}
	function showUserMenu(){
		if(_currentElement.properties["type"] == "menu"){
			_self.hideSubMenus();
		}else{
			var menuElement = _objectManager.getParent(_currentElement, "menu")
			if(menuElement != null){
				 _userMenuManager.displaySubMenu("heading",menuElement);
				 document.getElementById("copyElement_item").style.display = "none";
				 document.getElementById("link_item").style.display = "block";
			}
			else{
				document.getElementById("userMenuOptions_div").style.display = "none";
				document.getElementById("link_item").style.display = "none";
			}
		}
	}
	
	this.hideSubMenus = function(){
		document.getElementById("userMenuOptions_div").style.display = "none";		
	}
	this.displaySubMenus = function(){
		showUserMenu();
		_self.showBottomMenu();
	}
	function showItemMenuOptions(){
		hideAllOptions()
		var options = _currentElement.properties['itemMenu'];
		for(eachOption in options){
				document.getElementById(eachOption+"_item").style.display = "block";
		}							
		
		var type = _currentElement.properties["type"];
		if(type =="webPage" || type =="website" || type =="footer" || type =="undefined"){
		 	document.getElementById("copyElement_item").style.display = "none";
		 	document.getElementById("deleteElement_item").style.display = "none";
		}else{
			if(type == "note" || type=="bookmark")
				document.getElementById("copyElement_item").style.display = "none";
			else
				document.getElementById("copyElement_item").style.display = "block";
			document.getElementById("deleteElement_item").style.display = "block";	
		}	
	}
	
	function hideAllOptions(){
		for(eachOption in _itemMenuOptions )
			document.getElementById(eachOption+"_item").style.display = "none";
	}
	
	this.displayAddNewElementMenu = function(){
		_elementsManager.whereToAdd("element");
		document.getElementById("addElementCoverDiv").style.display = "block";
		var cover_close = document.getElementById("addElementCoverDiv_close");
		_utilities.centerObject(cover_close);
		cover_close.style.top = document.body.scrollTop;
		var addElementsTable = document.getElementById("addNewElement_table");
		var elementsMenu = document.getElementById("mainMenuTable");
		var addElementsTD = document.getElementById("addNewElement_td");
		addElementsTD.appendChild(elementsMenu);
		addElementsTable.style.display = "block";
		_utilities.centerObject(addElementsTable);
	}
	this.hideAddNewElementMenu = function(){
		_elementsManager.whereToAdd("page");
		document.getElementById("addElementCoverDiv").style.display = "none";
		document.getElementById("addNewElement_table").style.display = "none";
		document.getElementById("elementsMenu").appendChild(document.getElementById("mainMenuTable"))
	}
	this.displayDeleteWarning = function(){
		var id = _currentElement.properties['id']; 
		if(id != "mainPage" && id !="website"){
			_utilities.displayCover();
			var deleteElementMenu = document.getElementById("deleteElementMenu");
			deleteElementMenu.style.display = 'block';		
			_utilities.centerObject(deleteElementMenu);
		}
	}
	this.deleteCurrentElement = function(){
		_elementsManager.deleteCurrentElement()
		_self.hideDeleteWarning();
	}
	this.hideDeleteWarning = function(){
		_utilities.hideCover();
		document.getElementById("deleteElementMenu").style.display = "none";
	}	
}
// ELEMENTS MENU
function ElementsMenu(){
	var _self = this;
	var _elements = new Object();
	var _subTabs = new Object();
	var _collapsed = false;
	
	this.collapse = function(){
		if(_collapsed) 	document.getElementById("elements_holder_div").style.display = "block";
		else	document.getElementById("elements_holder_div").style.display = "none";
		_collapsed = !_collapsed	
	}
	this.createNewElement = function(element){
		var classes = _cssManager.getElementClasses(element);
		var numClasses = 0;
		for(c in classes){numClasses++}
		if(numClasses >=1){			
			if(_elements[element]=="open"){
				_elements[element]="closed"
				document.getElementById("elements_menu_"+element+"_holder").style.display = "none";
			}
			else{
				_self.setClassNames(element);
				_elements[element]="open";
				document.getElementById("elements_menu_"+element+"_holder").style.display = "block";
			}
		}else{
			_self.createElement(element,"standard");
			_elements[element]="closed"
			document.getElementById("elements_menu_"+element+"_holder").style.display = "none";
		}
	}
	this.createElement = function(element,cssId){
		_elementsManager.addElementToPage(element,cssId);
	}
	this.setClassNames = function(element){
	  var classes = _cssManager.getElementClasses(element);
	  var classNames = "";
	  for(eachClass in classes){
	  	classNames+='<li class="subElementMenu" style="margin-left:15px;" onclick="_elementsMenu.createElement(\'text\',\''+eachClass+'\')">'+ classes[eachClass]["name"]+"</li>"
	  }	
	  var holder = document.getElementById("elements_menu_"+element+"_holder");
	  if(holder!=undefined) holder.innerHTML = classNames + addOption(element);
	}
	function addOption(element){
		var html = "";
		switch(element){
			case "text": html='<li class="subElementMenu" style="list-style-type: none; list-style-position:outside;margin-left:15px;color:#00023d;" onclick=\'_cssManager.addNewStyle("text")\'>+ new text class</li>';break;
			default:break;
		}
		return html;
	}
	this.displaySubTab = function(element){
		if(_subTabs[element]=="open"){
			document.getElementById("elements_menu_"+element+"_subTab").style.display="none";
			_subTabs[element]="closed"
		}
		else{
			document.getElementById("elements_menu_"+element+"_subTab").style.display="block";
			_subTabs[element]="open"
		}
	}
}
