/* version 1.3

   

   - history :

   1.3 : neue function cxg_frametausch_top(...)

         neue function cxg_frametausch_parent(...)

   1.2 : neue function cxg_stat(...)

   1.1 : neue function cxg_image_stat(...)

   

*/



/** generelle javascript-routinen  (c) 2000 code-x gmbh  alle 

rechte vorbehalten **/



/********************/

/** BROWSERPR†FUNG **/

/********************/



/** aufruf: cxg_msie() **/

/** ???   : prueft den browser **/

/**         rueckgabe true wenn explorer, ansonsten false **/



function cxg_msie()

{

  code = navigator.appName;

  return(code.indexOf("Microsoft")!=-1);

};



/*****************/

/** ZUFALLSZAHL **/

/*****************/



/** aufruf: cxg_random(max) **/

/** ???   : gibt eine zufallszahl zwischen 0 und max-1 zurŸck **/

/**         max := maximal-wert+1 **/



function cxg_rnd(max)



{

  return(Math.floor(Math.random()*max));

};



/********************/

/** BILD ERSTELLEN **/

/********************/



/** aufruf: cxg_newimage(source) **/

/** ???   : erstellt ein objekt image **/

/**         source  := relativer pfad des bildes zur datei,

                       aus der die funktion aufgerufen wird **/



function cxg_newimage(source)

{

  rt = new Image;

  rt.src = source;

  return(rt);

};





/**********************/

/** BILD AUSTAUSCHEN **/

/**********************/



/** aufruf: cxg_image(welches,womit) **/

/** ???   : setzt die src eines images-objektes gleich eines anderen **/

/**         welches  := name des objektes das geaendert werden soll

            womit    := name des objektes das die neue src enthaelt **/



function cxg_image(welches,womit)

{

	if(document.images[welches])

		tausch = document.images[welches];

	else

	{

		if(cxg_msie())

		{

		}else

		{

			for(lala=0;lala<document.layers.length;lala++)

			  if(document.layers[lala].document.images[welches]) tausch = document.layers[lala].document.images[welches];

		};

	};

if(tausch)tausch.src = eval(womit).src;

};





/**************************************/

/** BILD AUSTAUSCHEN MIT STATUSZEILE **/

/**************************************/



/** aufruf: cxg_image_stat(welches,womit,text) **/

/** ???   : setzt die src eines images-objektes gleich eines anderen und **/

/**         schreibt einen text in die statuszeile **/

/**         welches  := name des objektes das geaendert werden soll

            womit    := name des objektes das die neue src enthaelt 

            text     := text der in der statuszeile erscheinen soll **/



function cxg_image_stat(welches,womit,text)

{

    document.images[welches].src = eval(womit).src;

    window.status = text;

};





/*****************/

/** STATUSZEILE **/

/*****************/



/** aufruf: cxg_stat(text) **/

/** ???   : schreibt einen text in die statuszeile **/

/**         text     := text der in der statuszeile erscheinen soll **/



function cxg_stat(text)

{

    window.status = text;

};





/********************/

/** FENSTER …FFNEN **/

/********************/



/** aufruf: cxg_remote(adr,ziel,w,h,roll) **/

/** ???   : šffnet ein neues fenster **/

/**         adr  := url, die in das neue fenster geladen werden soll

            ziel := ein EINDEUTIGER name fuer das neue fenster

          				  dieser name darf nicht gleich mit dem eines anderen objektes - egal welchen

						w,h  := breite und hoehe des neuen fensters

						roll := 'yes', wenn rollbalken mšglich sein sollen, ansonsten leer oder 'no' **/



function cxg_remote(adr,ziel,w,h,roll)

{

cx_win = window.open(adr,ziel,"width="+w+",height="+h+",toolbar=no,status=no,scrollbars="+roll+",scrolling="+roll);

};





/************************************************/

/** FRAMES TAUSCHEN IN DER OBERSTEN HIERARCHIE **/

/************************************************/



/** aufruf: cxg_frametausch_top(welchen,waqs_rein) **/

/** ???   : tauscht frames in der obersten hierarchie**/

/**         welchen  := der frame, der ersetzt werden soll

            was_rein := welches dokument reingeladen werden soll (in "")**/



function cxg_frametausch_top(welchen,was_rein)

{

  top.frames[welchen].location.href = was_rein;

};



/*************************************/

/** FRAMES TAUSCHEN IM ELTERN FRAME **/

/*************************************/



/** aufruf: cxg_frametausch_parent(welchen,waqs_rein) **/

/** ???   : tauscht frames im eltern frame**/

/**         welchen  := der frame, der ersetzt werden soll

            was_rein := welches dokument reingeladen werden soll (in "")**/



function cxg_frametausch_parent(welchen,was_rein)

{

  parent.frames[welchen].location.href = was_rein;

};

