//**********************************************************************************************
//	Messages
//**********************************************************************************************

var szMsgDeleteDoc		= "Are you sure you want to delete the selected document?";
var szMsgDeleteDir		= "Are you sure you want to delete the selected folder?";
var szMsgDeleteLink		= "Are you sure you want to delete the selected link?";
var szMsgCheckOutDoc		= "You are about to check-out/lock the selected document.";
var szMsgContinue		= "\nContinue anyway?";
//var szMsgIdError		= "Please select an object!";
var szMsgIdError		= "";
var szMsgOnlyOneVersion		= "Only one document version exists!";
var szMsgSelectDoc		= "Please select a document!";
//**********************************************************************************************
//	Global Variables
//**********************************************************************************************

var FatherID;
var FatherURL;
var objID = 0;
var objTitle = "";
var objAbstr = "";
var objDescr = "";
var objPos = -1;
var objRank = -1;
var objConv = -1;
var objQuality = -1;
var objBorder = -1;
var objConvType = -1;
var objInside = -1;
var objClass = -1;
var objType = 0;
var objDocVersion1 = "";
var objDocVersion2 = "";
var objEmbeddedText = "";
var objName = "";
var objIconImage = "";
var objBannerImage = "";

var osObjects = new Array;

//**********************************************************************************************
//	Functions
//**********************************************************************************************

//**********************************************************************************************
//	SelectObject
//**********************************************************************************************

function osObject (ID, Title, Abstr, Descr, Pos, Rank, Conv, Quality, Border, ConvType, Inside, Class, objTheType, Version, EmbeddedText, IconImage, BannerImage)
{

	this.ID = ID;
	this.Type = objTheType;
	this.Title = Title;
	this.Abstr = Abstr;
	this.Descr = Descr;
	this.Pos = Pos;
	this.Rank = Rank;
	this.Conv = Conv;
	this.Quality = Quality;
	this.Border = Border;
	this.ConvType = ConvType;
	this.Inside = Inside;
	this.Class = Class;
	this.Version = Version;
	this.EmbeddedText = EmbeddedText;
	this.IconImage = IconImage;
	this.BannerImage = BannerImage;
}

function SelectObject(ID, Name, Nome, Path)
{
	var objSelID = objID;
	var objSelName = objName;

	if (objID != 0)
		UnselectObject()

	if (ID != 0 && ID != objSelID) {
		for (var i=0; i<osObjects.length; i++) {
			if (ID == osObjects[i].ID)
				break;
		}

		var  oObj = osObjects[i];
		objID = oObj.ID;
		objTitle = oObj.Title;
		objDescr = oObj.Descr;
		objAbstr = oObj.Abstr;
		objPos = oObj.Pos;
		objRank = oObj.Rank;
		objConv = oObj.Conv;
		objQuality = oObj.Quality;
		objBorder = oObj.Border;
		objConvType = oObj.ConvType;
		objInside = oObj.Inside;
		objClass = oObj.Class;
		objType = oObj.Type;
		objEmbeddedText = oObj.EmbeddedText;
		objIconImage = oObj.IconImage;
		objBannerImage = oObj.BannerImage;
		
		self.document.param.nome.value=Nome
		self.document.param.path.value=Path
		
		if (Name) {
			objName = Name
			ChangeObjectImage(objName,true);
		}
	}

}

function SelectObject2(ID, Nome, Path)
{
	var objSelID = objID;
	var objSelName = objName;
	
	if (objID != 0)
		UnselectObject()

	if (ID != 0 && ID != objSelID) {
		for (var i=0; i<osObjects.length; i++) {
			if (ID == osObjects[i].ID)
				break;
		}

		var  oObj = osObjects[i];
		objID = oObj.ID;
		objTitle = oObj.Title;
		objDescr = oObj.Descr;
		objAbstr = oObj.Abstr;
		objPos = oObj.Pos;
		objRank = oObj.Rank;
		objConv = oObj.Conv;
		objQuality = oObj.Quality;
		objBorder = oObj.Border;
		objConvType = oObj.ConvType;
		objInside = oObj.Inside;
		objClass = oObj.Class;
		objType = oObj.Type;
		objEmbeddedText = oObj.EmbeddedText;
		objIconImage = oObj.IconImage;
		objBannerImage = oObj.BannerImage;
	}

}

