var servicegateway='http://'+document.domain+'/service.php';
var currentmode='';
var currentsubs=[];
var currentlinks=[];
var cid=0;

String.prototype.toRubicon=function(m,a){
	return this+'&cid='+cid+'&method='+m+'&param='+a;
}

jQuery.ajaxSetup({
	type:'POST',
	cache:false,
	dataType:'json',
	error:function(xhr,tstatus,texcept){
		alert('AJAX ERROR');
	}
});

function doAjax(u,d,m,a,s){
	$.ajax({
		url:u,
		data:d.toRubicon(m,a),
		success:s
	});
}

function navigate(mod,act){
	scrollTo(0,0);
	hash=mod.replace(/^.*#/,'');
	hash+='.'+act;
	selectCurrent(mod);
	$.historyLoad(hash);
}

function pageload(hash) {
	if(hash){
		var h=hash.split('.');
		currentmode=h[0];
		doAjax(servicegateway,'',h[0],h[1],parseResult);
	}
}

function silent(){
}

function buildLinks(l){
	var c='';
	jQuery.each(l,function(i,j){
		if(currentsubs[i]){
			if(currentsubs[i].length>1){
				c+="<div class='subholder'>"+j+"</div>";
				jQuery.each(currentsubs[i],function(i2,j2){
					c+="<a class='level2link' href='/"+currentmode+"/"+escape(j2)+"' onclick=\"navigate('"+currentmode+"','"+j2+"');return false;\">"+j2+"</a>";
				});
			}else{
				c+="<a href='/"+currentmode+"/"+escape(j)+"' onclick=\"navigate('"+currentmode+"','"+j+"');return false;\">"+j+"</a>";
			}
		}else{
			c+="<a href='/"+currentmode+"/"+escape(j)+"' onclick=\"navigate('"+currentmode+"','"+j+"');return false;\">"+j+"</a>";
		}
	});
	$('#subnavlinks').html(c);
}

function startGallery(a){
	var c='';
	jQuery.each(a,function(i,j){
		c+="<img src='/ressources/"+j+"' width='571' height='403' />";
	});
	$('#Bildbereich').html(c).cycle({
		fx:'fade',
		speed:2500,
		pause:true,
		pauseOnPagerHover:true,
		delay:2500,
		prev:'#iprev',
		next:'#inext'
	});
	$('#prevnext').css('visibility','visible');
	scrollTo(0,0);
}

function showMainImage(m){
	if(m=='start'){
		startGallery(['mainimage/01-start.jpg','mainimage/02-start.jpg','mainimage/03-start.jpg','mainimage/04-start.jpg','mainimage/05-start.jpg']);
	}else{
		$('#Bildbereich').html("<img src='/ressources/mainimage/"+m+".jpg' width='571' height='403' />");
	}
}

function selectCurrent(a){
	$('.current').removeClass('current');
	$('#tm_'+a).addClass('current');
	$('.picimage').each(function(){
		$(this).removeClass('currentimage').attr('src',$(this).attr('src').split('_n').join('_o'));
	});
	if($('#tp_'+a).length>0){
		$('#tp_'+a).addClass('currentimage').attr('src',$('#tp_'+a).attr('src').split('_o').join('_n'));
	}
}

function parseResult(data){
	$('#prevnext').css('visibility','hidden');
	currentlinks=data.links;
	currentsubs=data.sublinks;
	switch(data.state){
		case 'success':
			$('#rubiconsuccess').showSuccess('success',data.successtemplate);
		break;
		case 'failure':
			$('#rubiconsuccess').showSuccess('error',data.failuretemplate);
		break;
		case 'error':
			$('#'+data.txt).addClass('errorinput');
			$('#'+data.txt).focus(function(){$(this).removeClass('errorinput');});	
			$('#extprogressbar').css('display','none');
		break;
		case 'silent':
			eval(data.xjs);
		break;
		case 'ok':
			$('#realtitle').html(data.header);
			$('#subtitle').html(data.subheader);
			$('#textcontent').html(data.txt);
			buildLinks(data.links);
			eval(data.calling+'()');
			eval(data.xjs);
			if(($('#newsholder').height()-200)<$('#textcontent').height()){
				$('#newsholder').css('height',(200+$('#textcontent').height())+'px');
			}
		break;
		case 'sent':
			$('#preshow').hide();
			$('#aftershow').show();
		break;
	}
}

function sendForm(){
	doAjax(servicegateway,'','sendForm','&'+$('#cform').serialize(),parseResult);
}

$(document).ready(function(){
	$.historyInit(pageload);
	$('.picimage').hover(function(){
		$(this).attr('src',$(this).attr('src').split('_o').join('_n'));
	},function(){
		if(!$(this).hasClass('currentimage')){
			$(this).attr('src',$(this).attr('src').split('_n').join('_o'));
		}
	});
	//navigate('start','');
});

