﻿// cBox v0.1 - cybob communication GmbH// by Stanislav Silbermann// 29.11.2009// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc// Settings// cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvar cbox_class = "cbox"; // class name to get a-Tags// Elements to create:// predefined:	overlay, body// optional:	header, title, next, prev, picture, countvar cbox_elements = new Array("picture","close");// where to put the elementsvar cbox_header_location = "body";	// headervar cbox_close_location = "body";	// closevar cbox_picture_location = "body";	// picturevar cbox_next_location = "body";	// nextvar cbox_prev_location = "body";	// previousvar cbox_next_label = "weiter >>>";var cbox_prev_label = "<<< zurück";// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc// Change code below at own risk !!!// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc// Global variablesvar sources = new Array();var pictures = new Array();var titles = new Array();var site_body;var cbox_id;var cbox_id_next;var cbox_id_prev;// run cBoxinit_cbox();// get all a-Tags with cbox-Class and make them cBox :)function init_cbox(){var anchors = new Array();anchors = document.getElementsByTagName("a");for (var i = 0; i <= anchors.length - 1; i++)	{		var class_name = anchors[i].className;		if (class_name.match("cbox") == cbox_class)			{				var anchor = anchors[i];				anchor.setAttribute("onclick", "show_cbox(this.id)");				anchor.id = i;				sources[i] = anchor.href;				pictures[i] = new Image();				pictures[i].src = anchor.href;				titles[i] = anchor.getAttribute("alt");				anchor.href = "#";			}	}}// create an Overlay, a cBox-Body and modify the a-Tagsfunction show_cbox(id){cbox_id = id;if (!document.getElementById("cbox_overlay")){	site_body = document.getElementsByTagName('body')[0]; // get the body tag		var cbox_overlay = document.createElement("div");	cbox_overlay.id = "cbox_overlay";	cbox_overlay.setAttribute("onclick", "hide_cbox()");	site_body.appendChild(cbox_overlay);}	else		document.getElementById("cbox_overlay").style.display = "block";if (!document.getElementById("cbox_body"))	{		var cbox_body = document.createElement("div");		cbox_body.id = "cbox_body";		site_body.appendChild(cbox_body);	}	else		document.getElementById("cbox_body").style.display = "block";cbox_get_elements();} // hide the cBoxfunction hide_cbox(){document.getElementById("cbox_body").style.display = "none";document.getElementById("cbox_overlay").style.display = "none";}// get Elements to createfunction cbox_get_elements(){	for (i = 0; i <= cbox_elements.length - 1; i++)		{			switch (cbox_elements[i])				{					case "picture": set_picture(); break;					case "close": set_close(); break;					case "header": set_header(); break;					case "next": set_next(); break;					case "prev": set_prev(); break;				}		}}// create the "close" elementfunction set_close(){	if (!document.getElementById("cbox_close"))		{			var cbox_close = document.createElement("a");			cbox_close.id = "cbox_close";			cbox_close.setAttribute("onclick", "hide_cbox()");			cbox_close.href = "#";			cbox_close.innerHTML = "x";			document.getElementById("cbox_body").appendChild(cbox_close);		}}// create the "header" elementfunction set_header(){	if (!document.getElementById("cbox_header"))		{			var cbox_header = document.createElement("div");			cbox_header.id = "cbox_header";			cbox_header.innerHTML = titles[cbox_id];			document.getElementById("cbox_body").appendChild(cbox_header);		}		else			document.getElementById("cbox_header").innerHTML = titles[cbox_id];}// create the "picture" element function set_picture(){	if (!document.getElementById("cbox_picture"))		{				var cbox_picture = document.createElement("img");			cbox_picture.id = "cbox_picture";			cbox_picture.src = sources[cbox_id];			document.getElementById("cbox_body").appendChild(cbox_picture);		}		else			document.getElementById("cbox_picture").src = sources[cbox_id];		set_position("start");}// create the "next" elementfunction set_next(){	// cbox_next = false	if (!document.getElementById("cbox_next"))		{				// soucre = not last			if (cbox_id < sources.length - 1)				{					var cbox_next = document.createElement("div");					cbox_next.id = "cbox_next";					cbox_next.setAttribute("onclick", "get_next()");					cbox_next.innerHTML = cbox_next_label;					document.getElementById("cbox_" + cbox_next_location).appendChild(cbox_next);				}		}		// cbox_next = true		else			{				// source = not last				if (cbox_id < sources.length - 1)					{						document.getElementById("cbox_next").style.display = "block";					}					// source = last					else						document.getElementById("cbox_next").style.display = "none";			}}// create the "prev" elementfunction set_prev(){	// cbox_prev = false	if (!document.getElementById("cbox_prev"))		{				// soucre = not last			if (cbox_id > 0)				{					var cbox_prev = document.createElement("div");					cbox_prev.id = "cbox_prev";					cbox_prev.setAttribute("onclick", "get_prev()");					cbox_prev.innerHTML = cbox_prev_label;					document.getElementById("cbox_" + cbox_prev_location).appendChild(cbox_prev);				}		}		// cbox_prev = true		else			{				// source = not last				if (cbox_id > 0)					{						document.getElementById("cbox_prev").style.display = "block";					}					// source = last					else						document.getElementById("cbox_prev").style.display = "none";			}}function get_next(){	cbox_id_next = ++cbox_id;	document.getElementById("cbox_picture").src = sources[cbox_id_next];	if (cbox_id_next >= sources.length - 1)		{			document.getElementById("cbox_next").style.display = "none";		}		document.getElementById("cbox_header").innerHTML = titles[cbox_id_next];		set_position("next");			set_prev();}function get_prev(){	cbox_id_prev = --cbox_id;	document.getElementById("cbox_picture").src = sources[cbox_id_prev];	if (cbox_id_prev <= 0)		{			document.getElementById("cbox_prev").style.display = "none";		}		document.getElementById("cbox_header").innerHTML = titles[cbox_id_prev];		set_position("prev");		set_next();}function set_position(type){	switch (type)		{			case "start":				var img_width = pictures[cbox_id].width;				var img_height = pictures[cbox_id].height;				break;			case "next":				var img_width = pictures[cbox_id_next].width;				var img_height = pictures[cbox_id_next].height;				break;				alert(img_width + " / " + img_height);			case "prev":				var img_width = pictures[cbox_id_prev].width;				var img_height = pictures[cbox_id_prev].height;				break;		}	document.getElementById("cbox_body").style.marginLeft = -(img_width / 2) + "px";	document.getElementById("cbox_body").style.marginTop = -(img_height / 2) + "px";}
