var draggingRow = false;
var sourceRow = null;
var drgCnt = null;

function startedDragging() {
    if((event.srcElement.tagName=='TD')||(event.srcElement.tagName=='IMG'))
    {
	    draggingRow = true;
	    sourceRow = event.srcElement;
	    sourceRow = sourceRow.tagName=='TD'?sourceRow.parentNode:sourceRow.parentNode.parentNode;
	    displayDrag();
	    drgCnt.innerHTML='<table><tr>'+sourceRow.innerHTML+'</tr></table>';
    }
}

function dragEnter(mzEvent) {
	 var ev = mzEvent ? mzEvent : (ie4||opera)? window.event : e;
    if (draggingRow) ev.returnValue = false;
}

function displayDrag() {
	if (!drgCnt) {
		drgCnt = getElem('dragcontents');
		drgCnt.thestyle = (ie4||ns6)? drgCnt.style : drgCnt;
	}
    if (draggingRow) {
		drgCnt.thestyle.visibility = "visible";
		drgCnt.thestyle.left=event.clientX-getElem('menu').offsetWidth;
		drgCnt.thestyle.top=event.clientY-20;
    }
    else {
		drgCnt.thestyle.visibility = (ie4||ns6)? "hidden" : "hide";
    }
}

function dragOver(mzEvent) {
    if (draggingRow) {
		var targetRow = event.srcElement;
		while (targetRow.parentNode != null && targetRow.tagName && targetRow.tagName.toLowerCase() != 'tr') targetRow = targetRow.parentNode;
		if(targetRow.className=='') targetRow.className = 'hldrag';
		window.event.returnValue = false;
    }
    displayDrag();
}

function dragLeave(mzEvent) {
    if (draggingRow) {
		var targetRow = event.srcElement;
		while (targetRow.parentNode != null && targetRow.tagName && targetRow.tagName.toLowerCase() != 'tr') targetRow = targetRow.parentNode;
		if(targetRow.className!='') targetRow.className = '';
    }
    displayDrag();
}

function dropped() {
    if (draggingRow) {
		targetRow = event.srcElement;
		while (targetRow.parentNode != null && targetRow.tagName && targetRow.tagName.toLowerCase() != 'tr') targetRow = targetRow.parentNode;
		targetRow.className = '';
		targetRow.insertAdjacentElement('BeforeBegin',sourceRow);
		draggingRow = false;
    }
    displayDrag();
	
	//Update volgorde van muziek:
	var iList = getElem('edPlayList'); iList.value=',';
	var Rows = getElem('MusicTable').tBodies[0].getElementsByTagName('TR');
	for(var iRows=0; iRows<Rows.length; iRows++) iList.value+=Rows[iRows].getAttribute('MusicID')+',';
}

function DateAdd(startDate, numDays) {
	var returnDate = new Date(startDate.getTime());
	returnDate.setTime(returnDate.getTime()+60000*60*24*numDays);
	return returnDate;
}

function SetUitzendTijd() { 
	var ProgDate = new Date();
	var edTijd = getElem('edTijd');
	var index = getElem('cbProgramma').value;
	if (index > 0)
	{
	  edTijd.value = getElem('cbProgramma').options[index].getAttribute("tijd");
	  var dagvdw = parseInt(getElem('cbProgramma').options[index].getAttribute("dag"));
	  ProgDate = DateAdd(ProgDate, (ProgDate.getDay()<(dagvdw+4) && (ProgDate.getDay()>=dagvdw)) ? -(ProgDate.getDay() - dagvdw) : (dagvdw - ProgDate.getDay()));
    }
    else
    {
	  edTijd.value = '';
    }
    getElem('cbUitzendWeekDag').value = ProgDate.getDay()+1;
	getElem('cbUitzendDag').value = ProgDate.getDate();
	getElem('cbUitzendMaand').value = ProgDate.getMonth()+1;
	getElem('cbUitzendJaar').value = ProgDate.getFullYear();
    return 0;
}

function SetDayName() { 
    if ((getElem('cbUitzendDag').value!='-1') & (getElem('cbUitzendMaand').value!='-1') & (getElem('cbUitzendJaar').value!='-1')) { 
      var ProgDate = new Date(parseInt(getElem('cbUitzendJaar').value),
	                          parseInt(getElem('cbUitzendMaand').value)-1,
							  parseInt(getElem('cbUitzendDag').value));
      getElem('cbUitzendWeekDag').value = ProgDate.getDay()+1;
    return 0; }
}

