/////////////////////////////////////////////////
// 3Fi.dk related JavaScript functions
// 
// !!Please remember to comment your functions!!
//
/////////////////////////////////////////////////


/////////////////////////////////////////////////
//  WebApplication related
/////////////////////////////////////////////////
var webApplicationURL = null;
function registerWebApplicationURL(url) {
  webApplicationURL = url;
}
function getWebApplicationURL() {
  return webApplicationURL;
}


/////////////////////////////////////////////////
//  Messagebox related
/////////////////////////////////////////////////
function ShowMessageBox(text, header, title, button1Action, button1Title, button2Action, button2Title)
{
  Page.Message.setTitle(title);
  Page.Message.setHeader(header);
  Page.Message.addBodyText(text);
  
  if(button2Action != null && button2Action != "" && button2Title != null && button2Title != "")
    Page.Message.addButton(button2Title,button2Action);   
  if(button1Action != null && button1Action != "" && button1Title != null && button1Title != "")
    Page.Message.addButton(button1Title,button1Action);
  
  Page.Message.open();
}

function ShowErrorMessageBox(text, header, title)
{
  Page.Message.setTitle(title);
  Page.Message.setHeader(header);
  Page.Message.addBodyText(text);
  Page.Message.open('error');
}

function DisposeMessageBox()
{
  Page.Message.close();
}


/////////////////////////////////////////////////
//  Tab related
/////////////////////////////////////////////////
function SelectFirstTab() {
  /* Selected the first tab in the Peytz tab control */
  Page.Tabs.init();
  if (Page.Tabs.elements[0] != null)
    Page.Tabs.openTab(Page.Tabs.elements[0]);
}


/////////////////////////////////////////////////
//  TabPanel searches
/////////////////////////////////////////////////
function SubmitSearchCompany() {
  var criteria = document.getElementById("SearchCompanyCriteria").value;
  var text = document.getElementById("SearchCompanyWord").value;
  var url = getWebApplicationURL() + "/fagligt%5Fsystem/search98.asp?" + criteria + "=" + text

  window.open(url, 'Virksomheder', 'width=1024,height=768,resizable=yes,scrollbars=yes,toolbar=yes,location=yes,status=yes,menubar=yes')
}

function SubmitSearchDepartment() {
  var criteria = document.getElementById("SearchDepartmentCriteria").value;
  var text = document.getElementById("SearchDepartmentWord").value;

  var url = "/sitecore modules/forms/fff.Generic_post.aspx";
  url += "?formaction=" + escape(getWebApplicationURL() + "/afdelingsopl/list_afdelinger.asp")
  url += "&submitname=submit"
  url += "&submitvalue=S%F8g%20"
  url += "&formname=soge_afd"
  url += "&afdnr=" + escape((criteria == "afdnr" ? text : ""))
  url += "&afd_navn=" + escape((criteria == "afd_navn" ? text : ""))
  url += "&ledelse=" + escape((criteria == "ledelse" ? text : ""))
  url += "&distrikt=0"
  url += "&RawUrl=1" //Use ASCII encoding /Raw url on generic post
  
  location.href = url;
}

function SubmitSearchPhonebook() {
  var criteria = document.getElementById("SearchPhonebookCriteria").value
  var text = escape(document.getElementById("SearchPhonebookWord").value)

	var url = "http://cm2/ccmuser/directory.asp?findBy=" + criteria + "&match=contains&pattern=" + text + "&rows=25"
  window.open(url, "Telefonbog", "width=1024,height=768,resizable=yes,scrollbars=yes,toolbar=yes,location=yes,status=yes,menubar=yes")
}

function SubmitSearchMemo() {
  var sSearchTitle = document.getElementById("SearchMemoTitle").value;
  var sSearchContent = document.getElementById("SearchMemoContent").value;
  var sSearchNr = document.getElementById("SearchMemoNumber").value;
  var sSearchSelVal = document.getElementById("SearchMemoSelect").value;  
  var sSearchAar = document.getElementById("SearchMemoYearDropdownList").value;  

  var url = "/sitecore modules/forms/fff.Generic_post.aspx";
  url += "?formaction=" + escape(getWebApplicationURL() + "/cirkulaerer/soegning.asp")
  url += "&formname=dokumentform"
  url += "&submitname=Action"
  url += "&submitvalue=S%f8g"
  
  url += "&Tekst=" + escape(sSearchContent)
  url += "&meta_overskrift=" + escape(sSearchTitle)
  url += "&Ophav=" + escape(sSearchSelVal)
  url += "&udsnr=" + escape(sSearchNr)
  url += "&aar=" +  escape(sSearchAar)
  url += "&RawUrl=1" //Use ASCII encoding /Raw url on generic post
  
  location.href = url;
}

