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;
var bannermode='clients';
var druckmode='';
var druckoptions=['kuverts','aufkleber','briefpapier','flyer','plakate','postkarten','stempel','tischsets','visitenkarten'];
var drucksteps=['format','page','color','paper'];
var druckpos=0;
var druckamount=0;
var orderdetails={};

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++;
	if((mod=='druck')&&(bannermode!='druck')){
		bannermode='druck';
		$('#logoaddon').fadeIn();
		$('#logoslider').html(getBanners());
	}else if((mod!='druck')&&(bannermode=='druck')){
		bannermode='clients';
		$('#logoaddon').fadeOut();
		$('#logoslider').html(getBanners());
	}
	$.history.load(hash);
}

function openContact(m,s){
	doAjax('kontakt',m+'&elem='+s);
}

function modContact(m,s){
	m==''?m='allgemein':1;
	var o={
		'allgemein':[],
		'druck':['flyer','plakate','visitenkarten','briefpapier','kuverts','stempel','postkarten','tischsets','aufkleber'],
		'inserate':['inserat gestaltung'],
		'textservice':['text creation','text total','text feintuning','text korrektur'],
		'logo':['logo standard','logo pro'],
		'corporate design':['corporate design light','corporate design pro'],
		'webdesign':['webdesign','webdesign / coding'],
		'telemarketing':['terminierung light','terminierung pro','verkauf light','verkauf pro'],
		'eventmarketing':['event planung','dj vermittlung'],
		'marketing':['marketing beratung'],
		'druckmedien':['gestaltung','visitenkarten gestalten','briefpapier gestalten','kuverts gestalten','flyer gestalten','plakate gestalten','tischsets gestalten','postkarten gestalten','prospekte gestalten']
		
	};
	$("#service").removeOption(/./);
	if(m!=$('#subj').val()){
		$('#subj').val(m);
	}
	if(o[m].length==0){
		$('#sholder').addClass('inactive');
		$('#service').attr('disabled','disabled');
	}else{
		jQuery.each(o[m],function(i,j){
			$("#service").addOption(j,j);	
		});
		if(s!=''){
			$('#service').val(s);
		}
		$('#sholder').removeClass('inactive');
		$('#service').removeAttr('disabled');
	}
}

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

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 buildUploader(item){
	new AjaxUpload('#datauploader',{
		action:'http://'+document.domain+'/upload.php',
		name:'newimage',
		data:{item:item},
		autoSubmit:true,
		responseType:false,
        	onSubmit:function(file,ext){
                	$('#notify').show();
        	},
		onComplete:function(file,response){
			$('#notify').hide();
			if(parseInt(response)>0){
				$.pnotify({pnotify_title:'Vielen Dank', pnotify_text:"Die Datei wurde erfolgreich hochgeladen.", pnotify_notice_icon:'',pnotify_animation:'slide'});
			}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','884','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 getBanners(){
	var h="";
	if(bannermode=='clients'){
		var i=(Math.floor(Math.random()*21))+1;
		h="<img src='/assets/clients/"+i+".png' onclick=\"navigate('clients','');\" />";
	}else{
		var i=(Math.floor(Math.random()*(druckoptions.length-1)))+1;
		var j=(Math.floor(Math.random()*(druckoptions.length-1)))+1;
		if(j==i){
			j++;
			if(j>=druckoptions.length-1){
				j=0;
			}
		}
		h="<img src='/assets/druckclients/"+druckoptions[i]+"-drucken.png' onclick=\"navigate('druck','"+druckoptions[i]+"');\" style='margin-right:40px;' />";
		h+="<img src='/assets/druckclients/"+druckoptions[j]+"-drucken.png' onclick=\"navigate('druck','"+druckoptions[j]+"');\" />";		
	}
	return(h);
}

function finishDruck(){
	var r="&druckmode="+druckmode+"&page="+$('#page').find('.active').attr('id')+"&format="+$('#format').find('.active').attr('id')+"&color="+$('#color').find('.active').attr('id')+"&paper="+$('#paper').find('.active').attr('id');
	orderdetails={
		data:{
			page:$('#page').find('.active').attr('id'),
			format:$('#format').find('.active').attr('id'),
			color:$('#color').find('.active').attr('id'),
			paper:$('#paper').find('.active').attr('id'),
			selection:druckmode
		},text:{
			nice_page:$('#page').find('.active').data('descr'),
			nice_format:$('#format').find('.active').data('descr'),
			nice_color:$('#color').find('.active').data('descr'),
			nice_paper:$('#paper').find('.active').data('descr')
		}
	};

	$('#druckdatenholder').html("<select class='inputter' id='datamode' name='datamode' style='width:250px;'><option value='upload'>per Online-Datenupload</option><option value='email'>per Email (max. 15 MB)</option><option value='post'>per Post (CD,DVD,USB)</option></select>");

	$('#dyndruck').hide();
	$('#dynamount').show();
	doAjax('druckresult',r);
}

function startUpload(){
	doAjax('startupload','&'+$('#orderform').serialize());
}

function finishDruckAmount(am,ap1,ap2){
	orderdetails.data.amount=am;
	druckamount=am;
	$('#drucktable').hide();
	var v="<div style='width:200px;float:left;'>"+druckmode.toUpperCase()+"<br />"+am+" Exemplare"+(orderdetails.text.nice_page!=''?"<br />":"")+orderdetails.text.nice_page+(orderdetails.text.nice_paper!=""?"<br />"+orderdetails.text.nice_paper:"")+"<br />"+orderdetails.text.nice_color+"<br />"+orderdetails.text.nice_format+"<br />CHF "+ap1;
	v+="</div><div style='float:left;padding-top:"+(orderdetails.text.nice_page!=''?85:70)+"px;'>f&uuml;r nur <span class='gold'><b><span style='font-size:22px;'>CHF "+ap2+"</span> inkl. MwSt. und Versand.</b></span></span></div><div class='cleared'></div>";
	$('#druckhint').css('margin-top','10px').html(v);
	$('#druckpay').show();
	$('#dyncheckout').show();
	$('#sender2').remove();
}

function finishOrder(){
	if(!$('#chk').is(':checked')){
		$('#chk').next('div').addClass('errorinput');
	}else{
		var r='&'+$('#orderform').serialize()+'&'+jQuery.param(orderdetails.data)+'&'+jQuery.param(orderdetails.text);
		doAjax('order',r);
	}
}

function nextDruckStep(){
	druckpos++;
	$('#'+drucksteps[druckpos]).show();
	$('.next'+drucksteps[druckpos]).show();
	$('.header'+drucksteps[druckpos]).show();
	if($('#'+drucksteps[druckpos]).find('.druckoptionelement').length<2){
		if(druckpos==3){
			$('#sender').show();
		}else{
			nextDruckStep();
		}		
	}
}

function backToDruck(){
	$('#dyndruck').show();
	$('#dynamount').hide();
}

function initDruck(m){
	druckmode=m;
	druckpos=0;
	druckamount=0;
	$('.druckoptionelement').click(function(){
		if($(this).hasClass('inactive')){
			var p=$(this).parent();
			p.find('.druckoptionelement').removeClass('active').addClass('inactive');
			$(this).removeClass('inactive').addClass('active');
			$('.uline').remove();
			if(druckmode=='flyer'){
				if($('#a7').hasClass('active')){
					$('#4page').hide();
					if($('#4page').hasClass('active')){
						$('#4page').removeClass('active').addClass('inactive');
						$('#2page').removeClass('inactive').addClass('active');
					}
				}else{
					$('#4page').show();
				}
			}
			if(p.attr('id')==drucksteps[druckpos]){
				if(druckpos==3){
					$('#sender').show();
				}else{
					nextDruckStep();
				}
			}
		}
	});
	if($('#'+drucksteps[druckpos]).find('.druckoptionelement').length<2){
		nextDruckStep();
	}
}

function openAGB(){
	var w=window.open("/agb.php","abovo","width=800,height=400,resizable=yes");
	w.focus();
}

function payBill(id){
	var c=confirm("Wirklich als bezahlt markieren?");
	if(c){
		doAjax('payBill',id);
	}
}

function deliverBill(id){
	var c=confirm("Wirklich als erledigt markieren?");
	if(c){
		doAjax('deliverBill',id);
	}
}

function dlpdf(id){
	document.location.href='http://'+document.domain+'/download.php?cid='+cid+'&id='+id;
}

function dlspecs(id,sp){
	document.location.href='http://'+document.domain+'/specs.php?cid='+cid+'&id='+id+'&specs='+sp;
}

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

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();
		$('#logoslider').everyTime(10000,function(){
			$('#logoslider').find('img').fadeOut(1000,function(){
				$('#logoslider').html(getBanners());
				$('#logoslider').find('img').fadeIn();
			});
		});
	}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','');
	}
});

