//
// (c) 2000-2002 JAWA Management Software GmbH
//
// $Id: itk_js.js,v 1.30.2.12 2005/01/27 16:56:04 mzeman Exp $
//

var itk_browser_rueckgabewerte = new Array;
var itk_browser_rueckgabe;

var itk_formelement_ref = null;
var itk_zoom_fenster = null;

var itk_formelemente_refs = new Array;
var itk_rueckgabewerte = new Array;
var itk_fenster = null;


function itk_browser_rueckgabe_ermitteln(form_id, sep) {
    var werte;

    if (itk_browser_rueckgabe) {
        for (z=2; z < arguments.length; z++) {
            werte = '';
            if (typeof(itk_browser_rueckgabe) == 'object') {
            
                for (x=0; x < itk_browser_rueckgabe.length; x++) {
                    if (itk_browser_rueckgabe[x]) {
                        elemname = arguments[z] + '[' + x + ']';        
                        elem = document.forms[form_id].elements[elemname];
                        if (werte) werte = werte + sep;
                        werte = werte + elem.value;
                    }
                }
                
            } else {
                elemname = arguments[z] + '[' + itk_browser_rueckgabe + ']';        
                elem = document.forms[form_id].elements[elemname];
                werte = elem.value;
            }
            
            itk_browser_rueckgabewerte[z - 2] = werte;
            
        }
    }
}

function itk_browserfelder_verwerfen(form_id) { 

    for (k = 1; k < arguments.length; k++) {
        elemname = arguments[k];
        if (document.forms[form_id].elements[elemname])
            document.forms[form_id].elements[elemname].value = '';
    }

}

function itk_formelement_by_name(formelem_name) {
    formelem = null;

    for (i=0; i < document.forms.length; i++) {
        form_ref = document.forms[i];

        for (e=0; e < form_ref.elements.length; e++) {
            if(form_ref.elements[e].name == formelem_name) {
                formelem = form_ref.elements[e];
                break;
            }
        }

        if (formelem != null) break;
    }

    return formelem;
}

function itk_form_by_name(form_name) {

    for (i=0; i < document.forms.length; i++) {
        if (document.forms[i].name == form_name) return document.forms[i];
    }

    return null;
}

function itk_zoom_fenster_uebernehmen(formelement_ref) {

    if(itk_formelement_ref) {
        itk_formelement_ref.value = formelement_ref.value;
        res = itk_formelement_ref.name.search(/\[([0-9]+)\]$/);

        if (res != -1) {
            itk_tabelleneingabe_geaendert(itk_formelement_ref.form,RegExp.$1);
        }

        itk_zoom_fenster = null;
    }
}

function itk_tabelleneingabe_geaendert(form_ref, zeile_nr) {
    checkbox_ref = form_ref['itk_zeile_nr[]'][zeile_nr];

    if (checkbox_ref == null) {
        checkbox_ref = form_ref['itk_zeile_nr[]']
    };

    if (checkbox_ref) checkbox_ref.checked = true;
    checkbox_ref = null;
}

function itk_select_leeren(ref_select) {
    anz = ref_select.options.length;

    for(i = 0; i < anz; i++) {
        ref_select.options[0] = null;
    }

}

function itk_select_optionen_setzen(ref_select, optionsliste) {

    for(i = 0; i<optionsliste.length; i++) {
        neue_option = new Option(optionsliste[i]);
        ref_select.options[i] = neue_option;
    }

}

function itk_select_selektionen(ref_select) {
    var selektionen = new Array;
    k = 0;

    for(i=0; i < ref_select.options.length; i++) {
        if(ref_select.options[i].selected) {
            selektionen[k] = ref_select.options[i].text;
            k++;
        }
    }

    return selektionen;
}

function itk_select_selektieren(ref_select, wert) {

    for(i = 0; i < ref_select.options.length; i++) {

        if(ref_select.options[i].value == wert) {
            ref_select.selectedIndex = i;
        }

        if(ref_select.options[i].text == wert) {
            ref_select.selectedIndex = i;
        }

    }

}

