if(!BioNamespace) var BioNamespace = {};
if(!BioNamespace.Classes) BioNamespace.Classes = {};

//======================
//Refresh Document class
//======================
BioNamespace.Classes.NotificationManager = function(url, refreshDivID)
{
	this.m_url = url;
	this.m_refreshDivID = refreshDivID;
	this.m_cmdHideNotification = "cmdHideNotification";
	this.m_projectID = "";

	this.HideNotification = HideNotification;
	this.OnDataReceived = OnDataReceived;

	//Private variables
	var m_this = this;
	var m_ajaxObj = new AjaxClass();

	m_ajaxObj.OnAjaxDataReceived = function(httpObj, responseText)
	{
		m_this.OnDataReceived(responseText);
	}

	function HideNotification(memberID, notificationID, notificationStateID, projectID)
	{
		if(notificationID == "")
		{
			alert("Hide notification failed");
			return;
		}

		if(memberID == "")
		{
			alert("Hide notification failed");
			return;
		}

		m_this.m_projectID = projectID;

		var url = m_this.m_url;

		var data = "memberID=" + encodeURIComponent(memberID);
		data += "&notificationStateID=" + encodeURIComponent(notificationStateID);
		data += "&notificationID=" + encodeURIComponent(notificationID);
		data += "&command=" + encodeURIComponent(m_this.m_cmdHideNotification);

		m_ajaxObj.SetURL(url);
		m_ajaxObj.SetSendMethod("POST");
		m_ajaxObj.SetRequestData(data);
		m_ajaxObj.Send();

		if(m_this.m_refreshDivID != "")
		{
			var divObj = document.getElementById(m_this.m_refreshDivID);

			if(divObj)
				divObj.innerHTML = getLoadingTextData();
		}
	}

	function OnDataReceived(responseText)
	{
		if(m_this.m_refreshDivID != "")
		{
			var divObj = document.getElementById(m_this.m_refreshDivID);

			if(divObj)
			{

				divObj.innerHTML = responseText;
			}
		}

		displayStaticMessage("<br><br><center>" + responseText + "<br><br> <a href='javascript: closeMessage();'>Close</a></center>", 'modalDialog_contentDiv_bio', 200,100);
	}

}

//======================
//Copy Document to project class
//======================


