window.onload = function(){
	setParagrahEvent();
}

document.getElementsByTagName("body")[0].ondblclick = function()
{
	removeTextarea();	
};

function setParagrahEvent(){
 var ps=document.getElementById('pallet').getElementsByTagName('p');
 for(var i=0;i<ps.length;i++)

  ps[i].ondblclick=function(){  Limit(this);  }
}

function Limit(obj){
 var zxce=window.event||arguments.callee.caller.arguments[0];
 if (!zxce) var zxce=window.event;
 zxce.cancelBubble=true;
 if (zxce.stopPropagation) zxce.stopPropagation();
 	 //CONVERT OLD EDIT BACK INTO P TAG
	 var textarea = document.getElementById('currentEdit');
	 if(textarea == null)
	 {  
		 
		 //INSERT TEXTAREA
		 var makeTextarea = document.createElement('textarea');
		 makeTextarea.setAttribute('id','currentEdit');
		 makeTextarea.style.width="100%";
		 makeTextarea.style.minWidth="100%";
		 var parentElement = obj.parentNode;
		 var nextElement = obj.nextSibling;
		 var elementsInners = obj.innerHTML;
		 makeTextarea.value = elementsInners;
		 parentElement.insertBefore(makeTextarea,nextElement);
		 
		 //REMOVE PARAGRAPH ELEMENT
		 parentElement.removeChild(obj);
		 setParagrahEvent();	 
	 }
	 
	 else
	 {
	 
		 removeTextarea();
	 
		 //INSERT TEXTAREA
		 var makeTextarea = document.createElement('textarea');
		 makeTextarea.setAttribute('id','currentEdit');
		 makeTextarea.style.width="100%";
		 makeTextarea.style.minWidth="100%";		 
		 var parentElement = obj.parentNode;
		 var nextElement = obj.nextSibling;
		 var elementsInners = obj.innerHTML;
		 makeTextarea.value = elementsInners;
		 parentElement.insertBefore(makeTextarea,nextElement);
		 
		 //REMOVE PARAGRAPH ELEMENT
		 parentElement.removeChild(obj);
		 setParagrahEvent();	 
	 }
}

function removeTextarea()
{
	 var textarea = document.getElementById('currentEdit');
	 var textareaInners = textarea.value; 
	 
	 var innersLength = document.getElementById('currentEdit').value;
	 var innersLength = innersLength.replace(/ /g,"");
 	 var innersLength = innersLength.replace(/\n/g,"");
	 //IF EDIT TO BE SAVED IS EMPTY ALERT USER AND AUTO FILL EDIT WITH DEFAULT TEXT
	 if(innersLength.length == 0)
	 {
		 alert('Sorry but in this demo you must have at least one character in your paragraph edit!');
		 var makeNewP = document.createElement('p');
		 var getParent = textarea.parentNode;
		 var sibling = textarea.nextSibling;
		 
		 var textareaInners = "WE NEED TO HAVE SOME TEXT HERE TO EDIT AND SAVE TO OUR DATABASE!!";
		 
		 getParent.insertBefore(makeNewP,sibling);
		 makeNewP.innerHTML = textareaInners;
		 
		 getParent.removeChild(textarea);
		 setParagrahEvent();
	 }
	 else
	 {
		 var makeNewP = document.createElement('p');
		 var getParent = textarea.parentNode;
		 var sibling = textarea.nextSibling;
		 
		 getParent.insertBefore(makeNewP,sibling);
		 makeNewP.innerHTML = textareaInners;
		 
		 getParent.removeChild(textarea);
		 setParagrahEvent();
	 }	 
}
