function MM_swapImgRestore() {
    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_preloadImages() {
    var d = document;
    if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length,
            a = MM_preloadImages.arguments;
        for (i = 0; i < a.length; i++)
        if (a[i].indexOf("#") != 0) {
            d.MM_p[j] = new Image;
            d.MM_p[j++].src = a[i];
        }
    }
}

function MM_findObj(n, d) {
    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 && document.getElementById) x = document.getElementById(n);
    return x;
}

function MM_swapImage() {
    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];
    }
}

function confirmLink(theLink, theMessage) {
    var is_confirmed = confirm(theMessage);
    if (is_confirmed) {
        theLink.href += '&is_js_confirmed=1';
    }
    return is_confirmed;
}

function change_visibility(nr) {
    if (document.layers) {
        current = (document.layers[nr].display == 'none') ? 'block' : 'none';
        document.layers[nr].display = current;
    }
    else if (document.all) {
        if (document.all[nr]) {
            current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
            document.all[nr].style.display = current;
        }
    }
    else if (document.getElementById) {
        visibility_status = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
        document.getElementById(nr).style.display = visibility_status;
    }
}

function charsLimit(charsToCount, CountField, Limit) {
    if (charsToCount.value.length > Limit) {
        charsToCount.value = charsToCount.value.substring(0, Limit);
    }
    else {
        CountField.value = Limit - charsToCount.value.length;
    }
}

function openpopup(popurl) {
    var winpops = window.open(popurl, "", "width=639,height=500,scrollbars,resizable")
}

function openpopup_frontend(popurl) {
    var winpops = window.open(popurl, "", "width=639,height=650,scrollbars,resizable")
}

function ajaxRead(file, tag) {
    file = file + '&ajax=1';
    var xmlObj = null;
    if (window.XMLHttpRequest) {
        xmlObj = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        return;
    }
    xmlObj.onreadystatechange = function () {
        if (xmlObj.readyState == 4) {
            if (tag != '' && tag != 'dummy') {
                document.getElementById(tag).innerHTML = xmlObj.responseText;
            }
        }
    }
    xmlObj.open('GET', file, true);
    xmlObj.send('');
}

function ajaxPost(url, parameters, elementid) {
    var xmlObj = null;
    if (window.XMLHttpRequest) {
        xmlObj = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        return;
    }
    xmlObj.onreadystatechange = function () {
        if (xmlObj.readyState == 4) {
            if (elementid != '' && elementid != 'dummy') {
                document.getElementById(elementid).innerHTML = xmlObj.responseText;
            }
        }
    }
    xmlObj.open('POST', url, true);
    xmlObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlObj.setRequestHeader("Content-length", parameters.length);
    xmlObj.setRequestHeader("Connection", "close");
    xmlObj.send(parameters);
}

function getNextSibling(startBrother) {
    endBrother = startBrother.nextSibling;
    while (endBrother.nodeType != 1) {
        endBrother = endBrother.nextSibling;
    }
    return endBrother;
}

function getPreviousSibling(startBrother) {
    endBrother = startBrother.previousSibling;
    while (endBrother.nodeType != 1) {
        endBrother = endBrother.previousSibling;
    }
    return endBrother;
}

function delete_media(object, media_id) {
    string = location.href;
    var first = string.indexOf("&");
    var linkje = string.substring(0, first);
    var answer = confirm("Bestand verwijderen?");
    if (answer) {
        document.getElementById(media_id).style.display = 'none';
        ajaxRead(string + '&action=delete_media&media_id=' + object.value, 'dummy');
    } else {
        object.checked = false;
    }
}

function delete_child_media(object, media_id) {
    string = location.href;
    var first = string.indexOf("&");
    var linkje = string.substring(0, first);
    var answer = confirm("Bestand verwijderen?");
    if (answer) {
        document.getElementById(media_id).style.display = 'none';
        ajaxRead(linkje + '&action=delete_child_media&media_id=' + object.value, 'dummy');
    } else {
        object.checked = false;
    }
}
var counter = 0;

function new_upload_image_field(parent) {
    _new_upload_field(parent, 'image');
}

function new_upload_field(parent) {
    _new_upload_field(parent, 'media');
}

