var _elementsManager    = null;
var _utilities          = null;
var _textAreaManager    = null;
var _resizeManager      = null;
var _pm                 = null;
var _bookmarkManager    = null;
var _linkInterface      = null;
var _divManager         = null;
var _flashManager       = null;
var _userMenuManager    = null; 
var _imageUploadManager = null;
var _imageManager     = null;
var _siteSettings        = null;
var _bgImgManager     = null;
var _community         = null;
var _toolkit            	= null;
var _dragSelect			= null;  
var _og               		= null;          
var _moveManager     = null;
var _textEditor       	= null;
var _itemMenu          	= null;
var _adManager			= null;
var _embedManager	= null;
var _noteManager		= null;
var _pageManager 		= null;
var _metaData			= null;
var _tutorials				= null;
var _files					= null;
var _easyMenu			= null;
var _cssManager			= null;
var _elementsMenu 	= null;
var _editorVersion		= "1";
var _flashInstalled		= false;
var _flashPrompted	= false;

function main_onload(){
	_pm 				= new PropertyManager();
    _og 				= new ObjectGenerator();
	_itemMenu 			= new ItemMenu();
	_moveManager 		= new MoveManager();
	_elementsManager    = new ElementsManager();
	_resizeManager      = new ResizeManager();
	_utilities          = new Utilities();                   
  	_objectManager  	= new ObjectManager();
  	_ajax			    = new EditorAjax();
  	_linkInterface      = new LinkInterface();
  	_imageUploadManager	= new ImageUpload()
	_bookmarkManager 	= new BookmarkManager();
  	_textAreaManager 	= new TextAreaManager();
  	_divManager      	= new DivManager();
  	_flashManager    	= new FlashManager();
  	_userMenuManager 	= new UserMenuManager(); 
  	_imageManager    	= new ImageManager();   
  	_siteSettings    	= new SiteSettings();
  	_bgImgManager    	= new BgImgManager();
  	_community       	= new Community(); 
  	_toolkit         	= new Toolkit();
  	_dragSelect      	= new DragSelect();
  	_embedManager		= new EmbedManager();
  	_noteManager		= new NoteManager();
  	_pageManager		= new PageManager();
  	_metaData				= new MetaData();
  	_tutorials				= new Tutorials();
  	_files						= new Files();
  	_easyMenu				=  new EasyMenu();
  	_cssManager			= new CSSManager();
  	_elementsMenu		= new ElementsMenu();
  	_adManager 			= new AAA();
}

function _doctopus_showDDMenu(menuId,option){
	var menu = document.getElementById(menuId)
	if(menu !=undefined && menu != null){
     menu.style.display=option;
     menu.onmouseover = function(){this.style.display="block"}
     menu.onmouseout = function(){this.style.display="none"}
	}
}

window.onbeforeunload = confirmExit;
function confirmExit(){
	return "You have attempted to leave this page.  All changes that have not been saved will be lost. Are you sure you want to exit this page?";
}

function main_checkFlash(){
	if(_flashInstalled)return true;
	else{
		if(_flashPrompted) return false
		else{
			var install = confirm("To upload multiple files at the same time a flash plugin for this browser must be installed. Would you like to do that now?")
			if(install) window.open("http://www.adobe.com/go/getflashplayer/","FlashPlugin");
			else{ 
				_flashPrompted = true;
				return false
			}
		}
	}
}

function finishedLoading(){
	setTimeout(function(){_utilities.fadeObject("pageLoading_div","out", 90);}, 50);
	document.getElementById("loadingCoverDiv").style.display = "none";	
	_utilities.displayLastSavedMessage("3")
	if(flashinstalled==2)_flashInstalled =true;
	if(document.all){
		 _moveManager.moveElementsMenu();
		window.onscroll = _moveManager.moveElementsMenu;	
		document.body.onresize = _moveManager.moveElementsMenu;
	}	
	if (_siteSettings.setRuler() != undefined) _siteSettings.setRuler();
}

function PageManager (){
	var _changeLog = new Object;
	 
	this.loadChangeLog = function(log){
		if(log!=""){
			var users = log.split("|");
			for(i=0; i < users.length; i++){
				var entry = users[i].split(";");
				_changeLog[entry[0]]=entry[1];
			} 
		}	
	}
	this.updateChangeLog = function(){
		var stamp = new Date();
		_changeLog[_pageInfo["username"]] = (stamp.getMonth()+1) +"/"+stamp.getDate()+ "/"+stamp.getFullYear() +"/" +stamp.getHours() + "/" + stamp.getMinutes(); 
	}
	this.compareUserDates = function(date){
		var lastDate = _changeLog[_pageInfo["username"]];
		if(lastDate == undefined) lastDate="";
		return date > lastDate;
	}
	this.toXML = function(){
		var xml = "<pageProperties>";
		xml += "<changeLog>";
		for(eachUser in _changeLog){
			xml += eachUser + ";" + _changeLog[eachUser]+"|";
		}	
		xml += "</changeLog>";
		xml += "</pageProperties>";
		return xml;
	}
}