function SubmitSearchUnionRep() {
  var sSearchUnionRepName = document.getElementById("SearchUnionRepName").value;
  var sSearchUnionRepCpr = document.getElementById("SearchUnionRepCpr").value;
  var SearchUnionRepJob = document.getElementById("SearchUnionRepJob").value;
  
  var url = "/sitecore modules/forms/fff.Generic_post.aspx";
  url += "?formaction=" + escape(getWebApplicationURL() + "/Tillidshverv/soegning/MTS_find.asp")
  url += "&formname=SearchForm"
  url += "&submitname=submit"
  url += "&submitvalue=S%f8g"
  
  url += "&medlemsnavn=" + escape(sSearchUnionRepName)
  url += "&cprnr=" + escape(sSearchUnionRepCpr)
  url += "&Hverv=" + escape(SearchUnionRepJob)
  url += "&gruppenr=0"
  url += "&afdnr1=0"  
  url += "&RawUrl=1" //Use ASCII encoding /Raw url on generic post
  
  location.href = url;
    
}

function SubmitSearchLabourAgreement() {
  var sSearchLabourAgreementWords = document.getElementById("SearchLabourAgreementWords").value;
  var sSearchLabourAgreementDecisionType = document.getElementById("SearchLabourAgreementDecisionType").value;
  var sSearchLabourAgreementDecisionUnion = document.getElementById("SearchLabourAgreementDecisionUnion").value;
  var sSearchLabourAgreementDecisionGroup = document.getElementById("SearchLabourAgreementDecisionGroup").value;


  var url = "/sitecore modules/forms/fff.Generic_post.aspx";
  url += "?formaction=" + escape(getWebApplicationURL() + "/FagretsligeAfg/soegning/soegning.asp")
  url += "&formname=dokumentform"
  url += "&submitname=Action"
  url += "&submitvalue=S%f8g"
  
  url += "&Tekst=" + escape(sSearchLabourAgreementWords)
  url += "&Meta_AfgType=" + escape(sSearchLabourAgreementDecisionType)
  url += "&meta_Gruppe=" + escape(sSearchLabourAgreementDecisionGroup)
  url += "&Meta_AfdNr=" + escape(sSearchLabourAgreementDecisionUnion)
  url += "&Meta_ArbgKobNr="
  
  url += "&RawUrl=1" //Use ASCII encoding /Raw url on generic post
  
  location.href = url;

}


