/*
(c) 16/12/2008 Evertjan
Alle eventhandlers
*/

/* wanneer pagina is geladen volgende javascript uitvoeren */
var oLArray = new Array();

/* hier aan de onloadarray toevoegen */
function oLAdd(add) {
    oLArray[oLArray.length] = add;   
}

window.onload = function() {onLoadDo();} /* onload alle onload functies uitvoeren */
window.onerror = function() {writeError();} /* errors automatisch melden */

// selecteer alle divs
function allDivs() {
    alldivs = document.getElementById("middlemiddle").getElementsByTagName("div");
    alldivslength = alldivs.length;
}
// selecteer alle tables
function alltables() {
    alltables = document.getElementById("middlemiddle").getElementsByTagName("table");
    alltableslength = alltables.length;
    
    // contenteditable uit voor tabellen
        for(i=0;i<alltableslength;i++) {
            alltables[i].contentEditable = "false";   
        }
}

/* deze functie doorloopt de onloadarray en voert alle onloads uit */
function onLoadDo() {
    // object referenties altijd als eerste doen, let op variabelen global
    allMenu = document.getElementById('menu').getElementsByTagName('div');
    allMenuLength = allMenu.length;
    
    // hier worden alle functies uitgevoerd een voor een
    for (var i in oLArray) {
        eval(oLArray[i]);
    }
    alltables();
}

/* deze functie laat een bepaald submenu zien en verbergt de anderen */
function showSM(sm) {
    
    for (var i=0;i<allMenuLength;i++) {
        var classsub = allMenu[i].className;
        
        if (classsub == "submenuitem") {
            //alert(allMenu[i].clientHeight);
            allMenu[i].setAttribute("height", allMenu[i].clientHeight);
            allMenu[i].style.display = "none";   
        }
    }
    if (sm != "" && sm != null) {
        document.getElementById('sm' + sm).style.display = "block";
    }
}

/* hier code om nieuwskolom te kunnen bewerken */
function setEditable() {
     allDivs();
     if (alldivs) {
     for (var i=0;i<alldivslength;i++) {
        if (alldivs[i].className == "newsheader" || alldivs[i].className == "newsbody") {
                 alldivs[i].contentEditable='true';
         } 
     }
     }
}
/* hier code om bewerken nieuwskolom tegen te gaan */
function deleteEditable() {
    allDivs(); 
    if (alldivs) {
         for (var i=0;i<alldivslength;i++) {
            if (alldivs[i].className == "newsheader" || alldivs[i].className == "newsbody") {
                 // Verwijder alle contenteditables
                     alldivs[i].contentEditable='false';
             } 
         }
     }
}

// delete lightbox
/*
function disableLightBox() {
    allDivs();
    if (alldivs) {
        for (var i=0;i<alldivslength;i++) {
            if (alldivs[i].className.substr(0,4) == "gall") {
                allimgindiv = alldivs[i].getElementsByTagName("img");
                allimgindivlength = allimgindiv.length;
                for (j=0;j<allimgindivlength;j++) {
                    allimgindiv[j].onclick = null;
                }
            }
        }
    }
}
*/

