var cms_class_path = 'engine/cms/class/';

var currentRow;
/*
var selectedNode=false;
*/
var tmpSelected=0;

/*Available values 0 - Dir,1 - Files*/
var activeTab=0;
var aActiveTab=new Array("xdir","xfile");


var iWidth=125;
var iHeight=274;

var toolbarButtons=new Array();

/*Page Toolbar functions*/
/********************************************************************************************************************/
function fEditPage() {
	var oForm=document.getElementById("frmPanel");
    var oStatus=frmPanel.elements("status");
    var oFlag=frmPanel.elements("flag");

	oStatus.value=fGetCurrentOption();
	oFlag.name="diveditor[designMode]";
	oFlag.value="designMode";
	oForm.submit();
}

function fAlterPage() {
	var status="";
	status="&status="+fGetCurrentOption();    


	var oForm=document.getElementById("frmPanel");	
    var oStatus=document.getElementById("status");
    var oFlag=document.getElementById("flag");
	var currLang=oForm.getAttribute("curr_lang");

	wnd=window.showXDialog(oForm.div+"?single=DivEditor&id="+oForm.page_id+status+"&diveditor[alter]=alter","");

	if (wnd) {
		oStatus.value=fGetCurrentOption();
		oFlag.name="diveditor[panel]";
		oFlag.value="panel";
		oForm.submit();
	}
}

function fAddPage() {
	var oForm=document.getElementById("frmPanel");	
    var oFlag=document.getElementById("flag");

	wnd=window.showXDialog(oForm.div+"?single=DivEditor"+"&diveditor[add]=add&pid="+oForm.page_id,"");

	if (wnd) {
		oFlag.name="diveditor[panel]";
		oFlag.value="panel";
		oForm.submit();
	}
}


function fChangePageStatus() {
    var oStatus=document.getElementById("status");
    var oFlag=document.getElementById("flag");
	var oForm=document.getElementById("frmPanel");
	oStatus.value=fGetCurrentOption();

	oFlag.name="diveditor[changeStatus]";
	oFlag.value="changeStatus";

	oForm.submit();
}

function fDeletePage() {
	if (confirm(MSG_CONFIRM_DELETE_DIV))
	{
		var oFlag=document.getElementById("flag");
		var oForm=document.getElementById("frmPanel");
		oFlag.name="diveditor[delete]";
		oFlag.value="delete";
		oForm.submit();
	}
}

function fConfirmPage() {
    var oFlag=document.getElementById("flag");
	var oForm=document.getElementById("frmPanel");
	oFlag.name="diveditor[confirm]";
	oFlag.value="confirm";
	oForm.submit();
}

function fDeclinePage() {
    var oFlag=document.getElementById("flag");
	var oForm=document.getElementById("frmPanel");
	oFlag.name="diveditor[decline]";
	oFlag.value="decline";
	oForm.submit();
}

function fDisableTbrBtn(btn)
{
	btn.setAttribute("disabled",true);
	btn.setAttribute("imageurl",btn.getAttribute("disImageUrl"));
}

function fEnableTbrBtn(btn)
{
	btn.setAttribute("disabled",false);
	btn.setAttribute("imageurl",btn.getAttribute("tmpImageUrl"));
}

function onLoadToolbar()
{
	var oToolBar = document.getElementById("oToolBarPage");
	var oItem,btnName;

	if (null != oToolBar && "undefined" != oToolBar)
	{
		var numItems = oToolBar.numItems;
		var i,j;
		j=0;

		if (numItems > 0)
		{
			for (i=0; i<numItems; i++)
			{
				oItem = oToolBar.getItem(i);
				btnName=oItem.getAttribute("name");
				if (btnName!=false)
				{
					toolbarButtons[j]=oItem;
					j++;
				}
			}
		}
	}
}

/*PopUp functions*/
/********************************************************************************************************************/
function fShowPopup(el) {
	fSelect(el);

    oPopup.show(0+event.offsetX,0+event.offsetY,iWidth,iHeight,event.srcElement);
}

function fHidePopup()
{
	if (	oPopup.isOpen==true)
	{
		fPopupRowDe(currentRow);
		oPopup.hide();
	}
}

function fPreparePopup(rows,disable) {
	var menuElement;

	for (i = 0; i < rows.length; i++) {
        menuElement=oPopDoc.getElementById(rows[i]);
		menuElement.disabled=disable;
    }
}

function fPrepareButtons(btn,disable)
{
		var i,j,oItem;
		for (i=0; i<toolbarButtons.length; i++)
		{
			oItem=toolbarButtons[i];
			btnName=oItem.getAttribute("name");

			for (j=0; j<btn.length; j++)
			{
				if("diveditor["+btn[j]+"]"==btnName)
				{
					if (disable==true)
					{
						fDisableTbrBtn(oItem);
					}
					else
					{
						fEnableTbrBtn(oItem);
					}
					
				}
			}

		}
}


function fPopupRowHi(el){
	el.style.backgroundColor="#d4d0c8";
	el.style.color="navy";
	currentRow=el;
}


function fPopupRowDe(el){
	el.style.backgroundColor="#f3f1f1";
	el.style.color="menutext";
	currentRow=false;
}

