

var FlashHeaders = {

	initialize: function() {
		if (Browser.Plugins.Flash.version < 8) return;
		FlashHeaders.pageTitle();
		FlashHeaders.boxTitle();
	},

	pageTitle: function() {
		var headers = $$('h1.pageTitle');

		headers.each(function(el, eli) {
			var tag = el.get('tag');
			var text = el.get('text');
			var color = el.getStyle('color').replace('#', '');
			el.empty().setStyles({
				'padding': 0,
				'height': '26px'
			});
			new Swiff('/htdoc/flash/header_box.swf', {
			    id: 'fheader-' + eli,
			    width: 375,
			    height: 26,
				container: el,
			    params: {
			        'wmode': 'transparent'
			    },
				vars: {

					'txt': FlashHeaders.urlencode(text),
					'color': color ? (color.length == 6 ? color : color + color) : 'ffffff'
				}
			});
		});
	},

	boxTitle: function() {
		var headers = $$('h2.boxTitle');
		headers.each(function(el, eli) {
			var tag = el.get('tag');
			var text = el.get('text');
			var color = el.getStyle('color').replace('#', '');
			el.empty().setStyles({
				'padding': 0,
				'height': '26px'
			});
			new Swiff('/htdoc/flash/header_title.swf', {
			    id: 'fheader-' + eli,
			    width: 205,
			    height: 26,
				container: el,
			    params: {
			        'wmode': 'transparent'
			    },
				vars: {

					'txt': text,
					'color': color ? (color.length == 6 ? color : color + color) : 'ffffff'
				}
			});
		});
	},

	urlencode: function(str) {
	    // http://kevin.vanzonneveld.net
	    // +   original by: Philip Peterson
	    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +      input by: AJ
	    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   improved by: Brett Zamir (http://brett-zamir.me)
	    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +      input by: travc
	    // +      input by: Brett Zamir (http://brett-zamir.me)
	    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   improved by: Lars Fischer
	    // +      input by: Ratheous
	    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
	    // %          note 1: This reflects PHP 5.3/6.0+ behavior
	    // *     example 1: urlencode('Kevin van Zonneveld!');
	    // *     returns 1: 'Kevin+van+Zonneveld%21'
	    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
	    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
	    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
	    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'

	    var hexStr = function (dec) {
	        return '%' + dec.toString(16).toUpperCase();
	    };

	    var ret = '',
	            unreserved = /[\w.-]/; // A-Za-z0-9_.- // Tilde is not here for historical reasons; to preserve it, use rawurlencode instead
	    str = (str+'').toString();

	    for (var i = 0, dl = str.length; i < dl; i++) {
	        var ch = str.charAt(i);
	        if (unreserved.test(ch)) {
	            ret += ch;
	        }
	        else {
	            var code = str.charCodeAt(i);
	            // Reserved assumed to be in UTF-8, as in PHP
	            if (code === 32) {
	                ret += '+'; // %20 in rawurlencode
	            }
	            else if (code < 128) { // 1 byte
	                ret += hexStr(code);
	            }
	            else if (code >= 128 && code < 2048) { // 2 bytes
	                ret += hexStr((code >> 6) | 0xC0);
	                ret += hexStr((code & 0x3F) | 0x80);
	            }
	            else if (code >= 2048 && code < 65536) { // 3 bytes
	                ret += hexStr((code >> 12) | 0xE0);
	                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
	                ret += hexStr((code & 0x3F) | 0x80);
	            }
	            else if (code >= 65536) { // 4 bytes
	                ret += hexStr((code >> 18) | 0xF0);
	                ret += hexStr(((code >> 12) & 0x3F) | 0x80);
	                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
	                ret += hexStr((code & 0x3F) | 0x80);
	            }
	        }
	    }
	    return ret;
	}
}; window.addEvent('domready', FlashHeaders.initialize);

var FlashDate = {
	initialize: function() {
		if (Browser.Plugins.Flash.version < 8) return;
		var dates = $$('.fdate');
		dates.each(function(el, eli) {
			var date = el.get('text').split('-');
			el.empty();
			new Swiff('/htdoc/flash/date.swf', {
			    id: 'fdate-' + eli,
			    width: 140,
			    height: 50,
				container: el,
			    params: {
			        'wmode': 'transparent'
			    },
				vars: {
					'day': date[2],
					'month': window.month_names[date[1].toInt() - 1],
					'color': '999999'
				}
			});
		});
	}
}; window.addEvent('domready', FlashDate.initialize);
