/*******************************************************************
MP030608: Sulautetun ylläpitoliittymän js.
Samassa tiedostossa emoikkunan ja admin-popuppien funktiot.
*******************************************************************/


/*******************************************************************
MP191108: Verkkokauppa -> order
Laskutuskenttien näyttö billing_as_delivery-valikon perusteella.
*******************************************************************/

function toggleBillingFields(selectElem,toggleElem) {

var chosenValue = document.getElementById(selectElem).value;

if (chosenValue == 0) {
  document.getElementById(toggleElem).style.display = 'block';
  } 

else {
  document.getElementById(toggleElem).style.display = 'none';
  } 

}


/*******************************************************************
MP120908: Mätsätään fileuplaodilla valitun tiedoston tyyppi
annettua patternia vastaan. Jos tyyppi on oikea, näytetään
tiedoston nimi inputin alla (teemaeditori).
Käytössä teemaeditorissa ja sovellusastuksissa kuvatiedostojen
yhteydessä. Funktiota kutsutaan file upload-elementin onchange:ssa.
Asetuksissa ja teemaeditorissa on hivenen erilaiset fileinputit.
Tämän vuoksi else-haarassa tyhjennetään pari eri elementtiä.
Nehän voisi tietysti ehdollistaa jollain kutsussa saatavalla muuttujalla.
MP210109: Ajatus kopsattu -> texteditor_filebank.js 
*******************************************************************/

function testFileType(uploadElement,fileTypes,filenameContainer ) {

var fileName = document.getElementById(uploadElement).value;
//Tiputetaan polku pois tiedoston nimestä teemaeditorissa näyttöä varten
var fileNameShort = fileName.replace(/^.*(\\|\/)(.*)$/,"$2");

if (!fileName) return;

dots = fileName.split(".") //"e:/hakemisto/kuva","JPG"
fileType = dots[dots.length-1].toLowerCase(); //"jpg"

if (fileTypes.join(".").indexOf(fileType) != -1) {
   document.getElementById(filenameContainer).innerHTML = '<div style="padding:4px 0;"><small>Valittu tiedosto: ' + fileNameShort + '</small></div>';
 }
 else {
   alert("Valitun tiedoston tyyppi on '" + fileType + "'.\nSallitut tiedostotyypit ovat " + (fileTypes.join(", ")) + ".\nOle hyvä ja valitse toinen tiedosto.");
   document.getElementById(filenameContainer).innerHTML = '';
   document.getElementById(uploadElement).value = '';
 }

}




/*******************************************************************
MP100908: Funktio, jolla piilotetaan inserterin 
ilmoituslaatikko, kun avataan toinen tabi tallennuksen
jälkeen. 
Funktiossa kohteena oleva elementti määritellään tuolla:
cui/eui/inc_admin/macros.inc -> message_layout
MP180509: jqueryksi
*******************************************************************/

function hideInserterMsg() {
 msgElement = $('#admin-operation-msg');
  if (msgElement) { msgElement.hide(); }
}



/*******************************************************************
MP030608: Asetusten tallennuslomakkeen tabien avaaminen/sulkeminen
Käytössä sovellusasetuksissa ja teemaeditorissa. 
Kts. cui/eui/inc_admin/wizard.inc
MP110908: Sovellusasetuksissa käytössä jquery-tabs,
tämä edelleen teemaeditorissa.
*******************************************************************/

var currentDiv = "";

function toggleList(theDiv,saveTab,titleClassName,titleClassName2) {

var CurrentTab = document.getElementById('tab_' + currentDiv);
var CurrentTitle = document.getElementById('title_' + currentDiv);

var tab = document.getElementById('tab_' + theDiv);
var title = document.getElementById('title_' + theDiv);

var savedTab = document.getElementById('tab_' + saveTab);
var savedTitle = document.getElementById('title_' + saveTab);


  if (!currentDiv) {
	tab.style.display = 'block';
	title.className = titleClassName2;

    if (savedTab) {

	savedTab.style.display = 'none';
	savedTitle.className = titleClassName;

     }
  }

  else  {
	tab.style.display = 'block';
	title.className = titleClassName2;
	CurrentTab.style.display = 'none';
	CurrentTitle.className = titleClassName;
  }
    
currentDiv = theDiv;

}



/*******************************************************************
MP030608: Teeman esikatselusivun maskaus. Käytännössä venytetään
div koko sivun sisällön päälle.
*******************************************************************/

function maskBody(elem_id){
document.getElementById(elem_id).style.height = document.body.scrollHeight +'px';
}



/*******************************************************************
MP200409: Ylläpitopaneelien näyttäminen/piilottaminen, jQuery.
Käytössä: Emoikkunan toolbar, teemaeditori, yp-popuppien sivunavi
*******************************************************************/

$(document).ready(function() {

  $('.adminBarTrigger').click(function(e) {

    var targetBar = $(this).attr('rel');

    $(this).toggleClass('hide');
    $('#'+targetBar).toggleClass('visible');

  });

});


/*******************************************************************
MP250608: Teemaeditori: Esikatselussa olevan tabin avaaminen
onload:ssa.
*******************************************************************/

function openSavedTab(saveTab,titleClassName2) {
 
	var savedTab = document.getElementById('tab_' + saveTab);
	var savedTitle = document.getElementById('title_' + saveTab);

	savedTab.style.display = 'block';
	savedTitle.className = titleClassName2;

}


/*******************************************************************
MP250608: Confirm-dialogi linkin avaamiseen.
Käytössä (mm.?) teemaeditorin lopetuspainikkeessa.
*******************************************************************/

function goConfirm(title, link){

 if(confirm(title) == true){
  top.location.href = link;
  return true;
  } 
 else {
  return false;
 }
}
