var login = {};

login.focus = function(dummy, targetId){
    dummy.style.display = 'none';
    
    var target = document.getElementById(targetId);
    
    if (target != undefined) {
        target.style.display = 'inline';
        target.focus();
    }
};

login.blur = function(target, dummyId){
    if (target.value == '') {
        target.style.display = 'none';
        
        var dummy = document.getElementById(dummyId);
        
        if (dummy != undefined) {
            dummy.style.display = 'inline';
        }
    }
};

function initEditor(textAreaId, isAdmin) {
	if (typeof(CKEDITOR) != "undefined") {
		var instance = CKEDITOR.instances[textAreaId];
		
		if (typeof(instance) != "undefined") {
			CKEDITOR.remove(instance);
		}
		
		if (isAdmin) {
			CKEDITOR.replace(textAreaId);
		} else {
			CKEDITOR.replace(textAreaId, {toolbar : [ ['Undo','Redo','-','Cut','Copy','Paste','PasteText','PasteFromWord','-','Bold','Italic','Underline','Strike','-','Subscript','Superscript','-','Link'], ['NumberedList','BulletedList','-','Table','HorizontalRule','SpecialChar'],'/',['Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','Link','Unlink','Anchor'], ['Find','Replace','-','SelectAll','RemoveFormat'], ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'], ['Maximize']]});
		}
	}
}

function fillForm(textAreaId) {
	var el = document.getElementById(textAreaId);
	
	if (typeof(el) != "undefined") {
		var instance = CKEDITOR.instances[textAreaId];
		
		if (typeof(instance) != "undefined") {
			var isIE = false;
			
			if (navigator.appVersion.indexOf("MSIE") != -1) {
				isIE = true;
			}

			if (isIE) {
				el.innerText = instance.getData();
			} else {
				el.innerHTML = instance.getData();
			}
			
		}
	}
}

function track(page, action) {
	if (typeof(_gaq) != "undefined") {
		_gaq.push(['_trackEvent', page, action]);
	}
}

function loadUserRights(obj){
    if (typeof(obj) != "undefined") {
        var userId = obj.options[obj.selectedIndex].value;
        
        xajax.call("loadRights", {
            parameters: [userId]
        });
    }
}

function initPage(){
    var form = document.forms['formDAO'];
    
    if (typeof(form) != "undefined") {
        for (i = 0; i < form.elements.length; i++) {
            var elem = form.elements[i];
            
            if ((elem.type == 'checkbox')) {
				
            }
        }
    }
}

function enableField(obj, targetId) {
	var el = document.getElementById(targetId);
	
	if (typeof(el) != "undefined") {
		if (obj.checked == 1) {
			el.readOnly = false;
		} else {
			el.readOnly = true;
		}
	}
}

function deleteElements(pageId, moduleId) {
    if (confirmDelete()) {
    	var form = xajax.getFormValues('formDAO');
    			
    	xajax.call("delete", {
            parameters: [pageId, moduleId, form]
        });
    }
}

function changeUser(method) {
	if (confirmAction("Willst%20du%20wirklich%20die%20ausgew%E4hlten%20Benutzer%20%E4ndern%3F")) {
		var form = xajax.getFormValues('formDAO');
				
		xajax.call(method, {
	        parameters: [form]
	    });
	}
}

function deletePageElements() {
	if (confirmDelete()) {
        var form = xajax.getFormValues('formDAO');
                
        xajax.call("deleteElements", {
            parameters: [form]
        });
    }
}

function deleteModules(pageId) {
    if (confirmDelete()) {
        var form = xajax.getFormValues('formDAO');
                
        xajax.call("deleteModules", {
            parameters: [pageId, form]
        });
    }
}

function hideModules(pageId) {
    if (confirmAction("Willst%20du%20wirklich%20die%20ausgew%E4hlten%20Elemente%20unsichtbar%20machen%3F")) {
        var form = xajax.getFormValues('formDAO');
                
        xajax.call("hideModules", {
            parameters: [pageId, form]
        });
    }
}

function unhideModules(pageId) {
    var form = xajax.getFormValues('formDAO');
            
    xajax.call("unhideModules", {
        parameters: [pageId, form]
    });
}

function confirmDelete() {
	return confirmAction("Willst%20du%20wirklich%20die%20ausgew%E4hlten%20Elemente%20l%F6schen%3F");
}

function confirmAction(txt) {
	return confirm(unescape(txt));
}

function reload(){
	reloadNavigation();
	xajax.call("loadPage", {
        parameters: [1]
    });
}

function reloadNavigation() {
    xajax.call("reload")
}

function selectPage(obj){
    if (typeof(obj) != "undefined") {
        var checked = obj.checked;
        var form = document.forms['formDAO'];
        
        if (typeof(form) != "undefined") {
            var id = obj.id;
            
            // special case for select all
            if (obj.id != 'page') {
                id = id + '_';
            }
            
            for (i = 0; i < form.elements.length; i++) {
                var elem = form.elements[i];
                
                if ((elem.type == 'checkbox') && (elem.id.indexOf(id) != -1)) {
                    elem.checked = checked;
                }
            }
        }
    }
}

function checkPage(obj, pageId){
    if (typeof(obj) != "undefined") {
        var elem = document.getElementById(pageId);
        
        if (typeof(elem) != "undefined") {
            if (elem.type == 'checkbox') {
                elem.checked = allModulesChecked(elem.id);
            }
        }
    }
}

function allModulesChecked(id){
    id = id + '_';
    
    var form = document.forms['formDAO'];
    var allChecked = true;
    
    if (typeof(form) != "undefined") {
        for (i = 0; i < form.elements.length; i++) {
            var elem = form.elements[i];
            
            if ((elem.type == 'checkbox') && (elem.id.indexOf(id) != -1)) {
                allChecked = elem.checked;
                
                if (!allChecked) {
                    return allChecked;
                }
            }
        }
        
        return allChecked;
    }
    
    return false;
}

function showQuery(query){
    if (query) {
        xajax.call("executeQuery", {
            parameters: [query]
        });
    }
}

function confirmSuccess(){
    alert("Bilder erfolgreich in Datenbank eingetragen - die Gallerie ist jetzt sichtbar!");
}

function setVisible(pageId, pageGroupId){
    document.getElementById(pageId).style.visibility = "visible";
    
    if (typeof(pageGroupId) != "undefined") {
        document.getElementById(pageGroupId).style.display = "block";
    }
}

function setHidden(pageId, pageGroupId){
    document.getElementById(pageId).style.visibility = "hidden";
    
    if (typeof(pageGroupId) != "undefined") {
        document.getElementById(pageGroupId).style.display = "none";
    }
}

// ==============================================
// ALTE FUNKTIONEN

function addOption(){
    var optionsArea = document.getElementById('optionsArea');
    
    if (optionsArea) {
        var maxOptionId = parseInt(optionsArea.lastChild.id.substr(6)) + 1;
        
        var newInput = document.createElement('input');
        
        newInput.setAttribute('type', 'text');
        newInput.setAttribute('name', 'option' + maxOptionId);
        newInput.setAttribute('id', 'option' + maxOptionId);
        newInput.setAttribute('size', '75');
        newInput.setAttribute('maxlength', '250');
        
        optionsArea.appendChild(newInput);
        
        document.getElementById('optionsCount').value = parseInt(document.getElementById('optionsCount').value) +
        1;
    }
}

function removeOption(){
    var optionsArea = document.getElementById('optionsArea');
    
    if (optionsArea) {
        if (parseInt(optionsArea.lastChild.id.substr(6)) > 1) {
            optionsArea.removeChild(optionsArea.lastChild);
            
            document.getElementById('optionsCount').value = parseInt(document.getElementById('optionsCount').value) -
            1;
        }
    }
}

function displayElement(id){
    document.getElementById(id).style.display = "block";
}

function hideElement(id){
    document.getElementById(id).style.display = "none"
}

