﻿/* libraris begin */

/* Nifty Corners Cube - rounded corners with CSS and Javascript
Copyright 2006 Alessandro Fulciniti (a.fulciniti@html.it)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

var niftyOk=(document.getElementById && document.createElement && Array.prototype.push);
var niftyCss=false;

String.prototype.find=function(what){
return(this.indexOf(what)>=0 ? true : false);
}

var oldonload=window.onload;
/*if(typeof(NiftyLoad)!='function') NiftyLoad=function(){};*/
if(typeof(oldonload)=='function')
    window.onload=function(){oldonload();AddCss();/*NiftyLoad()*/};
else window.onload=function(){AddCss();/*NiftyLoad()*/	};

function AddCss(){
niftyCss=true;
var l=CreateEl("link");
l.setAttribute("type","text/css");
l.setAttribute("rel","stylesheet");
l.setAttribute("href","css/niftyCorners.css");
l.setAttribute("media","screen");
document.getElementsByTagName("head")[0].appendChild(l);
}

function Nifty(selector,options){
if(niftyOk==false) return;
if(niftyCss==false) AddCss();
var i,v=selector.split(","),h=0;
if(options==null) options="";
if(options.find("fixed-height"))
    h=getElementsBySelector(v[0])[0].offsetHeight;
for(i=0;i<v.length;i++)
    Rounded(v[i],options);
if(options.find("height")) SameHeight(selector,h);
}

function Rounded(selector,options){
var i,top="",bottom="",v=new Array();
if(options!=""){
    options=options.replace("left","tl bl");
    options=options.replace("right","tr br");
    options=options.replace("top","tr tl");
    options=options.replace("bottom","br bl");
    options=options.replace("transparent","alias");
    if(options.find("tl")){
        top="both";
        if(!options.find("tr")) top="left";
        }
    else if(options.find("tr")) top="right";
    if(options.find("bl")){
        bottom="both";
        if(!options.find("br")) bottom="left";
        }
    else if(options.find("br")) bottom="right";
    }
if(top=="" && bottom=="" && !options.find("none")){top="both";bottom="both";}
v=getElementsBySelector(selector);
for(i=0;i<v.length;i++){
    FixIE(v[i]);
    if(top!="") AddTop(v[i],top,options);
    if(bottom!="") AddBottom(v[i],bottom,options);
    }
}

function AddTop(el,side,options){
var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
d.style.marginLeft="-"+getPadding(el,"Left")+"px";
d.style.marginRight="-"+getPadding(el,"Right")+"px";
if(options.find("alias") || (color=getBk(el))=="transparent"){
    color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
    }
else{
    bk=getParentBk(el); border=Mix(color,bk);
    }
d.style.background=bk;
d.className="niftycorners";
p=getPadding(el,"Top");
if(options.find("small")){
    d.style.marginBottom=(p-2)+"px";
    btype+="s"; lim=2;
    }
else if(options.find("big")){
    d.style.marginBottom=(p-10)+"px";
    btype+="b"; lim=8;
    }
else d.style.marginBottom=(p-5)+"px";
for(i=1;i<=lim;i++)
    d.appendChild(CreateStrip(i,side,color,border,btype));
el.style.paddingTop="0";
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,side,options){
var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
d.style.marginLeft="-"+getPadding(el,"Left")+"px";
d.style.marginRight="-"+getPadding(el,"Right")+"px";
if(options.find("alias") || (color=getBk(el))=="transparent"){
    color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
    }
else{
    bk=getParentBk(el); border=Mix(color,bk);
    }
d.style.background=bk;
d.className="niftycorners";
p=getPadding(el,"Bottom");
if(options.find("small")){
    d.style.marginTop=(p-2)+"px";
    btype+="s"; lim=2;
    }
else if(options.find("big")){
    d.style.marginTop=(p-10)+"px";
    btype+="b"; lim=8;
    }
else d.style.marginTop=(p-5)+"px";
for(i=lim;i>0;i--)
    d.appendChild(CreateStrip(i,side,color,border,btype));
el.style.paddingBottom=0;
el.appendChild(d);
}

function CreateStrip(index,side,color,border,btype){
var x=CreateEl("b");
x.className=btype+index;
x.style.backgroundColor=color;
x.style.borderColor=border;
if(side=="left"){
    x.style.borderRightWidth="0";
    x.style.marginRight="0";
    }
else if(side=="right"){
    x.style.borderLeftWidth="0";
    x.style.marginLeft="0";
    }
return(x);
}

