/* datei information
****************************************************
Datei: custom.js
Rainer Fabrizi, www.transporter.at, 2008

/* ajaxloader (benötigt prototype.js)
****************************************************/

// ajaxloader nur für aufrufe aus html
function ajaxloader(uid) {
	// uid lokal initialisieren
	//alert(uid);
	if (uid == undefined) {
		//alert("ajaxloader1: uid: " + uid);
		// rsh script hat probleme mit leer und sonderzeichen und feurt faelschlicher weise einen event der hier abgefangen wird
		return
	} else {
		//alert("ajaxloader2: uid: " + uid);
	}
	this.uid = uid;
	// ajaxfcontainer global initialisieren und flash function seiteaktiv aufrufen
	// alert(flash);

	ajaxfcontainer = document.getElementById("fcontainer");
	ajaxfcontainer.seiteaktiv(uid,"");

	// ajaxloaderstuff aufrufen
	ajaxloaderstuff(uid,"");
}

// aufruf aus aus html (über den umweg ajaxloader), aufruf aus flash (direkt)
function ajaxloaderstuff(uid,urlparams) {
	// uid lokal initialisieren
	// if (parameter != undefined && parameter != "") alert('parameter: '+parameter);
	//alert("ajaxloaderstuff: "+uid);
	this.uid = uid;
	this.urlparams = urlparams;
	
	// elemente global initialisieren
	ajaxcontainer = document.getElementById("container");
	ajaxfehlerinfo = document.getElementById("fehlerinfo");
	ajaxladeinfo = document.getElementById("ladeinfo");
	ajaxinhalt = document.getElementById("inhaltdyn");
	// wenn startseite
	if (uid == "7") {
		ajaxcontainer.style.background="#C5E8FB url(fileadmin/templates/fileadmin/bilder/bg_startseite.jpg) repeat-y 50% 0";
	} else {
		ajaxcontainer.style.backgroundImage="none";
		ajaxcontainer.style.backgroundColor="#FFF";
		// ajaxcontainer.className="";
	}
	// fehlerinfo aus, ladeinfo ein
	ajaxfehlerinfo.style.height="1px";
	ajaxfehlerinfo.style.visibility="hidden";
	ajaxladeinfo.style.height="100%";
	ajaxladeinfo.style.visibility="visible";
	ajaxinhalt.style.visibility="hidden";
	// (Effect.Fade mag im IE6 nicht so recht)
	// new Effect.Fade(myfehlerinfo, { duration: 0 });
	// new Effect.Appear(myladeinfo, { duration: 0.5 });
	// nach oben scrollen
	softscroll("#container");
	// funktion seiteladen aufrufen
	window.setTimeout("seiteladen(uid,urlparams)", 100);
}
// seiteladen lädt den inhalt per ajax
function seiteladen(uid,urlparams) {
	// daten laden
	//urlparams = null;

	//if (urlparams != undefined && urlparams != "") alert('urlparams: '+'ajaxloader.php?uid=' + uid + ' urlparams: ' + urlparams );
	
	//parameter='indexedsearch=text';
	new Ajax.Updater({ success: 'inhaltdyn' }, 'index.php', {
		method: 'get',
		parameters: 'id=' + uid + '&' + urlparams + '&type=2',
		onFailure: function() {
			// fehlerinfo ein, ladeinfo aus
			ajaxfehlerinfo.style.height="100px";
			ajaxfehlerinfo.style.visibility="visible";
			ajaxladeinfo.style.height="1px";
			ajaxladeinfo.style.visibility="hidden";
			// (Effect.Fade mag im IE6 nicht so recht)
			// new Effect.Appear(myfehlerinfo, { duration: 0 });
			// new Effect.Fade(myladeinfo, { duration: 0 });
		},
		onSuccess: function() {
			// ladeinfo aus
			//alert(this.uid);
			if(pagesrev[this.uid] != null) {
				dhtmlHistory.add((pagesrev[this.uid]),this.uid);
			} else {
				dhtmlHistory.add(175,"Error");
			}
			ajaxladeinfo.style.height="1px";
			ajaxladeinfo.style.visibility="hidden";
			ajaxinhalt.style.visibility="visible";
			if(pagesrev[this.uid] != null) {
				//pageTracker._trackPageview("/"+pagesrev[this.uid]); 
				_gaq.push(['_trackPageview', "/"+pagesrev[this.uid]]);
			}
			// (Effect.Fade mag im IE6 nicht so recht)
			// new Effect.Fade(myladeinfo, { duration: 0.5 });
			// Google Analytics
			/*
			var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
			document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
			var pageTracker = _gat._getTracker("UA-6037567-1");
			pageTracker._trackPageview();
			*/
		}
 	});
}

/* softscroll (benötigt prototype.js und scriptaculous.js?load=effects)
****************************************************/
function softscroll(anker) {
	var parts = anker.split("#");
	new Effect.ScrollTo(parts[1]);
	return false;
}

window.dhtmlHistory.create({
	toJSON: function(o) {
			return Object.toJSON(o);
	}
	, fromJSON: function(s) {
			return s.evalJSON();
	}
});

var isSafari = !!navigator.userAgent.match(/Apple.*Safari/)


var bofirstrun = false;
var historyChange = function(newLocation, historyData) {
	//alert("bofirstrun: " + bofirstrun);
	if(!bofirstrun) {
		//alert("historyChange: bofirstrun: " + bofirstrun + " newlocation: " + (newLocation) + " :: " + pages[(newLocation)] + " dhtmlHistory.firstload: " + dhtmlHistory.isFirstLoad());
		ajaxloader(pages[(newLocation)]);
		
	}
	bofirstrun = false;
}

Event.observe(window, 'load', function() {
		dhtmlHistory.initialize();
		dhtmlHistory.addListener(historyChange);
});

	

