/**
 * RokBox - Pops up all sort of media types, html, images, videos, audio, iframes.
 *
 * @version		1.3
 *
 * @author		Djamil Legato <djamil@rockettheme.com>
 * @copyright	Andy Miller @ Rockettheme, LLC
 */

Element.extend({show: function () {return this.setStyle("display", "");}, hide: function () {return this.setStyle("display", "none");}});
String.extend({sameDomain: function () {var domain = /^(http|https):\/\/([a-z-.0-9]+)[\/]{0,1}/i.exec(window.location);var lnk = /^(http|https):\/\/([a-z-.0-9]+)[\/]{0,1}/i.exec(this);return domain[2] === lnk[2];}});
var RokBox = new Class({version: "1.3", options: {className: "rokbox", theme: "default", transition: Fx.Transitions.Quad.easeOut, duration: 200, chase: 40, effect: "quicksilver", captions: true, captionsDelay: 800, scrolling: false, keyEvents: true, overlay: {background: "#000", opacity: 0.85, zIndex: 65550, duration: 200, transition: Fx.Transitions.Quad.easeInOut}, 'frame-border': 0, 'content-padding': 0, 'arrows-height': 50, defaultSize: {width: 640, height: 460}, autoplay: "true", controller: "false", bgcolor: "#f3f3f3", youtubeAutoplay: false, youtubeHighQuality: false, vimeoColor: "00adef", vimeoPortrait: false, vimeoTitle: false, vimeoFullScreen: true, vimeoByline: false}, initialize: function (options) {this.setOptions(options);var regexp = new RegExp("^" + this.options.className), cls = this.options.className, self = this;this.current = [];this.groups = new Hash({});this.changeGroup = false;this.swtch = false;this.elements = $$("a").filter(function (lnk) {var rel = lnk.getProperty("rel"), group = false, len = false, module = false;var test = (rel || "").test(regexp);if (test) {if (rel) {group = rel.match(/\([a-z0-9A-Z]+\)/g) || false;}if (rel) {module = rel.match(/\[module\=(.+)+\]/) || false;}if (module[1]) {lnk.module = module[1];} else {lnk.module = false;}if (group[0]) {group = group[0].replace("(", "").replace(")", "");if (!this.groups.hasKey(group)) {this.groups.set(group, []);}var groups = this.groups.get(group);groups.push(lnk);len = groups.length;this.groups.set(group, groups);}lnk.group = group;lnk.idx = len;lnk.addEvent("click", this.click.bindWithEvent(lnk, [lnk.title, lnk.href, lnk.rel, this]));}return test;}.bind(this));var overlayOptions = $merge(this.options.overlay, {id: cls + "-overlay", class: cls + "-overlay"});this.overlayObj = (new Rokverlay(false, overlayOptions)).addEvent("onShow", function () {self.open(self.current);}).addEvent("onHide", function () {if (self.changeGroup) {self.changeGroup = false;var e = self.nextGroup[0], selfLink = self.nextGroup[1], list = self.nextGroup[2], index = self.nextGroup[3], what;if (selfLink.getProperty("id").test("next")) {what = list[index];} else {what = list[index - 2];}self.click.delay(100, self, [false, what.title, what.href, what.rel, self, what]);}});this.overlay = this.overlayObj.overlay.addEvent("click", function () {self.swtch = false;self.close();});this.wrapper = (new Element("div", {id: cls + "-wrapper", class: cls + "-" + this.options.theme})).inject(document.body).setStyles({position: "absolute", zIndex: 65555, opacity: 0}).hide();var topleft = (new Element("div", {id: cls + "-top", class: cls + "-left"})).inject(this.wrapper);var topright = (new Element("div", {class: cls + "-right"})).inject(topleft);
var topcenter = (new Element("div", {class: cls + "-center"})).inject(topright);
var middleleft = (new Element("div", {id: cls + "-middle", class: cls + "-left"})).inject(this.wrapper);
var middleright = (new Element("div", {class: cls + "-right"})).inject(middleleft);
this.center = (new Element("div", {class: cls + "-center"})).inject(middleright);
var bottomleft = (new Element("div", {id: cls + "-bottom", class: cls + "-left"})).inject(this.wrapper);
var bottomright = (new Element("div", {class: cls + "-right"})).inject(bottomleft);
var bottomcenter = (new Element("div", {class: cls + "-center"})).inject(bottomright);
(new Element("div", {class: "clr"})).inject(this.wrapper);this.closeButton = (new Element("a", {id: cls + "-close", href: "#"})).setHTML("<span>[x] close</span>").inject(this.center);
this.closeButton.addEvent("click", function (e) {(new Event(e)).stop();self.swtch = false;self.close(e);});this.fx = {wrapper: new (Fx.Styles)(this.wrapper, {duration: this.options.duration, wait: true, transition: this.options.transition, onComplete: function () {if (self.type == "image") {return;}if (!this.now.opacity && self.overlayObj.open) {self.wrapper.hide();if (!self.swtch) {self.overlayObj.hide();} else {if (self.changeGroup) {self.changeGroup = false;var e = self.nextGroup[0], selfLink = self.nextGroup[1], list = self.nextGroup[2], index = self.nextGroup[3], what;if (selfLink.getProperty("id").test("next")) {what = list[index];} else {what = list[index - 2];}self.click.delay(100, self, [false, what.title, what.href, what.rel, self, what]);}}} else {self.loadVideo.delay(50, self);}}}), center: new (Fx.Styles)(this.center, {duration: this.options.duration, wait: true, transition: this.options.transition}), height: new (Fx.Style)(this.center, "height", {duration: this.options.duration, wait: true, transition: this.options.transition})};window.addEvent("resize", function () {self.reposition(self.wrapper);self.overlayObj.reposition();});if (this.options.scrolling) {window.addEvent("scroll", function () {self.reposition(self.wrapper);});}}, click: function (e, title, href, options, self, me) {if (e) {(new Event(e)).stop();}var fs = "";var match = options.match(/([0-9]+\s?[0-9]+)/g) || [""];match = match[0].split(" ");var match = options.match(/([0-9%]+\s?[0-9%]+)/g) || [""];fs = match[0].split(" ");match = match[0].split(" ");if (options.match(/fullscreen/g)) {fs = "fullscreen";}var tmp = self.overflow();if (!me) {me = false;}var group = this.group || me.group;var closeHeight = self.closeButton.getStyle("height").toInt() || self.closeButton.getSize().size.y || 0;var arrowHeight = self.options['arrows-height'] || 0;match[0] = match[0] ? match[0] : "";match[1] = match[1] ? match[1] : "";if ((!match[0].contains("%") && !match[1].contains("%")) && !match[0].length || !match[1].length) {if (href.match(/youtube\.com\/watch/i)) {match[0] = 640;match[1] = 385;} else if (href.match(/dailymotion\./i)) {match[0] = 420;match[1] = 339;} else if (href.match(/metacafe\.com\/watch/i)) {match[0] = 400;match[1] = 345;} else if (href.match(/google\.com\/videoplay/i)) {match[0] = 400;match[1] = 326;} else if (href.match(/vimeo\.com\/[0-9]{1,}/i)) {match[0] = 400;match[1] = 225;} else if (href.match(/\.(mov|qt|mpeg|divx|avi|xvid|wmv|wma|wax|wvx|asx|asf)$/i)) {match[0] = 504;match[1] = 336;} else if (href.match(/\.(mp3|wav)$/i)) {match[0] = 320;match[1] = 45;}}var winSize = window.getSize().size;if (match[0] > (window.opera ? window.innerWidth : winSize.x) || fs == "fullscreen") {match[0] = (window.opera ? window.innerWidth : winSize.x) - self.overflow(true) - 20;}if (match[1] > (window.opera ? window.innerHeight : winSize.y) || fs == "fullscreen") {match[1] = (window.opera ? window.innerHeight : winSize.y) - self.overflow() - closeHeight - arrowHeight - 20;}if ($type(match[0]) != "number" && $type(match[1]) != "number") {if (match[0].contains("%") && match[1].contains("%")) {var ww = window.opera ? window.innerWidth : winSize.x;var wh = window.opera ? window.innerHeight : winSize.y;match[0] = match[0].replace("%", "").toInt();match[1] = match[1].replace("%", "").toInt();match[0] = match[0] > 100 ? 100 : match[0];match[1] = match[1] > 100 ? 100 : match[1];match[0] = ww * match[0] / 100;match[1] = wh * match[1] / 100;match[0] = match[0] - self.overflow(true) - 20;match[1] = match[1] - self.overflow() - closeHeight - arrowHeight - 20;}}options = {width: (match[0] || self.options.defaultSize.width).toInt(), height: (match[1] || self.options.defaultSize.height).toInt()};options2 = {width: (match[0] || self.options.defaultSize.width).toInt() + self.overflow(true), height: (match[1] || self.options.defaultSize.height).toInt() + self.overflow() + closeHeight};self.current = [this, title, href, options, group, this.idx || me.idx, options2, this.module];if (!self.swtch) {self.overlayObj.toggle();} else {self.open(self.current);}},
overflow: function (margin) {var tmp = (this.options['frame-border'] * 2) + this.options['content-padding'] * 2;return tmp;},
open: function () {
	arguments = arguments[0];
	var b = arguments;
	var el = arguments[0], title = arguments[1], href = arguments[2], size = arguments[3], options = arguments[6], module = arguments[7], self = this;
	this.closeButton.setStyle("visibility", "visible");
	var closeHeight = self.closeButton.getStyle("height").toInt() || self.closeButton.getSize().size.y || self.closeButton.currentStyle.height.toInt() || 0;
	var arrowHeight = self.options['arrows-height'] || 0;
	this.wrapper.setStyles({width: options.width, height: options.height + arrowHeight + closeHeight}).show();
	this.center.setStyles({width: size.width, height: size.height + closeHeight + arrowHeight});
	if (self.options.captions && !this.caption) {
		var getCaption = self.getCaption(title) || [false, false];
		var title = getCaption[0], description = getCaption[1];this.caption = (new Element("div", {id: this.options.className + "-caption"})).inject(this.center).setStyle("opacity", 0).adopt(title, description);}if (self.options.captions && this.caption) {this.caption.hide().setStyle("height", 0);}
		if (self.container) {self.container.empty();}
		var position = this.reposition(this.wrapper, options)[1];this.fx.wrapper.start(this.effects(this.options.effect, position).start).chain(function () {if (self.options.captions && self.caption) {(function () {var height = self.caption.getSize().size.y || 0;var center = self.center.getStyle("height").toInt();self.fx.height.start(center + height - arrowHeight).chain(function () {self.caption.effect("opacity").start(1);if (self.options.keyEvents) {self.evt = self.keyEvents.bindWithEvent(self);document.addEvent("keyup", self.evt);}});}.delay(self.options.captionsDelay));}});var h = size.height + closeHeight + arrowHeight;var f = this.effects(this.options.effect, position).start;if (f.width || f.height) {this.fx.center.start({width: ($type(f.width) == "array") ? [0, size.width] : size.width, height: ($type(f.height) == "array") ? [0, h] : h});} else {this.center.setStyles({width: size.width, height: h});}}, close: function (event, animation) {var self = this, effect;var position = {left: this.wrapper.getStyle("left").toInt(), top: this.wrapper.getStyle("top").toInt()};this.closeButton.setStyle("visibility", "hidden");
		this.container.removeClass("spinner");
		this.unloadVideo();effect = this.effects(animation ? animation : this.options.effect, position).end;if (this.options.captions) {this.caption.effect("opacity").set(0);}if (this.options.keyEvents) {document.removeEvent("keyup", self.evt);}if (this.arrows) {this.arrows.remove();}this.arrows = false;var tmp = {};if ($chk(effect.width)) {tmp.width = Math.abs(effect.width - self.overflow());}if ($chk(effect.height)) {tmp.height = Math.abs(effect.height);}this.fx.center.start(tmp).chain(function () {self.fx.height.stop();if (self.caption) {self.caption.setStyle("height", "");}self.center.setStyles({width: "", height: ""});
		self.container.setStyles({width: "", height: ""});
		});
		this.fx.wrapper.start(effect);return this;}, keyEvents: function (e) {new Event(e);switch (e.key) {case "left":if (this.arrows) {this.prevArrow.fireEvent("click", e);}break;case "right":if (this.arrows) {this.nextArrow.fireEvent("click", e);}break;case "esc":this.swtch = false;this.close(e, "growl");default:;}}, reposition: function (wrapper, size) {var winSize = window.getSize();if (!wrapper) {wrapper = $(this.wrapper);}if (!size) {var tmp = wrapper.getSize().size;size = {width: tmp.x, height: tmp.y};}var plus = this.options['arrows-height'];var position = {top: winSize.scroll.y + (window.opera ? window.innerHeight : winSize.size.y) / 2 - size.height / 2 - wrapper.getStyle("padding-top").toInt() - plus / 2, left: winSize.scroll.x + (window.opera ? window.innerWidth : winSize.size.x) / 2 - size.width / 2 - wrapper.getStyle("padding-left").toInt()};return [wrapper.setStyles(position), position];},
loadVideo: function () {if (this.container) {this.container.remove();}if (this.caption) {this.caption.hide();}var caption = this.current[1], url = this.current[2], size = this.current[3], group = this.current[4], index = this.current[5], cls = this.options.className;var module = this.current[7];var closeHeight = this.closeButton.getStyle("height").toInt() || this.closeButton.getSize().size.y || 0;var arrowHeight = this.options['arrows-height'] || 0;this.type = false;if (module) {this.type = "module";this.object = $(module);} else if (url.match(/\.(gif|jpg|jpeg|png|bmp)$/i) || this.current[0].alt == "image") {this.type = "image";
var self = this;
this.object = new (Asset.image)(url, {
	id: "rokboxobject",
	onload: function () {
		size.width = this.width;
		//size.height = this.height;
		size.height = self.center.getSize().size.y-65;
		self.container.setStyles(size);
		self.container.setStyle('overflowX', 'hidden');
		self.container.setStyle('overflowY', 'auto');
		var img = this, winSize = window.getSize();
		var top = winSize.scroll.y + winSize.size.y / 2 - this.height / 2 - self.wrapper.getStyle("padding-top").toInt();
		if (top < 0) {top = 0;}
		self.fx.wrapper.start({left: winSize.scroll.x + winSize.size.x / 2 - this.width / 2 - self.overflow(true) / 2 - self.wrapper.getStyle("padding-left").toInt(), width: this.width + self.overflow(true), height: this.height + self.overflow() + arrowHeight + closeHeight}).chain(function () {self.container.removeClass("spinner");img.inject(self.container);});}});} else if (url.match(/\.(mov|qt|mpeg|divx|avi|xvid|mv4|m4v)$/i)) {this.type = "qt";if (navigator.plugins && navigator.plugins.length) {this.object = "<object id=\"rokboxobject\" standby=\"loading...\" type=\"video/quicktime\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\" data=\"" + url + "\" width=\"" + size.width + "\" height=\"" + size.height + "\"><param name=\"src\" value=\"" + url + "\" /><param name=\"scale\" value=\"aspect\" /><param name=\"controller\" value=\"" + this.options.controller + "\" /><param name=\"autoplay\" value=\"" + this.options.autoplay + "\" /><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /><param name=\"enablejavascript\" value=\"true\" /></object>";} else {this.object = "<object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" standby=\"loading...\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\" type=\"video/quicktime\" width=\"" + size.width + "\" height=\"" + size.height + "\" id=\"rokboxobject\"><param name=\"src\" value=\"" + url + "\" /><param name=\"scale\" value=\"aspect\" /><param name=\"controller\" value=\"" + this.options.controller + "\" /><param name=\"autoplay\" value=\"" + this.options.autoplay + "\" /><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /><param name=\"enablejavascript\" value=\"true\" /></object>";}} else if (url.match(/\.(wmv|wma|wax|wvx|asx|asf)$/i)) {this.type = "wmv";if (navigator.plugins && navigator.plugins.length) {this.object = "<object id=\"rokboxobject\" standby=\"loading...\" type=\"application/x-oleobject\" data=\"" + url + "\" width=\"" + size.width + "\" height=\"" + size.height + "\" /><param name=\"src\" value=\"" + url + "\" /><param name=\"autoStart\" value=\"" + this.options.autoplay + "\" /><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /></object>";} else {this.object = "<object id=\"rokboxobject\" standby=\"loading...\" classid=\"CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95\" type=\"application/x-oleobject\" data=\"" + url + "\" width=\"" + size.width + "\" height=\"" + size.height + "\" /><param name=\"filename\" value=\"" + url + "\" /><param name=\"showcontrols\" value=\"" + this.options.controller + "\"><param name=\"autoStart\" value=\"" + this.options.autoplay + "\" /><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /><param name=\"stretchToFit\" value=\"true\" /></object>";}} else if (url.match(/youtube\.com\/watch/i)) {this.type = "flash";var videoId = url.split("=");this.videoID = videoId[1];this.options.youtubeAutoplay = this.options.youtubeAutoplay ? 1 : 0;this.options.youtubeHighQuality = this.options.youtubeHighQuality ? "&ap=%2526fmt%3D22" : "";this.object = new SWFObject("http://www.youtube.com/v/" + this.videoID + "&autoplay=" + this.options.youtubeAutoplay + this.options.youtubeHighQuality, "rokboxobject", size.width, size.height, "9", this.options.bgcolor, "wmode", "transparent");this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/dailymotion\./i)) {this.type = "flash";var videoId = url.split("_")[0].split("/");this.videoId = videoId[videoId.length - 1];this.object = new SWFObject("http://www.dailymotion.com/swf/" + this.videoId + "&v3=1&colors=background:DDDDDD;glow:FFFFFF;foreground:333333;special:FFC300;&autoPlay=1&related=0", "rokboxobject", size.width, size.height, "9", this.options.bgcolor);this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/metacafe\.com\/watch/i)) {this.type = "flash";var videoId = url.split("/");this.videoID = videoId[4];this.object = new SWFObject("http://www.metacafe.com/fplayer/" + this.videoID + "/.swf", "rokboxobject", size.width, size.height, "9", this.options.bgcolor, "wmode", "transparent");this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/google\.com\/videoplay/i)) {this.type = "flash";var videoId = url.split("=");this.videoID = videoId[1];this.object = new SWFObject("http://video.google.com/googleplayer.swf?docId=" + this.videoID + "&autoplay=1&hl=en", "rokboxobject", size.width, size.height, "9", this.options.bgcolor, "wmode", "transparent");this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/vimeo\.com\/[0-9]{1,}/i)) {this.type = "flash";var videoId = url.split("/");this.videoID = videoId[3];this.options.vimeoFullScreen = this.options.vimeoFullScreen ? 1 : 0;this.options.vimeoTitle = this.options.vimeoTitle ? 1 : 0;this.options.vimeoByline = this.options.vimeoByline ? 1 : 0;this.options.vimeoPortrait = this.options.vimeoPortrait ? 1 : 0;this.options.vimeoColor = this.options.vimeoColor.match(/[0-9]{6}/) ? this.options.vimeoColor : "00adef";this.object = new SWFObject("http://www.vimeo.com/moogaloop.swf?clip_id=" + this.videoID + "&amp;server=www.vimeo.com&amp;fullscreen=" + this.options.vimeoFullScreen + "&amp;show_title=" + this.options.vimeoTitle + "&amp;show_byline=" + this.options.vimeoByline + "&amp;show_portrait=" + this.options.vimeoPortrait + "&amp;color=" + this.options.vimeoColor + "", "rokboxobject", size.width, size.height, "9", this.options.bgcolor);this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/\.swf/i)) {this.type = "flash";this.object = new SWFObject(url, "rokboxobject", size.width, size.height, "9", this.options.bgcolor, "wmode", "transparent");this.object.addParam("allowscriptaccess", "always");this.object.addParam("allowfullscreen", "true");} else if (url.match(/\.(mp3|m4a)$/i)) {this.type = "audio";this.object = "<object id=\"rokboxobject\"\" width=\"" + size.width + "\" height=\"" + size.height + "\" data=\"" + url + "\"\" type=\"" + (window.ie ? "application/x-mplayer2" : "audio/mpeg") + "\"><param value=\"" + url + "\" name=\"src\"/><param value=\"" + url + "\" name=\"filename\"/><param value=\"" + (window.ie ? "application/x-mplayer2" : "audio/mpeg") + "\" name=\"type\"/><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /><p>No plugin matched for playing: " + url + "</p></object>";} else if (url.match(/\.wav$/i)) {this.type = "audio";this.object = "<object id=\"rokboxobject\"\" width=\"" + size.width + "\" height=\"" + size.height + "\" data=\"" + url + "\"\" type=\"" + (window.ie ? "application/x-mplayer2" : "audio/wav") + "\"><param value=\"" + url + "\" name=\"src\"/><param value=\"" + url + "\" name=\"filename\"/><param value=\"" + (window.ie ? "application/x-mplayer2" : "audio/wav") + "\" name=\"type\"/><param name=\"bgcolor\" value=\"" + this.options.bgcolor + "\" /><p>No plugin matched for playing: " + url + "</p></object>";} else {this.type = "iframe";var IFrameID = "rokboxobject" + $time() + $random(0, 100);this.object = (new Element("iframe")).setProperties({id: IFrameID, width: size.width, height: size.height, frameBorder: 0, scrolling: "auto", src: url});var self = this;this.object.onload = function () {self.container.removeClass("spinner");};}this.movie = $("rokboxobject");if (this.type) {this.container = (new Element("div", {id: cls + "-container", class: cls + "-container"})).addClass("spinner").setStyles(size).injectInside(this.center);if (this.type == "flash") {this.object.write(this.container);} else if (this.type == "module") {this.object.clone(true).inject(this.container.removeClass("spinner")).setStyle("display", "block");} else if (this.type == "html") {this.object.inject(this.container);(new Ajax(url, {method: "get", evalScripts: true, update: this.object, onComplete: function () {this.container.removeClass("spinner");}.bind(this)})).request();} else if (this.type == "iframe") {this.object.inject(this.container);} else if (this.type != "image") {this.container.removeClass("spinner").setHTML(this.object);}if (group) {var list = this.groups.get(group), self = this;if (list.length > 1) {if (!this.arrows) {this.arrows = (new Element("div", {id: this.options.className + "-arrows"})).inject(this.center).hide();if (index != 1) {this.prevArrow = (new Element("a", {id: this.options.className + "-previous"})).inject(this.arrows).setHTML("<span>&lt; previous</span>");this.prevArrow.setProperties({href: list[index - 2].getProperty("href"), title: list[index - 2].getProperty("title")});}if (index != list.length) {this.nextArrow = (new Element("a", {id: this.options.className + "-next"})).inject(this.arrows).setHTML("<span>next &gt;</span>");this.nextArrow.setProperties({href: list[index].getProperty("href"), title: list[index].getProperty("title")});}if (index == 1) {this.prevArrow = (new Element("a", {id: this.options.className + "-previous", class: "inactive", href: "#"})).inject(this.arrows, "top").setHTML("<span>&lt; previous</span>");}if (index == list.length) {this.nextArrow = (new Element("a", {id: this.options.className + "-next", class: "inactive", href: "#"})).inject(this.arrows).setHTML("<span>next &gt;</span>");}this.prevArrow.addEvent("click", function (e) {e = (new Event(e)).stop();if (!this.hasClass("inactive")) {self.changeGroup = true;self.nextGroup = [e, this, list, index];self.swtch = true;self.close(e, "growl");}});this.nextArrow.addEvent("click", function (e) {e = (new Event(e)).stop();if (!this.hasClass("inactive")) {self.changeGroup = true;self.nextGroup = [e, this, list, index];self.swtch = true;self.close(e, "growl");}});}this.arrows.show();}}if (this.options.captions) {var getCaption = this.getCaption(caption) || [false, false];var title = getCaption[0], description = getCaption[1];if (this.caption) {this.caption.empty().remove();}this.caption = (new Element("div", {id: this.options.className + "-caption"})).inject(this.center).setStyle("opacity", 0).adopt(title, description);}}}, unloadVideo: function () {if (this.type) {this.container.innerHTML = "";}this.movie = null;this.type = false;}, getCaption: function (caption) {caption = caption.split(" :: ") || false;switch (caption.length) {case 0:return false;break;case 1:var title = false;var description = (new Element("p")).setText(caption[0]);break;case 2:var title = (new Element("h2")).setText(caption[0]);var description = (new Element("p")).setText(caption[1]);break;default:;}return [title, description];}, getGroup: function (el) {var rel = el.getProperty("rel"), group = false;if (rel) {group = rel.match(/\([a-z0-9A-Z]+\)/g) || false;}if (group[0]) {group = group[0].replace("(", "").replace(")", "");} else {group = false;}return group;}});