function CreateEl(x){
return(document.createElement(x));
}

function FixIE(el){
if(el.currentStyle!=null && el.currentStyle.hasLayout!=null && el.currentStyle.hasLayout==false)
    el.style.display="inline-block";
}

function SameHeight(selector,maxh){
var i,v=selector.split(","),t,j,els=[],gap;
for(i=0;i<v.length;i++){
    t=getElementsBySelector(v[i]);
    els=els.concat(t);
    }
for(i=0;i<els.length;i++){
    if(els[i].offsetHeight>maxh) maxh=els[i].offsetHeight;
    els[i].style.height="auto";
    }
for(i=0;i<els.length;i++){
    gap=maxh-els[i].offsetHeight;
    if(gap>0){
        t=CreateEl("b");t.className="niftyfill";t.style.height=gap+"px";
        nc=els[i].lastChild;
        if(nc.className=="niftycorners")
            els[i].insertBefore(t,nc);
        else els[i].appendChild(t);
        }
    }
}

function getElementsBySelector(selector){
var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c;
if(selector.find("#")){ //id selector like "tag#id"
    if(selector.find(" ")){  //descendant selector like "tag#id tag"
        s=selector.split(" ");
        var fs=s[0].split("#");
        if(fs.length==1) return(objlist);
        f=document.getElementById(fs[1]);
        if(f){
            v=f.getElementsByTagName(s[1]);
            for(i=0;i<v.length;i++) objlist.push(v[i]);
            }
        return(objlist);
        }
    else{
        s=selector.split("#");
        tag=s[0];
        selid=s[1];
        if(selid!=""){
            f=document.getElementById(selid);
            if(f) objlist.push(f);
            return(objlist);
            }
        }
    }
if(selector.find(".")){      //class selector like "tag.class"
    s=selector.split(".");
    tag=s[0];
    selclass=s[1];
    if(selclass.find(" ")){   //descendant selector like tag1.classname tag2
        s=selclass.split(" ");
        selclass=s[0];
        tag2=s[1];
        }
    }
var v=document.getElementsByTagName(tag);  // tag selector like "tag"
if(selclass==""){
    for(i=0;i<v.length;i++) objlist.push(v[i]);
    return(objlist);
    }
for(i=0;i<v.length;i++){
    c=v[i].className.split(" ");
    for(j=0;j<c.length;j++){
        if(c[j]==selclass){
            if(tag2=="") objlist.push(v[i]);
            else{
                v2=v[i].getElementsByTagName(tag2);
                for(k=0;k<v2.length;k++) objlist.push(v2[k]);
                }
            }
        }
    }
return(objlist);
}

function getParentBk(x){
var el=x.parentNode,c;
while(el.tagName.toUpperCase()!="HTML" && (c=getBk(el))=="transparent")
    el=el.parentNode;
if(c=="transparent") c="#FFFFFF";
return(c);
}

function getBk(x){
var c=getStyleProp(x,"backgroundColor");
if(c==null || c=="transparent" || c.find("rgba(0, 0, 0, 0)"))
    return("transparent");
if(c.find("rgb")) c=rgb2hex(c);
return(c);
}

function getPadding(x,side){
var p=getStyleProp(x,"padding"+side);
if(p==null || !p.find("px")) return(0);
return(parseInt(p));
}

function getStyleProp(x,prop){
if(x.currentStyle)
    return(x.currentStyle[prop]);
if(document.defaultView.getComputedStyle)
    return(document.defaultView.getComputedStyle(x,'')[prop]);
return(null);
}

function rgb2hex(value){
var hex="",v,h,i;
var regexp=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;
var h=regexp.exec(value);
for(i=1;i<4;i++){
    v=parseInt(h[i]).toString(16);
    if(v.length==1) hex+="0"+v;
    else hex+=v;
    }
return("#"+hex);
}

function Mix(c1,c2){
var i,step1,step2,x,y,r=new Array(3);
if(c1.length==4)step1=1;
else step1=2;
if(c2.length==4) step2=1;
else step2=2;
for(i=0;i<3;i++){
    x=parseInt(c1.substr(1+step1*i,step1),16);
    if(step1==1) x=16*x+x;
    y=parseInt(c2.substr(1+step2*i,step2),16);
    if(step2==1) y=16*y+y;
    r[i]=Math.floor((x*50+y*50)/100);
    r[i]=r[i].toString(16);
    if(r[i].length==1) r[i]="0"+r[i];
    }
return("#"+r[0]+r[1]+r[2]);
}
/* end nifty corners */