//in array arguments can be also argument in order halign, valign, toolbar
function itk_fenster_oeffnen(titel, seite, e, breite, hoehe, resizeable, scrollbars, neu) {
	
    if (!resizeable) resizeable = "no";
    if (resizeable == "yes") {
        dependent = "no"
    } else {
        dependent = "yes";
    }
    halign = "center";
    valign = "center";
    toolbar = "no";
    status = "no";
    for (k = 7; k < arguments.length; k++) {
        if (k == 7) halign = arguments[k];
        if (k == 8) valign = arguments[k];
        if (k == 9) toolbar = arguments[k];
        if (k == 10) status = arguments[k];
    }
    if (toolbar != "yes") {
        toolbar = "no";
    }

    if (status != "yes") {
        status = "";      //In der Statusleiste wird dieser Wert im IE angezeigt war vorher no!!!!!!!
    }

	total_fullscr = (hoehe == -1 && breite == -1);
	relax_fullscr = (hoehe == 0 && breite == 0) ;
	
    if (hoehe == 0) {
        hoehe = screen.availHeight-30;
        oben = 0;
    } else if (hoehe < 0) {
        hoehe = screen.availHeight + hoehe;
        oben = Math.round((screen.availHeight - hoehe) / 2);
    } else {

        switch (valign) {
            case "top":
                oben = 0;
                break;
            case "bottom":
                oben = screen.availHeight - hoehe;
                break;
            default:
                oben = Math.round((screen.availHeight - hoehe) / 2 - 30);
        }

    }
    if (breite == 0) {
       breite = screen.availWidth-10;
       links = 0;
    } else if (breite < 0) {
        breite = screen.availWidth + breite;
        links = Math.round((screen.width - breite) / 2);
     } else {
       switch (halign) {
            case "left":
                links = 12;
                break;
            case "right":
                links = screen.width - breite - 12;
                if (links < 0) links = 0;
                break;
            case "center":
            default:
                 links = Math.round((screen.width - breite) / 2);
      }
    }

    if (!scrollbars) scrollbars = "no";
    var fenster_attr = "resizable=" + resizeable +
                       ",scrollbars=" + scrollbars +
                       ",dependent=" + dependent +
                       ",status=" + status +
                       ",toolbar=" + toolbar +
                       ",menubar=no" +
                       ",left=" + links +
                       ",top=" + oben +
                       ",width=" + breite + ",height=" + hoehe +
                       ",innerWidth=" + breite + ",innerHeight=" + hoehe ;

    z = 0;

    for (k=7; k < arguments.length; k++) {
        itk_formelemente_refs[z] = itk_formelement_by_name(arguments[k]);
        z++;
    }

    if (itk_fenster) 
        if (itk_fenster.closed) {
            itk_fenster = null;
        }

    if (itk_fenster && !neu) itk_fenster.close();
	
    if(total_fullscr){
    	if(total_fullscr) fenster_attr = "scrollbars=no, status=no, menubar = no, toolbar=no" ; 
   		itk_fenster = open(seite, titel, fenster_attr);
       	itk_fenster.moveTo(-4,-24) ;
		itk_fenster.resizeTo(screen.width + 8, screen.height + 28) ;
    } else if (relax_fullscr){
    	//fenster_attr = "scrollbars=yes, status=yes, menubar = yes, toolbar=yes" ; 
    	itk_fenster = open(seite, titel, fenster_attr);
		//itk_fenster.resizeTo(screen.availWidth, screen.availHeight) ;
    } else {
    	itk_fenster = open(seite, titel, fenster_attr);
    }
    
	return itk_fenster ;

}

function itk_zugriffslisten_oeffnen(titel, seite, zeile_nr, e, breite, hoehe, gruppen_acl, rollen_acl) {
    select_form_id = itk_formelement_by_name('objekt_id[' + zeile_nr + ']');
    link = seite + '?objekt_id=' + select_form_id.options[select_form_id.selectedIndex].value;
    itk_fenster_oeffnen(titel, link, e, breite, hoehe, "no", "no", gruppen_acl, rollen_acl);
}