/////////////////////////////////////////////////
//  Image functions
/////////////////////////////////////////////////
function MM_swapImgRestore() { //v3.0
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_findObj(n, d) { //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
		var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}


/////////////////////////////////////////////////
//  General utility functions
/////////////////////////////////////////////////

// Closes the current window
function ClosePopUp(reloadParent)
{  
  if(reloadParent)
    window.opener.document.forms[0].submit();
  window.close();  
}

// Sets the source for an image
function SetImageSource(imagePath,image) 
{   
  if (imagePath != "" && image != null) 
  {     
      image.src = imagePath;      
  }
}

function ShowConfirm(confirmText, functionCall)
{
   if(confirm(confirmText))
      setTimeout(functionCall,0);
}

// Shows a new pop-up window
function ShowPopUp(path,width,height)
{
  window.open(path,null,"height=" + height + ",width=" + width + ",status=yes,toolbar=no,menubar=no,location=no");
}

// Shows a new resizable pop-up window
function ShowResizablePopUp(path,width,height)
{
  window.open(path,null,"height=" + height + ",width=" + width + ",scrollbars=yes,resizable=yes,status=yes,toolbar=no,menubar=no,location=no");
}

// Shows a new normal window
function ShowNewWindow(path,width,height)
{
  window.open(path,null,"height=" + height + ",width=" + width + ",scrollbars=yes,resizable=yes,status=yes,toolbar=no,menubar=yes,location=yes");
}

// Clears the content of a SELECT
function ClearSelect(ctlSelect)
{
  for(var i=ctlSelect.options.length-1; i>=0; i--)
    ctlSelect.options.remove(i);
  
}

// Selects a value in a SELECT
function SetSelectedValue(selectID,value) 
{
  var select = document.getElementById(selectID);
              
  for(var i=0; i < select.options.length; i++)
  {
    if(select.options(i).value == value)
    {
      select.selectedIndex = i;
      break;
    }
  }
}

// Hides or shows an element
function SetVisible(element, visible)
{
  if(element != null)
  {   
    element.style.display = (visible == true ? "" : "none");   
  }
}

// Moves an OPTION up in a SELECT
function MoveOptionUp(select, option)
{
  if(select != null && option != null && option.index > 0)
  {
    var prevOption = select.options[option.index-1];
    prevOption.swapNode(option);
  }
}

// Moves an OPTION down in a SELECT
function MoveOptionDown(select, option)
{
  if(select != null && option != null && option.index < select.options.length-1)
  {
    var nextOption = select.options[option.index+1];
    nextOption.swapNode(option);
  }
}

// Moves the selected OPTION element from one SELECT to another SELECT
function MoveSelectedOption(source, destination)
{
  if(source != null && source.selectedIndex >= 0 && destination != null )    
  {    
    var selectedOption = source.options(source.selectedIndex);
  
    // Create new option
    var newOption = document.createElement("OPTION");
    destination.options.add(newOption);            
    newOption.innerText = selectedOption.innerText;
    newOption.value = selectedOption.value;
       
    // Remove original option
    source.options.remove(source.selectedIndex);
  }
}

// Get the selected value in a SELECT
function GetSelectedValue(select)
{
  if(select != null)
  {
    return select.options[select.selectedIndex].value;
  }
  return ""; 
}

// Returns a pipe separated list of the valus in a SELECT
function GetValuesInSelect(select)
{
  if(select != null)
  {
    var retval = "";
    for(var i = 0; i < select.options.length; i++)
    {
      retval += select.options[i].value + "|";
    }
    return retval;
  }
}

function GetQueryVariable(variable) 
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i = 0; i<vars.length; i++) 
  {
    var pair = vars[i].split("=");
    if (pair[0] == variable) 
    {
      return pair[1];
    }
  } 
  return "";
}

// Sets the value of a variable in the query string and returns the complete
// url and query string
function SetQueryStringVariable(query, variable, value)
{
  var retval = "";  
  if(query.length > 0)
  {
    if(query.indexOf(variable + "=") > -1)
    {
      var vars = query.split("&");            
      for(var i = 0; i < vars.length; i++) 
      {
        var pair = vars[i].split("=");
        if (pair[0] == variable)         
          retval += variable + "=" + value;
        else
          retval += vars[i];
        if(i + 1 < vars.length)
          retval += "&";
      }
    }
    else    
      retval += query + "&" + variable + "=" + value;    
  }
  else  
    retval = variable + "=" + value;
   
  return retval;
  
}

/////////////////////////////////////////////////
//  Activity calendar functions
/////////////////////////////////////////////////
function SetListMode()
{ 
  var sourceSelect = window.event.srcElement;
  var selectedListMode = sourceSelect.options(sourceSelect.selectedIndex).value
  var query = window.location.search.substring(1);
    
  query = SetQueryStringVariable(query, "listmode", selectedListMode)  
  
  if(selectedListMode == "nonapproved")  
    query = SetQueryStringVariable(query, "startdate", "")    
  
  location.href = location.href.split("?")[0] + "?" + query;
}

/////////////////////////////////////////////////
//  Misc functions
/////////////////////////////////////////////////
function RefreshHelpPage(refreshOpener)
{
  if(refreshOpener && window.parent.opener != null)   
    window.parent.opener.document.location.href = window.parent.opener.document.location.href ;
  RemoveCommandFromQS();
  window.parent.location = window.parent.location;
}

function ReloadNewsPage() {
  setTimeout(ReloadNewsPageTimer, 10000);
}

function ReloadNewsPageTimer() {
  document.location.reload();
}

function RemoveCommandFromQS()
{
  var cmdStartIdx = document.location.search.indexOf("command"); 

  // If there's a command in the query string, remove it
  if (cmdStartIdx > -1)
  {
    var cmdEndIdx = document.location.search.indexOf("&", cmdStartIdx);
    var commandstring;
    
    if(cmdEndIdx > -1)
      commandstring = document.location.search.substring(cmdStartIdx, cmdEndIdx);
    else
      commandstring = document.location.search.substring(cmdStartIdx);
    
    document.location.href = document.location.href.replace(commandstring, "");    
  } 
}


function PrintThisPage() 
{ 
   var sOption="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
       sOption+="scrollbars=yes,width=750,height=600,left=100,top=25"; 
   
   var winprint=window.open("/sitecore modules/Forms/fff.PrinterPage.aspx","",sOption); 
   winprint.focus(); 
}