BioNamespace.Classes.CopyDocument = function(instanceName)
{
	this.m_projectID = "";
	this.m_url = "";
	this.m_contentUrl ="";
	this.m_fileID = "";
	this.m_instanceName = instanceName;

	this.CopyMultipleDocuments = CopyMultipleDocuments;
	this.OnDataReceived = OnDataReceived;
	this.OnCopyDocumentClick = OnCopyDocumentClick;

	var m_this = this;
	var m_strDivContents = "divMultiplePrint____";
	var m_staticMessageText = "<div id=\"" +  m_strDivContents + "\"></div><br><center><a href='javascript: " + m_this.m_instanceName + ".OnCopyDocumentClick();' id=\"copyDocumentExec\">copy documents</a> &nbsp;&nbsp;&nbsp;<a href='javascript: closeMessage();'>close</a></center>";
	var m_ajaxObj = new AjaxClass();
	var m_contentAjaxObj = new AjaxClass();
	var m_bIsMultiRequest = true;

	m_ajaxObj.OnAjaxDataReceived = function(httpObj, responseText)
	{
		m_this.OnDataReceived(responseText);
	}

	function OnDataReceived(responseText)
	{
		displayStaticMessage("<br><br><center>" + responseText + "<br><br> <a href='javascript: closeMessage();'>Close</a></center>", 'modalDialog_contentDiv_bio', 200,100);
	}

	function CopyMultipleDocuments(url, projectID, fileID)
	{
		this.m_projectID = projectID;
		this.m_url = url;
		this.m_fileID = fileID;

	 // for (var i in this) 
	//		alert(i + " = " + m_this[i]);

   		displayStaticMessage(m_staticMessageText, 'modalDialog_contentDiv_bio', 310, 180);

		GetContentsFromServer();

		//displayStaticMessage("<center><b><font color=green><span style=\"font-size: 14px\">Copy Document Request</span></font></b><br><br><br><br><table cellspacing=0 cellpadding=0 width=\"100%\" border=0><tr><td width=\"40%\" align=left><input type=radio name=projectDocSection id=projectDocSection CHECKED value=\"1\">&nbsp;Project section</td><td width=\"60%\" align=left><input type=radio name=projectDocSection id=projectDocSection1 CHEKCED value=\"2\">&nbsp;Supplier Document Section</td></tr></table><br><br><br> <a href='javascript: " +  m_this.m_instanceName + ".OnCopyDocumentClick();'>Copy</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript: closeMessage();'>Close</a></center>", 'modalDialog_contentDiv_bio', 300,150);
	}

	function OnCopyDocumentClick()
	{
		var radioVal = document.getElementById("projectDocSection");
		var radioVal1 = document.getElementById("projectDocSection1");
		var copyFolderIDObj = document.getElementById("copyFolderID");

		var data = "";

		if(data != "")
			data += "&";
			
		data += "projectID=" + encodeURIComponent(m_this.m_projectID) + "&command=cmdCopyDocument";

		if(copyFolderIDObj)
			data += "&folderID=" + encodeURIComponent(copyFolderIDObj.value);
		
		if(radioVal.checked)
			data += "&section=projectDocument";
		else if(radioVal1.checked)
			data += "&section=projectSupplierDocument";

		if(!m_bIsMultiRequest)
		{
			data += "&fileID[]=" + encodeURIComponent(m_this.m_fileID);
		}
		else
		{
			var checkboxElementList = document.getElementsByTagName("input");

			var bChecked = false;
			var bFound = false;

			if(checkboxElementList && checkboxElementList.length > 0)
			{
				for(var i = 0; i < checkboxElementList.length; i++)
				{
					if(checkboxElementList[i].type != "checkbox")
						continue;

					var relValue = checkboxElementList[i].getAttribute("rel");

					if(relValue == "bioCopyDocument")
					{
						bFound = true;

						if(checkboxElementList[i].checked)
						{
							bChecked = true;
							data += "&fileID[]=" + checkboxElementList[i].value;
						}
					}
				}
			}

			if(!bFound)
			{
				alert("Please choose documents you want to copy");
				return;
			}
			else
			{
				if(!bChecked)
				{
					alert("Please choose documents you want to copy");
					return;
				}
			}
		}

		var url = m_this.m_url;

		m_ajaxObj.SetURL(url);
		m_ajaxObj.SetSendMethod("POST");
		m_ajaxObj.SetRequestData(data);
		m_ajaxObj.Send();

		//Clear existing checked values
		if(m_bIsMultiRequest)
		{
			var checkboxElementList = document.getElementsByTagName("input");

			if(checkboxElementList && checkboxElementList.length > 0)
			{
				for(var i = 0; i < checkboxElementList.length; i++)
				{
					if(checkboxElementList[i].type != "checkbox")
						continue;

					var relValue = checkboxElementList[i].getAttribute("rel");

					if(relValue == "bioCopyDocument")
					{
						if(checkboxElementList[i].checked)
							checkboxElementList[i].checked = false;
					}
				}
			} //end if(checkboxElementList && checkboxElementList.length > 0)

		}
	} //end fucntion 



	function GetContentsFromServer()
	{
		var url = m_this.m_contentUrl;
		var data = "command=cmdCopyDocContentsForPO";

		m_contentAjaxObj.SetURL(url);
		m_contentAjaxObj.SetSendMethod("POST");
		m_contentAjaxObj.SetRequestData(data);
		m_contentAjaxObj.Send();

		var divObj = document.getElementById(m_strDivContents);
		if(divObj)
			divObj.innerHTML = getLoadingTextData();

		divObj = document.getElementById("copyDocumentExec");
		if(divObj)
			divObj.style.display = "none";

	}

	m_contentAjaxObj.OnAjaxDataReceived = function(httpObj, responseText)
	{
		var divObj = document.getElementById(m_strDivContents);
		if(divObj)
			divObj.innerHTML = responseText;

		divObj = document.getElementById("copyDocumentExec");
		if(divObj)
			divObj.style.display = "";
	}

}


//======================
//Copy Documents Ex
//======================

