var dmsResultList = new Class ({
	
	init:function(result_list){

			// add show collapsed links
		//var show_collapsed_buttons = $ES('.dms_result_list_show_collapsed', result_list);
		var show_collapsed_buttons = result_list.getElements('.dms_result_list_show_collapsed');
		for (var k = 0; k<show_collapsed_buttons.length; k++){
			var button = new Element( show_collapsed_buttons[k] );
			button.setStyle('cursor','pointer');
			button.addEvent('click', this.show_collapsed.bindWithEvent(this, result_list ) );
		}
			
			// add hide collapsed links
		//var hide_collapsed_buttons = $ES('.dms_result_list_hide_collapsed', result_list);
		var hide_collapsed_buttons = result_list.getElements('.dms_result_list_hide_collapsed');
		for (var k = 0; k<hide_collapsed_buttons.length; k++){
			var button = new Element( hide_collapsed_buttons[k] );
			button.setStyle('cursor','pointer');
			button.addEvent('click', this.hide_collapsed.bindWithEvent(this, result_list ) );
		}
		
			// add map links
		var tab_area = $E( '.dms_tabbed_area_searchresult' , this.form);
		//var tab_area = this.getElement('form').getElement( '.dms_tabbed_area_searchresult');
		if (tab_area){
			//map_links = $ES( 'td.col_icon p',result_list);
			map_links = result_list.getElements( 'td.col_icon p');
			for(var i=0;  i<map_links.length; i++){
				var map_link = map_links[i];
				map_link.addEvent('click', this.show_map.bindWithEvent(this , tab_area));
				map_link.setStyle('cursor','pointer');
			}
		}
		
	},
	
	show_map:function(event, tab_area){
		var e = new Event(event);
		var t = new Element(e.target);
		var num = parseInt( t.getText() );
		
		tab_area.dms_tabs.activate_tab('dms_serachresult_map');
		
		var iframe_area = $E('div.dms_hotelinfo_approach_map');
		if (iframe_area) var iframe_object = $E('iframe'); 
				
		
		if (iframe_object){
			
				// read src if first call			
			if ( !iframe_area.dms_iframe_src ){
				var src = iframe_object.getProperty('src');
				iframe_area.dms_iframe_src    = iframe_object.getProperty('src');
				iframe_area.dms_iframe_props  = iframe_object.getProperties( 'scrolling', 'frameborder', 'framespacing', 'border');
				iframe_area.dms_iframe_styles = iframe_object.getStyles( 'margin','padding','width','height');
			}
			
				// set anchor of iframe
			if ( iframe_area.dms_iframe_src ){
				iframe_object.src = iframe_area.dms_iframe_src   +"#"+num;
			}	
			
		}
		
	},
	
	show_collapsed:function(event, result_list){
		var e = new Event(event);
		var t = new Element(e.target);
		
		// find current row
		while ( !t.hasClass('row') && t.getParent() ){
			t = t.getParent();
		}
		
		if ( !t.hasClass('row') ) return;
		
			// show hide collapsed rows
		$ES('.dms_result_list_show_collapsed', t).each(function(item){
		//t.getElements('.dms_result_list_show_collapsed').each(function(item){
			item.setStyle('display','none');
		});
		$ES('.dms_result_list_hide_collapsed', t).each(function(item){
		//t.getElements('.dms_result_list_hide_collapsed').each(function(item){
			item.setStyle('display','block');
		});
		
			// handle next tr's
		var tr = false;
		if (t.getNext()){
			tr =  new Element ( t.getNext() ); 
		}
		
		while ( tr && tr.hasClass('row_extra_collapsed') ) 	{
			
			if ( navigator.appVersion.indexOf('MSIE 6.0') > 0 || navigator.appVersion.indexOf('MSIE 7.0') > 0){ 
				$ES('td',tr).each (function(td){
					td.style.display= 'block';
					//td.setStyles({
					//	'display':'block'
					//});
				});
			} else {
				tr.setStyles({
					'visibility':'visible',
					'display':'table-row'
				});
				$ES('td',tr).each (function(td){
					td.setStyles({
						'display':'table-cell'
					});
				});
			}
			if (tr.getNext()) {
				tr = new Element (tr.getNext());
			} else {
				tr = false;
			}
		}

		
	}, 

	hide_collapsed:function(event, result_list){
		var e = new Event(event);
		var t = new Element(e.target);
		
		// find current row
		while ( !t.hasClass('row') && t.getParent() ){
			t = t.getParent();
		}
		
		if ( !t.hasClass('row') ) return;
		 
			// show hide collapsed rows
		$ES('.dms_result_list_show_collapsed', t).each(function(item){
			item.setStyle('display','block');
		});
		$ES('.dms_result_list_hide_collapsed', t).each(function(item){
			item.setStyle('display','none');
		});
		
			// handle next tr's
		var tr = false;
		if (t.getNext()){
			tr =  new Element ( t.getNext() ); 
		}	
		while ( tr && tr.hasClass('row_extra_collapsed') ) 	{
			if ( navigator.appVersion.indexOf('MSIE 6.0') > 0 || navigator.appVersion.indexOf('MSIE 7.0') > 0 ){ 
				$ES('td',tr).each (function(td){
					td.setStyles({
						'display':'none'
					});
				});
			} else {
				tr.setStyles({
					'visibility':'collapse',
					'display':'table-row'
				});
				$ES('td',tr).each (function(td){
					td.setStyles({
						'display':'none'
					});
				});
			}		
			if (tr.getNext()) {
				tr = new Element (tr.getNext());
			} else {
				tr = false;
			}
		}
	}
	
});

window.addEvent('domready', function()	{		
	
	$$('#dms_content .dms_result_list').each(function(result_list){
		result_list.dms_result_list = new dmsResultList();
		result_list.dms_result_list.init(result_list);
	});
	
	$$('#dms_content .dms_hotel_availability_result').each(function(result_list){
		result_list.dms_result_list = new dmsResultList();
		result_list.dms_result_list.init(result_list);
	});
	
	$$('#dms_content .dms_extra_teaser').each(function(result_list){
		result_list.dms_result_list = new dmsResultList();
		result_list.dms_result_list.init(result_list);
	});
	
	
	/*
	$$('#dms_content .dms_result_list').each(function(result_list){
		result_list.dms_result_list = new dmsResultList();
		result_list.dms_result_list.init(result_list);
	});
	*/
	
});