function _new_upload_field(parent, type) {
    counter++;
    var firstChild_div = (navigator.appName == "Microsoft Internet Explorer") ? parent.firstChild.firstChild : parent.firstChild.nextSibling.firstChild.nextSibling;
    var insert_child_before = parent.lastChild.previousSibling;
    var new_div = document.createElement('div');
    new_div.id = "copy" + counter;
    new_div.innerHTML = firstChild_div.nextSibling.nextSibling.innerHTML + "<input type='button' onClick = 'remove_upload_field(this.parentNode.parentNode,this.parentNode);' value='Verwijder veld' class='form small' style='height: 22px;' />";
    var len = new_div.childNodes.length;
    for (var i = 0; i < len; i++) {
        if (new_div.childNodes[i].type == "file") {
            new_div.childNodes[i].name = type + "_files[" + counter + "_copy]";
        }
        if (new_div.childNodes[i].id == type + "_name_field") {
            new_div.childNodes[i].value = "";
            new_div.childNodes[i].name = type + "_name[" + counter + "_copy]";
        }
    }
    parent.insertBefore(new_div, insert_child_before);
}

function remove_upload_field(parent, object) {
    parent.removeChild(object);
}
var baseopacity = 60

function slowhigh(which2) {
    imgobj = which2
    browserdetect = which2.filters ? "ie" : typeof which2.style.MozOpacity == "string" ? "mozilla" : ""
    instantset(baseopacity)
    highlighting = setInterval("gradualfade(imgobj)", 50)
}

function slowlow(which2) {
    cleartimer()
    instantset(baseopacity)
}

function instantset(degree) {
    if (browserdetect == "mozilla") imgobj.style.MozOpacity = degree / 100
    else if (browserdetect == "ie") imgobj.filters.alpha.opacity = degree
}

function cleartimer() {
    if (window.highlighting) clearInterval(highlighting)
}

function gradualfade(cur2) {
    if (browserdetect == "mozilla" && cur2.style.MozOpacity < 1) cur2.style.MozOpacity = Math.min(parseFloat(cur2.style.MozOpacity) + 0.1, 0.99)
    else if (browserdetect == "ie" && cur2.filters.alpha.opacity < 100) cur2.filters.alpha.opacity += 10
    else if (window.highlighting) clearInterval(highlighting)
}

function show_picture(object, media_id) {
    if (navigator.appName == "Microsoft Internet Explorer") {
        var first_element = object.firstChild;
        var second_element = document.getElementById('head_image').firstChild;
    } else {
        var first_element = object.firstChild.nextSibling;
        var second_element = document.getElementById('head_image').firstChild.nextSibling;
    }
    var first_src = first_element.src;
    var second_src = second_element.src;
    first_src = first_src.replace("thumbnail_", "");
    second_src = second_src.replace("products/", "products/thumbnail_");
    first_element.src = second_src;
    second_element.src = first_src;
}

function loadjscssfile(filename, filetype) {
    if (filetype == "js") {
        var fileref = document.createElement('script')
        fileref.setAttribute("type", "text/javascript")
        fileref.setAttribute("src", filename)
    }
    else if (filetype == "css") {
        var fileref = document.createElement("link")
        fileref.setAttribute("rel", "stylesheet")
        fileref.setAttribute("type", "text/css")
        fileref.setAttribute("href", filename)
    }
    if (typeof fileref != "undefined") {
        document.getElementsByTagName("head")[0].appendChild(fileref);
    }
}
var filesadded = ""

function checkloadjscssfile(filename, filetype) {
    if (filesadded.indexOf("[" + filename + "]") == -1) {
        loadjscssfile(filename, filetype)
        filesadded += "[" + filename + "]"
    } else {}
}

function stripslashes(str) {
    str = str.replace(/\\'/g, '\'');
    str = str.replace(/\\"/g, '"');
    str = str.replace(/\\0/g, '\0');
    str = str.replace(/\\\\/g, '\\');
    return str;
}


function custom_confirm(confirm_title, confirm_text, callback_url, callback_function)
{
	dhtmlx.confirm({title:confirm_title, text:confirm_text, callback: function(result){
		if(result == true)
	   {
			if(callback_url != '')
			{
				window.location = callback_url;
			}
			
			if(callback_function != '')
			{
				eval(callback_function);
			}
		}
	}});
}

function custom_alert(alert_title, alert_text)
{
	dhtmlx.alert({title:alert_title, text:alert_text});
}