BioNamespace.Classes.CopyDocumentEx = function(instanceName)
{
	this.m_url = "";
	this.m_fileID = "";
	this.m_instanceName = instanceName;
	this.m_contentUrl ="";

	this.CopyMultipleDocuments = CopyMultipleDocuments;
	this.OnDataReceived = OnDataReceived;
	this.OnCopyDocumentClick = OnCopyDocumentClick;

	var m_this = this;
	var m_ajaxObj = new AjaxClass();
	var m_contentAjaxObj = new AjaxClass();
	var m_bIsMultiRequest = true;
	var m_strDivMultiplePrint = "divMultiplePrintEx____";
	var m_staticMessageText = "<div id=\"" +  m_strDivMultiplePrint + "\"></div><br><center><a href='javascript: " + m_this.m_instanceName + ".OnCopyDocumentClick();' id=\"copyDocument\">Copy Document</a> &nbsp;&nbsp;&nbsp;<a href='javascript: closeMessage();'>Close</a></center>";

	function CopyMultipleDocuments(url, contentUrl, fileID)
	{
		this.m_fileID = fileID;
		this.m_url = url;
		this.m_contentUrl = contentUrl;

		displayStaticMessage(m_staticMessageText, 'modalDialog_contentDiv_bio', 320,220);

		GetContents();
	}

	function GetContents()
	{
		var url = m_this.m_contentUrl;
		var data = "";

		m_contentAjaxObj.SetURL(url);
		m_contentAjaxObj.SetSendMethod("POST");
		m_contentAjaxObj.SetRequestData(data);
		m_contentAjaxObj.Send();

		var divObj = document.getElementById(m_strDivMultiplePrint);
		if(divObj)
			divObj.innerHTML = getLoadingTextData();

	}

	m_contentAjaxObj.OnAjaxDataReceived = function(httpObj, responseText)
	{
		var divObj = document.getElementById(m_strDivMultiplePrint);
		if(divObj)
			divObj.innerHTML = responseText;
	}

	function OnCopyDocumentClick()
	{
		var radioVal = document.getElementById("projectDocSection");
		var radioVal1 = document.getElementById("projectDocSection1");
		var projectObj = document.getElementById("profileDocCopyProjectID");

		var data = "";

		if(data != "")
			data += "&";
			
		data += "command=cmdCopyDocument";

		if(projectObj)
		{
			if(projectObj.value == "")
			{
				alert("Please choose project");
				return;
			}

			data += "&projectID=" + encodeURIComponent(projectObj.value);
		}

		if(radioVal.checked)
			data += "&section=projectDocument";
		else if(radioVal1.checked)
			data += "&section=projectSupplierDocument";

		if(!m_bIsMultiRequest)
		{
			data += "&fileID[]=" + encodeURIComponent(m_this.m_fileID);
		}
		else
		{
			var checkboxElementList = document.getElementsByTagName("input");

			var bChecked = false;
			var bFound = false;

			if(checkboxElementList && checkboxElementList.length > 0)
			{
				for(var i = 0; i < checkboxElementList.length; i++)
				{
					if(checkboxElementList[i].type != "checkbox")
						continue;

					var relValue = checkboxElementList[i].getAttribute("rel");

					if(relValue == "bioCopyDocument")
					{
						bFound = true;

						if(checkboxElementList[i].checked)
						{
							bChecked = true;
							data += "&fileID[]=" + checkboxElementList[i].value;
						}
					}
				}
			}

			if(!bFound)
			{
				alert("Please choose documents you want to copy");
				return;
			}
			else
			{
				if(!bChecked)
				{
					alert("Please choose documents you want to copy");
					return;
				}
			}
		}


		var url = m_this.m_url;

		m_ajaxObj.SetURL(url);
		m_ajaxObj.SetSendMethod("POST");
		m_ajaxObj.SetRequestData(data);
		m_ajaxObj.Send();

		//Clear existing checked values
		if(m_bIsMultiRequest)
		{
			var checkboxElementList = document.getElementsByTagName("input");

			if(checkboxElementList && checkboxElementList.length > 0)
			{
				for(var i = 0; i < checkboxElementList.length; i++)
				{
					if(checkboxElementList[i].type != "checkbox")
						continue;

					var relValue = checkboxElementList[i].getAttribute("rel");

					if(relValue == "bioCopyDocument")
					{
						if(checkboxElementList[i].checked)
							checkboxElementList[i].checked = false;
					}
				}
			} //end if(checkboxElementList && checkboxElementList.length > 0)

		}
	} //end fucntion 

	m_ajaxObj.OnAjaxDataReceived = function(httpObj, responseText)
	{
		closeMessage();

		displayStaticMessage("<br><br><center>" + responseText + "<br><br> <a href='javascript: closeMessage();'>Close</a></center>", 'modalDialog_contentDiv_bio', 200,100);
		
		OnDataReceived(responseText);
	}

	function OnDataReceived(responseText)
	{
	}

}