/*
start stylesheet switcher
found at
http://www.alistapart.com/d/alternate/styleswitcher.js
*/
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

/*
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

End stylesheet switcher
*/


/* 

start website program logic 

*/

/* set constants */
var top_tap_position = '449px';
var middle_tap_position = '484px';
var bottom_tap_position = '518px';
var active_stylesheet = 'default';
/* note: when setting any css values use a unit */



/* round corner stuff */
function roundCorners(){
	Nifty("#topMenu","top big transparent");
	
	Nifty("a.rhc_row_text","left small transparent");
	Nifty("#navListe","top transparent");
	/*
	Nifty("#pageHeader","tl big");
	Nifty("div.buble span","top small transparent");
	*/
}

/* automaticaly load the round corners */
window.onload=function(){
	roundCorners();
}

function print_page(){
	/*
	if( getActiveStyleSheet() == 'default')
	{
		setActiveStyleSheet('print');		
	}
	else 
	{
		setActiveStyleSheet('default');
	}
	if( getActiveStyleSheet() == 'print' && window.print) 
	{
		window.print();
		/*window.setTimeout("setActiveStyleSheet('default')", 5000);
		setActiveStyleSheet('default');
	}
	*/
	window.print();
	return false;
}

/* rollover for main menu */
function roll(name, src)
{
	document.getElementById(name).src = src;
}

	
function setTaps(bottom, middle, top) 
{
	if(document.getElementById)
	{	
		document.getElementById(top).style.zIndex = 2;
		document.getElementById(top).style.position = 'absolute';
		document.getElementById(top).style.top = top_tap_position;
		document.getElementById(middle).style.zIndex = 3;		 
		document.getElementById(middle).style.top = middle_tap_position;
		document.getElementById(bottom).style.zIndex = 4;		 
		document.getElementById(bottom).style.top = bottom_tap_position;
	}
}

/* move taps (left side) */
function setZposition( id1, z1, id2, z2, id3, z3, idshow, idhide1, idhide2 ) 
{
	if(document.getElementById)
	{	 		
		setTaps(id1, id2, id3);
		document.getElementById(idshow).style.visibility = "visible";
		document.getElementById(idhide1).style.visibility = "hidden";
		document.getElementById(idhide2).style.visibility = "hidden";
	}		 	
}


function page_makeup(section, chapter, page)
{
	roundCorners();
	/*setActiveStyleSheet('default');*/
	switch(section)
	{
		case 1:
					section = '01';
					setTaps("sideTabAnfang", "sideTabTiefe", "sideTabWelt");
					break;
		case 2:	
					section = '02';
					setTaps("sideTabTiefe", "sideTabWelt", "sideTabAnfang");
					break;
		case 3:	
					section = '03';
					setTaps("sideTabWelt", "sideTabAnfang", "sideTabTiefe");
					break;
		default:	section = '01';
    				break;
	
	}
	if (section != '01'){
		var make_active = "navSection"+ section +"_div0" + ( (chapter - (chapter%8) )/8 + 1);
		document.getElementById('navSection01_div01').style.visibility = "hidden";
		document.getElementById(make_active).style.visibility = "visible";	
	}
	if (chapter > 0){	
		var set_border = 'IMG_Section'+ section +'Chapter0' + chapter;
		if( document.getElementById(set_border) )
		{	/*rgb(216,156,150)*/
			document.getElementById(set_border).style.border = "3px solid #80B040";
			document.getElementById(set_border).style.margin = "-3px 0px 0px -3px";
		}
		/*
		if(page == 0)  this means we are in a Chaptercover right now 
		{
			var chapter_list = document.getElementById("rhc_chapter_list");
			alert ( chapter_list.style.height );
		}
		*/
	}
}

/*
	rhc_pagelist stuff
*/
var initialize_active, chapter_list_speed = -1;
var chapter_list_position = 0;
var chapter_list_page_count = 0;


