try{
$.postJSON = function (url, data, callback) {
	$.ajax({
		'url': url,
		'type': 'post',
		'data': data,
		success: function (data) { callback(JSON.parse(data)); }
	});
};

function ajaxLink(e) {
	e.preventDefault();
	$.postJSON($(this).attr('href'), {'ajax':'1'}, function(data) {
		if(data.eval) try{ eval(data.eval); } catch(ez) {}
		bindLinks();
	});
	return false;
}

function bindLinks() {
	$('a.ajax').unbind('click', ajaxLink).bind('click', ajaxLink);
}

function switchElems(id1, id2) {
	//get parent spans
	var f1 = $('#'+id1);
	var f2 = $('#'+id2);
	if(!f1.length || !f2.length) return;
	var placeholder1 = $('<span></span>');
	var placeholder2 = $('<span></span>');
	placeholder1.insertBefore(f1);
	placeholder2.insertBefore(f2);
	f1.insertAfter(placeholder2);
	f2.insertAfter(placeholder1);
	placeholder1.remove();
	placeholder2.remove();
	bindLinks();
}

function delElem(id) {
	var f = $('#'+id);
	if(!f.length) return;
	f.remove();
}


$(document).ready(function() {
	try{bindLinks();}catch(ex){}
	try{$("a[rel=fancybox]").fancybox({'titleShow':false});}catch(ex){}
});

}catch(ex){}

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_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_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_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 AddCssNode(url) {
	var headID = document.getElementsByTagName("head")[0];
	var cssNode = document.createElement('link');
	cssNode.type = 'text/css';
	cssNode.rel = 'stylesheet';
	cssNode.href = url;
	cssNode.media = 'screen';
	headID.appendChild(cssNode);
}

function startsWith(orig, needle) {
	if(orig.length < needle) return false;
	var i = 0;
	for(i = 0; i < needle.length; i++) {
		if(needle[i] != orig[i]) return false;
	}
	return true;
}

if (!this.JSON){
	JSON=function () {
		function f(n){return n<10?'0'+n:n;}
		Date.prototype.toJSON=function(){return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};
		var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};
		function stringify(value,whitelist) {
			var a,i,k,l,r = /["\\\x00-\x1f\x7f-\x9f]/g,v;
			switch(typeof value){
			case 'string':
				return r.test(value)?'"'+value.replace(r,function (a){var c=m[a];if(c)return c;c=a.charCodeAt();return '\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"':'"'+value+'"';
			case 'number':return isFinite(value)?String(value):'null';
			case 'boolean':case 'null':return String(value);
			case 'object':
				if (!value)return 'null';if(typeof value.toJSON==='function')return stringify(value.toJSON());a=[];
				if (typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))){l=value.length;for(i=0;i<l;i+=1)a.push(stringify(value[i],whitelist)||'null');return '['+a.join(',')+']';}
				if (whitelist){l=whitelist.length;for(i=0;i<l;i+=1){k=whitelist[i];if(typeof k==='string'){v=stringify(value[k],whitelist);if(v)a.push(stringify(k)+':'+v);}}
				}else{for(k in value)if(typeof k==='string'){v=stringify(value[k],whitelist);if(v)a.push(stringify(k)+':'+v);}}
				return '{'+a.join(',')+'}';
			}
		}
		return {
			stringify:stringify,
			parse:function (text, filter){
				var j;
				function walk(k,v){var i,n;if(v&&typeof v==='object'){for(i in v){if(Object.prototype.hasOwnProperty.apply(v,[i])){n=walk(i, v[i]);if(n!==undefined)v[i]=n;}}}return filter(k, v);}
				if(/^[\],:{}\s]*$/.test(text.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(:?[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){
					j=eval('('+text+')');return typeof filter==='function'?walk('',j):j;
				}
				throw new SyntaxError('parseJSON');
			}
		};
	}();
}

function cufonApply() {
	try{
		Cufon.replace('.graublau');
		Cufon.now();
	}catch(ex){}
}