/********************************************************************************************************************/

/*function fMakeCurrent(oCurrentNode){
	var currentID=document.getElementById("current_id");
	currentID.value=oCurrentNode.id;
	currentID.form.submit();
}
*/
function fMakeCurrentByID(CurrentNodeID){
	var currentID=document.getElementById("current_id");
	var oForm=currentID.form;

	oActiveTabIndex=document.createElement("INPUT");
	oActiveTabIndex.setAttribute("type","hidden");
	oActiveTabIndex.setAttribute("name","tabIndex");

	oActiveTabIndex.setAttribute("value",tabpane.selectedIndex);
	oForm.appendChild(oActiveTabIndex);
	currentID.value=CurrentNodeID;
	oForm.submit();
}


function firstlySelected() {
    var oNode;
	if (selectedNode==false) {
	    selectedNode=document.getElementById(tmpSelected);
	}
}

function fSelect(el) {
//    firstlySelected();
    selectedNode.className=aActiveTab[selectedNode.active_tab];

	el.className=aActiveTab[el.active_tab]+"_selected";
	selectedNode=el;
	activeTab=el.active_tab;


	var rows=new Array("open","add");

	var confRows=new Array("confirm","decline");

	var rootRows=new Array("open","view","alter","del","confirm","decline","up","down");

	var allRows=new Array("open","view","add","alter","del","confirm","decline","up","down");
	

	fPreparePopup(allRows,false);
	fPrepareButtons(allRows,false);

	if (selectedNode.getAttribute('isFinal')=="1") {
		fPreparePopup(rows,true);	
		fPrepareButtons(rows,true);
	}

	if (selectedNode.getAttribute('have_not_confirmed')=="0") {
	    		fPreparePopup(confRows,true);	
	    		fPrepareButtons(confRows,true);	
	}

	if (selectedNode.getAttribute('id')=="0") {
	    		fPreparePopup(rootRows,true);	
	    		fPrepareButtons(rootRows,true);	
	}

}


function fOpenDivision() {
	fHidePopup();
    fMakeCurrentByID(selectedNode.id);
}

function fViewDivision() {
	fHidePopup();

    document.location.href=selectedNode.url;
}

function fAddDivision() {
	fHidePopup();    
	var oForm=document.getElementById("div_editor").form;
	wnd=window.showXDialog(document.location.href+"?single="+oForm.sysobj+"&diveditor[add]=add&pid="+selectedNode.id,"");

	if(wnd)fMakeCurrentByID(selectedNode.id);
}

function fAlterDivision() {
	fHidePopup();

    var oForm=document.getElementById("div_editor").form;
//	var l=selectedNode.currLang;
	var l=lngName[tabpane.selectedIndex];
	var status=parseInt(selectedNode.have_not_confirmed)+1;
	var wnd=false;

//alert(document.location.href+"?single="+oForm.sysobj+"&id="+selectedNode.id+"&diveditor[alter]=alter&lang="+l+"&status="+status);
	wnd=window.showXDialog(document.location.href+"?single="+oForm.sysobj+"&id="+selectedNode.id+"&diveditor[alter]=alter&lang="+l+"&status="+status,"");
	

	if(wnd)	fMakeCurrentByID(selectedNode.pid);//document.location = document.location;
}

function fDeleteDivision() {
	fHidePopup();

	if (confirm(MSG_CONFIRM_DELETE_DIV))
	{
		var oFlag=document.getElementById("div_editor");
		var oID;
		var oForm=oFlag.form;
		var currentID=document.getElementById("current_id");
		var oCurrent;


		currentID.name="id";
		//currentID.value=selectedNode.id;

		oCurrent=document.createElement("INPUT");
		oCurrent.setAttribute("type","hidden");
		oCurrent.setAttribute("name","current");
		oCurrent.setAttribute("value",selectedNode.pid);

		oForm.appendChild(oCurrent);

		oFlag.name="diveditor[delete]";
		oFlag.value="delete";
		fMakeCurrentByID(selectedNode.id);
		//oForm.submit();
	}
}

function fConfirmDivision() {
	fHidePopup();

    var oFlag=document.getElementById("div_editor");
	var oID;
	var oForm=oFlag.form;
	var oLang,oCurrent;
	var currentID=document.getElementById("current_id");

	currentID.name="id";
//	currentID.value=selectedNode.id;

	oLang=document.createElement("INPUT");
	oLang.setAttribute("type","hidden");
	oLang.setAttribute("name","currLang");

	oLang.setAttribute("value",selectedNode.currLang);
	oForm.appendChild(oLang);

	oCurrent=document.createElement("INPUT");
	oCurrent.setAttribute("type","hidden");
	oCurrent.setAttribute("name","current");
	oCurrent.setAttribute("value",selectedNode.pid);

	oForm.appendChild(oCurrent);

	oFlag.name="diveditor[confirm]";
	oFlag.value="confirm";
	//oForm.submit();
	fMakeCurrentByID(selectedNode.id);
}