function page_count(page_count){
	chapter_list_page_count = page_count;
	
	if( page_count > 12 ){
		/* add weiter to rhc */
		var next = document.createElement("div");
		var next_text = document.createTextNode("weiter");
		next.appendChild(next_text);
		
		var next_id = document.createAttribute("id");
		next_id.nodeValue = "rhc_chapter_move_down";
		next.setAttributeNode(next_id);
		
		var next_onclick = document.createAttribute("onClick");
		next_onclick.nodeValue = "scrollwindow(-23)";
		next.setAttributeNode(next_onclick);
	
		document.getElementById("rhc_wrapper").appendChild(next);
		
		/* add zurück to rhc */
		var back = document.createElement("div");
		var back_text = document.createTextNode("zurück");
		back.appendChild(back_text);
		
		var back_id = document.createAttribute("id");
		back_id.nodeValue = "rhc_chapter_move_up";
		back.setAttributeNode(back_id);
		
		var back_onclick = document.createAttribute("onClick");
		back_onclick.nodeValue = "scrollwindow(23)";
		back.setAttributeNode(back_onclick);
	
		document.getElementById("rhc_wrapper").appendChild(back);
		/*document.getElementById("rhc_wrapper").insertBefore(back	, document.getElementById('rhc_chapter_block'));*/


	}
}

function scrollwindow(chapter_list_speed){

	var new_possiton = (chapter_list_position + chapter_list_speed);

	var list_height = chapter_list_page_count * 23 + 23;
	
	
	if( ( new_possiton < 1 ) && (new_possiton >= (299 - list_height) ) )
	{
		var scroll_this = document.getElementById("rhc_chapter_list");
		scroll_this.style.top = new_possiton + "px";
		chapter_list_position = new_possiton;
	}
}


/*
function initialize(speed_2){
	chapter_list_speed = speed_2;
	initialize_active = setInterval("scrollwindow()",100);
}

function un_initialize(){
	clearInterval(initialize_active);
}
*/


/* right hand coll on page */
function show_rhc() 
{
	if(document.getElementById)
	document.getElementById("rhc").style.visibility = "visible";
}

function close_rhc() 
{
	 if(document.getElementById)
	   document.getElementById("rhc").style.visibility = "hidden";
}

/* right select page */
function toggle_popup() 
{
	 if(document.getElementById)
	 {
		   if(document.getElementById("navListe").style.visibility == "visible")
		   {
				document.getElementById("navListe").style.visibility = "hidden";
				document.getElementById("navPageMenuImage").src = 'images/pagenav-menu-n.gif';
		   }
		   else
		   {
				document.getElementById("navListe").style.visibility = "visible";
				document.getElementById("navPageMenuImage").src = 'images/pagenav-menu-o.gif';
		   }		
	 }
}

/*
	check sendpage data
*/
function validate_sendpage(frm) {
  var value = '';
  var errFlag = new Array();
  var _qfGroups = {};
  _qfMsg = '';

  value = frm.elements['name'].value;
  if (value == '' && !errFlag['name']) {
    errFlag['name'] = true;
    _qfMsg = _qfMsg + '\n - Bitte den Namen eingeben.';
  }

  value = frm.elements['email_sender'].value;
  if (value == '' && !errFlag['email_sender']) {
    errFlag['email_sender'] = true;
    _qfMsg = _qfMsg + '\n - Bitte die empfänger E-mail Addresse eingeben.';
  }

  value = frm.elements['email_recipient'].value;
  if (value == '' && !errFlag['email_recipient']) {
    errFlag['email_recipient'] = true;
    _qfMsg = _qfMsg + '\n - Bitte die absender E-mail Addresse eingeben.';
  }

  if (_qfMsg != '') {
    _qfMsg = 'Unzureichenden informationen eingegeben.' + _qfMsg;
    _qfMsg = _qfMsg + '\nBitte die folgenden Felder ausfüllen.';
    alert(_qfMsg);
    return false;
  }
  return true;
}






/*
function anfang(chapter){	page_makeup(01, chapter, '0');}
function tiefe(chapter){	page_makeup(02, chapter, '0');}
function welt(chapter){	page_makeup(03, chapter, '0');}

function anfang(active_bar)
{
	roundCorners();
	var make_active = "navSection01_div0" + ( (active_bar - (active_bar%8) )/8 + 1);
	setTaps("sideTabAnfang", "sideTabTiefe", "sideTabWelt");
	document.getElementById('navSection01_div01').style.visibility = "hidden";
	document.getElementById(make_active).style.visibility = "visible";
	
	var set_border = 'Section01Chapter0' + active_bar;
	document.getElementById(set_border).style.border = "2px solid rgb(216,156,150)";
	
	
}
function tiefe(active_bar)
{
	roundCorners();
	var make_active = "navSection02_div0" + ( (active_bar - (active_bar%8) )/8 + 1);
	setTaps("sideTabTiefe", "sideTabWelt", "sideTabAnfang");
	document.getElementById('navSection01_div01').style.visibility = "hidden";
	document.getElementById(make_active).style.visibility = "visible";
	
	var set_border = 'Section02Chapter0' + active_bar;
	document.getElementById(set_border).style.border = "2px dashed rgb(227,182,116)";
}
function welt(active_bar)
{
	roundCorners();
	var make_active = "navSection03_div0" + ( (active_bar - (active_bar%8) )/8 + 1);
	setTaps("sideTabWelt", "sideTabAnfang", "sideTabTiefe");
	document.getElementById('navSection01_div01').style.visibility = "hidden";
	document.getElementById(make_active).style.visibility = "visible";
		
	var set_border = 'Section03Chapter0' + active_bar;
	document.getElementById(set_border).style.border = "2px dashed rgb(128,190,205)";
}
*/

