/*
Script Name: 	Ajax Page Loader (http://JastEgg.it/eggs/apl/ ) 
version: 		1.0 beta
version date:	2007-10-19
Plugin for:		JAST ( http://JastEgg.it )
--------------------------------
*/
JASTEggIt.extend('apl',{info:{title:'AJAX Page Loader',version:'1.0 beta',eggUrl:'http://jastegg.it/eggs/apl',author:'Diego La Monica',url:'http://diegolamonica.info'},linkIsAccepted:function(id,url){return true;},options:{targetElementId:'out',extraParameters:{},postProcessFunction:null,preProcessFunction:null},_setupLink:function(options){var els=JASTEggIt._name('a');options=JASTEggIt.mergeOptions(options,this.options);for(var i=0;i<els.length;i++){var el=els[i];if(el.id==null||el.id=='')el.id=JASTEggIt.generateUniqueId('apl'+i);if(el.href.protocol!='javascript:'&&el.href.protocol!='mailto:'){if(this.linkIsAccepted(el.id,el.href)){eval("el.onkeypress = function(event){ return JASTEggIt.apl.onKeyPressEvent(this.id,event);}");eval("el.onclick = function (){  return JASTEggIt.apl.openLink(this.id); }; ");el.options=options;}}}},_setup:function(id,options){var el=JASTEggIt._id(id);var tagName=el.tagName.toUpperCase();if(tagName=='A'){eval("el.onkeypress = function(event){ return JASTEggIt.apl.onKeyPressEvent(this.id,event);}");eval("el.onclick = function (){  return JASTEggIt.apl.openLink(this.id); }; ");};options=JASTEggIt.mergeOptions(options,this.options);el.options=options;},setup:function(id,options){if(typeof(id)!='string'){for(var i=0;i<id.length;i++){this._setup(id[i],options);}}else{if(id=='@links'){this._setupLink(options);}else{this._setup(id,options);}}},onKeyPressEvent:function(elementid,event){var keynum=JASTEggIt.kbd.getKeyPressed(event);if(keynum==13||keynum==32){this.openLink(elementid);return false;}},openLink:function(elementid){var link=JASTEggIt._id(elementid);var url=link.href;var fnString='JASTEggIt.apl.replaceContents(%%BUFFER%%, \''+link.options.targetElementId+'\')';JASTEggIt.xhttp.sendRequest('GET',url,link.options.extraParameters,fnString);return false;},replaceContents:function(output_buffer,$location){var app=JASTEggIt._id($location);if(this.options.postProcessFunction!=null){this.options.preProcessFunction();}if(output_buffer.substr(0,15)=='<'+'!-- append --'+'>'){app.innerHTML=app.innerHTML+output_buffer;return false;}try{if(app.tagName!=null&&app.tagName.toLowerCase()=='input'){app.value=output_buffer;}else if(app.tagName!=null&&app.tagName.toLowerCase()=='select'&&app.outerHTML!=null){var i=app.outerHTML.indexOf('></');var tmp_buffer=app.outerHTML.substr(0,i+1);app.outerHTML=tmp_buffer+output_buffer+'</select>';}else{app.innerHTML=output_buffer;}if(this.options.postProcessFunction!=null){this.options.postProcessFunction();}}catch(e){alert('errrore: '+e.description);}}});