/**
*	dasgoldeneland Slideshow+Starmap
*
*	(c) 2009, Alexander Selck / sethora GbR
*	Benutzt Microsoft Silverlight, wenn vorhanden.
*	ansonsten DHTML
*
*	"Starmap" globale Variablen
*/
var starmap_last=8;
var starmap_fade=0;
var starmap_acti=0;
var starmap_time=0;
var starmap_tim2=0;
var starmap_posi=-430;
var xmlHttp;
/**
*	Silverlight/Slideshow globale Variablen
*/
var hasupdated=0;
var count=0;
var im;
var it;
var il;
var iw;
var ih;
var its;
var ils;
var iws;
var ihs;
var iz;
var to;
var sf;
var ip;
var cn;
var cn2;
var ta;
var blp=[];
var blm=[];
var stepping;
var zoomslides_imageobjects=[];
var silverlight=false;
var module_zoomslides_sl_sender;
var module_zoomslides_marker;
/**
*	Bildergalerie initialisieren - DHTML oder Silverlight
*/
function module_zoomslides_start(sender,args) {
	if (document.getElementById("module_zoomslides_images")) {
		/**
		*	Silverlight
		*/
		if (sender!=null) {
			module_zoomslides_sl_sender=sender;
			}
		/**
		*	Position/Breite der Bilder
		*/
		it=130;
		il=[0,-40,40,-25,25];
		iw=320;
		ih=240;
		/**
		*	Skalierungswerte
		*/
		its=-2;
		ils=-2;
		iws=4;
		ihs=3;
		/**
		*	Z Index, Entfernung zur Kamera
		*/
		iz=[100,80,60,40,20];
		im=[null,null,null,null,null];
		imm=[null,null,null,null,null];
		ip=0;
		ta=null;
		stepping=0;
		/**
		*	Bildindex aufbauen.
		*	Die Bilder sind als normale HTML-Tags im DIV mit der ID module_zoomslides_images abgelegt.
		*	Sie werden hier in das Silverlight Element eingebaut oder als neue DHTML Elemente auf der Seite positioniert.
		*/
		var ihtml="";
		var lhtml="";
		cn=document.getElementById("module_zoomslides_images").childNodes;
		cn2=document.getElementById("module_zoomslides_links").childNodes;
		var ipointer=0;
		/**
		*	DHTML
		*/
		if (!silverlight) {
			for (var i=0,l=iz.length;i<l;i++) {
				if (ipointer>=cn.length) {
					ipointer=0;
					}
				ihtml+="<a id=\"module_zoomslides_bildlink"+i+"\" href=\"javascript:module_zoomslides_scroll(1,"+i+")\"><img src=\""+cn[ipointer].src+"\" class=\"module_zoomslides_bild\" id=\"module_zoomslides_image"+i+"\"/></a>";
				var iname=cn[ipointer].src.split("/");
				ihtml+="<img src=\"/scripts/frontend/index.php3?ACTION=module_goldenesland_mirror&img="+iname[6]+"\" class=\"module_zoomslides_mbild\" id=\"module_zoomslides_mirror"+i+"\"/>";
				ipointer++;
				}
			document.getElementById("module_zoomslides_mainframe").innerHTML=ihtml;
			}
		/**
		*	Silverlight
		*/
		else {
			module_zoomslides_marker=module_zoomslides_sl_sender.FindName("module_zoomslides_marker");
			if(document.all) {
				module_zoomslides_sl_sender.FindName("module_zoomslides_farbverlauf").SetValue("Source", "/domains/www.dasgoldeneland.de/images/var/overlay_ie.png");
				}
			for (var i=0,l=iz.length;i<l;i++) {
				if (ipointer>=cn.length) {
					ipointer=0;
					}
				var iname=cn[ipointer].src.split("/");
				module_zoomslides_sl_sender.FindName("module_zoomslides_image"+i).SetValue("Source", cn[ipointer].src);
				module_zoomslides_sl_sender.FindName("module_zoomslides_mirror"+i).SetValue("Source", cn[ipointer].src);
				ipointer++;
				}
			}
		/**
		*	Navigation aufbauen - DHTML
		*/
		if (!silverlight) {
			for (var i=0,l=cn2.length;i<l;i++) {
				lhtml+="<a href=\"javascript:module_zoomslides_scroll(1,"+i+")\">"+cn[i].alt+"</a>";
				}
			document.getElementById("inhaltsverzeichnis").innerHTML="<div id=\"inhalt_slider\">"+lhtml+"</div>";
			}
		/**
		*	Navigation aufbauen - Silverlight
		*/
		else {
			var plugin=module_zoomslides_sl_sender.getHost();
			var tbl=6;
			for (var i=0,l=cn2.length;i<l;i++) {
				lhtml="<TextBlock Cursor=\"Hand\" MouseLeftButtonUp=\"module_zoomslides_startscroll\" Canvas.ZIndex=\""+i+"\" FontSize=\"10\" Canvas.Top=\"7\" Text=\""+cn[i].alt.toUpperCase().replace("&","&amp;").replace(/[^a-zA-Z 0-9]/gi,"")+"\" />";
				textBlock=plugin.content.createFromXaml(lhtml);
				textBlock.SetValue("Canvas.Left", tbl);
				tbl+=parseInt(textBlock.ActualWidth)+10;
				module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").children.add(textBlock);
				}
			module_zoomslides_marker.setValue("Width",module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").children.getItem(1).ActualWidth+10);
			module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").children.getItem(1).setValue("Foreground","#ffffffff");
			module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").SetValue("Width",tbl-5);
			}
		/**
		*	Bilder positionieren - DHTML
		*/
		if (!silverlight) {
			for (var i=0,l=iz.length;i<l;i++) {
				sf=iz[i]/100;
				im[i]=document.getElementById("module_zoomslides_image"+i).style;
				imm[i]=document.getElementById("module_zoomslides_mirror"+i).style;
				im[i].display="block";
				im[i].top=it-120*sf+"px";
				im[i].left=((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2)+"px";
				im[i].width=iw*sf+"px";
				im[i].height=ih*sf+"px";
				im[i].zIndex=iz[i];
				imm[i].display="block";
				imm[i].top=((it-120*sf)+(ih*sf))-1+"px";
				imm[i].left=im[i].left;
				imm[i].width=im[i].width;
				imm[i].height=im[i].height;
				imm[i].zIndex=iz[i];
				ip++;
				}
			}
		/**
		*	Bilder positionieren - Silverlight
		*/
		else {
			for (var i=0,l=iz.length;i<l;i++) {
				sf=iz[i]/100;
				im[i]=module_zoomslides_sl_sender.FindName("module_zoomslides_image"+i);
				imm[i]=module_zoomslides_sl_sender.FindName("module_zoomslides_mirror"+i);
				blp[i]=module_zoomslides_sl_sender.FindName("blur"+i);
				blm[i]=module_zoomslides_sl_sender.FindName("mblur"+i);
				blp[i].SetValue("Radius",(100-iz[i])/10);
				blm[i].SetValue("Radius",(100-iz[i])/10);
				im[i].SetValue("Canvas.Left", ((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2));
				im[i].SetValue("Width", iw*sf);
				im[i].SetValue("Height", ih*sf);
				im[i].SetValue("Canvas.Top", it-120*sf);
				im[i].SetValue("Canvas.ZIndex", iz[i]);
				imm[i].SetValue("Canvas.Left", ((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2));
				imm[i].SetValue("Width", iw*sf);
				imm[i].SetValue("Height", ih*sf);
				imm[i].SetValue("Canvas.Top", ((it-120*sf)+(2*ih*sf))-1);
				imm[i].SetValue("Canvas.ZIndex", iz[i]);
				ip++;
				}
			}
		}
	}
/**
*	Da man aus XAML keine Argumente weiterreichen kann - kleiner Umweg für Silverlight
*/
function module_zoomslides_startscroll(sender,args) {
	module_zoomslides_sl_sender=sender;
	module_zoomslides_sl_args=args;
	var ziel=stepping+1;
	if (ziel>=cn.length) {
		ziel=0;
		}
	if(sender.toString()=="TextBlock") {
		ziel=sender.getValue("Canvas.ZIndex");
		}
	if (ziel>=cn2.length) {
		ziel=0;
		}
	var child=module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").children;
	for (i=1;i<child.Count;i++) {
		child.getItem(i).setValue("Foreground","#ff000000");
		}
	module_zoomslides_marker.setValue("Width",child.getItem(ziel+1).ActualWidth+10);
	child.getItem(ziel+1).setValue("Foreground","#ffffffff");
	module_zoomslides_marker.setValue("Canvas.Left",child.getItem(ziel+1).getValue("Canvas.Left")-5);
	if(sender.toString()!="TextBlock") {
		module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").setValue("Canvas.Left",310-child.getItem(ziel+1).getValue("Canvas.Left"));
		}
	module_zoomslides_scroll(1,ziel);
	}
/**
*	Die Navigation auf den aktuellen Menüpunkt zentrieren
*/
function module_zoomslides_focusmenu(menu) {
	/**
	*	DHTML
	*/
	if (!silverlight) {
		mzm=document.getElementById("inhalt_slider");
		var pos1=getDim(mzm);
		var pos2=getDim(mzm.childNodes[menu]);
		mzm.style.left=0-(pos2.x-pos1.x-305)+"px";
		}
	/**
	*	Silverlight
	*/
	else {
		if (module_zoomslides_sl_sender.toString()=="TextBlock") {
			var pos2=module_zoomslides_sl_sender.getValue("Canvas.Left");
			module_zoomslides_sl_sender.FindName("module_zoomslides_scroller").SetValue("Canvas.Left",310-pos2);
			}
		}
	/**
	*	Content per AJAX laden
	*/
	var ln=document.getElementById("module_zoomslides_links").childNodes[menu].href;
	}
/**
*	Die Bilder zoomen/scrollen
*/
function module_zoomslides_scroll(s,target) {
	if (target==null||(target!=null&&target!=stepping)) {
		if (target!=null) {
			module_zoomslides_focusmenu(target);
			}
		if (s==1&&to==null) {
			to=window.setInterval("module_zoomslides_scroll()",25);
			}
		if (target!=null) {
			ta=target;
			}
		if (count<100&&hasupdated==0) {
			hasupdated=1;
			for (var i=0,l=iz.length;i<l;i++) {
				sf=iz[i]/100;
				iz[i]+=1;
				/**
				*	DHTML
				*/
				if (!silverlight) {
					im[i].top=it-120*sf+"px";
					im[i].left=((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2)+"px";
					im[i].width=iw*sf+"px";
					im[i].height=ih*sf+"px";
					im[i].zIndex=iz[i];
					imm[i].top=((it-120*sf)+(ih*sf))-1+"px";
					imm[i].left=im[i].left;
					imm[i].width=im[i].width;
					imm[i].height=im[i].height;
					imm[i].zIndex=iz[i];
					}
				/**
				*	Silverlight
				*/
				else {
					blp[i].SetValue("Radius",(100-iz[i])/10);
					blm[i].SetValue("Radius",(100-iz[i])/10);
					im[i].SetValue("Canvas.Left", ((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2));
					im[i].SetValue("Width", iw*sf);
					im[i].SetValue("Height", ih*sf);
					im[i].SetValue("Canvas.Top", it-120*sf);
					im[i].SetValue("Canvas.ZIndex", iz[i]);
					imm[i].SetValue("Canvas.Left", ((400+il[i])+iz[i]*4*(il[i]*sf/100))-(iw*sf/2));
					imm[i].SetValue("Width", iw*sf);
					imm[i].SetValue("Height", ih*sf);
					imm[i].SetValue("Canvas.Top", ((it-120*sf)+(2*ih*sf))-1);
					imm[i].SetValue("Canvas.ZIndex", iz[i]);
					}
				/**
				*	Sind die Bilder zu nah an der Kamera, sanft ausblenden
				*/
				if (iz[i]>100&&1-(iz[i]-100)/10>=0) {
					var op=100-(iz[i]-100)*10;
					/**
					*	DHTML
					*/
					if (!silverlight) {
						im[i].opacity=1-(iz[i]-100)/10;
						im[i].filter="Alpha(opacity="+op+")";
						imm[i].opacity=im[i].opacity;
						imm[i].filter=im[i].filter;
						}
					/**
					*	Silverlight
					*/
					else {
						im[i].SetValue("Opacity", 1-(iz[i]-100)/10);
						imm[i].SetValue("Opacity", 1-(iz[i]-100)/10);
						}
					}
				/**
				*	Nach dem Ausblenden "hinten anstellen" und wieder sichtbar machen
				*/
				else {
					/**
					*	DHTML
					*/
					if (!silverlight) {
						im[i].filter=null;
						im[i].opacity=1;
						imm[i].opacity=null;
						imm[i].filter=1;
						}
					/**
					*	Silverlight
					*/
					else {
						im[i].SetValue("Opacity", 1);
						imm[i].SetValue("Opacity", 1);
						}
					}
				if (iz[i]==110) {
					iz[i]=iz[i]-100;
					if (ip>=cn.length) {
						ip=0;
						}
					stepping++;
					if (stepping>=cn.length) {
						stepping=0;
						}
					var iname=cn[ip].src.split("/");
					if (!silverlight) {
						document.getElementById("module_zoomslides_bildlink"+i).href="javascript:module_zoomslides_scroll(1,"+ip+")";
						document.getElementById("module_zoomslides_image"+i).src=cn[ip].src;
						document.getElementById("module_zoomslides_mirror"+i).src=cn[ip].src;
						}
					else {
						module_zoomslides_sl_sender.FindName("module_zoomslides_image"+i).SetValue("Source", cn[ip].src);
						module_zoomslides_sl_sender.FindName("module_zoomslides_mirror"+i).SetValue("Source", cn[ip].src);
						}
					ip++;
					}
				}
			count++;
			hasupdated=0;
			/**
			*	Wenn ein Bild durchgelaufen ist, Counter zurücksetzen und von vorne beginnen
			*/
			if (iz[0]==100||iz[1]==100||iz[2]==100||iz[3]==100||iz[4]==100) {
				count=0;
				if (ta==null||ta==stepping) {
					window.clearInterval(to);
					to=null;
					ta=null;
					}
				}
			}
		}
	}