/*
		var myrules = {
			'#pageHeader a' : function(el){
				el.onmouseover = function(){
					//this.ChildNode.src = "images/Navbar/Tiefe02.gif";
					document.getElementById("Tiefe").src = "images/Navbar/Tiefe02.gif";

				}
			}
		};

		Behaviour.register(myrules);
*/

function fade (elid) 
{
	var opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1"];
	if (document.getElementById(elid).style.display == 'none')
	{
		document.getElementById(elid).style.opacity = '0';
		document.getElementById(elid).style.display = 'block';
		for (var i = 0; i < 11; i++)
		{
			setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs[i]+'";', i * 40);
		}
	}
	else
	{
		opacs.reverse();
		for (var i = 0; i < 11; i++) 
		{
			setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs[i]+'";', i * 40);
		}
		setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * 40);
	}
}

function transition_ex ( elid1, elid2, elid3, elid4, elid5, elid6, elid7,elid8,elid9 )
{
	
  setTimeout( 'fade(\''+elid1+'\')', 3000 );
  setTimeout( 'fade(\''+elid2+'\')', 2700 );
 // setTimeout( 'fade(\''+elid2+'\')', 4000 );
  setTimeout( 'fade(\''+elid3+'\')', 3300 );
  setTimeout( 'fade(\''+elid4+'\')', 3900 );
  setTimeout( 'fade(\''+elid5+'\')', 4500 );
  setTimeout( 'fade(\''+elid6+'\')', 5100 );
  setTimeout( 'fade(\''+elid7+'\')', 5600 );
  setTimeout( 'fade(\''+elid8+'\')', 6100);
  setTimeout( 'fade(\''+elid9+'\')', 6600 );
}
			  
function transition ( elid1, elid2, elid3, elid4, elid5, elid6, elid7 )
{
	
  setTimeout( 'fade(\''+elid1+'\')', 3000 );
  setTimeout( 'fade(\''+elid2+'\')', 2700 );
 // setTimeout( 'fade(\''+elid2+'\')', 4000 );
  setTimeout( 'fade(\''+elid3+'\')', 3300 );
  setTimeout( 'fade(\''+elid4+'\')', 3900 );
  setTimeout( 'fade(\''+elid5+'\')', 4500 );
  setTimeout( 'fade(\''+elid6+'\')', 5100 );
  setTimeout( 'fade(\''+elid7+'\')', 5600 );
}

function home( elid1, elid2, elid3, elid4, elid5, elid6, elid7, boxid1, boxid2, boxid3, extra )
{
	transition( elid1, elid2, elid3, elid4, elid5, elid6, elid7 );
	setTimeout( 'fade(\''+boxid1+'\')',7000 );
	setTimeout( 'fade(\''+boxid2+'\')',7400 );
	setTimeout( 'fade(\''+boxid3+'\')',7800 );
	
	setTimeout( 'fade(\''+extra+'\')',8000 );
}

/*
var aktiv = window.setInterval("Farbe()", 1000);


function switchbox()
{
	var box = "box2";
	if( document.getElementById(box).hasChildNodes() )
	{
		
		
		var Knoten = document.getElementById(box).firstChild;
		var timeout = 8000;
		while ( (Knoten != null) && timeout < 38001) {
			setTimeout( 'viewbox(\''+Knoten+'\')', timeout );
			timeout = timeout + 3000;
			Knoten = Knoten.nextSibling;
		}
	}
	
}

function viewbox(Knoten)
{
  			Knoten.style.visibility = "visible";
			Knoten.previousSibling.style.visibility = "hidden";
}
*/

