//by DIDI
var ajax_rewrite = Class.create();

	ajax_rewrite.prototype = {

		initialize: function(clase_event){
			this.clase_event=clase_event;
			var params_loading={
					"top":"0px",
					"left":"0px",
					"width":"32px",
					"height":"32px",
					"src":"/images/loading.gif",
					"div_id":"lista_programe"
			};
			this.params=(arguments.length>=2?arguments[1]:params_loading);

			for(var i=0;i<this.clase_event.length;i++){
				var elems_clasa=$$(this.clase_event[i].clasa);
				//alert(this.clase_event[i].clasa);
				for(var j=0;j<elems_clasa.length;j++){
					//alert($(elems_clasa[j]).innerHTML);
					Event.observe(
									$(elems_clasa[j]),
									'click',
									this.get_content.bindAsEventListener(
																			this,
																			this.clase_event[i].id
																		)
								);
				}
			}

			this.make_history=true;
			if(arguments.length>=3){
				this.make_history=arguments[2];
			}

		},

		get_content: function(e){
			var el=e.nodeType==1?e:Event.element(e);
			if(el.nodeName!='A'){
				el=el.up('A');
			}
			//var url_no_ajax=el.getAttribute('href').replace(/http:\/\/[^/]+|\??&?on_fly=1/g,'');
			
			//var rewrite_url=url_no_ajax.replace(/(?:\/mod_[^/]+)?/,arguments[1])+(url_no_ajax.match(/\?/)?'&':'?')+'on_fly=1';
			var rewrite_url=el.getAttribute('href');
			//alert(rewrite_url);
			//construieste hash identifier-ul # pentru history
			if(this.make_history){
				if(qstr=rewrite_url.match(/\?(.+)$/)){
					var qstr_hash="";
					var qstr=qstr[1].split(/&/g);
					for(var i=0;i<qstr.length;i++){
						//if(qstr[i]!='on_fly=1'){
							qstr_hash+=escape(qstr[i]).replace(/%3D/g,':')+"|";
						//}
					}
				}
				var match_in_url=/mod_([^/]+)(?:(?!pag_).)+(?:pag_(\d+))?/.exec(rewrite_url);
				var hash_identifier=(
										(
											match_in_url
													?
											match_in_url[1]+(match_in_url[2]?"|p_"+match_in_url[2]:"")
													:
											""
										)
											+
										"|"+qstr_hash
										
									);

				dhtmlHistory.add(hash_identifier, rewrite_url );
				//alert($('rshStorageField').value);
			}
			
			var div_id=arguments[1];
			loading(this.params);
			//$(div_id).setOpacity(0.1);
			new Ajax.Request(rewrite_url,
							  {
								method:'post',
								parameters:{"on_fly":"1"},
								onComplete: function(transport){
									this.suprascrie_content(transport,div_id);
								}.bind(this)
							  });
			
			Event.stop(e);
		},

		suprascrie_content: function(transport,div_id){
			$(div_id).update(transport.responseText);
			//$(div_id).setOpacity(1);
		}

	};