function DeleteItem(sID)
{    
  var server = new Server("/sitecore/client/api/api.asmx", "http://sitecore.net/client/api/");
  server.Execute("DeleteItem", new Array("sItemList", sID))
  
  window.location.reload(false);
}


/////////////////////////////////////////////////
// Validation functions
/////////////////////////////////////////////////
function ValidateNewHelpItemName_Slash(source, arguments)
{ 
  if(arguments.Value.indexOf('/') == -1)
    arguments.IsValid = true;
  else
    arguments.IsValid = false;   
}

function ValidatePanelInput(inputs)
{
  for(var i = 0; i < inputs.length; i++)
  {
    if(inputs[i].value.trim() == "")
      return false;
  }
  return true;
}

/////////////////////////////////////////////////
// UpdateUserProfile functions
/////////////////////////////////////////////////
function UpdateUserProfile_EmailChange(emailListID, emailTextboxID) {
  var emailList = document.getElementById(emailListID);
  var emailText = document.getElementById(emailTextboxID);
  emailText.value = '';
  if (emailList.selectedIndex < emailList.options.length-1)
    emailText.style.display = "none";
  else
    emailText.style.display = "";
}

function UpdateUserProfile_ValidateEmail(emailTextboxID)
{
  var emailText = document.getElementById(emailTextboxID);

  if (emailText.value == '') {
    alert("Ugyldig e-mail adresse. Indtast venligst en korrekt e-mail adresse før der fortsættes");
    emailText.focus();
    return false;
  }
  return true;
}

