
// $Revision$ 1.0
/*
======================================================================================
Firma:            Voith Turbo
Projekt:          ALADIN Programm-Hilfe
Dateiname:        help.js
Beschreibung:     Alle Projektweit verwendeten JS-Funktionen
Doku in:          Keine
Ersterstellung:   /2006 - RThe
======================================================================================
*/



// ======================================================================================
// Funktionen zum prüfen und setzen des Framesets
// ======================================================================================




/*
======================================================================================
Funktion:         frameMaker_C()
in Datei:         help.js
Beschreibung:     frameMaker_C wird durch die content Seiten aufgerufen und überprüft,
ob die content Seite die oberste Hirarchie-Stufe im Frame besitzt (kein frameset).
Wenn ja wird die frameset_C.htm Seite aufgerufen, welche das frameset bildet.
location.href übergibt die rufende seite ans frameset.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameMaker_C()
{
if (self == top) location.href = "frameset_C.htm?" + location.href
}

/*
======================================================================================
Funktion:         frameMaker_C_H()
in Datei:         help.js
Beschreibung:     frameMaker_C_H wird nur durch die help Seite aufgerufen und überprüft,
ob die content Seite die oberste Hirarchie-Stufe im Frame besitzt (kein frameset).
Wenn ja wird die frameset_C.htm Seite aufgerufen, welche das frameset bildet.
location.href übergibt die rufende seite ans frameset.
Grund: help Seite mit offener Navigation, alle anderen geschlossen.
Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameMaker_C_H()
{
if (self == top) location.href = "frameset_C_H.htm?" + location.href
}

/*
======================================================================================
Funktion:         frameMaker_M()
in Datei:         help.js
Beschreibung:     frameMaker_N wird durch die navigation Seiten aufgerufen und überprüft,
ob die navigation Seite die oberste Hirarchie-Stufe im Frame besitzt (kein frameset).
Wenn ja wird die frameset_C.htm Seite aufgerufen, welche das frameset bildet.
location.href übergibt die rufende seite ans frameset.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameMaker_N()
{
if (self == top) location.href = "frameset_N.htm?" + location.href
}

/*
======================================================================================
Funktion:         setNAV_1()
in Datei:         help.js
Beschreibung:     setNAV_1 ändert den Bannerinhalt auf banner2. Banner zwei ändert dan die
Breite des Navigationframes durch den Aufruf von useNAV_1


Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function setNAV_1()
{
window.parent.banner.location = "banner2_EN.htm";

}

/*
======================================================================================
Funktion:         setNAV_2()
in Datei:         help.js
Beschreibung:     setNAV_1 ändert das


Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function setNAV_2()
{
window.parent.banner.location = "banner_EN.htm";

}
/*
======================================================================================
Funktion:         useNAV_1()
in Datei:         help.js
Beschreibung:    Setzt die Breite des Navigation-Frames auf 12px. Wird von banner1 aufgerufen.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function useNAV_1()
{

parent.p.cols = "12,*";


}

/*
======================================================================================
Funktion:         useNAV_2()
in Datei:         help.js
Beschreibung:     Setzt die Breite des Navigation-Frames auf 250px. Wird von banner2 aufgerufen.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function useNAV_2()
{

parent.p.cols = "250,*";


}

/*
======================================================================================
Funktion:         frameBuster_C()
in Datei:         help.js
Beschreibung:     startet frameeBuster_C_la(). Wird von der Content frameset Seite aufgerufen

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameBuster_C()
{
frameBuster_C_la()
}

/*
======================================================================================
Funktion:         frameBuster_C_la()
in Datei:         help.js
Beschreibung:     Baut die HTML Tags für das frameset zusammen. Dadurch wird eine html Seite mit drei Frames aufgebaut.
Die rufende Seite wird als content Seite gesetzt. Im Unterschied zu C_H ist die Navigation geschlossen

Aufbau der Frameseite:

-------------------------
- banner                -
------------------------
-navigation -  content  -
-           -           -
-           -           -
-           -           -
-           -           -
-           -           -
-------------------------


Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameBuster_C_la()
{
function tag(s) { document.write("<" + s + ">") }
tag('FRAMESET ROWS="30,*" border="0" frameborder="0" framespacing="0"')
tag('frame name="banner" noresize src="banner_EN.htm" scrolling="no" border="0" frameborder="0" marginheight="0" marginwidth="0"')

tag('frameset cols="12,*" border="0" id="p"')
tag('frame src="sitemap1_EN.htm" id="navigation" name="navigation" noresize scrolling="yes" title="Navigation"')
seite = location.search.substring(1, location.search.length)
//beginnt mit "?" !

tag("FRAME SRC='" + seite + "' NAME='content' scrolling='yes' "  )

tag("/FRAMESET")
}


/*
======================================================================================
Funktion:         frameBuster_C_H()
in Datei:         help.js
Beschreibung:     Baut die HTML Tags für das frameset zusammen. Dadurch wird eine html Seite mit drei Frames aufgebaut.
Die rufende Seite wird als content Seite gesetzt. Die rufende Seite ist immer help.htm. Im Unterschied
zu frameBuster_C_la ist die Navigation offen.

Aufbau der Frameseite:

-------------------------
- banner                -
------------------------
-navigation -  content  -
-           -           -
-           -           -
-           -           -
-           -           -
-           -           -
-------------------------


Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameBuster_C_H()
{
function tag(s) { document.write("<" + s + ">") }
tag('FRAMESET ROWS="30,*" border="0" frameborder="0" framespacing="0"')
tag('frame name="banner" noresize src="banner2_EN.htm" scrolling="no" border="0" frameborder="0" marginheight="0" marginwidth="0"')

tag('frameset cols="250,*" border="0" id="p"')
tag('frame src="sitemap1_EN.htm" id="navigation" name="navigation" noresize scrolling="yes" title="Navigation"')
seite = location.search.substring(1, location.search.length)
//beginnt mit "?" !

tag("FRAME SRC='" + seite + "' NAME='content' scrolling='yes' "  )

tag("/FRAMESET")
}
/*
======================================================================================
Funktion:         frameBuster_N()
in Datei:         help.js
Beschreibung:     startet frameeBuster_N_la(). Wird von der Navigation frameset Seite aufgerufen

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameBuster_N()
{

frameBuster_N_la()

}

/*
======================================================================================
Funktion:         frameBuster_N_la()
in Datei:         help.js
Beschreibung:     Baut die HTML Tags für das frameset zusammen. Dadurch wird eine html Seite mit drei Frames aufgebaut.
Die rufende Seite wird als navigation Seite gesetzt.

Aufbau der Frameseite:

-------------------------
- banner                -
------------------------
-navigation -  content  -
-           -           -
-           -           -
-           -           -
-           -           -
-           -           -
-------------------------


Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function frameBuster_N_la()
{
function tag(s) { document.write("<" + s + ">") }
tag('FRAMESET ROWS="30,*" border="0" frameborder="0" framespacing="0"')
tag('frame name="banner" noresize src="banner_EN.htm" scrolling="no" border="0" frameborder="0" marginheight="0" marginwidth="0"')

tag('frameset cols="250,*" border="0" id="p"')
seite = location.search.substring(1, location.search.length)
//beginnt mit "?" !

tag("FRAME SRC='" + seite + "' NAME='navigation' noresize scrolling='yes'title='Navigation' id='navigation'"  )

tag('frame name ="content" frame src= "help_EN.htm" scrolling = "yes"')
tag("/FRAMESET")
}


// ======================================================================================
// Funktionen zum Drucken Reload forward backward und reload
// ======================================================================================


/*
======================================================================================
Funktion:         StepBackContent
in Datei:         help.js
Beschreibung:     im History Speicher einen Schritt zurück gehen. Eine html Seite zurück im Browser.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/

function StepBackContent()
{
window.parent.content.focus();
window.parent.content.history.back();
}



/*
======================================================================================
Funktion:         StepForwardContent
in Datei:         help.js
Beschreibung:     im History Speicher einen Schritt forwärts gehen. Eine html Seite nach vorn im Browser.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function StepForwardContent()
{
window.parent.content.focus();
window.parent.content.history.forward();
}
/*
======================================================================================
Funktion:         PrintWindowContent()
in Datei:         help.js
Beschreibung:     Drucken des aktuellen Inhaltes des Content-Frames

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function PrintWindowContent()
{
window.parent.content.focus();
window.parent.content.print();

}

/*
======================================================================================
Funktion:         PageReload()
in Datei:         help.js
Beschreibung:     Aktualisiern der aktuellen html Seite

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function PageReload()
{
window.parent.content.location.reload();
}

// ======================================================================================
// Funktionen zum Ändern des aktuellen CSS.
// Wird genutz um die Anzeige von groß auf klein umzustellen
// ======================================================================================

/*
======================================================================================
Funktion:         writeContentCSS()
in Datei:         help.js
Beschreibung:     Diese Funktion liest ein cookie und prüft, ob kleine oder große Anzeige verwendet werden soll.
Prüfen ist ein einfacher Wechsel.
Der neue Wert (small or big) wird ins Cookie zurückgeschrieben.
Für den Wechsel wird das Stylschied auf content1 oder content 2 gesetzt.
Diese Funktion wird von den content Seiten beim start ausgeführt.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function writeContentCSS()
{
var gespeichert = "small";
if (navigator.cookieEnabled == true){
gespeichert = getSwitchCookie();  // Lesen Cookie
if (gespeichert != null){  // Wenn Cookie vorhanden

if (gespeichert == "small") {
document.write("<link href=\"Resources/css/content1.css\" rel=\"stylesheet\" type=\"text/css\" title ='small' />")
}

else {
if (gespeichert =="big") {
document.write("<link href=\"Resources/css/content2.css\" rel=\"stylesheet\" type=\"text/css\" title ='big' />")
}
else {
if (gespeichert =="indi") {
document.write("<link href=\"Resources/css/content3.css\" rel=\"stylesheet\" type=\"text/css\" title ='indi' />")
}
else {
document.write("<link href=\"Resources/css/content1.css\" rel=\"stylesheet\" type=\"text/css\" title ='small' />")
}
}
}
}
else {
setSwitchCookie("small");
document.write("<link href=\"Resources/css/content1.css\" rel=\"stylesheet\" type=\"text/css\" title ='small' />")


}

}
else{
document.write("<link href=\"Resources/css/content1.css\" rel=\"stylesheet\" type=\"text/css\" title ='small' />")
}


}


/*
======================================================================================
Funktion:         useStyle()
in Datei:         help.js
Beschreibung:     Diese Funktion liest das aktuelle cookie für das CSS und wechselt den Inhalt.
Danach werden die html Seiten aktualisiert. Die cookies werden benötigt, damit auch beim
Seitenwechsel das richtige CSS ausgewählt werden kann. Usestyle wird durch den Link im Banner aufgerufen.

Parameter:        -
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function useStyle()
{
var gespeichert = "small"; // Variable für das Cookie
if (navigator.cookieEnabled == true){
gespeichert = getSwitchCookie();
if (gespeichert != null){  // Wenn Cookie vorhanden

// lesen
if (gespeichert == "small") {    // prüfen ob small oder big
setSwitchCookie("big");      // umschalten (setzte cookie auf neuen Wert)
PageReload();}
else {
if (gespeichert == "big") {
setSwitchCookie("indi");
PageReload();}
else {
if (gespeichert == "indi") {
setSwitchCookie("small");
PageReload();}
else {
setSwitchCookie("small");      // umschalten (setzte cookie auf neuen Wert)
PageReload();}
}
}


}else{									// wenn noch kein cookie dann erstellen mit Standard klein
setSwitchCookie("small");
PageReload();
}
}
}



// ======================================================================================
// Cookie related functions
// ======================================================================================


/*
======================================================================================
Funktion:         setSwitchCookie()
in Datei:         help.js
Beschreibung:     Diese Funktion lerzeugt eine Cookie

Parameter:        - v = Cookie - Speicherwert
Returnwert:       -
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function setSwitchCookie(v)
{
var cook = "content=" + v + ";"

document.cookie = cook;
}


/*
======================================================================================
Funktion:         getSwitchCookie()
in Datei:         help.js
Beschreibung:     Diese Funktion ließt eine Cookie und gibt den Inhalt zurück.
Gelesen wird nur der Wert des Parameter content

Parameter:        -
Returnwert:       - content value
Ersterstellung:   /2006 - RThe
Letzte Änderung:  -
======================================================================================
*/
function getSwitchCookie()
{
var i=0  //Suchposition im Cookie
var suche = "content="
while (i<document.cookie.length){
if (document.cookie.substring(i, i+suche.length)==suche){
var ende = document.cookie.indexOf(";", i+suche.length)
ende = (ende>-1) ? ende : document.cookie.length
var cook = document.cookie.substring(i+suche.length, ende)
return unescape(cook)
}
i++
}
return null
}

