dojo.require("dijit.Menu");
dojo.require("dijit.MenuBar");
dojo.require("dijit.PopupMenuBarItem");
dojo.require("dojox.image.Lightbox");
dojo.require("dojox.image.LightboxNano");
dojo.require("dojo.parser");
dojo.require("dijit.TitlePane");

//feedbackFormular
dojo.require("dijit.form.Form");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.RadioButton");
dojo.require("dijit.form.CheckBox");
dojo.require("dijit.form.Textarea");
dojo.require("dijit.Dialog");
dojo.require("dijit.ProgressBar");


var loadContentPageCounter = 1;
var currentHeadGraphic = 'default';
var lastHeadGraphic = 'default';

var FADE_DURATION = 300;

function loadContentPage(pageName, arguments) {

	this.fadeHeadImage = function(url) {
		if (currentHeadGraphic == lastHeadGraphic) return true;

		var c = '<img id="headGraphicImg" src="'+url+'">';
		dojo.fadeOut({
						node: "headGraphic", 
						duration: FADE_DURATION,
						onEnd: function() {
									dojo.byId("headGraphic").innerHTML = c;
									dojo.fadeIn({node: "headGraphic", duration: FADE_DURATION}).play();
								}
					}).play();
	}

	var MAX_HITS = 1;
	if (dojo.isIE) MAX_HITS = 1;

	if (loadContentPageCounter >= MAX_HITS) {
		var newUrl = "?sub="+pageName;
		if (arguments != "") newUrl += "&"+arguments;
		dojo.fadeOut({
						node: "headGraphic", 
						duration: FADE_DURATION,
						onEnd: function() {
									loadContentPageCounter = 1;
									location.href = newUrl;
								}
					}).play();
		return true;
	}

	this.addStyle = function(pageName) {
	      var url = "css/"+pageName+".css";
	      var link = dojo.create("link", {
	        type: "text/css",
	        rel: "stylesheet",
	        href: url
	      });
	      dojo.doc.getElementsByTagName("head")[0].appendChild(link);
	    };

	dojo.byId("content").innerHTML = '<center style="margin-top: 100px;">Seite wird geladen...<div dojoType="dijit.ProgressBar" indeterminate="true" style="width:300px"></div></center';
	dojo.parser.parse("content");

	this.addStyle(pageName);

    var xhrArgs = {
		url: URL+"/ajaxLoadPage.php?p="+pageName+"&"+arguments,
		handleAs: "text",
		preventCache: true,
		load: function(data) {

			function loadBackgroundImage (pageName) {
					
			    var xhrArgs = {
					url: 'img/'+pageName+'/headGraphic.jpg',
					handleAs: "text",
					sync: true,
					preventCache: false,
					load: function(data) {
							currentHeadGraphic = pageName;			
			   				fadeHeadImage(URL+'/img/'+pageName+'/headGraphic.jpg');
							lastHeadGraphic = pageName;
				       },
			        error: function(error) {
			        		console.log(error);
							currentHeadGraphic = 'default';			
			   				fadeHeadImage(URL+'/img/headGraphic.jpg');
							lastHeadGraphic = 'default';
				       }
			     }
				var deferred = dojo.xhrGet(xhrArgs);
			}

			/* geht nicht
			function loadJavaScript (pageName) {
			    var xhrArgs = {
					url: 'js/'+pageName+'.js',
					handleAs: "javascript",
					sync: true,
					headers: { "Accept": "text/javascript" },
					preventCache: false,
					load: function(data) {
							return true;
				       },
			        error: function(error) {
			        		return false;
				       }
			     }
				var deferred = dojo.xhrGet(xhrArgs);
			}
			*/
			
			dojo.byId("content").innerHTML = data;
			dojo.parser.parse("content");
			loadBackgroundImage(pageName);
			//loadJavaScript(pageName);
			++loadContentPageCounter;
	       },
        error: function(error) {
            alert("Unerwarteter Fehler: " + error);
        }
    }

    //Call the asynchronous xhrGet
    var deferred = dojo.xhrGet(xhrArgs);
    
}

function showFeedbackDialog() {
	dijit.byId('feedbackDialog').show();
	if (dijit.byId("feedbackDialog").attr('wasLoaded')) return true;
	dijit.byId("feedbackDialog").setContent('<center style="margin-top: 100px;">Seite wird geladen...<div dojoType="dijit.ProgressBar" indeterminate="true" style="width:300px"></div></center');
	
    xhrArgs = {
		url: URL+"/inc.php?sub=feedback&sub2=feedbackFormular",
		handleAs: "text",
		preventCache: true,
		load: function(data) {
			dijit.byId("feedbackDialog").setContent(data);
			dijit.byId("feedbackDialog").set('wasLoaded', true);
			dojo.parser.parse("feedbackDialog");
			++loadContentPageCounter;
	       },
        error: function(error) {
            alert("Unerwarteter Fehler: " + error);
        }
    }

    //Call the asynchronous xhrGet
    deferred = dojo.xhrGet(xhrArgs);	
}

function sendFeedbackForm() {
    var xhrArgs = {
		url: 'inc.php?sub=feedback&sub2=sendForm',
		form: dojo.byId("feedbackForm"),		
		handleAs: "text",
		sync: true,
		preventCache: true,
		load: function(data) {
				dijit.byId("feedbackDialog").hide();
				dojo.byId("feedbackForm").reset();
				alert(data);
	       },
        error: function(error) {
				alert(error);
	       }
     }
	var deferred = dojo.xhrPost(xhrArgs);	
}