/////////////////////////////////////////////////
// Search as you type functions
/////////////////////////////////////////////////
var Results;
var HTML;
var RegionsArr = new Array();
var DepartmentsArr = new Array();
var OldDepartmentsArr = new Array();
var OfficesArr = new Array();
function SearchAsYouType() {

  RegionsResults = 0;
  DepartmentsResults = 0;
  OldDepartmentsResults =  0;
  OfficesResults = 0;
  
  var DefaultTableHeader = "<table class=\"standard\" cellspacing=\"0\">" 
                + "<tr>"
                  + "<th>Navn</th>"
                  + "<th>Type</th>"
                + "</tr>";
  var RegionsHTML  = DefaultTableHeader;
  var DepartmentsHTML  = DefaultTableHeader;
  var OfficesHTML  = DefaultTableHeader;
  
  var OldDepartmentsHTML = "<table class=\"standard\" cellspacing=\"0\">" 
                + "<tr>"
                  + "<th>Navn</th>"
                  + "<th>Tidligere afdelinger</th>"
                + "</tr>";

  var resultGrid = document.getElementById('resultgrid');  
  var resultMessageDiv = document.getElementById('resultMessage');
  
  query = document.getElementById('searchBox').value;
  
  for (i=0; i< RegionsArr.length; i++) {
    if(query.length > 0){
      if (RegionsArr[i].SearchStr.toLowerCase().substr(0, query.length) == query.toLowerCase() || RegionsArr[i].SearchStr.toLowerCase().indexOf(query.toLowerCase()) > -1) {
        RegionsHTML += "<tr class=\"#LINECLASS#\"><td valign=\"top\" class=\"aleft\" style=\"width:270px\"><a href=\"#LINK#\">#NAME#</a>#ADDRESS#</td><td class=\"aleft\" style=\"width:265px\">Regionskontor</td></tr>".replace("#LINK", RegionsArr[i].Url).replace("#NAME#", RegionsArr[i].Name).replace("#ADDRESS#", RegionsArr[i].Address).replace("#LINECLASS#", (i % 2 == 1 ? "odd" : "even")) ;
        RegionsResults += 1;
      }
    }
  }  
  RegionsHTML += "</table>";
  
  for (i=0; i< DepartmentsArr.length; i++) {
    if(query.length > 0){
      if (DepartmentsArr[i].SearchStr.toLowerCase().substr(0, query.length) == query.toLowerCase() || DepartmentsArr[i].SearchStr.toLowerCase().indexOf(query.toLowerCase()) > -1) {
        DepartmentsHTML += "<tr class=\"#LINECLASS#\"><td valign=\"top\" class=\"aleft\" style=\"width:270px\"><a href=\"#LINK#\">#NAME#</a>#ADDRESS#</td><td class=\"aleft\" style=\"width:265px\">Afdelingskontor</td></tr>".replace("#LINK", DepartmentsArr[i].Url).replace("#NAME#", DepartmentsArr[i].Name).replace("#ADDRESS#", DepartmentsArr[i].Address).replace("#LINECLASS#", (DepartmentsResults % 2 == 1 ? "odd" : "even")) ;;
        DepartmentsResults += 1;
      }
    }
  }  
  DepartmentsHTML += "</table>";


  for (i=0; i< OldDepartmentsArr.length; i++) {
    if(query.length > 0){
      if (OldDepartmentsArr[i].SearchStr.toLowerCase().substr(0, query.length) == query.toLowerCase() || OldDepartmentsArr[i].SearchStr.toLowerCase().indexOf(query.toLowerCase()) > -1) {
        OldDepartmentsHTML += "<tr class=\"#LINECLASS#\"><td valign=\"top\" class=\"aleft\" style=\"width:270px\"><a href=\"#LINK#\">#NAME#</a>#ADDRESS#</td><td class=\"aleft\" style=\"width:265px\">#OLDNAME#</td></tr>".replace("#LINK", OldDepartmentsArr[i].Url).replace("#NAME#", OldDepartmentsArr[i].Name).replace("#ADDRESS#", OldDepartmentsArr[i].Address).replace("#LINECLASS#", (OldDepartmentsResults % 2 == 1 ? "odd" : "even")).replace("#OLDNAME#", OldDepartmentsArr[i].SearchStr.replace(/,/g, ",</br>") ) ;;
        OldDepartmentsResults += 1;
      }
    }
  }
  OldDepartmentsHTML += "</table>";

  
  for (i=0; i< OfficesArr.length; i++) {
    if(query.length > 0){
      if (OfficesArr[i].SearchStr.toLowerCase().substr(0, query.length) == query.toLowerCase() || OfficesArr[i].SearchStr.toLowerCase().indexOf(query.toLowerCase()) > -1) {
        OfficesHTML += "<tr class=\"#LINECLASS#\"><td valign=\"top\" class=\"aleft\" style=\"width:270px\"><a href=\"#LINK#\">#NAME#</a>#ADDRESS#</td><td class=\"aleft\" style=\"width:265px\">Service- eller satellitkontor</td></tr>".replace("#LINK", OfficesArr[i].Url).replace("#NAME#", OfficesArr[i].Name).replace("#ADDRESS#", OfficesArr[i].Address).replace("#LINECLASS#", (OfficesResults % 2 == 1 ? "odd" : "even")) ;;
        OfficesResults += 1;
      }
    }
  }      
  OfficesHTML += "</table>";
  
        
  resultMessageDiv.style.display = (RegionsResults == 0 && DepartmentsResults == 0 && OldDepartmentsResults == 0 && OfficesResults == 0 ? 'block' : 'none');
  resultGrid.style.display = (RegionsResults == 0 && DepartmentsResults == 0 && OldDepartmentsResults == 0 && OfficesResults == 0 ? 'none' : 'block');

  resultGrid.innerHTML = "";  
  resultGrid.innerHTML += (DepartmentsResults == 0 ? '' : DepartmentsHTML);
  resultGrid.innerHTML += (OldDepartmentsResults == 0 ? '' : OldDepartmentsHTML);
  resultGrid.innerHTML += (OfficesResults == 0 ? '' : OfficesHTML);
  resultGrid.innerHTML += (RegionsResults == 0 ? '' : RegionsHTML);
}

function Department(ID, Name, Address, Url, SearchStr) {
  this.ID    = ID
  this.Name  = Name
  this.Address  = Address
  this.Url  = Url
  this.SearchStr  = SearchStr
}