function AddUser(sControl) {
    var Members = getElem('cbMedewerkers');
    if (Members.value>0) {
	  var EditControl = getElem('ed' + sControl);
      var ListControl = getElem('cb' + sControl);

      var found=false
	  for (var i=0; i<ListControl.options.length; i++) {
        if (ListControl.options[i].text == Members.options[Members.selectedIndex].text) {
		  found=true
		  break;
		}
      }
      if (found==false) {
  	    if (EditControl.value=='') EditControl.value = ','
	    EditControl.value = EditControl.value + Members.value + ',';
	    var myNewOption = new Option(Members.options[Members.selectedIndex].text, Members.options[Members.selectedIndex].value);
        ListControl.options[ListControl.options.length] = myNewOption;
	  }
	}
}

function DelUser(sControl) {
    var EditControl = getElem('ed' + sControl);
    var ListControl = getElem('cb' + sControl);
	
	for(var i=(ListControl.options.length-1); i>0; i--) {
      if ((ListControl.options[i]!=null) && (ListControl.options[i].selected==true)) ListControl.options[i] = null;
    }  
  	
	EditControl.value=(ListControl.options.length>1)?',':'';
	for (var i=1; i<ListControl.options.length; i++) {
	  EditControl.value=EditControl.value+ListControl.options[i].value+','
    }    
}
  
function RestoreUserList(sControl) {
    var EditControl = getElem('ed' + sControl);
    var ListControl = getElem('cb' + sControl);
    var Members = getElem('cbMedewerkers');

	for (var i=1; i<Members.options.length; i++) {
	  if (EditControl.value.indexOf(','+Members.options[i].value+',')>-1) {
	    var myNewOption = new Option(Members.options[i].text, Members.options[i].value);
        ListControl.options[ListControl.options.length] = myNewOption;
	  }
    }    
}

function ProgDelItem(mzEvent,id) {
  var eRow = mzEvent.target ? mzEvent.target : (ie4||opera)?eRow=event.srcElement : eRow=e.currentTarget;
  while (eRow.parentNode != null && eRow.tagName && eRow.tagName.toLowerCase() != 'tr') { eRow = eRow.parentNode; };
	eRow.parentNode.removeChild(eRow);
	var iList = getElem('edProgrammaItems');
	iList.value=iList.value.replace(','+id+',',',');
}
function AddAgendaItem(id, Row) {
	var iTable = getElem('ItemTable');
	nRow = iTable.insertRow(iTable.tBodies.length>0 ? iTable.tBodies[0].getElementsByTagName('TR').length : 0);
	if(nRow) {
		nRow.insertCell(0).innerHTML = Row.childNodes[0].innerHTML;
		nRow.insertCell(1).innerHTML = Row.childNodes[1].innerHTML;
		nRow.insertCell(2).innerHTML = Row.childNodes[2].innerHTML;
		nRow.insertCell(3).innerHTML = '<a href="javascript:void(0);"><img src="images/minus.gif" onclick="ProgDelItem(event,'+id+');" alt="Item verwijderen" width="10" height="10" border="0"></a>';
	}
	var iList = getElem('edProgrammaItems');
	if(iList.value=='') iList.value+=','; iList.value+=id+','
}

