var servicegateway='http://'+document.domain+'/service.php';
var currentmode='';
var currentparam='';
var currentpage=0;
var maxpage=0;
var globaldata;
var userid;
var startmode='';
var historyiterator=0;

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

function doAjax(d,p){
	$('.errorinput').removeClass('errorinput');
	$('#fraudnotifier').remove();
	$.ajax({
		url:servicegateway,
		data:'cid='+cid+'&mode='+d+'&params='+p,
		success:parseResult
	});
}

function saveForm(f,m){
	doAjax(m,'&'+$('#'+f).serialize());
}

function navigate(mod,param){
	hash=mod.replace(/^.*#/,'');
	hash+='.'+param+'.'+historyiterator;
	currentmode=mod;
	currentparam=param;
	historyiterator++;
	$.history.load(hash);
}

function newwindow(l){
	window.open(l,'pakpaknew');
}

function parseResult(data){
	switch(data.state){
		case 'success':
			$.pnotify({pnotify_title:'Vielen Dank', pnotify_text:data.txt, pnotify_notice_icon:'',pnotify_animation:'slide'}); 
			eval(data.xjs);
		break;
		case 'failure':
			$('#success').showSuccess(data.txt);
			eval(data.xjs);
		break;
		case 'error':
			for(var l=0;l<data.txt.length;l++){
				$('#'+data.txt[l]).addClass('errorinput');
				$('#'+data.txt[l]).focus(function(){$(this).removeClass('errorinput');});
			}
			if(data.xjs!=''){
				eval(data.xjs);
			}	
		break;
		case 'silent':
			eval(data.xjs);
		break;
		case 'ok':
			globaldata=data;
			if(data.txt!=''){
				$('#'+data.target).html(data.txt);
			}
			eval(data.xjs);
		break;
		case 'eval':
			globaldata=data.txt;
			eval(data.xjs);
		break;
	}
}

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

function buildImage(o,c){
	var t="<img src='/assets/"+c+"/"+o.ID+".jpg' style='height: 160px; max-width: 260px;' />";
	$('#etabsimgs').html(t);
}

function buildUploader(item,ctxt){
	new AjaxUpload('#uploader',{
		action:'http://'+document.domain+'/upload.php',
		name:'newimage',
		data:{item:item,context:ctxt},
		autoSubmit:true,
		responseType:false,
        	onSubmit:function(file,ext){
                	if(!(ext && /^(jpg|jpeg|png|gif|tiff)$/.test(ext))){
                        	alert("Bitte nur JPG/PNG/GIF/TIFF Dateien verwenden.");
                        	return false;
                	}
        	},
		onComplete:function(file,response){
			if(parseInt(response)>0){
				buildImage({ID:response,isMain:'0'},ctxt);
			}else{
				alert("Fehler beim Upload");
			}
		}
	});
}

function showStat(){
	var nmode='';
	var tref=0;
	if(jQuery.inArray(statmode,new Array('browser','langs','os','startmodi','country','screen','flv','refer','keys'))>-1){
		nmode='Pie2D';
	}else if((statmode=='pi')||(statmode=='bot')){
		nmode='Area2D';
	}else if((statmode=='visits')||(statmode=='banner')||(statmode=='hotel')||(statmode=='singlehotels')||(statmode=='singlebanner')||(statmode=='singlebannerpro')||(statmode=='bannerpro')){
		nmode='MSArea';
	}else{
		nmode='Column3D';
	}
	$('#sscc').remove();
	if($('#subid').length>0){
		tref=$('#subid').val();
	}
	var chart=new FusionCharts('/components/charts/'+nmode+'.swf','sscc','789','400','0','0'); 
	chart.setDataURL(escape("/chart.php?mode="+statmode+"&refer="+tref+"&from="+($('#realstart').val())+"&to="+($('#realend').val())+"&cid="+cid));
	chart.setTransparent(true);
	chart.render('sscf');
}

function enableCalendar(el,af,dd){
	$(el).datepicker({
		showAnim:'fadeIn',
		defaultDate:dd,
		altField:af,
		altFormat:'yymmdd',
		dateFormat:'dd.mm.yy',
		firstDay:1
	});
}

function newGrabstein(){
	$('#etabsimgs').empty();
	$('#etabeditor input,#etabeditor textarea').val('');
	$('#etabeditor select').val(0);
	$('#etabeditor #saver').val('aktualisieren');
	$('#etabeditor').show();
	$('#ID').val(-1);
	$('#uploader').hide();
}

function delGrabstein(id){
	var c=confirm("Wirklich entfernen?");
	if(c){
		doAjax('delGrabstein',id);
	}
}

function editGrabstein(id){
	doAjax('getGrabstein',id);
}

function gotGrabstein(){
	$('#etabsimgs').empty();
	jQuery.each(globaldata,function(i,n){
		if($('#'+i).length>0){
			$('#'+i).val(n);
		}
	});
	if(parseInt(globaldata.img)>0){
		buildImage({ID:globaldata.img,isMain:'0'},'grabstein');
	}
	
	buildUploader(globaldata.ID,'grabstein');
	$('#etabeditor,#uploader').show();
}

function instantCall(){
	if(($('#tel').val()=='')||($('#callname').val()=='')){
		parseResult({state:'error',txt:['tel','callname']});
	}else{
		doAjax('instantcall','&tel='+escape($('#tel').val())+'&name='+escape($('#callname').val()));
		$('#callname').val('');
		$('#tel').val('')
	}
}

function pagin(mode,page){
	doAjax('sortiment',mode+'&page='+page);
}

jQuery.fn.center=function(options){
	var options=jQuery.extend({vertical:true,horizontal:true,useDefault:true},options);
	return this.each(function(){
		if(options.horizontal){
			jQuery(this).css('left','50%');
			jQuery(this).css('margin-left','-' + (jQuery(this).width() / 2) +'px');
		};
		if(options.vertical){
			if(options.useDefault){
				jQuery(this).css('top','20%');
			}else{
				jQuery(this).css('top','50%');
				jQuery(this).css('margin-top','-' + (jQuery(this).height() / 2) +'px');
			}
		};
		jQuery(this).handleZ();
	});
}

jQuery.fn.handleZ=function(){
	return this.each(function(){
		if(jQuery(this).hasClass('freedrag')){
			var maxz=601;
			jQuery('.freedrag').each(function(){if(jQuery(this).is(':visible')){if(jQuery(this).css('zIndex')>maxz){maxz=parseInt(jQuery(this).css('zIndex'));}}});
			jQuery(this).css('zIndex',maxz+1);
		}
	});
}

$(document).ready(function(){
	$.history.init(pageload);
	if($('#menuarea').length==0){
		$('#mainoverlay').center();
		$('.windows,.container').center();
	}else{
		$('.amenu').click(function(){
			$('.amenu').removeClass('active');
			$(this).addClass('active');
			navigate($(this).attr('id'),'');
		});
		$('.amenu').hover(
			function(){
				$(this).addClass('menuhover');
			},
			function(){
				$(this).removeClass('menuhover');
			}
		);
		navigate('stats','');
	}
});

