
(function($j) {
	$j.fn.roomInfo = function(options) {
		//DEFAULTS
		$j.fn.roomInfo.defaults = {
			isLocal: false,
			idioma:'ING',
			url:'',
			w:350,
			h:250,
			bg:'#fffff6',
			modBg: '#ffffec',
			brd: '1px solid #c6c75e'			
		}
		//EXTENDER
		var opts = $j.extend($j.fn.roomInfo.defaults, options);
		
		//LLAMADO
		return this.each(function() {
		
			//TITULOS, INGLÉS y ESPAÑOL
			labels = {
					rd : '<strong>' + fdic.trad(titDescription,opts.idioma) + ' </strong>',
					rb : '<strong>' + fdic.trad(titRooms,opts.idioma) + ' </strong>',
					rv : '<strong>' + fdic.trad(titView,opts.idioma) + ' </strong>',
					ra : '<strong>' + fdic.trad(titAmenities,opts.idioma) + ' </strong>',
					cp : '<strong>' + fdic.trad(titCancellationPolicy,opts.idioma) + ' </strong>',
					ld : fdic.trad(disLoading,opts.idioma)
					}
					
			//HTML DEL POPUP
			popModal = '<div class="popModalCont"><div class="popModal"><span class="xPop"><img src="/_lib/java/jquery/ligthbox-images/lightbox-ico-loading-ESP.gif" alt="'+labels.ld+'" /></span></div></div>\n';
			
			//EVENTO LANZADOR (inicializar).
			$j(this).click(function(){
				
				//OBJETO CLICKEADO
				btn = $j(this);
				
				//PEGAMOS EL POPUP
				$j('body').append(popModal);
				$j('.popModalCont').append('<div class="roomDesc">\n\t</div>');
				
				//TIPOGRAFÍA
				Font = {'fontFamily':'Trebuchet MS'};
				$j('.popModal').css(Font);
				
				//CERRAR EL POPUP
				$j.fn.roomInfo.closeModal = function(){
					$j('.popModalCont').remove();
				}
				
				$j('.xPop').click(function(){
					$j.fn.roomInfo.closeModal();
				});
				
				$j('body').click(function(){
					$j.fn.roomInfo.closeModal();
				});
						
						//CSS Y POSICIÓNAMIENTO
						popOffset = btn.offset();
						hk = 0;
						$j.each($j.browser, function(i) {
							if($j.browser.msie){
								hk = 15;
							}
						});
							
						$j('.popModalCont').css({
							'width': opts.w+hk+'px',
							'height': opts.h+hk+'px',
							'backgroundImage':'url('+opts.modBg+')',
							'background':opts.modBg,
							'border': opts.brd,
							'position':'absolute',
							'left': popOffset.left+btn.width(),
							'top':popOffset.top-130,
							'padding':'10px',
							'overflow':'hidden'
						});
						
						$j('.popModal').css({
							'width':opts.w,
							'height':opts.h,
							'background':opts.bg,
							'padding':'0px',
							'overflow':'auto'
						});
						
						$j('.xPop').css({
							'fontSize':'11px',
							//'position':'fixed',
							'float':'right',
							'display':'block',
							'cursor':'pointer',
							'background':'#FFFFEC',
							'marginRight':'10px',
							'padding':'3px',
							'border':'1px solid #e9eaac'
						});
						
				//PARAMETROS DEL ATRIBUTO REL
				attribArgs= $j(this).attr('rel');
				req= $j(this).attr('rev');
				values = attribArgs.split('_');
				
				//CARGAR LOS DATOS
				$j.fn.roomInfo.getSource = function(){
					//LLAMADA
					if(opts.isLocal == false){
					///////////////////////////////////////////////////////////////////////////////////////////
					
					$j.get(opts.url,{Hotel:values[0], Room:values[1]},function(data){
											
						var verUrl= opts.url + '?Hotel=' + values[0] + '&Room=' + values[1]
						//alert(verUrl);
						var elquery='';
											
						//ELIMINAR EL DOCTYPE DEL RESULTADO
						stringData = data.toString();
											
						var posI = 0; var posF = -1;
						while (posI > -1) {
							posI = stringData.indexOf("<acronym"); 							
							posF = stringData.indexOf("acronym>");
							if (posI > -1 && posF > -1) {
								elquery +=  stringData.substring(posI,(posF+"acronym>".length)); 
								stringData = stringData.replace(elquery,''); 
							}							
						}	
												
						ripData = stringData.split('\n');
						ripData.splice(0,1);
						justUsefulNodes = ripData.join('\n');
						d = eval(justUsefulNodes);
						var HayDatos = (d.Error!='' && typeof d.Error!='undefined') ? false: true;
						
						//ARMAR INFORMACIÓN (DETALLES)
						if (HayDatos) {
							if(d.roomPhoto != ''){
								imagen = '<img class="roomPhoto" src="'+d.roomPhoto+'" />';
							}else{ imagen = ''; }
							/////////////////
							if(d.descRoom != ''){
								descripcion = '<p>'+labels.rd+d.descRoom+'</p>\n\t';
							}else{ descripcion=''; }
							/////////////////
							if(d.bedding != ''){
								bedding = '<p>'+labels.rb+d.bedding+'</p>\n\t';
							}else{ bedding=''; }
							/////////////////
							if(d.roomView != ''){
								roomView = '<p>'+labels.rv+d.roomView+'</p>\n\t';
							}else{ roomView =''; }
							/////////////////														
							$j('.popModal').append('<p class="hotel">'+d.nameHotel+'</p>');
							$j('.popModal').append(imagen+'<p class="room">'+ d.nameRoom + elquery + '</p>');
							$j('.popModal').append(descripcion+bedding+roomView);
							
							//ARMAR LA LISTA DE AMENIDADES
							if(d.roomAmenities != '' && typeof d.roomAmenities!='undefined'){
							
								$j('.popModal').append('<p>'+labels.ra+'</p>\n\t<ul class="rAmenities">\n\t</ul>\n');
								
								list = '';
								howMany = d.roomAmenities.length;
								for(i=0;i<howMany;i++){
									if(d.roomAmenities[i].amenitie!=''){
										list +='<li>' + d.roomAmenities[i].amenitie + '</li>\n\t';
									}
								}
								
								$j('.rAmenities').append(list);
								$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));
							
							}
										
						
							//POLITICAS DE CANCELCIÓN
							cancelP = $j('input[name=IAN_'+values[1]+'_cancellationPolicy]').val();	
							//if (!HayDatos && typeof cancelP !='undefined') {
								$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));
							//}				
							if(typeof cancelP !='undefined'){									
								$j('.popModal').append('<p>'+labels.cp+cancelP+'</p>');
							}
						
						}else {
							$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));  //CERRAR
							$j('.popModal').append('<p>'+ fdic.trad(disNoAvailable,opts.idioma) + elquery + '</p>');
						}
						
						//ULTIMO CSS (dividimos el css en dos partes para acelerar la carga)
						$j('.popModal').css('textAlign','justify');
						$j('.popModal p').css({'fontSize':'11px','padding':'0px','margin':'5px'});
						$j('.roomDesc p').css({'fontSize':'11px','padding':'0px','margin':'0px'});
						$j('.popModal .roomPhoto').css({'margin':'10px','float':'right','border':'3px solid #e6e6b7'});
						$j('.rAmenities').css({'fontSize':'11px'});
						$j('.rAmenities li').css({'list-style-image':'url(/_lib/images/Bestday/list_bull.gif)'});
						$j('.popModal .hotel').css({'color':'#06c','fontSize':'17px'});
						$j('.popModal .room').css({'color':'#06c','fontSize':'14px'});
						
					});
					////////////////////////////////////////////////////////////////////
					}else{
									
					
					////////////////////////////////////////////////////////////////////
					$j.get(opts.url,{Hotel:values[0], Room:values[1],Requery:req,tipo:'AvRoomRules'},function(data){
					
					
						try {					
							var verUrl= opts.url + '?Hotel=' + values[0] + '&Room=' + values[1] + '&Requery=' + req + '&tipo=AvRoomRules'
							//alert(verUrl);
										
							var newStr='';					
							//ELIMINAR EL DOCTYPE DEL RESULTADO
							stringData = data.toString();
							var elquery='';
							var posI = 0; var posF = -1;
							while (posI > -1) {
								posI = stringData.indexOf("<acronym"); 							
								posF = stringData.indexOf("acronym>");
								if (posI > -1 && posF > -1) {
									elquery +=  stringData.substring(posI,(posF+"acronym>".length)); 
									stringData = stringData.replace(elquery,''); 
								}							
							}
							
							ripData = stringData.split('\n');
							ripData.splice(0,1);
							fix = ripData.toString();
							fixSpl = fix.split('}')
							newStr = fixSpl[0].toString()+',fix:0}';	
							d = eval(newStr);
							var HayDatos = (d.Error!='' && typeof d.Error!='undefined') ? false: true;
							
							//ARMAR INFORMACIÓN (DETALLES)
							if (HayDatos) {
								
								/////////////////														
								$j('.popModal').append('<p>'+d.cancellationPolicy + elquery + '</p>');
								
								//CERRAR
								$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));
															
							}	else {							
								$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));  //CERRAR
								$j('.popModal').append('<p>'+ fdic.trad(disNoAvailable,opts.idioma) +'</p>');
							}
						
						}catch(ex) {
							$j('.xPop').html('<img src="/_lib/images/Bestday/closePopInfoRoom.gif"/> ' + fdic.trad(disClose,opts.idioma));  //CERRAR
							$j('.popModal').append('<p>'+ fdic.trad(disNoAvailable,opts.idioma) + elquery + '</p>');
						}finally{
							
						}
																		
						//ULTIMO CSS (dividimos el css en dos partes para acelerar la carga)
						$j('.popModal p').css({'fontSize':'11px','padding':'0px','margin':'5px'});
						$j('.roomDesc p').css({'fontSize':'11px','padding':'0px','margin':'0px'});
						$j('.popModal .roomPhoto').css({'margin':'10px','float':'right','border':'3px solid #e6e6b7'});
						$j('.rAmenities').css({'fontSize':'11px'});
						$j('.rAmenities li').css({'list-style-image':'url(/_lib/images/Bestday/list_bull.gif)'});
						$j('.popModal .hotel').css({'color':'#06c','fontSize':'17px'});
						$j('.popModal .room').css({'color':'#06c','fontSize':'14px'});
						$j('.popModalCont').css({'height':'auto'});
						$j('.popModal').css({'textAlign':'justify','height':'auto'});
						
					});
					////////////////////////////////////////////////////////////////////
					}
				}
				
				$j.fn.roomInfo.getSource();
				
				
				//PREVENIR COMPORAMIENTO DEL LINK
				return false;
				
			});
		});
	}
})(jQuery);
