Event.observe(window, 'load', init_app);
var name;

function init_app(event) {
	var rules = {
		 '#panocontainer' : function(el) {
		   insertFlash('rainer');
		 },
		 '.out' : function(el) {Element.setOpacity(el,0.7)},
		 '.toggler' : function(el) {
		 	el.onchange = function() {
		 	    var pano = $('panocontainer');
		 		name = pano.getAttribute('rel');
		 		new Ajax.Request('./genXML.php', {
		 			onLoading:function(request) {
					},   
					onComplete:function() {
						insertFlash(name);
					},
					parameters:'name=' + name + '&' + 	Form.serialize('myform'),
					evalScripts:true, 
					asynchronous:true
				  }		
			   );
		 	}
		 },
		 '#xml' : function(el) {
		 	el.style.cursor='pointer';
		 	el.onclick = function() {
		 		var html = '<iframe frameborder="0" width="580" height="300" src="./xml/'+ $('ip').getAttribute('value') +'.xml"></iframe>';
		 		$('panocontainer').innerHTML=html;
		 	}
		 }	
	};
	var params = {	'Tilt':{min:'-20',max:'20',def:'0'},
					'minTilt':{min:'-20',max:'20',def:'-18.6'},
					'maxTilt':{min:'-50',max:'50',def:'22.4'},
					'Pan':{min:'0',max:'360',def:'180'},
					'minPan':{min:'0',max:'360',def:'0'},
					'maxPan':{min:'0',max:'360',def:'360'}};
	var sliders;
	for (param in params)  {
		var minval = Math.round(params[param].min);
		var maxval = Math.round(params[param].max);
		var def =    params[param].def;
		sliders = new Control.Slider(param+'_handle',(param+'_slider'), {
      		range: $R(minval,maxval),
      		sliderValue:def,
    		onSlide: function(sval,hdl) {
    			var outfield = hdl.activeHandle.id.replace('handle','out');
    			$(outfield).value = extround(sval,2);
      	    },
      		onChange: function(value) { 
      			var name = $('panocontainer').getAttribute('rel');
				var params = Form.serialize('myform');
		 		new Ajax.Request('./genXML.php', {
					onComplete:function() {insertFlash(name);},
					parameters:'name=' + name + '&' + 	params,
					evalScripts:true, 
					asynchronous:true}		
			    );
      	     }
            }
           );
//			console.log(sliders);


	}
	Behaviour.register(rules);
	Behaviour.apply(rules); 
	

};
	
	
function insertFlash(name) {
	var xmlurl = '/panowizard/xml/'+name+'.xml?' + Math.random(10);  
    var so = new SWFObject('/panowizard/panoStudioViewer.swf','pano','580','250','7');
  			so.addParam('FlashVars','pano=' + xmlurl);
  			so.addVariable('allowScriptAccess','always');
  			so.addVariable('allowNetworking','all');
  			so.write('panocontainer');
}

function extround(zahl,n_stelle) {
	zahl = (Math.round(zahl * n_stelle) / n_stelle);
   	return zahl;
}