/* Drag and drop menuitems 
function dragNDrop() {
    
    function moveItem(object) {
            object.style.left = "100px";  
    }
    
    for (i=0;i<allMenuLength;i++) {
        allMenu[i].onmousedown = function() {moveItem(this)};  
        allMenu[i].onmouseup = function() {alert("hoera! Drag and drop in aanmaak!")}
    }
}
*/
/* Deze functie geeft alle nieuwsdivjes binnen texteditors een contextmenu */ 
function newsEdit() {
    allDivs();
    /* images binnen texteditor */
    var thisnewsid = "";
    
    //allimages = allimages1.concat(allimages2);
    for (var i=0;i<alldivslength;i++) {
        // id geven aan de betreffene foto
        
        if (alldivs[i].id.substr(0,4) == "news" || alldivs[i].id.substr(0,4) == "cont" || alldivs[i].id.substr(0,4) == "addr" || alldivs[i].id.substr(0,4) == "embe" || alldivs[i].id.substr(0,4) == "gall") {
            /* zorgen dat bij het klikken op nieuwskolom er contextmenu komt */
            alldivs[i].contenteditable = 'false';
            
            if (alldivs[i].addEventListener) {
                alldivs[i].addEventListener("dblclick", function(event) {stopProp(event);thisdivid = this.id; elementSettings(thisdivid,this);}, false);  
            } else if (alldivs[i].attachEvent) {
                //alldivs[i].attachEvent("click",function() {elementSettings(thisimgid,this)});
            }
        }
        
    }
}
/* Deze functie geeft alle images binnen texteditors een contextmenu */ 
function imgSetEdit() {
    var allembed = document.getElementsByTagName("object");
    allembedlength = allembed.length;
    for (i=0;i<allembedlength;i++) {
        allembed[i].ondblclick = function () {objectid= this.parentNode.id; elementSettings(objectid,this)}  
    }
    // images binnen texteditor //
    var thisimgid = "";
   
    x = document.getElementById("middlemiddle");
    x.onpaste = function() {textChanged();}
    x.onmousedown = function() {showDiv('editor');}
    var allimages = x.getElementsByTagName("img");
    
    //allimages = allimages1.concat(allimages2);
    var allimglength = allimages.length;
    for (var i=0;i<allimglength;i++) {
        
        // zorgen dat bij het klikken op afbeelding er contextmenu komt //
        // tijdelijke toevoeging, in oudere versies werd id niet goed meegegeven. wanneer geen id alsnog id geven. kan er op den duur uit.
        if (allimages[i].id == "undefined") {
            var uniqueid = Math.ceil(Math.random() * 100000);
            allimages[i].id = "img" + uniqueid;
        }
        allimages[i].ondblclick = function (event) {stopProp(event);thisimgid = this.id; elementSettings(thisimgid,this);if (event != null) {event.preventDefault();/* dit laatste om te voorkomen dat slepen afbeelding kopieert*/}}
        allimages[i].unselectable = "on"; 
        allimages[i].contentEditable = false;
        allimages[i].setAttribute("contentEditable", "false");
    }
}

// functie om afbeelding te verwijderen
function imgDDRemove() {
    var imgloc = document.getElementById("imgdropdown");
                if (imgloc) {
                    imgloc.parentNode.removeChild(imgloc);
                    textChanged();
                }
            }

/* eerst kijken of thumbnails bestaat */
function imgReplace() {
    if (document.getElementById("thumbnails")) {
        var all_anchor = document.getElementById("thumbnails").getElementsByTagName("a");
        for (var i = 0; i <all_anchor.length;i++) {
            
            all_anchor[i].onclick = function() {
                var source = this.firstChild.getAttribute("src").replace("tn/", "");
                document.getElementById("prominent").setAttribute("src", source);
                document.getElementById("imagetitle").innerHTML = source;
                //document.getElementById("prominent").setAttribute("onclick", function() {afbInvoeg(source);});
                cancelTools();
                return false;
            }
            //all_anchor[i].setAttribute("ondblclick", "var source = this.firstChild.getAttribute('src').replace('tn/', '');afbInvoeg(source);textChanged();return false;");
        }
    }
}

/* Focus op 1ste invoerveld bij onload moet nog geimplementeerd worden */
function focusFirst() {
var inputall = document.getElementsByTagName("input");
var inputalllength = inputall.length;
    for (var i=0;i<inputalllength;i++) {
        if (inputall[i].type == "text") {
            inputall[i].focus();
        }
    }
}

/* automatisch opslaan voor sessie einde van 15 minuten */
function saveTimer() {    
    setTimeout(function() {saveChanges();}, 900000);
}
// algemene eventhandlers
function general() {
    
    var allanchor = document.getElementById("middlemiddle").getElementsByTagName("a");
    anchorlength = allanchor.length;
    for (i=0;i<anchorlength;i++) {
        allanchor[i].contentEditable = false;
    }
}

/* functie die een alert geeft met de melding van de opgetreden javascript fout */
function writeError() {
    //alert("Er is een fout opgetreden: \n" + arguments[0] + "\n" + arguments[1] + "\n" + arguments[2] + "\nFout is verzonden naar beheerder. U hoeft niets te doen.");
}
function ee() {
    var eeanswer = prompt("May the force be with", "...");
    if (eeanswer == "you") {
        var eediv = document.createElement("div");
        var eeimg = document.createElement("img");
        var eepar = document.createElement("p");
        eediv.setAttribute("class", "ee");
        eediv.setAttribute("id", "eediv");
        eediv.setAttribute("onclick", "document.getElementById('eediv').style.display = 'none'");
        eepar.innerHTML = "-/- Niets is onmogelijk -/-";
        eeimg.setAttribute("src", "cms/icons/ee.jpeg");
        eediv.appendChild(eeimg);
        eediv.appendChild(eepar);
        document.body.appendChild(eediv);
    }
    else {
        return false;   
    }
}