/******************************************
CM_ADD-IN - pagecheck 
Simple code that *tries* to keep the menus inside thebounderies of
the page.

last change: 06.10.2003 René Bartholomay
*****************************************/
makeCM.prototype.onshow+=";this.pagecheck(b,pm,pm.subx,pm.suby,maxw,maxh)"
makeCM.prototype.pagecheck=function(b,pm,x,y,w,h,n){  

var l=pm.lev+1,a=b.align; if(!n) n=1
var scrollbar_height = 20;    // wie fragt man die Höhe ab?

this.getcoords(pm,this.l[l-1].borderX,this.l[l-1].borderY,pm.b.x,pm.b.y,w,h,this.l[l-1].offsetX,this.l[l-1].offsetY)
x1=pm.subx; y1=pm.suby;
//self.status = l + ' Y-Position aktuell: y1=' + y1 + ' Y-Position vorher pm.b.y=' + pm.b.y + ' Y-Position vorher css.top= ' + parseInt(pm.b.css.top) + ' yoffset=' + pm.o.y + '  scrollY=' + this.scrollY + ' verfügbare Höhe=' + cmpage.y2;
this.isresized=1
if (l==1){
  if(y1<cmpage.y){y1=cmpage.y;}                           
  if(h+y1>(cmpage.y2-scrollbar_height)+this.scrollY){y1=((cmpage.y2-scrollbar_height)-h)+this.scrollY;}  
	
	y1=y1+this.scrollY;
	 
	if(h+y1>(cmpage.y2-scrollbar_height)+this.scrollY){y1=((cmpage.y2-scrollbar_height)-h)+this.scrollY;} 
}

if (l==2){
  y1=parseInt(pm.b.css.top)+pm.o.y-this.l[l].borderY;
	
	if(h+y1>(cmpage.y2-scrollbar_height)+this.scrollY){y1=((cmpage.y2-scrollbar_height)-h)+this.scrollY;} 
}

if (l==3){
  y1=parseInt(pm.b.css.top)+pm.o.y-this.l[l].borderY;
	
	if(h+y1>(cmpage.y2-scrollbar_height)+this.scrollY){y1=((cmpage.y2-scrollbar_height)-h)+this.scrollY;} 
}
//----

b.moveIt(x1,y1)  

	
	
// ----------------------------------------------------------------------------------------------------------
// hideselectboxes  -  in die pagecheck reingesetzt damit die neue Position nur einmal berechnet werden muß
pm.mout="";
var selx,sely,selw,selh,i
//if(!this.sel){
// Andreas: Everytime we need to find the objects, otherwise we can get an error if the next content frame is loaded
this.sel=bw.op6?this.doc.getElementsByTagName("form"):this.doc.getElementsByTagName("select")
this.sel.level=0
//}
var sel=this.sel
for(i=0;i<sel.length;i++){
	selx=0; sely=0; var selp;
	if(sel[i].offsetParent){selp=sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx+=selp.offsetLeft; sely+=selp.offsetTop;}}
	selx+=sel[i].offsetLeft; sely+=sel[i].offsetTop
	selw=sel[i].offsetWidth; selh=sel[i].offsetHeight
	if(selx+selw>x1 && selx<x1+w && sely+selh>y1 && sely<y1+h){
		if(sel[i].style.visibility!="hidden"){sel[i].level=l; sel[i].style.visibility="hidden"; if(pm){ if(!pm.mout) pm.mout=""; pm.mout+=this.name+".sel["+i+"].style.visibility='visible';"}}
	}else if(l<=sel[i].level && !(pm&&l==0)) sel[i].style.visibility="visible"
	}
}
//#####################################################################
/**List sub elements**/
makeCM.prototype.listsub=function(el,m_class,fromframe){ //Changed v4.06
var c=this,pm=c.m[el],m,o,nl
this.doc=fromframe.document
if(MenuReady==0) this.doc.location.reload();
 //var ln=pm.subs.length,l=pm.lev+1
 var ln,l
 if (pm!=null){
	 ln=pm.subs.length
	 l=pm.lev+1
	 if (ln>0){
		 for(var i=0;i<c.l[l].m.length;i++){ 
			if(!bw.reuse) m=c.m[c.l[l].m[i]]
			else m=c.m[c.m[el].subs[i]]
				if(m && m.parent==el){
					var m_alttext=m.txt.substr(m.txt.lastIndexOf(">")+1)   // modified rb
					var m_text=(m_alttext.length > 23) ? m_alttext.substring(0,23) + "..." : m_alttext;                                            // modified rb          

					if (m.targ==fromframe.name){
						this.doc.write('<a href="/'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m_alttext + '">'+m_text+'</a><br>')
					}else{
						this.doc.write('<a href="'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m_alttext + '">'+m_text+'</a><br>')
					}
				}
			}
		}else{
			this.doc.write('-')
		}
	}else{
		this.doc.write('-')
	}	
}

/**Sitemap**/
makeCM.prototype.sitemap=function(m_class,fromframe){ //Changed v4.06
 var c=top.oCMenu;             // definert das Coolmenu, welches sich im top befindet
 var level=0                   // Definition des aktuellen Levels für die korrekte Einrückung des menüs
 //this.doc=fromframe.document   // Target der Ausgabe
 
 for(var i=0;i<c.l[level].m.length;i++){ 
	 m=c.m[c.l[level].m[i]]
	 pm=c.m[m.name]	
	 
   if (m.targ==fromframe.name){
     this.doc.write('<a href="/'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
   }else{
	   this.doc.write('<a href="'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
   }
	 
   sitemap_showsubs(c, level, m.name, m_class, fromframe);
 }
}

function sitemap_showsubs(c, level, el, m_class, fromframe){
 for(var j=0;j<c.m[el].subs.length;j++){
	 m=c.m[c.m[el].subs[j]]		           // Menüeintrag ermitteln
	 // gemäß der Level-Tiefe einrücken 
	 this.doc.write('<IMG SRC="/images/spacer.gif" WIDTH="' + (10*(level+1)) + '" HEIGHT="10" BORDER="0" ALT="">')
	 
	 // Wenn der Untereintrag selber wieder Kinder hat muß das ganze rekursiv laufen
	 if(c.m[m.name].subs.length>0){
		 level=level+1
		 // Leveltiefe eins erhöhen und Grafik gemäß des Zustandes ausgeben 
		 //-----------------------------------------------------

		 if (m.targ==fromframe.name){
			 this.doc.write('<a href="/'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
		 }else{
			 this.doc.write('<a href="'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
		 }

		 //======================================================
		 // Ausgabe der Unter-Unter Unter Unter Unter - Kinder :-)
		 // rekursiver Aufruf
		 sitemap_showsubs(c, level, m.name, m_class, fromframe);
		 //======================================================
		 
		 level=level-1;
	 }else{
		 
		 if (m.targ==fromframe.name){
			 this.doc.write('<a href="/'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
		 }else{
			 this.doc.write('<a href="'+m.lnk+'" target="'+m.targ+'" class="'+m_class+'" title="' + m.txt_raw + '">'+m.txt_raw+'</a><br>')
		 }
		 
	 }
 }
}