/////////////////////////////////////////////////
//  Web edit related
/////////////////////////////////////////////////
// Opens the Sitecore content window for editing of a item
function BeginEdit(sItemID) 
{
  var contentdot_win = null;
  var width = Math.min(820, screen.availWidth);
  var height = Math.min(550, screen.availHeight);
  
  var left = Math.floor((screen.availWidth-width)/2);
  var top = Math.floor((screen.availHeight-height)/2);

  contentdot_win = window.open("/sitecore/client/editors/content.aspx?path=" + sItemID, "contentdot_editor", "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + ",resizable=yes");
  contentdot_win.focus();

  // Make sure the command part of the QS is removed so that the refresh of the 
  // page caused by the Sitcore edit window, will not result in the edit window to pop up again
  // when the close button is pressed
  RemoveCommandFromQS();    
}


/////////////////////////////////////////////////
//  Document handling functions
/////////////////////////////////////////////////

// print selected documents
function printSelected()
{
	// printing only works in IE
	if(explorer()){
		this.printurl = (typeof(print_url) != "undefined" ? print_url : "/sitecore modules/util/printdocument/fff.PrintDocument.aspx");
		// if printurl exists
		if(this.printurl){
			// create post form
			this.printform = document.createElement('form');
			this.printform.id = "printform";
			this.printform.method = "post";
			this.printform.action = this.printurl;
			document.body.appendChild(this.printform);

			var legal_documents = 0;
			// find selected documents
			for(var i = 1; i < this.toolbar.datagrid.elements.length; i++){
				if ((this.toolbar.datagrid.elements[i].className.match(/selected/g)) &&
					  ((this.toolbar.datagrid.elements[i].getElementsByTagName("input")[0].style.visibility == 'visible') ||
					   (this.toolbar.datagrid.elements[i].getElementsByTagName("input")[0].style.visibility == ''))){

					var t = this.toolbar.datagrid.elements[i].getElementsByTagName("a").length;
					if (t > 0){				
						// Get Filename and url.
						// Always uses the last url found, since that is where document files are placed.
						var filename = this.toolbar.datagrid.elements[i].getElementsByTagName("a")[t-1].innerText;
						var url = this.toolbar.datagrid.elements[i].getElementsByTagName("a")[t-1].href;

						// The url field
						var inputfield = document.createElement('input');
						inputfield.name = "url" + ++legal_documents;
						inputfield.value = url;
						this.printform.appendChild(inputfield);
						// The filename field
						inputfield = document.createElement('input');
						inputfield.name = "filename" + legal_documents;
						inputfield.value = filename;
						this.printform.appendChild(inputfield);						
					}
				}
			}
			
			// submit form if selected documents can be printed
			if(legal_documents){
				popUp('','printwindow',false, (legal_documents*13 + 47));
				this.printform.target = 'printwindow';
				this.printform.submit();
			}
			// remove print form
			document.body.removeChild(this.printform);
		}else{
			alert("Print komponenten er ikke defineret")
		}
	}else{
		Page.Message.setTitle('PRINTING');
		Page.Message.setHeader('Printning via Active-X');
		Page.Message.addBodyText('Direkte printning af dokumenter er desv\u00e6rre ikke underst\u00f8ttet af din browser endnu.');
		Page.Message.open('error');
	} 
}


// save selected documents
function saveSelected()
{
	// saving multiple documents only works in IE
	if(explorer()){
		this.saveurl = (typeof(save_url) != "undefined" ? save_url : "/sitecore modules/util/printdocument/fff.SaveDocument.aspx");
		// if saveurl exists
		if(this.saveurl){
			// create post form
			this.saveform = document.createElement('form');
			this.saveform.id = "saveform";
			this.saveform.method = "post";
			this.saveform.action = this.saveurl;
			document.body.appendChild(this.saveform);

			var legal_documents = 0;
			// find selected documents
			for (var i = 1; i < this.toolbar.datagrid.elements.length; i++){
				if ((this.toolbar.datagrid.elements[i].className.match(/selected/g)) &&
					  ((this.toolbar.datagrid.elements[i].getElementsByTagName("input")[0].style.visibility == 'visible') ||
					   (this.toolbar.datagrid.elements[i].getElementsByTagName("input")[0].style.visibility == ''))){

					var t = this.toolbar.datagrid.elements[i].getElementsByTagName("a").length;
					if (t > 0){
					// Always uses the last url found, since that is where document files are placed.
					var url = this.toolbar.datagrid.elements[i].getElementsByTagName("a")[t-1].href;
					// is selected file legal?
						var inputfield = document.createElement('input');
						inputfield.name = "url" + ++legal_documents;
						inputfield.value = url;
						this.saveform.appendChild(inputfield);
					}
				}
			}
			// submit form if selected documents can be saved
			if(legal_documents){
				popUp('','savewindow',false, (legal_documents*13 + 47));
				this.saveform.target = 'savewindow';
				this.saveform.submit();
			}
			// remove save form
			document.body.removeChild(this.saveform);
		}else{
			alert("Save komponenten er ikke defineret")
		}
	}else{
		Page.Message.setTitle('SAVING');
		Page.Message.setHeader('Saving via Active-X');
		Page.Message.addBodyText('Direkte gemning af dokumenter er desv\u00e6rre ikke underst\u00f8ttet af din browser endnu.');
		Page.Message.open('error');
	}
} 


