//*******************************************************************************
// Javascript for CodedColor online album / Javascript-Bibliothek für CodedColor
// 2002 (c) 1STEIN GmbH, http://www.1stein.de
// All rights reserved. Alle Rechte vorbehalten.
//
// THIS SCRIPT IS INTELLECTUAL PROPERTY. IT WAS A LOT OF WORK, SO
// PLEASE DON'T STEAL IT. IF YOU WANT TO USE IT THEN SEND US A MAIL TO
// codedcolor@1stein.de, TELLING US WHAT YOU WANT TO USE IT FOR, AND WE WILL
// PROVIDE YOU WITH A FORMATED AND DOCUMENTED FREE COPY OF THE SCRIPT.
//*******************************************************************************

var MyVersion=4;var MyVersionDate='2002.07.10';var menu=null;var ccimages=null;var ccthumbrows=null;var gcBrowser="location=1,status=1,menubar=1,toolbar=1,scrollbars=1,directories=1,copyhistory=1"+",resizable=1,top=20,left=20";var gcTextWin="location=0,status=0,menubar=0,toolbar=0,scrollbars=1,directories=0,copyhistory=0"+",resizable=1,top=20,left=20";var CurWin;var PopWin;var curImageID=-1;var autorun=0;var isOpera=document.all&&window.innerHeight?true:false;var rsOrdnerZu="Open folder";var rsOrdnerAuf="Close folder";var ccstylesheet='<link rel="stylesheet" type="text/css" href="ccstyle.css">';var nodeChanged=false;var nodeSetExpanded=false;function debug(sMsg,sUrl,sLine){if(confirm("An error occured while processing!\nIf time permits, please email us the the following debug report\nwith a brief description of what you were doing at the time of the error!!\nFill Out Debug Report?"))debugReport(sMsg,sUrl,sLine);return true;};function debugReport(sMsg,sUrl,sLine){if(typeof MyVersion=='undefined')MyVersion='unknown';location.href='mailto:support.album@codedcolor.com?SUBJECT=Javascript%20Problem%20Report&BODY=Thank%20you%20for%20submitting%20following%20error%20message%20:'+'%0D%0A%09SCRIPT:%091stein.js'+'%0D%0A%09VERSION:%09'+(MyVersion||'')+'%0D%0A%09LINE:%09'+(sLine||'')+'%0D%0A%09URL:%09'+(sUrl||'enter%20url%20causing%20problems')+'%0D%0A%09MESSAGE:%09'+(sMsg||'enter%20short%20problem%20description')+'%0D%0A%09BROWSER:%09enter%20Browser%20and%20Version%20you%20are%20using%20here'+'%0D%0A%09ERROR%20OCCURRED%20WHILE?%09enter%20a%20short%20explanation%20of%20what%20you%20were%20doing';};window.onerror=debug;function OpenWindow(wname,wcssclass,doc,wd,ht){if(wd==0)wd=750;if(ht==0)ht=550;if(wcssclass=="")wcssclass=gcBrowser;if(wd>0)wcssclass=wcssclass+",width="+wd;if(ht>0)wcssclass=wcssclass+",height="+ht;var win=window.open(doc,wname,wcssclass);if(win!=null&&!win.closed)win.focus();CurWin=win;return win;};var ScaleMode=0;var OriginalWidth=null,OriginalHeight=null,ScaledPicture=null,OriginalSrc=null;function ShrinkToFit(Picture,ImageID,win){var doc=win?win.document:document;if(!win)win=window;if(!Picture){if(doc.MyPicture)Picture=doc.MyPicture;else if(doc.images.length>0)Picture=doc.images[0];};if(Picture&&Picture.width&&Picture.height){ScaledPicture=Picture;if(OriginalWidth==null||OriginalHeight==null||OriginalSrc!=Picture.src){if(document.all&&doc.body&&doc.body.style){doc.body.style.display="block";Picture.style.display="block";};OriginalWidth=((ImageID&&!isNaN(ImageID))?ccimages.items[ImageID].width:Picture.width);OriginalHeight=((ImageID&&!isNaN(ImageID))?ccimages.items[ImageID].height:Picture.height);OriginalSrc=Picture.src;};if(doc){var ClientWidth=(doc.body.clientWidth||win.innerWidth)-10;var ClientHeight=(doc.body.clientHeight||win.innerHeight)-10;var WidthRatio=OriginalWidth/ClientWidth;var HeightRatio=OriginalHeight/ClientHeight;var Ratio=WidthRatio>HeightRatio?WidthRatio:HeightRatio;var ScaledWidth=OriginalWidth/Ratio;var ScaledHeight=OriginalHeight/Ratio;switch(ScaleMode){case 0:{if(OriginalWidth>ScaledWidth||OriginalHeight>ScaledHeight){Picture.style.width=ScaledWidth+'px';Picture.style.height=ScaledHeight+'px';}else if(OriginalWidth<=ScaledWidth||OriginalHeight<=ScaledHeight){Picture.style.width=OriginalWidth+'px';Picture.style.height=OriginalHeight+'px';}};break;case 1:{Picture.width=ScaledWidth;Picture.height=ScaledHeight;};break;case 2:{Picture.width=OriginalWidth;Picture.height=OriginalHeight;};break;}}}};function LoadImagePopup(PictureID,newTitle){var result=true;var locwidth=screen.availWidth;var locheight=screen.availHeight;var scrollbar='no';if(!isNaN(PictureID)&&ccimages.items[PictureID]){OriginalWidth=ccimages.items[PictureID].width;OriginalHeight=ccimages.items[PictureID].height;if(locwidth>OriginalWidth+50)locwidth=OriginalWidth+50;if(locheight>OriginalHeight+50)locheight=OriginalHeight+50;if(OriginalWidth>locwidth||OriginalHeight>locheight)scrollbar='yes';if(locwidth<100)locwidth=100;if(locheight<100)locheight=100;locwidth=screen.availWidth;locheight=screen.availHeight-30;if(curImageID)curImageID=PictureID;if(!PopWin||PopWin.closed){PopWin=window.open('slideshowfs.html','imagepopup','dependent=no,toolbar=no,location=no,'+'fullscreen=yes,'+'directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,'+'left=0,top=0,height='+locheight+',width='+locwidth);}else{PopWin.slidenav.ldImg(curImageID);};if(PopWin){PopWin.focus();};result=!PopWin.slidenav;return result;}};var lastrows="";function SetCurrentImg(imgID,callerisThumb){var lastimg=null;var currentimg=null;if(!curImageID)return;if(imgID==curImageID)return;if(!(thumbs&&thumbs.document&&thumbs.document.images&&thumbs.document.images.length>0)){curImageID=imgID;return;};if(thumbs&&thumbs.startImgID&&(thumbs.startImgID>0)){if(curImageID!=-1){lastimg=thumbs.document.images[curImageID-thumbs.startImgID];};if(imgID!=-1){currentimg=thumbs.document.images[imgID-thumbs.startImgID];};if(lastimg&&lastimg.style)lastimg.className='thumbimg';if(currentimg&&currentimg.style){currentimg.className='thumbsel';if(document.all&&!callerisThumb&&currentimg.scrollIntoView)currentimg.scrollIntoView();}};curImageID=imgID;};function ldImgFrame(imagesource,thumbsource,newtitle,infotxt,rows,css_img_body,css_info_body){var curdoc="";var callerisThumb=false;var result=false;if(this.thumbs&&this.thumbs.location.href)curdoc=this.thumbs.location.href;if(!(this.thumbs&&this.image&&this.info&&this.tree))return true;var imageid;if(!isNaN(imagesource)){callerisThumb=(typeof(thumbsource)=='object')&&thumbsource==this.thumbs;imageid=imagesource;if(ccimages.items.length<=imageid)return true;with(ccimages.items[imageid]){imagesource=file;newtitle=titl;infotxt=info;thumbsource=Number(thumbframeID);}}else imageid=-1;if(thumbsource&&!isNaN(thumbsource)){var s=new String(thumbsource);while(s.length<3){s='0'+s;};thumbsource='dir'+s+'_thmb.htm';};if(!css_info_body)css_info_body='CLASS="info"';if(!css_img_body)css_img_body='CLASS="img"';if(!rows&&ccthumbrows)rows=ccthumbrows;if(thumbsource&&curdoc.lastIndexOf(thumbsource)<0){thumbs.location.href=thumbsource;if(nodeSetExpanded&&this.tree){var ca=new Array(false,imageid);nodeChanged=false;setExpandedNodeByName(this.menu,ca);if(nodeChanged)zeichne_Baumstruktur('a1');nodeSetExpanded=false;}};SetCurrentImg(imageid,callerisThumb);if(document.all&&document.getElementById&&document.getElementById("fset")){if(isNaN(imagesource)&&!thumbsource||(rows&&rows=="0,*")){if(document.getElementById("fset").rows!='0,*'){lastrows=document.getElementById("fset").rows;document.getElementById("fset").rows='0,*';}}else if(document.getElementById("fset").rows=="0,*"){if(lastrows!=""){document.getElementById("fset").rows=lastrows;}else{document.getElementById("fset").rows=rows;}};if(document.getElementById("fset").rows!="0,*")lastrows=document.getElementById("fset").rows;};if(imageid==-1){this.image.location.href=imagesource;}else{if(!document.images){if(!this.image.location.href)result=true;else this.image.location.href=imagesource;}else{if(this.image.slidenav&&this.image.slidenav.curIndex&&this.image.slidenav.curIndex>0){this.image.slidenav.loadImg(imageid);}else{this.image.location.href="slideshow.html";}}};with(this.info.document){open("text/html");writeln("<HTML><HEAD><TITLE>"+newtitle+"</TITLE>");writeln(ccstylesheet);writeln("</HEAD>");writeln("<BODY "+css_info_body+">");writeln('<table CLASS="info"><tr><td>');if(infotxt)writeln(infotxt);else if(newtitle)writeln('<H1 CLASS="info">'+newtitle+'</H1>');writeln("</td></tr></table>");writeln("</BODY></HTML>");close();};return result;};fontsize='1';fontcssclass='Arial';url_img=1;titel="Album";bg_col="#FFFFFF";tx_col="#000000";function ccImage(file,titl,info,width,height,thumbframeID){this.file=file;this.titl=titl;this.info=info;this.thumbframeID=thumbframeID;this.width=width;this.height=height;};function ccImages(){this.items=new Array();this.addItem=addItem;};function MenuItem(imgIDorTitle,thumbframeID,lurl,target,desc,statustxt){var argc=MenuItem.arguments.length;this.imageID=-1;this.thumbframeID=-1;this.url="";this.target="image";this.title="";this.desc="";this.submenu=null;this.expanded=false;this.makeSubmenu=makeSubmenu;this.cssclass="t-unknow";if(argc>0){if(statustxt)this.statustxt=statustxt;if(desc)this.desc=desc;if(target)this.target=target;if(lurl)this.url=lurl;if((argc==1)&&(!isNaN(imgIDorTitle))){this.imageID=imgIDorTitle;this.cssclass="t-image";}else{this.title=imgIDorTitle;if(argc<3||!lurl)this.cssclass="t-treenode";else if(this.url!=""){if(((this.url.indexOf(".jpg")>0)||(this.url.indexOf(".gif")>0))){this.cssclass="t-image";}else if(this.url.indexOf("http://")==0){this.cssclass="t-url";}else{this.cssclass="t-loc-url";}}};if(argc>1&&thumbframeID&&thumbframeID>0)this.thumbframeID=thumbframeID;}};function makeSubmenu(menu){this.submenu=menu;};function Menu(){this.items=new Array();this.addItem=addItem;};function addItem(item,position){if(addItem.arguments.length==1||isNaN(position))position=this.items.length;this.items[position]=item;return position;};function getAnchorPosition(anchorname,doc){if(!doc)doc=document;var use_gebi=false,use_css=false,use_layers=false;if(document.getElementById&&doc.getElementById(anchorname)){use_gebi=true;}else if(document.all&&doc.all[anchorname]){use_css=true;}else if(document.layers){use_layers=true;};var useWindow=false;var coordinates=new Object();var x=0,y=0;if(use_gebi&&document.all){x=AnchorPosition_getPageOffsetLeft(doc.all[anchorname]);y=AnchorPosition_getPageOffsetTop(doc.all[anchorname]);}else if(use_gebi){var o=doc.getElementById(anchorname);x=o.offsetLeft;y=o.offsetTop;}else if(use_css){x=AnchorPosition_getPageOffsetLeft(doc.all[anchorname]);y=AnchorPosition_getPageOffsetTop(doc.all[anchorname]);}else if(use_layers){var found=0;for(var i=0;i<doc.anchors.length;i++){if(doc.anchors[i].name==anchorname){found=1;break;}};if(found==0){coordinates.x=0;coordinates.y=0;return coordinates;};x=doc.anchors[i].x;y=doc.anchors[i].y;}else{coordinates.x=0;coordinates.y=0;return coordinates;};coordinates.x=x;coordinates.y=y;return coordinates;};function getAnchorWindowPosition(anchorname,doc){if(!doc)doc=document;var coordinates=getAnchorPosition(anchorname,doc);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-doc.body.scrollLeft+window.screenLeft;y=coordinates.y-doc.body.scrollTop+window.screenTop;}else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}}else if(document.all){x=coordinates.x-doc.body.scrollLeft+window.screenLeft;y=coordinates.y-doc.body.scrollTop+window.screenTop;}else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;};coordinates.x=x;coordinates.y=y;return coordinates;};function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent)!=null){ol+=el.offsetLeft;};return ol;};function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-doc.body.scrollLeft;};function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent)!=null){ot+=el.offsetTop;};return ot;};function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-doc.body.scrollTop;};var abstand;var grafik=new Array();var indizes=new Array();var nodeanchor;function zeichne_Baumstruktur(targetAnchor){nodeanchor=Number(0);if(!this.menu)return(true);var treewin=null;if(this.tree){treewin=this.tree;}else if(parent&&parent.tree){treewin=parent.tree;}else if(top&&top.tree){treewin=top.tree;}else return true;if(isOpera){treewin.location.href='menu_tree_simple.htm';return false;};abstand=0;titelsize=parseInt(fontsize)+1;var doc=treewin.document;doc.open('text/html','replace');doc.writeln("<HTML><HEAD>");doc.writeln(ccstylesheet);doc.writeln('<SCRIPT language="JavaScript" type="text/javascript">');doc.writeln("<!--\njsowner=null;");doc.writeln(' if (parent && parent.ldImgFrame) jsowner=parent; else if ( top && top.ldImgFrame ) jsowner=top');doc.writeln(' menu = null; if (jsowner) menu = jsowner.menu;');doc.writeln('function ldf(a1,a2,a3,a4,a5,a6,a7,a8) {  if (jsowner) return jsowner.ldImgFrame(a1,a2,a3,a4,a5,a6,a7,a8); else return true; }');doc.writeln('function zeichne_Baumstruktur(a1) { if (jsowner) return jsowner.zeichne_Baumstruktur(a1); else return false;}');doc.writeln("//-->\n</SCRIPT>");doc.writeln("</HEAD>\n");doc.writeln('<BODY CLASS="t-body">');doc.write('<TABLE CLASS="tree" BORDER=0 CELLPADDING=0 CELLSPACING=0>');doc.write('<TR VALIGN=top><TD><A NAME="topoftree" ID="topoftree" CLASS="t-treenode" STYLE="text-decoration:underline color:#000000" HREF="'+(this.frames.length>0?this.location.pathname:(parent&&parent.tree&&parent.location?parent.location.pathname:'index.htm'))+'" target="_top"><IMG SRC="pics/menu_root.gif" WIDTH=18 HEIGHT=18 ALIGN=left BORDER=0 VSPACE=0 HSPACE=0>');doc.writeln('&nbsp;'+titel+'</A></TD></TR>');zeige_Ordner_Inhalt(menu,doc);doc.writeln('</TABLE></BODY></HTML>');doc.close();if(targetAnchor){var coordinates=getAnchorPosition(targetAnchor,doc);if(coordinates.x>0||coordinates.y>0)treewin.scrollTo((coordinates.y>0?0:coordinates.x),coordinates.y);};return false;};function zeige_Ordner_Inhalt(menu,doc){for(var i=0;i<menu.items.length;i++){indizes[abstand]=i;zeichne_Ordnerstruktur(menu.items[i],(i==menu.items.length-1),doc);}};function argItems(searchs,theArgName){var r='';if(!searchs||!theArgName||(searchs.slice(0,1)!='?'))return r;theArgName=theArgName.toUpperCase();searchs=unescape(searchs.slice(1));var sArgs=searchs.split('&');for(var i=0;i<sArgs.length;i++){var s1=sArgs[i].slice(0,sArgs[i].indexOf('='));s1=s1.toUpperCase();if(s1==theArgName){r=sArgs[i].slice(sArgs[i].indexOf('=')+1);break;}};if(r.length>0){r=r.replace(/\"/g,'');return r.split(',');}else return '';};function drawTree(){if(!this.menu)return(true);var a=drawTree.arguments;var selImage=false;if((!a||(a.length==0))&&this.location.search){var autoruns=argItems(this.location.search,'autorun');if(autoruns){if(isNaN(autoruns[0])&&(autoruns[0].toUpperCase()!='FALSE'))autorun=4;else autorun=autoruns[0];};var imageID=argItems(this.location.search,'ImageID');var showImgs=argItems(this.location.search,'showImg');var showImg=(showImgs&&showImgs[0].toUpperCase()=='FALSE')?false:true;if(autorun&&(autorun>0)){if(!imageID||isNaN(imageID)){imageID=1};if(!showImgs){showImg=true};};if(imageID&&(imageID>0)){a=new Array(showImg,imageID);}};if(a.length>0){selImage=a[0]&&(a.length>1);setExpandedNodeByName(this.menu,a);};zeichne_Baumstruktur('a1');if(selImage)ldImgFrame(a[1]);};function setExpandedNodeByName(menu,imageIDs){if(!(menu&&imageIDs))return false;var found=false;for(var mi=0;mi<menu.items.length;mi++){var item=menu.items[mi];switch(item.cssclass){case "t-image":if(!found){for(var ii=1;(ii<imageIDs.length)&&(!found);ii++){if(isNaN(imageIDs[ii]))found=(ccimages.items[item.imageID].file==imageIDs[ii]);else found=(item.imageID==imageIDs[ii]);}};break;case "t-url":case "t-loc-url":break;case "t-treenode":if(item.submenu){found=setExpandedNodeByName(item.submenu,imageIDs);if(item.expanded!=found){if(found||nodeSetExpanded)item.expanded=found;nodeChanged=true;}}}};return found;};function zeichne_Ordnerstruktur(item,last,doc){var cmd="zeichne_Baumstruktur(";var ref="menu.items["+indizes[0]+"]";var i,img;var more=item.submenu;doc.write('<TR VALIGN=TOP><TD><NOBR>');for(i=0;i<abstand;i++){if(grafik[i])doc.write('<IMG SRC="pics/menu_linie.gif" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');else doc.write('<IMG SRC="pics/spacer.gif" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');};if(!more){if(last)img="pics/menu_was_3.gif";else img="pics/menu_was_2.gif";doc.write('<img src="'+img+'" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');};for(i=1;i<=abstand;i++){ref+=".submenu.items["+indizes[i]+"]";};switch(item.cssclass){case "t-image":if(!(ccimages.items&&ccimages.items[item.imageID]))alert('your input file tree1.js seems to be corrupted. No image found for ID '+item.imageID);doc.writeln('<A CLASS="'+item.cssclass+'" HREF="'+ccimages.items[item.imageID].file+'" onclick="return ldf('+item.imageID+');" TARGET="image">');break;case "t-url":case "t-loc-url":doc.writeln('<A CLASS="'+item.cssclass+'" HREF="'+item.url+'" TARGET="'+item.target+'">');break;case "t-treenode":var nodeanchorstr='a'+Number(++nodeanchor);cmd+='\'' + nodeanchorstr + '\')';if(item.expanded)doc.writeln('<A CLASS="'+item.cssclass+'" HREF="'+location.href+'" NAME="'+nodeanchorstr+'" ID="'+nodeanchorstr+'" onClick="'+ref+'.expanded = false; return '+cmd+';"'+' onMouseOver="window.status=\'' +rsOrdnerAuf+ '\';return true" onMouseOut="window.status=\'\' ">');else{doc.writeln('<A CLASS="'+item.cssclass+'" HREF="'+location.href+'" NAME="'+nodeanchorstr+'" ID="'+nodeanchorstr+'" onClick="'+ref+'.expanded = true;return '+cmd+';"'+' onMouseOver="window.status=\'' +rsOrdnerZu+ '\';return true" onMouseOut="window.status=\'\' ">');};break;};if(more){if(item.expanded){if(last)img="pics/menu_minus_2.gif";else img="pics/menu_minus_1.gif";}else{if(last)img="pics/menu_plus_2.gif";else img="pics/menu_plus_1.gif";};doc.write('<IMG SRC="'+img+'" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');};if(!item.imgs)switch(item.cssclass){case "t-image":{item.imgs='menu_img_1.gif';};break;case "t-url":{item.imgs="menu_doc_url.gif";};break;case "t-loc-url":{item.imgs='menu_doc_1.gif';};break;};switch(item.cssclass){case "t-image":case "t-url":case "t-loc-url":img="pics/"+item.imgs;break;default:if(item.submenu){if(item.expanded)img="pics/menu_ordner_auf.gif";else img="pics/menu_ordner_zu.gif";}};doc.writeln('<IMG SRC="'+img+'" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');doc.writeln('&nbsp;'+((item.imageID>0)?ccimages.items[item.imageID].titl:item.title)+"\n</A></NOBR></TD></TR>");if(item.expanded){if(!last)grafik[abstand]=true;else grafik[abstand]=false;abstand++;zeige_Ordner_Inhalt(item.submenu,doc);abstand--;}else grafik[i]=false;}