RokBox.implement(new Options, new Chain);
var Rokverlay = new Class({options: {id: false, class: false, background: "#000000", opacity: 0.7, zIndex: 65555, duration: 200, transition: Fx.Transitions.Quad.easeInOut}, initialize: function (where, options) {this.where = $(where) || $(document.body);this.setOptions(options);this.overlay = (new Element("div", {id: this.options.id || "rokverlay-" + $random(1, 1000), class: this.options.id || "rokverlay-" + $random(1, 1000), styles: {opacity: 0, display: "none", position: "absolute", top: 0, left: 0, cursor: "pointer", 'background-color': this.options.background, 'z-index': this.options.zIndex}})).inject(document.body);this.fx = new (Fx.Style)(this.overlay, "opacity", {duration: this.options.duration, transition: this.options.transition});this.open = false;return this;}, reposition: function (sizes) {var where = this.where;sizes = sizes || window.getSize().scrollSize;this.overlay.setStyles({top: where.getPosition().y || 0, left: where.getPosition().x || 0, width: window.getSize().size.x, height: sizes.y});return this;}, show: function () {var overlay = this.overlay, self = this;this.overlay.setStyle("display", "");this.open = true;this.reposition().fx.start(this.options.opacity).chain(function () {self.fireEvent("onShow", overlay);});return this;}, hide: function () {var overlay = this.overlay, self = this;this.open = false;this.reposition().fx.start(0).chain(function () {overlay.setStyle("display", "none");self.fireEvent("onHide", overlay);});return this;}, toggle: function () {this[this.open ? "hide" : "show"]();return this;}});
Rokverlay.implement(new Options, new Events);
if (typeof deconcept == "undefined") {
var deconcept = new Object;
}
if (typeof deconcept.util == "undefined") {
deconcept.util = new Object;
}
if (typeof deconcept.SWFObjectUtil == "undefined") {
deconcept.SWFObjectUtil = new Object;
}
deconcept.SWFObject = function (_1, id, w, h, _5, c, _7, _8, _9, _a) {if (!document.getElementById) {return;}this.DETECT_KEY = _a ? _a : "detectflash";this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);this.params = new Object;this.variables = new Object;this.attributes = new Array;if (_1) {this.setAttribute("swf", _1);}if (id) {this.setAttribute("id", id);}if (w) {this.setAttribute("width", w);}if (h) {this.setAttribute("height", h);}if (_5) {this.setAttribute("version", new (deconcept.PlayerVersion)(_5.toString().split(".")));}this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();if (!window.opera && document.all && this.installedVer.major > 7) {deconcept.SWFObject.doPrepUnload = true;}if (c) {this.addParam("bgcolor", c);}var q = _7 ? _7 : "high";this.addParam("quality", q);this.setAttribute("useExpressInstall", false);this.setAttribute("doExpressInstall", false);var _c = _8 ? _8 : window.location;this.setAttribute("xiRedirectUrl", _c);this.setAttribute("redirectUrl", "");if (_9) {this.setAttribute("redirectUrl", _9);}};
deconcept.SWFObject.prototype = {useExpressInstall: function (_d) {this.xiSWFPath = !_d ? "expressinstall.swf" : _d;this.setAttribute("useExpressInstall", true);}, setAttribute: function (_e, _f) {this.attributes[_e] = _f;}, getAttribute: function (_10) {return this.attributes[_10];}, addParam: function (_11, _12) {this.params[_11] = _12;}, getParams: function () {return this.params;}, addVariable: function (_13, _14) {this.variables[_13] = _14;}, getVariable: function (_15) {return this.variables[_15];}, getVariables: function () {return this.variables;}, getVariablePairs: function () {var _16 = new Array;var key;var _18 = this.getVariables();for (key in _18) {_16[_16.length] = key + "=" + _18[key];}return _16;}, getSWFHTML: function () {var _19 = "";if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {if (this.getAttribute("doExpressInstall")) {this.addVariable("MMplayerType", "PlugIn");this.setAttribute("swf", this.xiSWFPath);}_19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\"";_19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";var _1a = this.getParams();for (var key in _1a) {_19 += [key] + "=\"" + _1a[key] + "\" ";}var _1c = this.getVariablePairs().join("&");if (_1c.length > 0) {_19 += "flashvars=\"" + _1c + "\"";}_19 += "/>";} else {if (this.getAttribute("doExpressInstall")) {this.addVariable("MMplayerType", "ActiveX");this.setAttribute("swf", this.xiSWFPath);}_19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">";_19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";var _1d = this.getParams();for (var key in _1d) {_19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />";}var _1f = this.getVariablePairs().join("&");if (_1f.length > 0) {_19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";}_19 += "</object>";}return _19;}, write: function (_20) {if (this.getAttribute("useExpressInstall")) {var _21 = new (deconcept.PlayerVersion)([6, 0, 65]);if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) {this.setAttribute("doExpressInstall", true);this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl")));document.title = document.title.slice(0, 47) + " - Flash Player Installation";this.addVariable("MMdoctitle", document.title);}}if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) {var n = (typeof _20 == "string") ? document.getElementById(_20) : _20;n.innerHTML = this.getSWFHTML();return true;} else {if (this.getAttribute("redirectUrl") != "") {document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};
deconcept.SWFObjectUtil.getPlayerVersion = function () {var _23 = new (deconcept.PlayerVersion)([0, 0, 0]);if (navigator.plugins && navigator.mimeTypes.length) {var x = navigator.plugins['Shockwave Flash'];if (x && x.description) {_23 = new (deconcept.PlayerVersion)(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));}} else {if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) {var axo = 1;var _26 = 3;while (axo) {try {_26++;axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26);_23 = new (deconcept.PlayerVersion)([_26, 0, 0]);} catch (e) {axo = null;}}} else {try {var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");} catch (e) {try {var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23 = new (deconcept.PlayerVersion)([6, 0, 21]);axo.AllowScriptAccess = "always";} catch (e) {if (_23.major == 6) {return _23;}}try {axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");} catch (e) {}}if (axo != null) {_23 = new (deconcept.PlayerVersion)(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};
deconcept.PlayerVersion = function (_29) {this.major = _29[0] != null ? parseInt(_29[0], 10) : 0;this.minor = _29[1] != null ? parseInt(_29[1], 10) : 0;this.rev = _29[2] != null ? parseInt(_29[2], 10) : 0;};
deconcept.PlayerVersion.prototype.versionIsValid = function (fv) {if (this.major < fv.major) {return false;}if (this.major > fv.major) {return true;}if (this.minor < fv.minor) {return false;}if (this.minor > fv.minor) {return true;}if (this.rev < fv.rev) {return false;}return true;};
deconcept.util = {getRequestParameter: function (_2b) {var q = document.location.search || document.location.hash;if (_2b == null) {return q;}if (q) {var _2d = q.substring(1).split("&");for (var i = 0; i < _2d.length; i++) {if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) {return _2d[i].substring((_2d[i].indexOf("=") + 1));}}}return "";}};
deconcept.SWFObjectUtil.cleanupSWFs = function () {var _2f = document.getElementsByTagName("OBJECT");for (var i = _2f.length - 1; i >= 0; i--) {_2f[i].style.display = "none";for (var x in _2f[i]) {if (typeof _2f[i][x] == "function") {_2f[i][x] = function () {};}}}};
if (deconcept.SWFObject.doPrepUnload) {
if (!deconcept.unloadSet) {
deconcept.SWFObjectUtil.prepUnload = function () {__flash_unloadHandler = function () {};__flash_savedUnloadHandler = function () {};window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);};
window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload);
deconcept.unloadSet = true;
}
}
if (!document.getElementById && document.all) {
document.getElementById = function (id) {return document.all[id];};
}
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject;
var SWFObject = deconcept.SWFObject;
RokBox.implement({effects: function (type, position) {var effect = {};if (!position) {position = 0;}switch (type) {case "growl":effect = {start: {top: [position.top - this.options.chase, position.top], opacity: 1}, end: {top: this.wrapper.getStyle("top").toInt() + this.options.chase, opacity: 0}};break;case "quicksilver":var height = this.wrapper.getStyle("height").toInt(), width = this.wrapper.getStyle("width").toInt();effect = {start: {top: [position.top + height / 2, position.top], height: [0, height], opacity: 1}, end: {top: position.top + height / 2, left: window.getSize().size.x / 2 - (window.getSize().scrollSize.x - 10) / 2, width: window.getSize().scrollSize.x - 30, height: 0, opacity: 0}};break;case "explode":var height = this.wrapper.getStyle("height").toInt(), width = this.wrapper.getStyle("width").toInt();effect = {start: {height: [0, height], width: [0, width], opacity: 1, top: [(window.getSize().size.y / 2) + window.getSize().scroll.y, position.top], left: [(window.getSize().size.x / 2) + window.getSize().scroll.x, position.left]}, end: {height: 0, width: 0, opacity: 0, top: (window.getSize().size.y / 2) + window.getSize().scroll.y, left: (window.getSize().size.x / 2) + window.getSize().scroll.x}};break;case "fade":effect = {start: {opacity: 1}, end: {opacity: 0}};default:;}return effect;}});
