
Haedus.Fnc.Ajax = {
	
	Page : {
		
		watch : new Array,
		
		setEvent : function(container) {
			
			var page = Haedus.getDom(container);
			
			if (null === page) {
				return false;
			}
			
			var links = page.getElementsByTagName('a');
			
			for (i = 0; i < links.length; i++) {
				
				if (null !== links[i].href.match(webaddress) && '_blank' != links[i].target) {
					
					this.watch.push(links[i]);
					Haedus.Event.addEvent(
						links[i],
						'click',
						Haedus.Fnc.Ajax.Page.click,
						false
					);
					
				}
				
			}
			
		},
		
		clear : function() {
			
			for (i = 0; i < this.watch.length; i++) {
				
				Haedus.Event.rmvEvent(
					this.watch[i],
					'click',
					Haedus.Fnc.Ajax.Page.click,
					false
				);
				
			}
			
			this.watch = new Array;
			
		},
		
		click : function(e) {
			
			element = Haedus.Event.getTarget(Haedus.Event.getEvent(e), 'A');
			
			if (e.preventDefault) {
				e.preventDefault()
			} else {
				e.returnValue = false;
			}
			
			document.getElementById('ajax-loading').style.display = 'block';
			
			var params = element.href.split('?');
			
			if (1 < params.length) {
				params = '&' + params[1];
			} else {
				params = ''
			}
			
			pageTracker._trackPageview(element.href);	// Google-Site-Tracker used for AJAX
			Ajax_SendRequest('GET', webaddress + '/ajax.php?page=' + element.href.replace(webaddress, "") + params);
			
		},
		
		handleResponse : function(xml) {
			
			if (0 < xml.getElementsByTagName('error').length) {
				
				document.getElementById('ajax-loading').style.display = 'none';
				
				alert(xml.getElementsByTagName('error').item(0).firstChild.nodeValue);
				
				return false;
				
			}
			
			newcontent = xml.getElementsByTagName('content').item(0).firstChild.nodeValue;
			
			document.getElementById('content').innerHTML = newcontent;
			
			Haedus.Fnc.Ajax.Page.clear();
			
			switch (xml.lastChild.getAttribute('module')) {
				
				case 'article':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					init_Scripts('scrollfix');
					break;
				
				case 'playlist':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					init_Scripts('scrollfix');
					break;
				
				case 'gallery':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					init_Scripts('gallery');
					break;
				
				case 'video':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					init_Scripts('loadvideo');
					break;
				
				case 'voting':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					Haedus.Fnc.Voting.handleResult(xml);
					init_Scripts('voting');
					init_Scripts('scrollfix');
					break;
				
				case 'contact':
					init_Scripts('pageajax');
					init_Scripts('newsletter');
					//Haedus.Fnc.Contact.clear();
					init_Scripts('contact');
					break;
				
			}
			
			nav = document.getElementById('nav-main').getElementsByTagName('li');
			
			for (i = 0; i < nav.length; i++) {
				
				if (nav[i].id == 'nav' + xml.lastChild.getAttribute('active')) {
					nav[i].firstChild.className = 'active';
				} else {
					nav[i].firstChild.className = '';
				}
				
			}
			
			document.getElementById('ajax-loading').style.display = 'none';
			
			if (document.documentElement && document.documentElement.scrollTop) {
				window.scrollTo(0, ((200 < document.documentElement.scrollTop) ? 200 : 0));
			} else {
				window.scrollTo(0, ((200 < document.body.scrollTop) ? 200 : 0));
			}
			
			//window.location.href = '#top';
			
		}
		
	}
	
};