function LZ(x) { return (x<0||x>=10?"":"0") + x }
function UpdateMusicTime() {
	var iTable = getElem('MusicTable');
	var Rows = iTable.tBodies.length>0 ? iTable.tBodies[0].getElementsByTagName('TR').length : 0;
	var iTime = 0;
	for(var iRows=0; iRows<Rows.length; iRows++){
		if((Rows[iRows].childNodes[5].innerText!='')&&(Rows[iRows].childNodes[5].innerText!='-')) {
			iTime += (parseInt(Rows[iRows].childNodes[5].innerText.substr(0,2))*60)+parseInt(Rows[iRows].childNodes[5].innerText.substr(3,2));
		}
	}
	
	iTable.tFoot.childNodes[0].childNodes[5].innerText = LZ((iTime-(iTime%60))/60)+':'+LZ(iTime%60)
}
function ProgDelMusic(id) {
	var eRow=event.srcElement;
    while (eRow.parentNode != null && eRow.tagName && eRow.tagName.toLowerCase() != 'tr') { eRow = eRow.parentNode; };
	eRow.parentElement.removeChild(eRow);
	var iList = getElem('edPlayList');
	iList.value=iList.value.replace(','+id+',',',');
	UpdateMusicTime();
}
function ProgAddMusic(id, Row) {
	var iTable = getElem('MusicTable');
	if(iTable.getElementsByTagName('TR').length==0){
		var trh = iTable.createTHead().insertRow(0);
		trh.insertCell(0).innerHTML = '&nbsp;';
		trh.insertCell(1).innerHTML = 'Artiest';
		trh.insertCell(2).innerHTML = 'Track';
		trh.insertCell(3).innerHTML = '&nbsp;';
		trh.insertCell(4).innerHTML = 'Album';
		trh.insertCell(5).innerHTML = 'Duur';
		trh.insertCell(6).innerHTML = '&nbsp;';
		var trf = iTable.createTFoot().insertRow(iTable.tBodies.length>0 ? iTable.tBodies[0].getElementsByTagName('TR').length : 0);
		trf.insertCell(0);trf.insertCell(1);trf.insertCell(2);trf.insertCell(3);trf.insertCell(4).innerText='Totaal:';
		trf.insertCell(5).innerText='-';trf.insertCell(6);
	}
	
	nRow = iTable.insertRow(iTable.tBodies.length>0 ? iTable.tBodies[0].getElementsByTagName('TR').length : 0);
	nRow.setAttribute('MusicID', id);
	
	if((document.all) && nRow)
	{
		nRow.attachEvent('ondragenter',dragEnter(0));
		nRow.attachEvent('ondragover',dragOver(0));
		nRow.attachEvent('ondragleave',dragLeave(0));
	}
	else
	{
		nRow.setAttribute("ondragenter", "dragEnter(event)");
		nRow.setAttribute("ondragover", "dragOver(event)");
		nRow.setAttribute("ondragleave", "dragLeave(event)");
	}
	
	if(nRow) {
		nRow.insertCell(0).innerHTML = '<img src="images/move.gif" width="10" height="10" >';
		nRow.insertCell(1).innerHTML = Row.childNodes[0].innerHTML;
		nRow.insertCell(2).innerHTML = Row.childNodes[1].innerHTML;
		nRow.insertCell(3).innerHTML = Row.childNodes[2].innerHTML;
		nRow.insertCell(4).innerHTML = Row.childNodes[3].innerHTML;
		nRow.insertCell(5).innerHTML = Row.childNodes[4].innerHTML;
		nRow.insertCell(6).innerHTML = '<a href="javascript:void(0);"><img src="images/minus.gif" onclick="ProgDelMusic('+id+');" alt="Item verwijderen" width="10" height="10" border="0"></a>';
	}
	var iList = getElem('edPlayList');
	if(iList.value=='') iList.value+=','; iList.value+=id+','
	UpdateMusicTime();
}

function ConfirmFragmentDel() {
	return confirm('Weet u zeker dat u dit fragment wilt verwijderen?');
}
function ProgAddFragment(id,sNaam,sOmschrijving,sDuur) {
	var iTable = getElem('FragmentTable');
	nRow = iTable.insertRow(iTable.rows.length);
	if(nRow) {
		var UitzDate = getElem('cbUitzendJaar').value+(getElem('cbUitzendMaand').value<10?'0':'')+getElem('cbUitzendMaand').value+(getElem('cbUitzendDag').value<10?'0':'')+getElem('cbUitzendDag').value;
		var progID = getElem('ProgID').value;
		var cell;
		cell=nRow.insertCell(0); cell.innerHTML = '<a href="javascript:void(0);" onclick="javascript:ShowListenDialog(\'fragment\',\''+UitzDate+'/'+sNaam+'\');"><img src="images/nolisten.gif" width="10" height="10" border="0"></a>';
		cell.setAttribute('width', 88);
		nRow.insertCell(1).innerHTML = sOmschrijving;
		nRow.insertCell(2).innerHTML = sDuur;
		nRow.insertCell(3).innerHTML = '0 x beluisterd';
		cell=nRow.insertCell(4); cell.innerHTML = '<a href="programma.asp?action=modfragment&id='+id+'"><img src="images/edit.gif" alt="Fragment bewerken" width="10" height="10" border="0"></a>&nbsp;'+
													'<a href="programma.asp?action=delfragment&id='+id+'&pid='+progID+'" onclick="return ConfirmFragmentDel();"><img src="images/delete.gif" alt="Fragment verwijderen" width="10" height="10" border="0"></a>';
		cell.setAttribute('width', 13);
	}
}