function fDeclineDivision() {
	fHidePopup();

    var oFlag=document.getElementById("div_editor");
	var oID,oCurrent,oLang;
	var oForm=oFlag.form;
	var currentID=document.getElementById("current_id");

//	currentID.value=selectedNode.id;
	currentID.name="id";

	oLang=document.createElement("INPUT");
	oLang.setAttribute("type","hidden");
	oLang.setAttribute("name","currLang");

	oLang.setAttribute("value",selectedNode.currLang);
	oForm.appendChild(oLang);

	oCurrent=document.createElement("INPUT");
	oCurrent.setAttribute("type","hidden");
	oCurrent.setAttribute("name","current");
	oCurrent.setAttribute("value",selectedNode.pid);

	oForm.appendChild(oCurrent);

	oFlag.name="diveditor[decline]";
	oFlag.value="decline";
	fMakeCurrentByID(selectedNode.id);
}

function fUpDivision()
{
	fHidePopup();
    var oFlag=document.getElementById("div_editor");
	var oID,oCurrent,oLang;
	var oForm=oFlag.form;
	var currentID=document.getElementById("current_id");

//	currentID.value=selectedNode.id;
	currentID.name="id";

	oCurrent=document.createElement("INPUT");
	oCurrent.setAttribute("type","hidden");
	oCurrent.setAttribute("name","current");
	oCurrent.setAttribute("value",selectedNode.pid);

	oForm.appendChild(oCurrent);

	oFlag.name="diveditor[up]";
	oFlag.value="up";
	fMakeCurrentByID(selectedNode.id);
}

function fDownDivision()
{
	fHidePopup();
    var oFlag=document.getElementById("div_editor");
	var oID,oCurrent,oLang;
	var oForm=oFlag.form;
	var currentID=document.getElementById("current_id");

//	currentID.value=selectedNode.id;
	currentID.name="id";
	oCurrent=document.createElement("INPUT");
	oCurrent.setAttribute("type","hidden");
	oCurrent.setAttribute("name","current");
	oCurrent.setAttribute("value",selectedNode.pid);

	oForm.appendChild(oCurrent);

	oFlag.name="diveditor[down]";
	oFlag.value="down";
	fMakeCurrentByID(selectedNode.id);
}

function fGetCurrentOption() {
	var oToolBar = document.getElementById("oToolBarPage");

	if (null != oToolBar && "undefined" != oToolBar)
	{
		var numItems = oToolBar.numItems;
		var i;
		
		if (numItems > 0)
		{
			for (i=0; i<numItems; i++)
			{
				var oItem = oToolBar.getItem(i);
				if(oItem.getType() == "dropdownlist")
				{
					var SelectedIndex = oItem.getAttribute("selectedIndex");
					var oOptions = oItem.getOptions();
					var oOption = oOptions.item(SelectedIndex);
					return oOption.value;
				}
			}
		}
	}
}

function fSaveDiv() {
	var currForm,btn,i,el,isValid;
	isValid=false;
	currForm = window.event.srcElement.form;
	for (i = 0; i < currForm.elements.length; i++) {
		el=currForm.elements[i];
		if(el.getAttribute("special") == "special" && el.value != "") isValid = true;
	}

	if(isValid!=true) {
		alert(TXT_ERR_NO_DIV_NAME);
		return false;
	}

	if (checkForPatternMatchingInForm(currForm))
	{
		btn=window.event.srcElement;
		currForm.target="oFrame";
		currForm.action="/"+document.location.pathname+"?single="+currForm.sysobj+"&"+btn.name;
		fPrepareData(currForm);
		fDisableBtn();
		currForm.submit();
		window.returnValue=true;
	}
   	return false;
}

function fBuildSymlinkWindow()
{
	var obj = new Object();
	obj.isOK = false;
	obj.Url = "";
	obj.Target = "";

		var oSpan=document.getElementById("oSpan");
		var oSymlinkURL=document.getElementById("oSymlinkURL");
		if (oSpan.innerHTML!='')
		{
			obj.Url=oSymlinkURL.value;
		}

		var result = showModalDialog("/"+document.location.pathname + "?class=cTextDialogs&method=mBuildAnchor&path="+cms_class_path,obj,	"status:no; help:no; dialogWidth:620px; dialogHeight: 290px; center:yes");

	if (obj.isOK!=false)
	{
		oSpan.innerHTML=obj.caption;
		oSpan.title=obj.caption;
		oSymlinkURL.value=obj.Url;
	}
}

function fDelSymLink()
{
		var oSpan=document.getElementById("oSpan");
		var oSymlinkDivID=document.getElementById("oSymlinkDivID");
		var oSymlinkURL=document.getElementById("oSymlinkURL");

			oSymlinkDivID.value="";
			oSpan.innerHTML="";
			oSymlinkURL.value="";
}

function fSwitchOrder(Obj)
{
	var oDivOrderNum=document.getElementById("DIV_ORDER_NUM");	
//	var oDivCreateDate=document.getElementById("DIV_CREATE_DATE");	
	if(Obj.checked)
	{
		//Page
		oDivOrderNum.disabled=true;
	}	
	else
	{
		//Div
		oDivOrderNum.disabled=false;
	}
}