function itk_fenster_schliessen(rueckgabewerte) {

    if(rueckgabewerte != null) {

        for(i = 0; i < rueckgabewerte.length; i++) {

            if (itk_formelemente_refs[i]) {
                if (arguments[1] == true) {
                    itk_formelemente_refs[i].value = itk_formelemente_refs[i].value + rueckgabewerte[i];
                } else {
                    itk_formelemente_refs[i].value = rueckgabewerte[i];
                }
                if (itk_formelemente_refs[i].onchange) itk_formelemente_refs[i].onchange();
                res = itk_formelemente_refs[i].name.search(/\[([0-9]+)\]$/);
                if (res != -1) {
                    itk_tabelleneingabe_geaendert(itk_formelemente_refs[i].form,RegExp.$1);
                }

            }

        }

    }

    itk_fenster = null;
}


function itk_fenster_schliessen_hinzufuegen(rueckgabewerte) {

    if(rueckgabewerte != null) {

        for(i = 0; i < rueckgabewerte.length; i++) {

            if (itk_formelemente_refs[i]) {
                itk_formelemente_refs[i].value = itk_formelemente_refs[i].value + rueckgabewerte[i];
                if (itk_formelemente_refs[i].onchange) itk_formelemente_refs[i].onchange();
                res = itk_formelemente_refs[i].name.search(/\[([0-9]+)\]$/);
                if (res != -1) {
                    itk_tabelleneingabe_geaendert(itk_formelemente_refs[i].form,RegExp.$1);
                }

            }

        }

    }
    itk_fenster = null;
}



function itk_setze_auswahlcheckboxen(f, checked, anzahl_angezeigt) {
    len = f.length;
    a = 1;
    for (i = 0; i < len; i++) if (f.elements[i].name == 'itk_zeile_nr[]') {
        if (a > anzahl_angezeigt) return;
        f.elements[i].checked = checked;
        a++;
    }
}