function UnselectObject()
{
	if (objID != 0) {
		objID = 0;
		objTitle = "";
		objAbstr = "";
		objDescr = "";
		objPos = -1;
		objRank = -1;
		objConv = -1;
		objQuality = -1;
		objBorder = -1;
		objConvType = -1;
		objInside = -1;
		objClass = -1;
		objType = 0;
		objDocVersion1 = "";
		objDocVersion2 = "";
		objEmbeddedText = "";
		objIconImage = "";
		objBannerImage = "";
		if (objName.length > 0) {
			ChangeObjectImage(objName,false);
			objName = ""
		}
	}
}

//**********************************************************************************************
//	Create Functions
//	Starts CreateDir.htm or CreateDoc.htm or CreateLink.htm depending on the selectd object
//**********************************************************************************************


function CreateObject(szStylePath, TypeOfFile, indice)
{

	var szFileName;

	if (TypeOfFile == "CreaDir")
		szFileName = szStylePath + "QuickCreateDir.htm";
	else if (TypeOfFile == "CreaDoc")
		szFileName = szStylePath + "QuickCreateDoc.htm?url=" + urlCorr + "&indice=" + indice;
	else if (TypeOfFile == "CreaFile")
		szFileName = szStylePath + "QuickCreateFile.htm";
	else if (TypeOfFile == "CreaEmbedDoc")
		szFileName = szStylePath + "QuickCreateEmbedText.htm?indice=" + indice;
	else if (TypeOfFile == "CreaLink")
		szFileName = szStylePath + "QuickCreateLink.htm?url=" + urlCorr;

	remote=window.open (szFileName, "Stuff", "width=480,height=520,resizable=1,status=1,menubar=0,scrollbars=0");
	remote.focus();
}


//**********************************************************************************************
//	ModifyObject
//	The functions calls ModifyDoc or ModifyDir or ModifyLink depending on the selected object
//**********************************************************************************************

function ModifyObject(szStylePath, indice, ID)
{
	if (objEmbeddedText.length > 0) {
		indice=0
	}

	if (!objID) {
		alert(szMsgIdError);
		return;
	}

	if (objType == 0)
		szFileName = szStylePath + "QuickModifyDir.htm";
	else if (objType == 1)
		szFileName = szStylePath + "QuickModifyDoc.htm?ID=" + ID + "&indice=" + indice;
	else if (objType == 2)
		szFileName = szStylePath + "QuickModifyLink.htm";

	remote=window.open (szFileName, "Stuff", "width=480,height=520,resizable=1,status=1,menubar=0,scrollbars=0");
	remote.focus();
}


//**********************************************************************************************
//	DeleteObject
//	The functions calls the DeleteDoc or DeleteLink or DeleteDir depending on selected object
//**********************************************************************************************

function DeleteObject()
{
	if (!objID) {
		alert(szMsgIdError);
	}
	if (objType == 1)
	{
		DeleteDoc(objID);
			return;
	}
	if (objType == 2)
	{
		DeleteLink(objID);
			return;
	}
	if (objType == 0)
	{
		DeleteDir(objID);
			return;
	}
}

function DeleteDoc(DocID, Nome, Path)
{
		
	if (!confirm (szMsgDeleteDoc))
		{
		deseleziona_documento(DocID, "", "")
		return;
		}
	
	var TheForm = document.EraseForm;
	
	TheForm.Doc.value = DocID;
	TheForm.Redirect.value = FatherURL;	
	TheForm.OnErrRedirect.value = FatherURL;	
	
	var stile = "menubar=0, status=none, scrollbar=0, top=0, left=0, width=160, height=10";
	window.open( self.document.param.pathStyle.value + "elimina_doc.asp?IDDoc=" + DocID, "popup", stile)
	//TheForm.submit ();
}