function RadioNull (radiobuttons)
{
	for (c=0; c<radiobuttons.length; c++)
		if (radiobuttons[c].checked)  return (false);
	return (true);
}

function ganzzahl (zahl, leer_ok)
{
	if ((zahl == "") && (leer_ok == false)) return (false);
	for (i=0; i<zahl.length; i++)
		if ((zahl.charAt(i)<"0") || (zahl.charAt(i)>"9"))
			return (false);
	return (true);
}

function check_datum(datum)
{
	dauer = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
	//pruefen ob leer
	
	if (datum == "") return ("");
	
	// pruefen ob vorne punkt
	if (datum.indexOf (".") == 0) return ("");
	// pruefen ob doppel-punkt
	if (datum.indexOf ("..")  != -1 )  return ("");
	//pruefen ob punkte
	if (datum.charAt(datum.length-1) !=".")
		hintenpunkt = false;
	else
		hintenpunkt = true;
	// punkte zaehlen
	teildatum = datum.split (".");	
	punkte = teildatum.length - 1;
	if (punkte > 2) return ("");
	if (punkte < 0) return ("");
	jetzt = new Date();
	aktjahr = jetzt.getYear();
	if (aktjahr < 1000) aktjahr +=1900;
	aktmonat = jetzt.getMonth();
	// pruefen ob 2 punkte
	if (punkte == 2)
	{
		eingtag = teildatum[0];
		eingmonat = teildatum[1];
		if (hintenpunkt)
			eingjahr = aktjahr + "";
		else
			eingjahr = teildatum[2]; 
	}
	// pruefen ob 1 punkte
	if (punkte == 1)
	{
		eingtag = teildatum[0];
		if (hintenpunkt)
			eingmonat = ""+(aktmonat +1);
		else
			eingmonat = teildatum[1];
		eingjahr = aktjahr + "";
	}
	// pruefen ob 0 punkt
	if (punkte == 0)
	{
		eingtag = teildatum[0];
		eingmonat = ""+(aktmonat+1);
		eingjahr = aktjahr + "";
	}
	//pruefen auf numerisch		
	
	if (!ganzzahl (eingtag, false)) return ("");
	if (!ganzzahl (eingmonat, false)) return ("");
	if (!ganzzahl (eingjahr, false)) return ("");
	eingtag = 1*eingtag;
	eingmonat = 1*eingmonat;
	eingjahr = 1*eingjahr;
	
	// pruefen des jahres auf jahrtausend
	if(eingjahr<1000)
		eingjahr += 2000;	 
	// pruefen des monats auf gültigkeit
 
	if ((eingmonat>12) || (eingmonat<1)) 
		return ("");
	
	// pruefen des tags auf gültigkeit
	if (eingjahr % 4 == 0)
		if ((eingjahr  % 100 != 0) || (eingjahr % 400 == 0))
 			dauer[1] = 29;
	if ((eingtag < 1) || (eingtag > dauer[eingmonat-1]))
		return ("");
	
	return (eingtag + "." + eingmonat + "." + eingjahr);
}

function check_zeit(zeit)
{
	minute = "00";
	//punkt durch doppelpunkt ersetzen
	teilzeit1 = zeit.split (".");	
	komplzeit = teilzeit1.join(":");
	zeit = komplzeit;
	
	// pruefen ob vorne punkt
	if (zeit.indexOf (":") == 0) return ("");
	
	//pruefen ob punkte
	if (zeit.charAt(zeit.length-1) ==":")
		hintenpunkt = true;
	else
		hintenpunkt = false;
	// punkte zaehlen
	teilzeit = zeit.split (":");	
	punkte = teilzeit.length - 1;
	if (teilzeit.length == 2)
	{
		stellen = teilzeit[1];
		if (stellen != "")
		{
			if (stellen.length != 2) return ("");
		}
	}
	if (punkte > 1) return ("");
	if (punkte < 0) return ("");
	// pruefen ob 1 punkte
	if (punkte == 1)
	{
		eingstunde = teilzeit[0];
		if (hintenpunkt)
			eingminute = minute;
		else
			eingminute = teilzeit[1];
	}
	// pruefen ob 0 punkt
	if (punkte == 0)
	{
		eingstunde = teilzeit[0];
		eingminute = minute;
	}
	//pruefen auf numerisch		
	if (!ganzzahl (eingstunde, false)) return ("");
	if (!ganzzahl (eingminute, false)) return ("");
	eingstunde = 1*eingstunde;
	eingminute = eingminute;
	// pruefen der stunde auf gültigkeit
 
	if ((eingstunde>23) || (eingstunde<0)) 
		return ("");
	
	// pruefen der minute auf gültigkeit
 
	if ((eingminute>59) || (eingminute<0)) 
		return ("");
	
	return (eingstunde + ":" + eingminute);
}