var startMouseX;var startMouseY;var startIconX;var startIconY;var resizing=false;var draggingIcon=null;var toolTipTimeout;function initDesktop(){if(document.getElementById("foldable0")){document.getElementById("foldable0").onselectstart=function(){return false;};document.getElementById("slider").onmouseover=triggerResize;};};function loadDesktop(){if(document.getElementById("foldable0")==null){setStyle(document.getElementById("doublecolumn"),"display","none");}else if(document.getElementById("desktopform").showhelp.value=="yes"){fadeDesktop(false);var helpDiv=document.createElement("div");helpDiv.id="desktophelplink";helpDiv.innerHTML="<a href = \"\" onclick = \"javascript: removeDesktopHelpLink(); showDesktopHelp(); return false;\">Uitleg bureaublad</a><br/><br/><a href = \"\" onclick = \"javascript: removeDesktopHelpLink(); return false;\"/>Uitleg overslaan</a>";document.getElementById("desktop").insertBefore(helpDiv,document.getElementById("desktopfading"));var pos=findPos(document.getElementById("desktop"));var left=(document.getElementById("desktop").offsetWidth/2)-(helpDiv.offsetWidth/2);var top=(document.getElementById("desktop").offsetHeight/2)-(helpDiv.offsetHeight/2);setStyle(helpDiv,"margin",top+"px 0px 0px "+left+"px");}else{fadeDesktop(true);getData(0,desktopLoaded,"ajaxrequest.php?type=desktop");};};function desktopLoaded(targetId,responseText){document.getElementById("foldable"+targetId).innerHTML+=responseText;iconsEvent();getData(null,positionIcons,"ajaxrequest.php?type=icongetpositions");fadeDesktop();hoverablesEvent();};function toggleDesktopOptionMenu(e){e=getEvent(e);var element=getEventTarget(e);if(document.getElementById("dropdownmenu0")){if(element.id!="dropdownmenu0"){document.body.removeChild(document.getElementById("dropdownmenu0"));document.onmousedown=null;};}else{var elementPositions=findPos(element);var left=parseInt(elementPositions[0]);var top=parseInt(elementPositions[1]);var newDiv=document.createElement("div");newDiv.className="dropdownmenu";newDiv.id="dropdownmenu0";newDiv.innerHTML="<div class = \"dropdownmenutitle\">Opties</div>";newDiv.innerHTML+="<div class = \"dropdownmenuitem\" onmouseover = \"highlightElement(this, '#ECECEC');\" onmouseout = \"unHighlightElement(this);\" onmousedown = \"javascript: addIcon();\">Koppeling toevoegen</div>";newDiv.innerHTML+="<div class = \"dropdownmenuitem\" onmouseover = \"highlightElement(this, '#ECECEC');\" onmouseout = \"unHighlightElement(this);\" onmousedown = \"javascript: snapToGrid();\">Pictogrammen uitlijnen op raster</div>";newDiv.innerHTML+="<div class = \"dropdownmenuitem\" onmouseover = \"highlightElement(this, '#ECECEC');\" onmouseout = \"unHighlightElement(this);\" onmousedown = \"javascript: arrangeIcons();\">Bureaublad herschikken</div>";document.body.insertBefore(newDiv,document.body.firstChild);setStyle(newDiv,"left",left-(newDiv.offsetWidth/2));setStyle(newDiv,"top",top+element.offsetHeight+3);document.onmousedown=toggleDesktopOptionMenu;};};function toggleViewDesktop(){var element=document.getElementById("doublecolumn");if(getStyle(element,"display")=="none"){setStyle(element,"display","");var firstColumn=document.getElementById("column2");setStyle(firstColumn,"display","none");setStyle(firstColumn,"display","");getData(null,null,"ajaxrequest.php?type=desktopvisibility&visible=true");}else{setStyle(element,"display","none");getData(null,null,"ajaxrequest.php?type=desktopvisibility&visible=false");};};function fadeDesktop(showLoadingIcon){if(document.getElementById("desktopfading").innerHTML!=""){document.getElementById("desktopfading").innerHTML="";}else{var pos=document.getElementById("desktop").offsetHeight/2-(16/2);var width=document.getElementById("desktoptitle").offsetWidth;var height=document.getElementById("foldable0").offsetHeight+document.getElementById("desktoptitle").offsetHeight+document.getElementById("slider").offsetHeight;if(showLoadingIcon){document.getElementById("desktopfading").innerHTML="<div class = \"faded\" style = \"position: relative; left: 0px; top: 0px; width: "+width+"; height: "+height+"; text-align: center;\"><img src = \"images/load_bar.gif\" style = \"margin-top: "+pos+"px;\"></div>";}else{document.getElementById("desktopfading").innerHTML="<div class = \"faded\" style = \"position: relative; left: 0px; top: 0px; width: "+width+"; height: "+height+"; text-align: center;\"></div>";};};};function triggerResize(){setStyle(document.body,"cursor","s-resize");var element=document.getElementById("slider");element.onmousedown=initResize;element.onmouseout=finalizeResize;};function initResize(e){e=getEvent(e);var element=document.getElementById("slider");startMouseY=getMouseY(e);oldHeight=parseInt(getStyle(document.getElementById("foldable0"),"height"));resizing=true;document.onmousemove=resize;document.onmouseup=function(){resizing=false;finalizeResize();};window.onblur=function(){resizing=false;finalizeResize();};document.onselectstart=function(){return false;};return false;};function resize(e){e=getEvent(e);var element=document.getElementById("foldable0");var mouseY=getMouseY(e);var d=mouseY-startMouseY;startMouseY=mouseY;var height=parseInt(getStyle(element,"height"));if((height+d)>46){setStyle(element,"height",(height+d));};};function finalizeResize(){var element=document.getElementById("slider");element.onmousedown=null;element.onmouseout=null;if(resizing==false){setStyle(document.body,"cursor","default");setStyle(document.getElementById("foldable0"),"cursor","default");document.onmousemove=null;if(draggingIcon==null){document.onmouseup=null;};document.onselectstart=null;window.onblur=null;var newHeight=document.getElementById("foldable0").offsetHeight;if(newHeight!=oldHeight){getData(null,null,"ajaxrequest.php?type=savedesktopheight&height="+newHeight);};};};function initDragIcon(e){hideToolTip();e=getEvent(e);if(e.which){var mouseButton=e.which;}else{var mouseButton=e.button;};if(mouseButton==1){draggingIcon=getEventTarget(e);startMouseX=getMouseX(e);startMouseY=getMouseY(e);startIconX=getStyle(draggingIcon,"left");startIconY=getStyle(draggingIcon,"top");draggingIcon.onmouseout=null;highlightIcon("manual");setOpacity(draggingIcon,50);document.getElementById("foldable0").onmousemove=dragIcon;document.onmouseup=finalizeDragIcon;document.onselectstart=function(){return false;};window.onblur=finalizeDragIcon;};return false;};function dragIcon(e){e=getEvent(e);var mouseX=getMouseX(e);var mouseY=getMouseY(e);var dx=mouseX-startMouseX;var dy=mouseY-startMouseY;startMouseX=mouseX;startMouseY=mouseY;var left=(parseInt(getStyle(draggingIcon,"left"))+dx);var top=(parseInt(getStyle(draggingIcon,"top"))+dy);if(left+draggingIcon.offsetWidth<document.getElementById("foldable0").offsetWidth&&top+draggingIcon.offsetHeight<Math.max(document.getElementById("foldable0").scrollHeight,document.getElementById("foldable0").offsetHeight)&&left>=0&&top>=0){setStyle(draggingIcon,"left",left);setStyle(draggingIcon,"top",top);};return false;};function finalizeDragIcon(e){if(draggingIcon.id!="icon0"&&draggingIcon.className!="icondisable"){getData(null,null,"ajaxrequest.php?type=iconsaveposition&id="+replace(draggingIcon.id,"icon","")+"&left="+parseInt(getStyle(draggingIcon,"left"))+"&top="+parseInt(getStyle(draggingIcon,"top")));};document.getElementById("foldable0").onmousemove=null;document.onmouseup=null;document.getElementById("foldable0").onmouseout=null;document.onselectstart=null;draggingIcon.onmouseout=unHighlightIcon;unHighlightIcon("manual");setOpacity(draggingIcon,100);draggingIcon=null;window.onblur=null;};function iconsEvent(){var draggableIcons=document.getElementsByClassName("icon");for(var i=0;i<draggableIcons.length;i++){draggableIcons[i].onmouseover=highlightIcon;draggableIcons[i].onmouseout=unHighlightIcon;setStyle(draggableIcons[i],"cursor","pointer");draggableIcons[i].onmousedown=initDragIcon;if(draggableIcons[i].id=="icontrashcan"){draggableIcons[i].onmouseup=confirmDelete;setStyle(draggableIcons[i],"z-index",2);};};};function positionIcons(responseText){if(responseText!=""){var allproperties=responseText.split("\n");var newIcons=new Array();for(var i=0;i<allproperties.length;i++){var properties=allproperties[i].split(";");var left=parseInt(properties[1]);var top=parseInt(properties[2]);if(left==-1&&top==-1){newIcons[newIcons.length]=properties[0];};setStyle(document.getElementById("icon"+properties[0]),"left",left+"px");setStyle(document.getElementById("icon"+properties[0]),"top",top+"px");};var iconPositions="";for(var i=0;i<newIcons.length;i++){var iconId=newIcons[i];var pos=getFirstFreePosition();var left=pos[0];var top=pos[1];setStyle(document.getElementById("icon"+iconId),"left",left+"px");setStyle(document.getElementById("icon"+iconId),"top",top+"px");iconPositions+=iconId+","+left+","+top+";";};if(newIcons.length>0){getData(null,null,"ajaxrequest.php?type=savealliconpositions&icons="+iconPositions);};};};function addIcon(){var desktop=document.getElementById("foldable0");resizeElement(desktop,250);fadeDesktop(false);var formLeft=(findPos(document.getElementById("desktopfading"))[0]+document.getElementById("desktopfading").offsetWidth/2);var formTop=(findPos(document.getElementById("desktopfading"))[1]+document.getElementById("desktopfading").offsetHeight/2);var formWidth=250;var formId=0;var labels=new Array("Titel","Link");var fields=new Array("<input type = \"text\" name = \"title\" maxlength = \"100\" class = \"alertinput\"/>","<input type = \"text\" name = \"link\" maxlength = \"255\" class = \"alertinput\"/>");showCustomForm(formId,"Koppeling toevoegen","",labels,fields,formLeft,formTop,formWidth,"saveIcon("+formId+")","showCustomForm("+formId+")","showCustomForm("+formId+")");document.getElementById("alertform"+formId).title.focus();};function showIcon(formId,responseText){var responseMessage=responseText.replace("<!--0-->","");if(responseText!=responseMessage){responseArray=responseMessage.split(",");var id=responseArray[0];var title=responseArray[1];var link=responseArray[2];var iconurl=responseArray[3];var left=responseArray[4];var top=responseArray[5];createNewIcon(id,link,iconurl,title,left,top);showCustomForm(formId);}else{document.getElementById(formId+"message").innerHTML=responseMessage;};};function createNewIcon(id,link,iconurl,title,left,top){var newIcon=document.createElement("div");newIcon.className="icon";newIcon.id="icon"+id;newIcon.ondblclick=function(){window.open(link);};newIcon.innerHTML=title;setStyle(newIcon,"background-image","url('"+iconurl+"')");setStyle(newIcon,"left",left);setStyle(newIcon,"top",top);document.getElementById("foldable0").appendChild(newIcon);iconsEvent();};function saveIcon(formId){var fields=document.getElementById("alertform"+formId);var title=fields.title.value;var link=fields.link.value;var pos=getFirstFreePosition();var left=pos[0];var top=pos[1];getData(formId,showIcon,"ajaxrequest.php?type=addicon",new Array("title",title,"link",link,"left",left,"top",top));};function highlightIcon(e){if(e=="manual"){var element=draggingIcon;}else{e=getEvent(e);var element=getEventTarget(e);if(element.id!="icontrashcan"&&draggingIcon==null){var mouseX=getMouseX(e);var mouseY=getMouseY(e);toolTipTimeout=setTimeout(function(){showToolTip(mouseX,mouseY,element);},1000);};};if(element.id=="icontrashcan"&&draggingIcon!=null&&draggingIcon.id!="icontrashcan"){disableIcon(draggingIcon);};if(!isHighlighted(element)){element.className="iconhighlight";};};function showToolTip(mouseX,mouseY,targetElement){hideToolTip();var toolTipDiv=document.createElement("div");toolTipDiv.id="tooltip";toolTipDiv.innerHTML=targetElement.innerHTML;setStyle(toolTipDiv,"left",mouseX+"px");setStyle(toolTipDiv,"top",mouseY+10+"px");document.body.insertBefore(toolTipDiv,document.body.firstChild);};function hideToolTip(){try{clearTimeout(toolTipTimeout);document.body.removeChild(document.getElementById("tooltip"));}catch(e){};};function unHighlightIcon(e){hideToolTip();if(e=="manual"){var element=draggingIcon;}else{e=getEvent(e);var element=getEventTarget(e);};if(element.id=="icontrashcan"&&draggingIcon!=null&&draggingIcon.id!="icontrashcan"){enableIcon(draggingIcon);};if(isHighlighted(element)){element.className="icon";};};function disableIcon(element){element.className="icondisable";};function enableIcon(element){element.className="iconhighlight";};function snapToGrid(){var icons=document.getElementsByClassName("icon");if(icons.length<=0){return false;};var occupiedGridPositions=new Array();var iconPositions="";for(var i=0;i<icons.length;i++){var element=icons[i];var gridPosition=calculateNewGridPosition(element,occupiedGridPositions);setStyle(element,"left",gridPosition[0]);setStyle(element,"top",gridPosition[1]);var id=element.id.replace("icon","");if(id!="trashcan"){iconPositions+=id+","+gridPosition[0]+","+gridPosition[1]+";";};};getData(null,null,"ajaxrequest.php?type=savealliconpositions&icons="+iconPositions);};function snapVirtualToGrid(originLeft,originTop,width,height){var occupiedGridPositions=new Array();var left=originLeft;var top=originTop;var dLeft=0;var dTop=0;for(var i=0;i<4;i++){var gridPos=calculateNewGridPosition(null,new Array(),left,top,width,height);var newLeft=gridPos[0];var newTop=gridPos[1];if(originLeft>0){dLeft=newLeft-originLeft;};if(originTop>0){dTop=newTop-originTop;};if(dLeft>0){left=originLeft-(width/2);}else if(dLeft<0){left=originLeft+(width/2);};if(i%2!=0){if(dTop>0){top=top-(width/2);}else if(dTop<0){top=top+(width/2);};};occupiedGridPositions[occupiedGridPositions.length]=gridPos;if(gridPos==originLeft+","+originTop){break;};};return occupiedGridPositions;};function calculateNewGridPosition(element,occupiedGridPositions,left,top,width,height){if(element!=null){var width=Math.min(element.offsetWidth,parseInt(getStyle(element,"width")));var height=Math.max(element.offsetHeight,parseInt(getStyle(element,"height")));var left=parseInt(getStyle(element,"left"));var top=parseInt(getStyle(element,"top"));};width+=1;height+=1;var mostLeftGridPos=left-(left%width);var mostRightGridPos=mostLeftGridPos+width;var dLeftGridPos=left-mostLeftGridPos;var dRightGridPos=mostRightGridPos-left;var newLeftGridPos=(dLeftGridPos<dRightGridPos?mostLeftGridPos:mostRightGridPos);var mostTopGridPos=top-(top%height);var mostBottomGridPos=mostTopGridPos+height;var dTopGridPos=top-mostTopGridPos;var dBottomGridPos=mostBottomGridPos-top;var newTopGridPos=(dTopGridPos<dBottomGridPos?mostTopGridPos:mostBottomGridPos);if(mostRightGridPos+width>document.getElementById("foldable0").offsetWidth){newLeftGridPos=mostLeftGridPos;};while(gridPosTaken(occupiedGridPositions,newLeftGridPos,newTopGridPos)){newTopGridPos+=height;};occupiedGridPositions[occupiedGridPositions.length]=newLeftGridPos+","+newTopGridPos;return[newLeftGridPos,newTopGridPos];};function getGridPositions(width,height){var gridPositions=new Array();width+=1;height+=1;var left=0-width;var top=0;while(true){left+=width;if(left+width>document.getElementById("foldable0").offsetWidth){left=0;top+=height;};gridPositions[gridPositions.length]=left+","+top;if(top+height>Math.max(document.getElementById("foldable0").scrollHeight,document.getElementById("foldable0").offsetHeight)+1){top+=height;gridPositions[gridPositions.length]=left+","+top;break;};};return gridPositions;};function getFirstFreePosition(){var element=document.getElementById("icontrashcan");var width=Math.min(element.offsetWidth,parseInt(getStyle(element,"width")));var height=element.offsetHeight;var gridPositions=getGridPositions(width,height);var icons=document.getElementsByClassName("icon");var left=0;var top=0;var gridPositionsTaken=new Array();for(var i=0;i<icons.length;i++){left=parseInt(getStyle(icons[i],"left"));top=parseInt(getStyle(icons[i],"top"));gridPositionsTaken=snapVirtualToGrid(left,top,width,height);gridPositions.removeItems(gridPositionsTaken);};if(gridPositions.length>0){var pos=gridPositions[0].split(",");left=pos[0];top=pos[1];}else{left=0;top+=height+1;};return[left,top];};function gridPosTaken(occupiedGridPositions,left,top){var position=left+","+top;for(var i=0;i<occupiedGridPositions.length;i++){if(occupiedGridPositions[i]==position){return true;};};return false;};function arrangeIcons(){var icons=document.getElementsByClassName("icon");if(icons.length<=0){return false;};var width=Math.min(icons[0].offsetWidth,parseInt(getStyle(icons[0],"width")))+1;var height=icons[0].offsetHeight+1;var newLeft=0;var newTop=0;var iconPositions="";for(var i=0;i<icons.length;i++){var element=icons[i];setStyle(element,"left",newLeft);setStyle(element,"top",newTop);var id=element.id.replace("icon","");if(id!="trashcan"){iconPositions+=id+","+newLeft+","+newTop+";";};newLeft+=width;if(newLeft+width>document.getElementById("foldable0").offsetWidth){newLeft=0;newTop+=height;};};getData(null,null,"ajaxrequest.php?type=savealliconpositions&icons="+iconPositions);};function confirmDelete(e){var element=draggingIcon;if(element!=null&&element.id!="icontrashcan"){var elementId=element.id;fadeDesktop();var alertLeft=(findPos(document.getElementById("desktopfading"))[0]+document.getElementById("desktopfading").offsetWidth/2);var alertTop=(findPos(document.getElementById("desktopfading"))[1]+document.getElementById("desktopfading").offsetHeight/2);showCustomAlert("alert0","Verwijderen bevestigen","Weet u zeker dat u '"+element.innerHTML+"' wilt verwijderen?<br/>Deze actie kan niet ongedaan worden gemaakt.",alertLeft,alertTop,"deleteElement("+elementId+")","cancelDelete("+elementId+")","cancelDelete("+elementId+")");};};function deleteElement(element){showCustomAlert("alert0");fadeDesktop();document.getElementById("foldable0").removeChild(element);getData(null,null,"ajaxrequest.php?type=icondelete&id="+replace(element.id,"icon",""));};function cancelDelete(element){showCustomAlert("alert0");fadeDesktop();setStyle(element,"left",startIconX);setStyle(element,"top",startIconY);};function addNewIcons(responseText){var allIcons=responseText.split("\n");for(var i=0;i<allIcons.length;i++){var icon=allIcons[i].split(";;;");var iconid=icon[0];var iconurl=trim(icon[1]);if(iconurl==""){iconurl="images/rss_logo.gif";};var link=trim(icon[2]);var title=trim(icon[3]);var pos=getFirstFreePosition();var left=pos[0];var top=pos[1];createNewIcon(iconid,link,iconurl,title,left,top);getData(null,null,"ajaxrequest.php?type=iconsaveposition&id="+iconid+"&left="+left+"&top="+top);};fadeDesktop();};function removeDesktopHelpLink(){fadeDesktop(false);document.getElementById("desktop").removeChild(document.getElementById("desktophelplink"));getData(null,null,"ajaxrequest.php?type=desktophelp");fadeDesktop(true);try{setStyle(document.getElementById("icontrashcan"),"display","");}catch(e){};getData(0,desktopLoaded,"ajaxrequest.php?type=desktop");};function showDesktopHelp(){var title="Help - Toevoegen van een icoontje";var message="Hieronder volgt een uitleg voor het toevoegen van een icoontje aan uw bureaublad.<p class = \"header\">Stap 1: Open het optiemenu</p><p><img style = \"float: right\" src = \"images/add_icon_tut1.gif\"/>Ga met uw muis naar het kleine, naar beneden gerichte, pijltje rechts bovenin uw bureaublad. Klik op het pijltje en het optiemenu wordt geopend.</p><p class = \"header\">Stap 2: Kies \"Koppeling toevoegen\"</p><img style = \"float: right;\" src = \"images/add_icon_tut2.gif\"/>Ga met uw muis naar de optie \"Koppeling toevoegen\" en klik op deze optie.</p><p class = \"header\">Stap 3: Vul de gegevens voor uw koppeling in</p><p><img style = \"float: right\" src = \"images/add_icon_tut3.gif\"/>Vul de titel van het icoontje in en vul de link waar de koppeling naar moet verwijzen in.</p><p class = \"header\">Stap 4: Sla de koppeling op</p><p><img style = \"float: right\" src = \"images/add_icon_tut4.gif\"/>Ga met uw muis naar de \"Opslaan\"-knop en klik hierop. Uw icoontje wordt toegevoegd.</p><p class = \"header\">Stap 5: Gebruik uw nieuwe icoontje</p><p><img style = \"float: right\" src = \"images/add_icon_tut5.gif\"/>Er is een nieuw icoontje toegevoegd met de door u ingevoerde titel. Als u dubbelklikt op het icoontje wordt de door u ingevoerde link automatisch in een nieuw venster geopend.";showCustomPopup(title,message,"400px","600px",true);}
