// JavaScript Document

var navReq;
var jRequest;
var	hasScroll;
var Body;
var heightOffset = 132;
var current_page= "";
var js_handler = "?script=true";
Element.implement({
    fieldWarning: function(warningText, warningDelay) {

        this.set({
            value: warningText,
            styles: {
                backgroundColor: "#fcc"
            },
            events: {
                focus: function() {
                    this.set({
                        value:  "",
                        styles: {
                            backgroundColor: "#fff"
                        }
                    }).removeEvents();
                }
            }
        });

        (function() {
            this.fireEvent("focus").removeEvents();
        }).delay(warningDelay, this);
    }
});

function gup(url, name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( url );
  if( results == null )
    return "";
  else
    return results[1];
}
function getUrl(tmpurl) {
	if (tmpurl.contains("?")==false) {
		tmpurl = base_url + "" + tmpurl + "?foo=bar" + stripped_url;
	} else {
		tmpurl = base_url + "" + tmpurl + stripped_url;
	}
	 return tmpurl;
}

function CheckForScroll() {
	
	var scroll = container.getSize().y;
	var maxHeight = Body.getSize().y;
	var dim = container.getStyle('height').toInt();
	
	if (scroll > maxHeight-heightOffset) {
		Body.addClass('has_scroll');
	} else {
		Body.removeClass('has_scroll');
	}
	//alert("Scroll: y = " + scroll + "   maxHeight: = " + maxHeight);
	
}

function get_page_script(page) {
	
	
	var url = base_url + ''+ js_handler;
	var id = gup(page, "page" );
	var parms ;
	if (id) {
		 parms = "page=" + id ;
	} else {
		parms = "";
	}
	//alert("get JSON: " + url + "   " + id);
	jRequest.send(parms);

}

function init_page() {
	//alert("init_page " + Body);	
	
	// ----- GET CURRENT JS
	get_page_script(current_page);
	/// ------------------------------- OVERRIDE LINKS
	Body.getElements('a').addEvents({
		'click': function(e){
			e.preventDefault();
			var url = current_page = this.href;
			if (url.contains("?")) {
				navReq.send({ url:getUrl(this.href)});
			} else {
				NewWindow(getUrl(this.href));
			}
		}		
	});	
	
	//// ------------- CHECK IF SCROLL BAR IS PRESENT
	CheckForScroll();
	// -------
	if (Browser.Platform.win && Browser.Engine.version < 7) {
		correctPNG();
	}
}

window.addEvent("domready", function() {	
	Body = $(document.body);
	window.addEvent('resize', function(){
  	  CheckForScroll();
	}); 
	
	/// ----------------------------------------- MAIN REQUEST
	 navReq = new Request.HTML({ url: base_url,
									
		onRequest: function() {
			//alert("send Request");
			container.empty().addClass('ajax-loading');
		},

		onSuccess: function(html) {
			//alert("Success " + html);
			container.removeClass('ajax-loading');
			container.adopt(html);
			init_page();

		},
		onFailure: function() {
			//alert("Failed");
			container.set('text', 'The request failed.');

		}
	});
	 
	/// ----------------------------------------- MAIN JAVASCRIPT REQUEST	 
	jRequest = new Request({method: 'get', url: base_url + ''+js_handler});

 
	
	///// -------------------------------------------- INIT PAGE
	init_page();
	// -----
									 
									 
});





