/**
 * @category  DeWeM
 * @author    DeWeM Team <admin@dewem.com>
 * @copyright	Copyright (C) 2011 dewem.com, All rights reserved.
 * @license		GNU General Public License version 3; see LICENSE.txt or http://www.gnu.org/licenses/gpl-3.0.html
 * @link      http://www.dewem.com 
 * THIS PROGRAM IS DISTRIBUTED "AS IS";. NO WARRANTY OF ANY KIND IS 
 *	EXPRESSED OR IMPLIED. YOU USE AT YOUR OWN RISK. I WILL NOT BE LIABLE FOR DATA 
 *	LOSS, DAMAGES, HACKING, SPAMMING, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS 
 *	WHILE USING OR MISUSING THIS SOFTWARE. 
 */

var htmlNodeDewem = document.getElementsByTagName('html')[0];

function getXDewem(evt) {
		var ret = evt.clientX + getScrollLeft(); //+ htmlNodeDewem.scrollLeft;
		return ret;
}
function getYDewem(evt) {
		var ret = evt.clientY + getScrollTop(); //htmlNodeDewem.scrollTop;
		return ret;
}

function closeEditDivDewem(closeDiv){
	var idParentForm = closeDiv.parentNode.getAttribute('id');
	closeDiv.parentNode.style.visibility = 'hidden';
	var idParentFormInnerMenu = idParentForm+'_innerMenu';
	var parentFormInnerMenu = document.getElementById(idParentFormInnerMenu);
	if (parentFormInnerMenu){
		parentFormInnerMenu.style.visibility = 'hidden';
	}
} 

function addNewAttrDewem(newAttrField){
	var newAttr = document.getElementById(newAttrField).value;
	newAttr = newAttr.replace(/,/g, 'dewemComma');
	sendDewemAjaxRequest('BaseElement.php', 'addNewAttr', newAttrField, newAttr);
}

function addUnitsDewem(newAttrField){
	document.getElementById(newAttrField).value = 'units';
	addNewAttrDewem(newAttrField);
}

function addValuesDewem(newAttrField){
	document.getElementById(newAttrField).value = 'values';
	addNewAttrDewem(newAttrField);
}

function deleteAttributeDewem(attr, formName){
	if ( !confirm('Are you sure to delete Attribute \"'+ attr+'\"?') ){
		return;
	}
	attr = attr.replace(/,/g, 'dewemComma'); 
	sendDewemAjaxRequest('BaseElement.php', 'deleteAttr', formName+'_DelAttr', attr);
}

function editAttributeDewem(event, parentFormName, attr){
	event = (event) ? event : window.event;
	var element = (event.target) ? event.target: event.srcElement;
	var editName = '';
	editName = parentFormName+'_Attr'+attr;
	if (editName == ''){
		return;
	}

	var editDiv = document.getElementById(editName);
	editDiv.style.position = 'absolute';
	editDiv.style.display = 'block';
	editDiv.style.left =  getXDewem(event)+'px'; 
	editDiv.style.top = getYDewem(event)+'px';
	sendDewemAjaxRequest('BaseElement.php', 'outputAttrs', parentFormName+'_Attr'+attr+'_EditAttr', attr);	
	editDiv.style.visibility = 'visible';
}

function setDefaultDewem(parentFormName, attr){
	attr = attr.replace(/,/g, 'dewemComma');
	sendDewemAjaxRequest('BaseElement.php', 'setDefault', parentFormName+'_SetDefault', attr);
}

function setHiddenAttributesToBodyDewem(){
	var hiddenAttributes = document.getElementById('hiddenElementAttributesDewem');
	if (!hiddenAttributes){
		return;
	}
	var displayResponse = document.getElementById('displayResponseDewem');
	var childHidden = hiddenAttributes.childNodes;
	var lengthChildren = childHidden.length;
	var bodyNode = document.getElementsByTagName('body')[0];
	for (var i=lengthChildren-1; i>=0; i--){
		var copyChNode = childHidden[i].cloneNode(true);
		childHidden[i].parentNode.removeChild(childHidden[i]);
		var findCopyInBody = document.getElementById(copyChNode.getAttribute('id'));
		if (findCopyInBody == null){
			bodyNode.insertBefore( copyChNode, displayResponse);
		}else{
			bodyNode.replaceChild(copyChNode, findCopyInBody);
		}
	}
	hiddenAttributes.parentNode.removeChild(hiddenAttributes);
	var hiddenAttributes = document.getElementById('hiddenElementAttributesDewem');
	if (!hiddenAttributes){
		return;
	}else{
		setHiddenAttributesToBodyDewem();
	}
}

function closeWysiwygDivDewem(closeDivName){
	var closeDiv = document.getElementById(closeDivName);
	if (closeDiv){
		CKEDITOR.remove(dewemCkeditorsArr[closeDivName+'_AreaToEdit']); 
		closeDiv.parentNode.removeChild(closeDiv);
	}
} 
