function modalDivGet(urlParams,callBack) {
	urlParams['a']=1;
	
	var callBackExists = (arguments.length==2);
	modalDivOpen("Loading...");
	
	$j.get("?", urlParams,
	   function(r){
	    $j('#modalDiv').html(r);
		if(callBackExists) {callBack();}
	   }
	);
}

var modalDivOpen = function(content) {
		$j('#screen').css("display","block");
		$j('#modalDiv').html(content);
		$j('#modalDiv').css("display","block");
}

var modalDivClose = function() {
	j('#screen').css("display","none");
	j('#modalDiv').css("display","none");
}

var aGet = function (urlParams, returnID, callBackFunc) {
	urlParams['a']=1;
	var callBackExists = (arguments.length==2);
	$j.get("?", urlParams,
		function(r){
			if (callBackExists) {
				callBackFunc();
			} else {
				$j('#'+returnID).text(r);
			}
	});
}



var ajaxGet = function (url, returnID) {
	
  var ajax = new Ajax.Updater(
					{success: returnID}, 
					url, 
					{method: 'get', onFailure:reportError, evalScripts:true }
				);
 
}


//-------------------------------------------------------------------------------------------
var ajaxGet_sync = function (url, callbackFunction) {
	var req = new Ajax.Request(url,
		{
			method:'get',
			onSuccess : callbackFunction,
			onFailure : reportError
		});
	
}



//-------------------------------------------------------------------------------------------
var ajaxPost = function (returnID, url, formID) {
	var ajax = new Ajax.Updater(returnID, url, {method:'post', parameters:$(formID).serialize()} );
}


//-------------------------------------------------------------------------------------------
var ajaxPost_sync = function (url, formID, callbackFunction) {
	var req = new Ajax.Request(url,
		{
			method		:	'post',
			enctype		:	'multipart/form-data',
			parameters	:	$(formID).serialize(),
			onSuccess 	: 	callbackFunction,
			onFailure 	: 	reportError
		});
}



//-------------------------------------------------------------------------------------------
var reportError = function (request) {
	alert("onFailure was called with "+request.responseText);

}


//-------------------------------------------------------------------------------------------
var ajaxGetResponseValue = function(needle, haystack) {
	openTag_position  = haystack.indexOf(needle);
	startValue_position =  openTag_position + needle.length;
	closeTag_position  = haystack.indexOf("</"+needle);
	lengthOfValue = closeTag_position - startValue_position ;
	value = haystack.substr(startValue_position+1,lengthOfValue-1);
	return value;
}
















var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();




















/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*
**/

AIM = {

	   frame : function(c) {
	   
			   var n = 'f' + Math.floor(Math.random() * 99999);
			   var d = document.createElement('DIV');
			   d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
			   document.body.appendChild(d);
	   
			   var i = $(n);
			   if (c && typeof(c.onComplete) == 'function') {
					   i.onComplete = c.onComplete;
	   }
	   
			   return n;
	   },
	   
	   form : function(f, name) {
			   f.setAttribute('target', name);
	   },
	   
	   submit : function(f, c) {
			   
			   AIM.form(f, AIM.frame(c));
			   targ = c.targetObj;
									   
			   if (c && typeof(c.onStart) == 'function') {
					   return c.onStart();
			   } else {
					   return true;
			   }
	   },
	   
	   loaded : function(id) {
			   var i = $(id);
			   
			   if (i.contentDocument) {
					   var d = i.contentDocument;
			   } else if (i.contentWindow) {
					   var d = i.contentWindow.document;
			   } else {
					   var d = window.frames[id].document;
			   }
			   if (d.location.href == "about:blank") {
					   return;
			   }
	   
			   if (typeof(i.onComplete) == 'function') {
					   i.onComplete(d.body.innerHTML,targ);
			   }
	   }

}









function rppChange() {
	url = '?a=1&p=changeRPP&rpp='+$('rppSelect').value , rppChangeCB;
	ajaxGet_sync(url, rppChangeCB);
}

var rppChangeCB = function(r) {
	
	var loc = window.location.href;
	//loc = loc.replace(/startAt/g,'x');
	window.location.href= loc;
}
	