function itk_entzerre_email(obj) {
    maillink = obj.href.replace(/^.+#/, 'mailto:');
    obj.href = maillink.replace(/ at /, '@');
}

function itk_feldfilter(evnt, regex) {
    var theChar="", theRegExp=/[0-9,\010]/, bFound=false;
    
    if(document.all) {
        evnt=window.event;
        theChar=String.fromCharCode(evnt.keyCode);
        if(!evnt.shiftKey) theChar=theChar.toLowerCase();
        bFound=regex.test(theChar);
        evnt.returnValue=bFound;
    } else if (document.layers) {
        theChar=String.fromCharCode(evnt.which);
        bFound=regex.test(theChar)
    } else {
        theChar = String.fromCharCode(evnt.charCode);
        bFound = (evnt.keyCode!=0) || regex.test(theChar);
        evnt.cancelBubble=!bFound;
    }
    return bFound;
}

function resize_to(x,y) {
    if (y > 0) {
        height = y;
    } else {
        height = screen.availHeight-20;
    }
    if (x > 0) {
        width = x;
    } else {
        width = screen.availWidth;
    }
    window.resizeTo(width, height);
    return true;
}

function move_to(x,y) {
    window.moveTo(x, y);
    return true;
}

function itk_zoom_fenster_anzeigen(formelementname, e, style, bgcolor, img_pfad, links) {
	itk_formelement_ref = itk_formelement_by_name(formelementname);

    if (itk_zoom_fenster) if (itk_zoom_fenster.closed) {
    	itk_zoom_fenster = null;
    }

    if (!itk_zoom_fenster) {
		itk_zoom_fenster = itk_fenster_oeffnen(_('Zoom'), "", e, 530, 250);
		itk_zoom_fenster.document.open();
		itk_zoom_fenster.document.writeln('<html><head><title>' + _('Zoom') + '</title>');

		if (style) itk_zoom_fenster.document.writeln('<link rel="stylesheet" type="text/css" href="' + style + '">');
		itk_zoom_fenster.document.writeln('</head>');
		itk_zoom_fenster.document.writeln('<body bgcolor="' + bgcolor + '">');
		itk_zoom_fenster.document.writeln('<div align="center">');
		itk_zoom_fenster.document.writeln('<form name="dummy">');
		itk_zoom_fenster.document.writeln('<table><tr><td class="ffldi">');
		itk_zoom_fenster.document.writeln('<textarea name="itk_zoom_text" cols="60" rows="10" wrap="virtual">');
		itk_zoom_fenster.document.writeln('</textarea>');
		itk_zoom_fenster.document.writeln('</td></tr>');
		//mzeman: http://bug.bitmedia.cc/bug_view_advanced_page.php?bug_id=0007428
		//itk_zoom_fenster.document.writeln('<tr><td class="flbl"><input type="checkbox" name="chk_konvert_cr" value="1">' + _('Zeilenumbruch erhalten') + '</td></tr>');
		itk_zoom_fenster.document.writeln('</table>');
		itk_zoom_fenster.document.writeln('<table width="80%"><tr><td width="40%" align="left">');

    	if(links) {
			itk_zoom_fenster.document.writeln('<a class="aktion" href="" onClick="opener.itk_zoom_fenster_uebernehmen(document.dummy.itk_zoom_text); window.close();return false;"><img src="' + img_pfad + 'aktion_uebernehmen.gif" border="0">' + _('&Uuml;bernehmen') + '</a>');
    	  	itk_zoom_fenster.document.writeln('</td><td width="40%" align="right">');
			itk_zoom_fenster.document.writeln('<a class="aktion" href="" onClick="window.close();return false;"><img src="' + img_pfad + 'aktion_abbrechen.gif" border="0">' + _('Abbrechen') + '</a>');
	    } else {
			itk_zoom_fenster.document.writeln('<input type="submit" name="uebernehmen" value="' + _('&Uuml;bernehmen') + '" onClick="opener.itk_zoom_fenster_uebernehmen(this.form.itk_zoom_text); window.close();return false;">');
      		itk_zoom_fenster.document.writeln('</td><td width="40%" align="right">');
			itk_zoom_fenster.document.writeln('<input type="submit" name="abbrechen" value="' + _('Abbrechen') + '" onClick="window.close();return false;">');
    	}

   		itk_zoom_fenster.document.writeln('</td></tr></table>');
		itk_zoom_fenster.document.writeln('</form>');
		itk_zoom_fenster.document.writeln('</div>');
		itk_zoom_fenster.document.writeln('</body></html>');
		itk_zoom_fenster.document.close();

	}

    itk_zoom_fenster.document.dummy.itk_zoom_text.value = itk_formelement_ref.value;
	itk_zoom_fenster.focus();
	itk_zoom_fenster.document.dummy.itk_zoom_text.focus();
}

function itk_preview_fenster_oeffnen(content, titel, width, height, e, style, bgcolor, img_pfad, links) {
    if (itk_fenster) if (itk_fenster.closed) {
    	itk_fenster = null;
    }

    if (!itk_fenster) {
		itk_fenster = itk_fenster_oeffnen(titel, "", e, width, height, 1, 1);
		itk_fenster.document.open();
		itk_fenster.document.writeln('<html><head><title>' + titel + '</title>');

		if (style) itk_fenster.document.writeln('<link rel="stylesheet" type="text/css" href="' + style + '">');
		itk_fenster.document.writeln('</head>');
		itk_fenster.document.writeln('<body bgcolor="' + bgcolor + '">');
		itk_fenster.document.writeln('<div align="center">');
		itk_fenster.document.writeln('<form name="dummy">');

		itk_fenster.document.writeln('<table widht="100%"><tr><td>');

		itk_fenster.document.writeln(content);

		itk_fenster.document.writeln('</td></tr></table>');

		itk_fenster.document.writeln('<table align="center"><tr><td>');
    	if(links) {
			itk_fenster.document.writeln('<a class="aktion" href="" onClick="window.close();return false;"><img src="' + img_pfad + 'aktion_abbrechen.gif" border="0">' + _('Abbrechen') + '</a>');
	    } else {
			itk_fenster.document.writeln('<input type="submit" name="abbrechen" value="' + _('Abbrechen') + '" onClick="window.close();return false;">');
    	}

   		itk_fenster.document.writeln('</td></tr></table>');
		itk_fenster.document.writeln('</form>');
		itk_fenster.document.writeln('</div>');
		itk_fenster.document.writeln('</body></html>');
		itk_fenster.document.close();
	}

	itk_fenster.focus();
}

function itk_hilfe_fenster_anzeigen(url, ev) {
	itk_fenster_oeffnen(_('Hilfe'), url, ev, 800, 600, "yes", "yes");
	itk_fenster.focus();
}

function itk_verwische_feld(formelem_ref) {
	var str = '';
	for(i = 0; i < formelem_ref.value.length; i++) str += '*';
	formelem_ref.value = str;
}

