var TimerID, ofont0, ofont0740;

function dump(arr,level) {
	var dumped_text = '';
	if( !level ) level = 0;
	//The padding given at the beginning of the line.
	var level_padding = '';
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var o in arr) {
			var value = arr[o];
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + o + "' ...\n";
				dumped_text += dump(value, level+1);
			} else {
				dumped_text += level_padding + "'" + o + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function fontzer() {
	//~ console.log("function.js:50:"+arguments[0]);
	switch (arguments[0]) {
		case 'small':
			$('.content0').css('font-size', parseFloat($('.content0').css('font-size'),10) * 0.8);
			$('.content0740').css('font-size', parseFloat($('.content0740').css('font-size'),10) * 0.8);
			break;

		case 'large':
			$('.content0').css('font-size', parseFloat($('.content0').css('font-size'),10) * 1.2);
			$('.content0740').css('font-size', parseFloat($('.content0740').css('font-size'),10) * 1.2);
			break;

		default :
			$('.content0').css('font-size', ofont0);
			$('.content0740').css('font-size', ofont0740);
	}
}

/** jQuery Plugins */
(function($){

/*
 * Auto-growing textareas; technique ripped from Facebook
 * http://onehackoranother.com/projects/jquery/jquery-grab-bag/autogrow-textarea.html
 */
$.fn.fbautogrow = function(options) {
	this.filter('textarea').each(function() {
		var ele = this, $ele = $(this);
		if( ele.autogrow ) {return true;}
		//~ console.log('function.js:846:fbautogrow:BEGIN');
		minHeight = $ele.height(),
		lineHeight = $ele.css('lineHeight');

		var w = $ele.width() - parseInt($ele.css('paddingLeft')) - parseInt($ele.css('paddingRight'));
		//~ console.log('function.js:851:ele:'+$ele.html()+'.w:'+w);
		var shadow = $('<div></div>').css({
			position: 'absolute',
			top: -10000,
			left: -10000,
			width: w,
			fontSize: $ele.css('fontSize'),
			fontFamily: $ele.css('fontFamily'),
			lineHeight: $ele.css('lineHeight')
		}).appendTo(document.body);

		var update = function() {

			var times = function(string, number) {
				for (var i = 0, r = ''; i < number; i ++) r += string;
				return r;
			};

			var val = this.value.replace(/</g, '&lt;')
								.replace(/>/g, '&gt;')
								.replace(/&/g, '&amp;')
								.replace(/\n$/, '<br/>&nbsp;')
								.replace(/\n/g, '<br/>')
								.replace(/ {2,}/g, function(space) { return times('&nbsp;', space.length -1) + ' ' });

			shadow.html(val);
			$(this).css('height', Math.max(shadow.height()+parseInt(lineHeight), minHeight));

		}
		$ele.change(update).keyup(update).keydown(update);
		update.apply(this);
		ele.autogrow = true;
	});
	return this;
}

})(jQuery);

jQuery(document).ready(function() {

	$('textarea.autogrow').each(function() {
		var ele = this, $ele = $(ele);
		if( ele.autogrow == undefined ) {
			setTimeout(function(){
				$ele.fbautogrow();
			}, 100);
		}
	});

	$('li.regexurl').each(function(){
		var ele=this, $ele=$(ele), data;
		eval('data='+$ele.attr('data'));
		//~ console.log("function.js:72:data:"+dump(data));
		var re = new RegExp(data.re, 'i');
		re.test(document.location.href) ? $ele.addClass('selected').find('img').addClass('selected') : $ele.removeClass('selected').find('img').removeClass('selected');
	});

	$('.sublist li:last').addClass('last');
	$('.sublist li a').attr('hideFocus', true);
	$.swapImage('.swapimg');

	$('.DOMWindow').openDOMWindow({
		windowSource:'iframe',
		eventType:'click',
		windowPadding:0,
		overlayOpacity:'0',
		borderColor:'#BBBBAA',
		windowBGColor:'#FFFFCC'
	});

	ofont0 = $('.content0').css('font-size');
	ofont0740 = $('.content0740').css('font-size');

});