function DeleteDir(DirID)
{	
	if (!confirm (szMsgDeleteDir))
	{
		deseleziona_cartella()
		return;
	}

	var TheForm = document.EraseForm;
	
	
	TheForm.Dir.value = DirID;

	TheForm.Redirect.value = FatherURL;	
	TheForm.OnErrRedirect.value = FatherURL;	
	
	var stile = "menubar=0, status=none, scrollbar=0, top=0, left=0, width=160, height=10";
	window.open( self.document.param.pathStyle.value + "elimina_folder.asp", "popup", stile)
	//TheForm.submit ();
}

function DeleteLink(LinkID)
{
	if (!confirm (szMsgDeleteLink))
		return;
	
	var TheForm = document.EraseForm;
	
	TheForm.Link.value = LinkID;
	TheForm.Redirect.value = FatherURL;	
	TheForm.OnErrRedirect.value = FatherURL;	
	
	var stile = "menubar=0, status=none, scrollbar=0, top=0, left=0, width=160, height=10";
	window.open( self.document.param.pathStyle.value + "elimina_doc.asp?IDDoc=" + LinkID, "popup", stile)
	//TheForm.submit ();
}

//**********************************************************************************************
//	CheckInOut
//**********************************************************************************************

function CheckInDoc(szStylePath)
{
	if (!objID) {
		alert(szMsgSelectDoc);
		return;
	}
	//alert(objID)
	if (objType == 1) {
		remote=window.open (szStylePath+"QuickCheckIn.htm", "Stuff", "width=480,height=420,resizable=0,status=1,menubar=0,scrollbars=0");
		remote.focus();
	} else {
		alert(szMsgSelectDoc);
		return;
	}
}

function CheckOutDoc()
{
	if (objType == 1) {
		if (!objID) {
			alert(szMsgSelectDoc);
			return;
		}
		if (!confirm (szMsgCheckOutDoc + szMsgContinue))
			return;
				
		var TheForm = document.CheckOut;
	
		TheForm.DocID.value = objID;
		TheForm.Redirect.value = FatherURL;	
		TheForm.OnErrRedirect.value = FatherURL;	
		TheForm.submit ();
	}else {
		alert(szMsgSelectDoc);
		return;
	}
}

//**********************************************************************************************
//	CompareVersions
//	The functions compare the last 2 document versions
//**********************************************************************************************

function CompareVersions()
{
	var TheForm = document.DiffForm;

	if (!objID) {
		alert(szMsgIdError);
		return;
	}
	
	if (objDocVersion1 <= 1) {
		alert(szMsgOnlyOneVersion);
		return;	
	}
	
	if (objDocVersion2 <= 0) {
		alert(szMsgOnlyOneVersion);
		return;	
	}
	
	TheForm.DocID.value =objID;
	TheForm.Version1.value = objDocVersion1 ;
	TheForm.Version2.value = objDocVersion2 ;
	TheForm.Redirect.value = FatherURL;	
	TheForm.OnErrRedirect.value = FatherURL;	
	
	remote=open ("", "DIFF_VERSION", "width=665,height=480,resizable=1,status=1,menubar=0,scrollbars=1");
	remote.focus();

	TheForm.submit ();
}

//**********************************************************************************************
//	ChangeObjectImage
//	Change the object image with the selected.gif image
//**********************************************************************************************
function ChangeObjectImage(objName,bSelected)
{
	if (bSelected) {
		document[objName].src=imgSel.src;
	} else {
		document[objName].src=imgUnsel.src;
	}
}

//**********************************************************************************************
//	Menu for Quick Functions display
//**********************************************************************************************

function MypopUp()
{
	document["quick"].style.visibility="visible";
}

function MypopDown()
{
	document["quick"].style.visibility="hidden";
}

//**********************************************************************************************
//	Replace
//**********************************************************************************************
function Replace(szInString, szReplaceString, szToString)
{
	var pre = 0;
	var next = szInString.indexOf (szReplaceString);
	var szOutString = "";
	while (next != -1) {
		szOutString += szInString. substring (pre, next);
		szOutString += szToString;
		pre = next + szReplaceString.length;
		next = szInString.indexOf (szReplaceString, pre);
	}
	szOutString += szInString.substring (pre, szInString.length);
	return (szOutString);
}
