try{if(!ib_bw_site) var ib_bw_site = "localhost";}catch(e){}
ib_bw_base_templates    =  "http://"+ib_bw_site+"/widget_templates/";
ib_bw_form_action       =  "http://"+ib_bw_site+"/search.php";
ib_bw_autocomplete_feed =  "http://"+ib_bw_site+"/autocomplete.php";
ib_no_results           =  false;

/**
  To support several widgets in the same page
**/
try{ib_bw_current_widget++;}catch(e){ib_bw_current_widget = 1;}

/**
  Template Vars
**/
try{if(!ib_bw_bg) if(ib_bw_type!="results_form") var ib_bw_bg = "#FFFFFF"; else var ib_bw_bg = "#EAF1FD";}catch(e){}
try{if(!ib_bw_border) if(ib_bw_type!="results_form") var ib_bw_border = "#CCCCCC"; else var ib_bw_border = "#DCE2EE";}catch(e){}
try{if(!ib_bw_title_bg) var ib_bw_title_bg = "#325FEB";}catch(e){}
try{if(!ib_bw_title_color) var ib_bw_title_color = "#FFFFFF";}catch(e){}
try{if(!ib_bw_breadcrumbs_bg) var ib_bw_breadcrumbs_bg = "#2445AB";}catch(e){}
try{if(!ib_bw_breadcrumbs_color) var ib_bw_breadcrumbs_color = "#FFFFFF";}catch(e){}
try{if(!ib_bw_breadcrumbs_sel_color) var ib_bw_breadcrumbs_sel_color = "#C1CEF8";}catch(e){}
try{if(!ib_bw_breadcrumbs_image) var ib_bw_breadcrumbs_image = "";}catch(e){}
try{if(!ib_bw_travel_options_bg) var ib_bw_travel_options_bg = "#EAF1FD";}catch(e){}
try{if(!ib_bw_travel_options_bg_img) var ib_bw_travel_options_bg_img = "";}catch(e){}
try{if(!ib_bw_travel_options_image) var ib_bw_travel_options_image = "";}catch(e){}
try{if(!ib_bw_travel_options_image_checked) var ib_bw_travel_options_image_checked = "";}catch(e){}
try{if(!ib_bw_travel_options_flight_img) var ib_bw_travel_options_flight_img = "";}catch(e){}
try{if(!ib_bw_travel_options_car_img) var ib_bw_travel_options_car_img = "";}catch(e){}
try{if(!ib_bw_travel_options_hotel_img) var ib_bw_travel_options_hotel_img = "";}catch(e){}
try{if(!ib_bw_travel_options_font_color)var ib_bw_travel_options_font_color = "#3B3B3B";}catch(e){}
try{if(!ib_bw_body_filter_bg)  if(ib_bw_type!="results_form") var ib_bw_body_filter_bg = "#DAE7FB"; else var ib_bw_body_filter_bg = "#EAF1FD";}catch(e){}
try{if(!ib_bw_body_filter_separator) var ib_bw_body_filter_separator = "";}catch(e){}
try{if(!ib_bw_body_filter_calendar) var ib_bw_body_filter_calendar = "";}catch(e){}
try{if(!ib_bw_body_font_color) var ib_bw_body_font_color = "#4D4D4D";}catch(e){}
try{if(!ib_bw_body_font_error_color) var ib_bw_body_font_error_color = "#CD0009";}catch(e){}
try{if(!ib_bw_body_input_color) var ib_bw_body_input_color = "#CCCCCC";}catch(e){}
try{if(!ib_bw_body_input_sel_color) var ib_bw_body_input_sel_color = "#4C7197";}catch(e){}
try{if(!ib_bw_body_filter_button) var ib_bw_body_filter_button = "";}catch(e){}
try{if(!ib_bw_autocomplete_sel_bg) var ib_bw_autocomplete_sel_bg = "#CCDBF1";}catch(e){}
try{if(!ib_bw_select_sel_bg ) var ib_bw_select_sel_bg = "#CCDBF1";}catch(e){}
try{if(!ib_bw_compare_font_color) var ib_bw_compare_font_color = "#1A4A7A";}catch(e){}

try{if(!ib_bw_calendar_bg) var ib_bw_calendar_bg = "#FFFFFF";}catch(e){}
try{if(!ib_bw_calendar_border) var ib_bw_calendar_border = "#CCCCCC";}catch(e){}
try{if(!ib_bw_calendar_month_font_color) var ib_bw_calendar_month_font_color = "#FFFFFF";}catch(e){}
try{if(!ib_bw_calendar_month_bg) var ib_bw_calendar_month_bg = "#325FEC";}catch(e){}
try{if(!ib_bw_calendar_prev_month_image) var ib_bw_calendar_prev_month_image = "";}catch(e){}
try{if(!ib_bw_calendar_next_month_image) var ib_bw_calendar_next_month_image = "";}catch(e){}
try{if(!ib_bw_calendar_days_body_bg) var ib_bw_calendar_days_body_bg = "#F0F4FD";}catch(e){}

try{if(!ib_bw_calendar_days_names_font_color) var ib_bw_calendar_days_names_font_color = "#666666";}catch(e){}
try{if(!ib_bw_calendar_days_bg) var ib_bw_calendar_days_bg = "#DAE7FA";}catch(e){}
try{if(!ib_bw_calendar_days_sel_bg) var ib_bw_calendar_days_sel_bg = "#FFF0C7";}catch(e){}
try{if(!ib_bw_calendar_days_font_color) var ib_bw_calendar_days_font_color = "#6F8DAF";}catch(e){}


/**
  Selecting the type of the widget in the css are contained just the layout of the widget.
**/
if(ib_bw_type == 'results_form'){	
  var fileref=document.createElement("link");fileref.setAttribute("rel", "stylesheet");fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", ib_bw_base_templates+'css/ib_bw_results_form.css');
  document.getElementsByTagName('head')[0].appendChild(fileref);
}else if(ib_bw_type == '160x600'){
  var fileref=document.createElement("link");fileref.setAttribute("rel", "stylesheet");fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", ib_bw_base_templates+'css/ib_bw_160x600.css');
  document.getElementsByTagName('head')[0].appendChild(fileref);
}else if(ib_bw_type == '300x250'){
  var fileref=document.createElement("link");fileref.setAttribute("rel", "stylesheet");fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", ib_bw_base_templates+'css/ib_bw_300x250.css');
  document.getElementsByTagName('head')[0].appendChild(fileref);
}else{
  ib_bw_type = "default";	
  var fileref=document.createElement("link");fileref.setAttribute("rel", "stylesheet");fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", ib_bw_base_templates+'css/ib_bw_default.css');
  document.getElementsByTagName('head')[0].appendChild(fileref);
}
document.write('<script type="text/javascript" src="'+ib_bw_base_templates+'js/curvycorners.js"><\/script>');

Function.prototype.ib_Bind = function (arg) {
    var func = this;  
    return function () {  
        var newargs = [arg];  
        for (var i = 0; i < arguments.length; i++)  
            newargs.push(arguments[i]);  
        return func.apply(this, newargs);  
    };  

};

var ib_$ = function(el){
	return document.getElementById(el);
}

var ib_Browser = {
	ie: function(){
		return (!window.ActiveXObject) ? false : true;
	}
}
var ib_Event = {		
	ie_domredy_fn:new Array(),
	ie_called:false,
	callback :function(){
		if(!ib_Event.ie_called){
			ib_Event.ie_called=true;
			var len = ib_Event.ie_domredy_fn.length;
		    for(j=0; j < len; j++){
		    	ib_Event.ie_domredy_fn[j]();
		    }
		}    
	},		
	add : function (el,ev,fn){//This function inject an event into the object		
		if (ib_Browser.ie()) {
			if(ev == 'domready'){ //Emulating domready for IE.
				ib_Event.ie_domredy_fn.push(fn);
				var src = (window.location.protocol == 'https:') ? '://0' : 'javascript:void(0)';
				document.write(
				'<script type="text/javascript" de32fer="defer" src="' + src + '" ' +
				'onreadystatechange="if (this.readyState == \'complete\') ib_Event.callback();"' +
				'><\/script>');
			}else{
				var fnc = function (context, func) {  
					 return function() {  
					    func.apply(context, arguments);  
					 };  
				} 
				el.attachEvent("on"+ev, fnc(el,fn) , false); //Assigning Event on IE
			}	
		}else{
			ev = (ev == 'domready')?'DOMContentLoaded':ev;
			el.addEventListener(ev, fn, false); //Assigning Event on Firefox | Opera | Webkit
		}
	},
	stop : function(e){
		if (!e) e = window.event;
	    if (e.stopPropagation) {
	        e.stopPropagation();
	    } else {
	        e.cancelBubble = true;
	    }
	},
	cancel: function cancelEvent(e) {
	    if (!e) e = window.event;
	    if (e.preventDefault) {
	        e.preventDefault();
	    } else {
	        e.returnValue = false;
	    }
	}
}

var ib_Element = {
	getPosition:function(el){
		c = new Object();
		c.x = 0;
		c.y = 0;
		var parent = el;
		while (parent) {
			c.x += parent.offsetLeft; 
			c.y += parent.offsetTop;			
			parent = parent.offsetParent;
		} 	    
		return c;
    },
    getSize:function(el){
		c = new Object();
		c.x = el.offsetWidth;
		c.y = el.offsetHeight;
		return c;
    }
}

ib_Ajax = function(options){
	this.options   = options || {};
	this.script = document.createElement("script");
	this.script.setAttribute("type","text/javascript");
	this.script.setAttribute("defer","defer");
	if(!ib_Browser.ie()){
		ib_Event.add(this.script,"load",function(obj,e){
			obj.onComplete(ib_AjaxResult);
		}.ib_Bind(this));
	}else{
		if (this.script.readyState == "loaded") {
			this.script.onreadystatechange = null;
			this.onComplete(ib_AjaxResult);
		}else{	
	    	 this.script.onreadystatechange = function(obj){
	    		if (obj.script.readyState == "loaded") {
	    			obj.script.onreadystatechange = null;
	    			obj.onComplete(ib_AjaxResult);
	    		}	
	    	 }.ib_Bind(this);
		}	 
	}	 		
	document.body.appendChild(this.script);
	this.serialize = function(serialNum){
		this.serial = serialNum;
	};	
	this.request   = function(obj,params){
		this.script.setAttribute("src",this.options.url+"?"+params);
	}.ib_Bind(this)
	this.onComplete = function(obj, HTML){
		obj.options.onComplete(obj.serial,HTML);
	}.ib_Bind(this)
}

ib_AutoCompleter = function(options){
	this.options = options || {};
	this.initialize = function(){
		this.form  = this.options.form;
		this.input = this.options.input;
		this.numCall = 0;
		ib_Event.add(this.input,"keydown",function(obj, e){
			var key = e.keyCode; 
			if(!key) key = e.which;			
			if(key == 13 ){
				if(obj.selected && obj.auto.style.display == "block"){
					obj.input.value = ib_$(obj.selected).innerHTML;
					ib_Event.cancel(e);
					var goNext = false;
					for(var i = 0;i<this.form.elements.length;i++){
						if(goNext && this.form.elements[i].type.toLowerCase() == "text" &&  this.form.elements[i].style.display != 'none'){
							this.form.elements[i].focus();
							this.form.elements[i].select();
							break;
						}	
						if(this.form.elements[i]==this){
							goNext = true;
						}
					}
					obj.hide(obj);
				}
			}
			if(key == 9 ){if(obj.selected && obj.auto.style.display  == "block"){obj.input.value = ib_$(obj.selected).innerHTML;}obj.hide(obj);}
		}.ib_Bind(this));
		ib_Event.add(this.input,"keyup",function(obj, e){
			ib_Event.cancel(e);
			clearTimeout(obj.to);
			var key = e.keyCode; 
			if(!key) key = e.which;
			if(key == 9){return;}
			if(key == 40){obj.next();return;}
			if(key == 38){obj.prev();return;}
			if(this.value != ''){	
				var f = function (obj){
					obj.makeCall(obj,obj.input);
				}.ib_Bind(obj);
				obj.to = setTimeout(f,250);
			}else{
				obj.hide(obj);
			}
		}.ib_Bind(this));
	}
	this.next = function(obj){
		var pn = ib_$(obj.selected).parentNode;
		if(pn.nextSibling){
			pn.className='';
			pn.firstChild.style.backgroundColor = '#FFFFFF';
			var os = pn.nextSibling;		
			obj.selected = os.firstChild.id;
			os.firstChild.style.backgroundColor = ib_bw_autocomplete_sel_bg;
		}		
	}.ib_Bind(this);
	this.prev = function(obj){
		var pn = ib_$(obj.selected).parentNode;
		if(pn.previousSibling){
			pn.className='';
			pn.firstChild.style.backgroundColor = '#FFFFFF';
			var os = pn.previousSibling;		
			obj.selected = os.firstChild.id;
			os.firstChild.style.backgroundColor = ib_bw_autocomplete_sel_bg;
		}				
	}.ib_Bind(this);
	this.hide = function(obj){
		if(obj.auto){
			obj.auto.style.display    = "none";
			if(ib_Browser.ie()){
				obj.iframe.style.display  = "none";
			}
		}	
	}
	this.display = function(obj){
		if(obj.auto){
			obj.auto.style.display    = "block";
			if(ib_Browser.ie()){
				obj.iframe.style.width    = obj.auto.offsetWidth; 
				obj.iframe.style.height   = obj.auto.offsetHeight;
				obj.iframe.style.display  = "block";
			}
		}	
	}
	this.makeCall = function(obj,ths){
		if(!this.auto){
			this.auto  = document.createElement('div');
			var pos  = ib_Element.getPosition(this.input);
			var size = ib_Element.getSize(this.input);
			if(ib_Browser.ie()){
				if(ib_bw_type == 'results_form')
					this.auto.style.top  = pos.y+size.y+6+'px';
				else
					this.auto.style.top  = pos.y+size.y+5+'px';
				this.auto.style.left = pos.x+'px';
			}else{
				this.auto.style.top  = pos.y+size.y+2+'px';
				this.auto.style.left = pos.x-1+'px';
			}
			this.auto.style.zIndex   = "1000";
			this.auto.className='ib_Auto';
			this.auto.style.display  = "none";
			this.auto.style.width = this.input.offsetWidth+2+'px';
			if(ib_Browser.ie()){
				this.iframe = document.createElement('iframe');
				this.iframe.style.position = "absolute";
				this.iframe.style.zIndex   = "999";
				this.iframe.style.top      = this.auto.style.top;
				this.iframe.style.left     = this.auto.style.left;
				this.iframe.style.display  = "none";
				this.iframe.frameBorder    = 0;
				document.body.appendChild(this.iframe);
			}			
			document.body.appendChild(this.auto);
		}
		var Ajax = new ib_Ajax({"url":obj.options.url,"onComplete":function(obj,serial,HTML){
			if(serial == obj.numCall){
				var html = "<ul>";
				var cities = eval(HTML);
				if(cities.length > 0 ){
					var forEvent = new Array();
					for(var i=0;i < cities.length;i++){
						if(i == 0){
							obj.selected = "ib_Auto"+obj.input.id+i;
							html +="<li ><a style='background:"+ib_bw_autocomplete_sel_bg+"' href='#' id='ib_Auto"+obj.input.id+i+"'>"+cities[i].city+"</a></li>";
						}else
							html +="<li><a href='#' id='ib_Auto"+obj.input.id+i+"'>"+cities[i].city+"</a></li>";
						forEvent.push("ib_Auto"+obj.input.id+i);
					}
					html +="</ul>";
					if(serial == obj.numCall){
						obj.auto.innerHTML = html;
						obj.auto.display = "block";
						obj.display(obj);
						for(var i=0;i < forEvent.length;i++){
							ib_Event.add(ib_$(forEvent[i]),"click",function(obj,e){
								ib_Event.cancel(e);
								obj.hide(obj);
								obj.input.value = this.innerHTML;
							}.ib_Bind(obj));
							ib_Event.add(ib_$(forEvent[i]),"mouseover",function(obj,e){
								ib_Event.cancel(e);
								ib_$(obj.selected).style.backgroundColor = '#FFFFFF';
								obj.selected = this.id;
								this.style.backgroundColor = ib_bw_autocomplete_sel_bg;
							}.ib_Bind(obj));
						}
					}	
				}else{
					obj.hide(obj);
				}
			}	
		}.ib_Bind(obj)});
		obj.numCall++;
		Ajax.serialize(obj.numCall);
		Ajax.request("q="+ths.value);
	}
	this.initialize();
}

var ib_Calendar = function(options){
	this.options = options || {};
	this.iframe  = null;
	this.cal_days_labels   = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
	this.cal_months_labels = ['January', 'February', 'March', 'April',
	                          'May', 'June', 'July', 'August', 'September',
	                          'October', 'November', 'December'];
	this.cal_curr_date     = new Date();
	this.cal_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];	
	this.createCalendar = function(obj, month ,year,day,isHidden){
		if(obj.cal){
			obj.cal.parentNode.removeChild(obj.cal);
			if(obj.iframe)
				obj.iframe.parentNode.removeChild(obj.iframe);
		}
		obj.cal  = document.createElement('div');			
		obj.cal.div  = document.createElement('div');			
		var pos  = ib_Element.getPosition(obj.options.input);
		var size = ib_Element.getSize(obj.options.input);
		if(ib_Browser.ie()){
			obj.cal.style.top  = pos.y+size.y+5+'px';
			obj.cal.style.left = pos.x+'px';
		}else{
			obj.cal.style.top  = pos.y+size.y+2+'px';
			obj.cal.style.left = pos.x-1+'px';
		}
		obj.cal.className='ib_Calendar curvyRedraw';
		obj.cal.style.backgroundColor = ib_bw_calendar_bg;
		obj.cal.style.borderColor = ib_bw_calendar_border;
		obj.cal.appendChild(obj.cal.div);
		document.body.appendChild(obj.cal);
		if(ib_Browser.ie()){
			obj.iframe = document.createElement('iframe');
			obj.iframe.style.position = "absolute";
			obj.iframe.style.zIndex   = "999";
			obj.iframe.style.width    = obj.cal.offsetWidth; 
			obj.iframe.style.height   = obj.cal.offsetHeight;
			obj.iframe.style.top      = obj.cal.style.top;
			obj.iframe.style.left     = obj.cal.style.left;
			obj.iframe.frameBorder    = 0;
			document.body.appendChild(obj.iframe);
			if(isHidden)
				obj.iframe.style.display ="none";
		}
		if(isHidden)
			obj.cal.style.display ="none";
		obj.month = month==null? obj.cal_curr_date.getMonth():month;
		obj.year  = year==null?obj.cal_curr_date.getFullYear():year;
		obj.selectedDay  = day==null?obj.cal_curr_date.getDate():day;
		obj.html = '';		
		var firstDay = new Date(obj.year, obj.month, 1);
		var startingDay = firstDay.getDay();
		var monthLength = obj.cal_days_in_month[obj.month];
		if (obj.month == 1) {
		  if ((obj.year % 4 == 0 && obj.year % 100 != 0) || obj.year % 400 == 0){
		    monthLength = 29;
		  }
		}
		var monthName = obj.cal_months_labels[obj.month];
		var events = new Array();
		var html = '<table class="ib_CalendarTable" style="background:'+ib_bw_calendar_days_body_bg+'" cellspacing="0" cellpadding="0">';		
			html += '<tr class="ib_CalendarTableHead" style="background:'+ib_bw_calendar_month_bg+';color:'+ib_bw_calendar_month_font_color+'"><th align="center"><a class="ib_CalendarPrev" id="ib_PrevMonth'+obj.options.calendar.id+'" href="#"><img border="0" align="absmiddle" src="'+(ib_bw_calendar_prev_month_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/calendar_back.png'):ib_bw_calendar_prev_month_image)+'" ></a></th><th colspan="5" class="ib_CalendarHeadMonth" align="center">';
			html +=  monthName + "&nbsp;" + obj.year;
			html += '</th><th align="center"><a class="ib_CalendarNext" id="ib_NextMonth'+obj.options.calendar.id+'" href="#"><img align="absmiddle" border="0" src="'+(ib_bw_calendar_next_month_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/calendar_next.png'):ib_bw_calendar_next_month_image)+'" ></a></th></tr>';
			html += '<tr>';
			for (var i = 0; i <= 6; i++ ){
				html += '<td class="ib_CalendarHeadDay" style="color:'+ib_bw_calendar_days_names_font_color+';background:'+ib_bw_calendar_days_body_bg+'">';
				html += obj.cal_days_labels[i];
				html += '</td>';
			}
			html += '</tr><tr>';
			var day = 1;
			for (var i = 0; i < 9; i++) {
			  for (var j = 0; j <= 6; j++) {
			    var sel = ((i > 0 || j >= startingDay ) && day == obj.baseDay && obj.month ==  obj.baseMonth && obj.year == obj.baseYear)?" ib_Selected":"";			    
			    if (day <= monthLength && (i > 0 || j >= startingDay )) {
			      html += '<td class="ib_CalendarDay'+sel+'" onmouseover="this.style.backgroundColor = \''+ib_bw_calendar_days_sel_bg+'\';" onmouseout="this.style.backgroundColor = \''+ib_bw_calendar_days_bg+'\';" style="background:'+((sel!="")?ib_bw_calendar_days_sel_bg:ib_bw_calendar_days_bg)+';border:1px solid '+ib_bw_calendar_days_body_bg+'; border-top:0;border-left:0;">';
			      html += '<a style="color:'+ib_bw_calendar_days_font_color+';" href="#" day="'+day+'" value="'+obj.formatDate(obj.month,day,obj.year)+'" id="ib_Day'+obj.options.calendar.id+obj.month+day+'">'+day+'</a>';
			      if(sel ==" ib_Selected")
			    	  obj.idSel = 'ib_Day'+obj.options.calendar.id+obj.month+day;
			      events.push('ib_Day'+obj.options.calendar.id+obj.month+day);
			      day++;
			    }else{
				  html += '<td class="ib_NoCalendarDay">';
                }  
			    html += '</td>';
			  }
			  if (day > monthLength) {
			    break;
			  } else {
			    html += '</tr><tr>';
			  }
			}
			html += '</tr></table>';
			obj.cal.div.innerHTML = html;
			obj.dayEvents = events;				
			if(ib_Browser.ie() || window.opera){
				var settings = {
					  tl: { radius: 6 },
					  tr: { radius: 6 },
					  bl: { radius: 6 },
					  br: { radius: 6 },
					  antiAlias: true
				}		
				curvyCorners(settings, obj.cal);	
            }
            obj.assignEvents(obj);
	}
	this.formatDate = function(month,day,year){
		month++;
		return ((month<10)?"0":"")+month+"/"+((day<10)?"0":"")+day+"/"+year;
	}
	this.assignEvents = function(obj){   
		if(obj.dayEvents){
			var len = obj.dayEvents.length;
			for(var i=0;i<len;i++){
				ib_Event.add(ib_$(obj.dayEvents[i]),'click', function(obj,e){
					if(!obj.options.toChange)
						obj.changed = true;
					ib_Event.stop(e);
					ib_Event.cancel(e);
					obj.selectedDay         = this.getAttribute("day");
					obj.options.input.value = this.getAttribute("value");
					var sel = ib_$(obj.idSel);
					if(sel)
						sel.parentNode.className = "ib_CalendarDay";
					this.parentNode.className = "ib_CalendarDay ib_Selected";
					if(obj.options.toChange && !obj.options.toChange.changed){
						obj.options.toChange.initialize();
						var d = new Date(obj.year, obj.month, obj.selectedDay);
						d.setTime(d.getTime()+(24*3600*1000));
						obj.options.toChange.options.input.value = obj.formatDate(d.getMonth(),d.getDate(),d.getFullYear());
					}	
					obj.idSel = this.id;
					obj.close(obj);
					obj.options.input.focus();
					obj.options.input.select();
				}.ib_Bind(obj));	
			}
		}
		ib_Event.add(ib_$('ib_PrevMonth'+obj.options.calendar.id),'click', function(obj,e){
			ib_Event.stop(e);
			ib_Event.cancel(e);
			var month = obj.month-1;			
			var year  = obj.year;
			if(month<0){
				month = 11;
				year--;
			}	
			obj.createCalendar(obj,month,year,obj.selectedDay);
		}.ib_Bind(obj));	
		ib_Event.add(ib_$('ib_NextMonth'+obj.options.calendar.id),'click', function(obj,e){
			ib_Event.stop(e);
			ib_Event.cancel(e);
			var month = obj.month+1;			
			var year  = obj.year;
			if(month>11){
				month = 0;
				year++;
			}
			obj.createCalendar(obj,month,year,obj.selectedDay);
		}.ib_Bind(obj));
	}
	this.close  = function(obj){
		if(obj.cal){
			obj.cal.parentNode.removeChild(obj.cal);
			if(obj.iframe)
				obj.iframe.parentNode.removeChild(obj.iframe);
		}
		obj.cal = null;
	}	
	this.show = function(obj){
		if(obj.cal)
			obj.cal.style.display = 'block';
		if(obj.iframe)
			obj.iframe.style.display = obj.cal.style.display;
	}	
	this.getInputDate = function(obj){
		elm = obj.options.input;
		d = new Date();
		if(elm.value == ""){
			return d;
		}else{
			var dateParts = elm.value.split("/");
			if(dateParts.length!=3){
				return d;
			}else{
				var month  = dateParts[0];
				var day    = dateParts[1];
				var year   = dateParts[2];
				var d2      = new Date(year,month-1,day);
				var c      = new Date();
				var t      = parseInt(c.getTime()/(1000*60*60*24));
				c.setTime(t*(1000*60*60*24));
				var res    = (((d2.getMonth()+1)<10)?"0"+(d2.getMonth()+1):(d2.getMonth()+1))+"/"+((d2.getDate()<10)?"0"+d2.getDate():d2.getDate())+"/"+d2.getFullYear();
				var real   = ((dateParts[0].length==1)?"0"+dateParts[0]:dateParts[0])+"/"+((dateParts[1].length==1)?"0"+dateParts[1]:dateParts[1])+"/"+dateParts[2];
				if(res!=real){//Format Error
					return d;
				}else{
					return d2; 
				}	
			}	
		}		
		return 
	}.ib_Bind(this);
	this.initialize = function(){
		if(!this.selectedDay){
			ib_Event.add(document,'click', function(obj,e){			
				obj.close(obj);
			}.ib_Bind(this));
			ib_Event.add(this.options.calendar,'click', function(obj,e){			
				ib_Event.stop(e);
				ib_Event.cancel(e);
				if(this == obj.options.calendar && !obj.cal){
					var d  =  obj.getInputDate();
					obj.baseYear  = d.getFullYear();
					obj.baseMonth = d.getMonth();
					obj.baseDay   = d.getDate();
					obj.createCalendar(obj,d.getMonth(),d.getFullYear(),d.getDate());
					obj.show(obj);
				}else
					obj.close(obj);
			}.ib_Bind(this));
		}	
		this.changed = false;
		var d = (!this.options.future)?this.cal_curr_date:new Date(this.cal_curr_date.getTime()+(1000*3600*24*this.options.future));
		this.selectedDay = d.getDate();
		this.year        = d.getFullYear();
		this.month       = d.getMonth();
		if(this.options.input.value=="")
			this.options.input.value = this.formatDate(this.month,this.selectedDay,this.year);
	}
	this.initialize();
}
var ib_Select = function(options){
	this.options = options || {};
	this.initialize = function (){  
		this.obj  = this.options.select;
		this.val  = this.options.value;
		this.dd  = document.createElement('div');			
	    this.dd.className = "ib_cb_dd";		
		this.selected = null;
		for(var i=1;i<=10;i++){
			var lnk  = document.createElement('a');			
			if(i==1 && this.selected == null){
				lnk.style.backgroundColor = ib_bw_select_sel_bg;
				this.selected = lnk;
			}
			lnk.innerHTML = i; 
			lnk.href ="#";
			lnk.style.display = "block";
			lnk.style.width ='100%';		
			this.dd.appendChild(lnk);
			ib_Event.add(lnk,'click', function(obj,ev){
				ib_Event.cancel(ev);
				obj.val.value = this.innerHTML;
				obj.selected.style.backgroundColor = "#FFFFFF";
				obj.selected = this;
				obj.selected.style.backgroundColor = ib_bw_select_sel_bg;
				obj.dd.style.display = "none";
			}.ib_Bind(this));
			ib_Event.add(lnk,'mouseover', function(obj,ev){
					this.style.backgroundColor = ib_bw_select_sel_bg;
			}.ib_Bind(this));
			ib_Event.add(lnk,'mouseout', function(obj,ev){
				if(this!=obj.selected)
					this.style.backgroundColor = "#FFFFFF";
			}.ib_Bind(this));
		}
		document.body.appendChild(this.dd);
		if(ib_Browser.ie()){
			this.iframe = document.createElement('iframe');
			this.iframe.style.position = "absolute";
			this.iframe.style.zIndex   = "999";
			this.iframe.style.width    = this.dd.offsetWidth; 
			this.iframe.style.height   = this.dd.offsetHeight;
			this.iframe.style.top      = this.dd.style.top;
			this.iframe.style.left     = this.dd.style.left;
			this.iframe.frameBorder    = 0;
			document.body.appendChild(this.iframe);
			this.iframe.style.display="none";
		}
		this.dd.style.display="none";		
		ib_Event.add(this.obj,'click', function(obj,ev){
			ib_Event.cancel(ev);
			var pos  = ib_Element.getPosition(obj.obj);
			var size = ib_Element.getSize(obj.obj);
			var valsize = ib_Element.getSize(obj.val);
			obj.dd.style.top  = (pos.y+size.y+1)+'px';
			obj.dd.style.left = (pos.x-(valsize.x-size.x)-2)+'px';
			if(obj.dd.style.display=='none')
				obj.dd.style.display = "block";
            else
				obj.dd.style.display = "none";				
		}.ib_Bind(this));
    }
	this.initialize();
}

function ib_bw_DateType(first){
	if(first)
		sType = "Departing";
	else
		sType = "Returning";
	if(ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked && !ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
		if(first)
			sType = "Check-In";
		else
			sType = "Check-Out";					
    }
	if(ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked && !ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked && !ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked){
		if(first)
			sType = "Pick-Up";
		else
			sType = "Drop-Off";						
    }
    return sType;		
}

function ib_bw_checkDate(elm,first, arrErrors){
		var sErrors = "";
		var sType   = ib_bw_DateType(first);
		if(elm.value == "" || elm.value == elm.title){
			if(first)
				ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
			else
				ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
			arrErrors.unshift(sType);
		}else{
			var dateParts = elm.value.split("/");
			if(dateParts.length!=3){
				sErrors = "Please enter your "+sType+" date in the format mm/dd/yyyy"+((ib_bw_type!="300x250")?".<br>":", ");
				if(first)
					ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
				else
					ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
			}else{
				var dateParts = elm.value.split("/");
				var month  = dateParts[0];
				var day    = dateParts[1];
				var year   = dateParts[2];
				var d      = new Date(year,month-1,day);
				var c      = new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate());
				var t      = parseInt(c.getTime()/(1000*60*60*24));
				c.setTime(t*(1000*60*60*24));
				var res    = (((d.getMonth()+1)<10)?"0"+(d.getMonth()+1):(d.getMonth()+1))+"/"+((d.getDate()<10)?"0"+d.getDate():d.getDate())+"/"+d.getFullYear();
				var real   = ((dateParts[0].length==1)?"0"+dateParts[0]:dateParts[0])+"/"+((dateParts[1].length==1)?"0"+dateParts[1]:dateParts[1])+"/"+dateParts[2];
				if(res!=real){//Format Error
					sErrors = "Please enter your "+sType+" date in the format mm/dd/yyyy."+((ib_bw_type!="300x250")?"<br>":", ");
					if(first)
						ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
					else
						ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
				}else{
					elm.time = d;
					if(d.getTime() < c.getTime()){//Past date
						sErrors = sType + " date is in the past"+((ib_bw_type!="300x250")?".<br>":", ");
						if(first)
							ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
						else
							ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
					}else{
						var elapsed = d.getTime() - c.getTime();
						if(elapsed>(1000*60*60*24*365)){//More than a year							
							sErrors = sType + " date more than a year from present"+((ib_bw_type!="300x250")?".<br>":", ");
							if(first)
								ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
							else
								ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
						}
					}	
				}
			}
		}
		return sErrors;
}

function ib_bw_validate(ib_bw_current_widget,e){
	var sErrors = "";
    var Errors  = false;
	var atLeast = false;
	var arrErrors = new Array();
	for(var i=1;i<=3;i++){
	   if(ib_$('ib_bw_cb'+i+'_'+ib_bw_current_widget).checked){
			atLeast = true;
			break;
	   }
	}
	ib_$('dep_lab_'+ib_bw_current_widget).style.color     = ib_bw_body_font_color;
	ib_$('des_lab_'+ib_bw_current_widget).style.color     = ib_bw_body_font_color;
	ib_$('depdate_lab_'+ib_bw_current_widget).style.color = ib_bw_body_font_color;
	ib_$('desdate_lab_'+ib_bw_current_widget).style.color = ib_bw_body_font_color;
	ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).style.backgroundColor = ib_bw_body_filter_bg;
    if(!atLeast){
		if(ib_$("ib_bw_widget_errors_"+ib_bw_current_widget)){
			if(ib_bw_type=='300x250')
				ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).style.display="inline";
			ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).innerHTML = "Please choose a type of travel product to search for.";
		}else{
			alert("Please choose a type of travel product to search for.");
		}
		ib_Event.cancel(e);
		return ;
    }	
   		
	if(ib_$("ib_bw_widget_errors_"+ib_bw_current_widget))
		ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).innerHTML = "";

    var depCity = ib_$('ib_bw_dep_'+ib_bw_current_widget);
    var desCity = ib_$('ib_bw_des_'+ib_bw_current_widget);         
	if(ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
		if(depCity.value == "" || depCity.value == depCity.title){
	       ib_$('dep_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   arrErrors.unshift("Departure City");
		}
		if(desCity.value == "" || desCity.value == depCity.title){
	       ib_$('des_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   arrErrors.unshift("Destination City");
		}
	}
	if(ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked || ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked){
		if((depCity.value == "" || depCity.value == depCity.title) && !ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
	       ib_$('dep_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   arrErrors.unshift("City");
		}
	}
	var ical1 =ib_$('ib_bw_widget_ical1_'+ib_bw_current_widget);
	var tmpError1 = ib_bw_checkDate(ical1,true,arrErrors);	
	atLeast = false;
    var ical2 =ib_$('ib_bw_widget_ical2_'+ib_bw_current_widget);
	tmpError2 = ib_bw_checkDate(ical2,false,arrErrors);
	arrErrors = arrErrors.reverse();
	if(arrErrors.length>0){ 
		Errors = true;
		if(ib_bw_type =="300x250")
			sErrors += "Required fields in red.,";
		else
			for (var i=0; i<arrErrors.length;i++){
				if(i>=(arrErrors.length-1) && arrErrors.length > 1)
					sErrors += " and " + arrErrors[i]+" are required"+((ib_bw_type!="300x250")?".<br>":", ");
				else
					if(arrErrors.length > 1)
						sErrors += arrErrors[i]+", ";
					else
						sErrors += arrErrors[i]+" is required"+((ib_bw_type!="300x250")?".<br>":", ");
			}
	}
	if(tmpError1!=""){
		sErrors += tmpError1;
		atLeast = true;
	    Errors = true;
	}
	if(tmpError2!=""){
		sErrors += tmpError2;
		atLeast = true;
 	    Errors = true;
	}
	if(!atLeast){
		if(ical2.time.toString() == ical1.time.toString()){
		   sErrors += ib_bw_DateType(false)+" must be after "+ib_bw_DateType(true);
		   ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   Errors = true;
		}
		if(ical2.time < ical1.time){
		   sErrors += ib_bw_DateType(false)+" must be after "+ib_bw_DateType(true);
		   ib_$('depdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   ib_$('desdate_lab_'+ib_bw_current_widget).style.color=ib_bw_body_font_error_color;
		   Errors = true;
		}
    }
	if(Errors){
		if(ib_bw_type=="300x250"){
			sErrors = sErrors.substring(0,sErrors.length-2);
			sErrors += ".";
		}
		if(ib_$("ib_bw_widget_errors_"+ib_bw_current_widget)){
			if(ib_bw_type=='300x250')
				ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).style.display="inline";
			ib_$("ib_bw_widget_errors_"+ib_bw_current_widget).innerHTML = sErrors;
		}else{
			alert(sErrors);
		}
		ib_Event.cancel(e);
    }
}

function ib_check_state(ib_bw_current_widget, changeTitle){
	var dep = ib_$("dep_lab_"+ib_bw_current_widget);
	var des = ib_$("des_lab_"+ib_bw_current_widget);
	var depdate = ib_$("depdate_lab_"+ib_bw_current_widget);
	var desdate = ib_$("desdate_lab_"+ib_bw_current_widget);
	var depcity = ib_$("ib_bw_dep_"+ib_bw_current_widget);
	var descity = ib_$("ib_bw_des_"+ib_bw_current_widget);
	var desdiv = ib_$("ib_bw_des_div_"+ib_bw_current_widget);

	var dd1 = ib_$("ib_bw_widget_dd_1_"+ib_bw_current_widget);
	var ddv1 = ib_$("ib_bw_widget_dd_value_1_"+ib_bw_current_widget);
	var ddvd1 = ib_$("ib_bw_widget_dd_1_div_"+ib_bw_current_widget);

	var dd2 = ib_$("ib_bw_widget_dd_2_"+ib_bw_current_widget);
	var ddv2 = ib_$("ib_bw_widget_dd_value_2_"+ib_bw_current_widget);
	var ddvd2 = ib_$("ib_bw_widget_dd_2_div_"+ib_bw_current_widget);

	dep.innerHTML = 'DEPARTURE CITY';
	des.innerHTML = 'DESTINATION CITY';
	depdate.innerHTML = ib_bw_DateType(true);
	desdate.innerHTML = ib_bw_DateType(false);
	desdate.style.opacity = 1;
	depdate.style.opacity = 1;
	descity.disabled = false;
	desdiv.style.opacity = 1;
	ddvd1.style.opacity = 1;
	ddvd2.style.opacity = .3;
	dd1.disabled = false;
	dd2.disabled = true;
	ddv1.disabled = false;
	ddv2.disabled = true;
	ddv1.style.color = ib_bw_body_input_sel_color;
	ddv2.style.color = ib_bw_body_input_sel_color;
	if(depcity.value != depcity.title)
		depcity.style.color = ib_bw_body_input_sel_color;
	if(descity.value != descity.title)
		descity.style.color = ib_bw_body_input_sel_color;		
	if(ib_Browser.ie()){
		desdiv.style.filter = "alpha(opacity=100)";
		ddvd2.style.filter = "alpha(opacity=30)";
		ddvd1.style.filter = "alpha(opacity=100)";
		dd1.style.filter = "alpha(opacity=100)";
		dd2.style.filter = "alpha(opacity=30)";
	}
	var moreThan = 0;
	if(ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
		if(ib_$('ib_bw_results_location_title')){
			if(descity.value!=descity.title){
				ib_$('ib_bw_results_location_title').innerHTML = "Flights to " + descity.value;
			}
		}
		moreThan++;
	}
	if(!ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
		dep.innerHTML = 'CITY';
		descity.disabled = true;
		desdiv.style.opacity = .3;
		if(ib_Browser.ie()){
			desdiv.style.filter = "alpha(opacity=30)";
		}
	}
	if(ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked){
		ddvd2.style.opacity = 1;		
		dd2.disabled = false;
		dd2.style.filter = "alpha(opacity=100)";
		ddv2.disabled = false;
		ddvd2.style.filter = "alpha(opacity=100)";
		if(ib_$('ib_bw_results_location_title')){
			if(depcity.value!=depcity.title && changeTitle){
				ib_$('ib_bw_results_location_title').innerHTML = "Hotles in " + depcity.value;;
			}
		}
		moreThan++;
	}
	if(ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked){
		moreThan++;
	}
	if(ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked && (!ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked && !ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked)){	
		dd1.disabled = true 
		ddvd1.style.opacity = .3;
		ddv1.disabled = true;
		if(ib_Browser.ie()){
			dd1.style.filter = "alpha(opacity=30)";
			ddvd1.style.filter = "alpha(opacity=30)";
		}
		if(ib_$('ib_bw_results_location_title')){
			if(depcity.value!=depcity.title && changeTitle){
				ib_$('ib_bw_results_location_title').innerHTML = 'Car Rentals in '+depcity.value;
			}
		}
	}
	if(moreThan>1){						
		if(ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked){
			if(descity.value!=descity.title && changeTitle){
					ib_$('ib_bw_results_location_title').innerHTML = "Vacation Packages in " + descity.value;;
			}
		}else{
			if(depcity.value!=depcity.title && changeTitle){
					ib_$('ib_bw_results_location_title').innerHTML = "Vacation Packages in " + depcity.value;;
			}
		}
	}
}

ib_Event.add(window,'load', function(e){
     var roomsS = ib_$('ib_bw_widget_dd_1_'+ib_bw_current_widget);
     var roomsV = ib_$('ib_bw_widget_dd_value_1_'+ib_bw_current_widget)
     var travelS = ib_$('ib_bw_widget_dd_2_'+ib_bw_current_widget);
     var travelV = ib_$('ib_bw_widget_dd_value_2_'+ib_bw_current_widget)
	 if(window.opera){
		roomsS.style.position="relative";
		travelS.style.position="relative";
 	 }
     new ib_Select({"select":roomsS, "value":roomsV});
	 new ib_Select({"select":travelS, "value":travelV});
});

function ib_bw_styles(){
	ib_$('ib_bw_widget_'+ib_bw_current_widget).style.background  = ib_bw_bg;
	ib_$('ib_bw_widget_'+ib_bw_current_widget).style.borderColor = ib_bw_border;
	ib_$('ib_bw_widget_body').style.borderColor  = ib_bw_bg;
	ib_$('ib_bw_widget_head').style.background = ib_bw_title_bg;
	ib_$('ib_bw_widget_head').style.background = ib_bw_title_bg;
	ib_$('ib_bw_widget_head').style.color = ib_bw_title_color;
	ib_$('ib_bw_widget_section').style.background = ib_bw_breadcrumbs_bg;
	ib_$('ib_bw_widget_section').style.background = ib_bw_breadcrumbs_bg;
	var ops = ib_$('ib_bw_widget_section').getElementsByTagName('li');	
    for(var i=0; i<ops.length;i++){
		if(ops[i].className == 'ib_bw_widget_section_active')
		  ops[i].style.color = ib_bw_breadcrumbs_sel_color;
		else
		  ops[i].style.color = ib_bw_breadcrumbs_color;
	}
	if(ib_bw_type != 'results_form')
		ib_$('ib_bw_widget_options').style.background = ib_bw_travel_options_bg;
	ib_$('ib_bw_widget_body').style.background = ib_bw_body_filter_bg;
	ib_$('dep_lab_1').style.background = ib_bw_body_filter_bg;
	ib_$('depdate_lab_1').style.background = ib_bw_body_filter_bg;
	ib_$('des_lab_1').style.background = ib_bw_body_filter_bg;
	ib_$('desdate_lab_1').style.background = ib_bw_body_filter_bg;
	ib_$('travel_lab_1').style.background = ib_bw_body_filter_bg;
	ib_$('rooms_lab_1').style.background = ib_bw_body_filter_bg;
	ops = ib_$('ib_bw_widget_content').getElementsByTagName('div');	
    for(var i=0; i<ops.length;i++){
		if(ops[i].className == 'ib_bw_widget_errors')
		  ops[i].style.color = ib_bw_body_font_error_color;
	}
	ops = ib_$('ib_bw_widget_content').getElementsByTagName('p');	
    for(var i=0; i<ops.length;i++){
	  	ops[i].style.color = ib_bw_body_font_color;
	}
	ops = ib_$('ib_bw_widget_options').getElementsByTagName('label');	
    for(var i=0; i<ops.length;i++){
	  	ops[i].style.color = ib_bw_travel_options_font_color;
	}	
	if(ib_$('ib_bw_widget_compare'))
		ib_$('ib_bw_widget_compare').style.color = ib_bw_compare_font_color;
}


//ib_Event.add(document,'domready', function(ib_bw_current_widget, e){
function loadIbBWWidget(ib_bw_current_widget){
	 if(!ib_$('ib_bw_widget_'+ib_bw_current_widget)){
	   setTimeout("loadIbBWWidget("+ib_bw_current_widget+")",10);
	   return;
	 }
     ib_$('ib_bw_widget_'+ib_bw_current_widget).style.display = 'block';
     var depCity = ib_$('ib_bw_dep_'+ib_bw_current_widget);
     var desCity = ib_$('ib_bw_des_'+ib_bw_current_widget);         
	 if(ib_bw_type=='default' && ib_$('ib_bw_widget_'+ib_bw_current_widget).offsetWidth>600){
		depCity.style.width = (depCity.offsetWidth + ((ib_$('ib_bw_widget_'+ib_bw_current_widget).offsetWidth))-600)+"px";
		desCity.style.width = (desCity.offsetWidth + ((ib_$('ib_bw_widget_'+ib_bw_current_widget).offsetWidth))-600)+"px";
		ib_$('ib_bw_widget_button').style.marginLeft = ((ib_$('ib_bw_widget_'+ib_bw_current_widget).offsetWidth)-595)+"px";
	 }else if(ib_bw_type=='default' && ib_$('ib_bw_widget_'+ib_bw_current_widget).offsetWidth<600){
		ib_$('ib_bw_widget_'+ib_bw_current_widget).style.width ="600px";
		alert("Sorry default widget has a minimum size of 600px");
	 }
     var wForm   = ib_$('ib_bw_widget_form_'+ib_bw_current_widget);
     ib_Event.add(wForm, "submit", ib_bw_validate.ib_Bind(ib_bw_current_widget));
     new ib_AutoCompleter({"input":depCity, "url" : ib_bw_autocomplete_feed, "form":wForm});
	 new ib_AutoCompleter({"input":desCity, "url" : ib_bw_autocomplete_feed, "form":wForm});
     ib_Event.add(depCity,'focus',function(e){if(this.value == this.title){
			this.style.color = ib_bw_body_input_sel_color;
            this.value = "";
            this.focus();
        }
     });
     ib_Event.add(desCity,'focus',function(e){
		if(this.value == this.title){
			this.style.color = ib_bw_body_input_sel_color;
            this.value = "";
            this.focus();
        }
     });
     ib_Event.add(depCity,'blur',function(e){
		if(this.value == ""){
			this.style.color = ib_bw_body_input_color;
            this.value = this.title;
        }
     });
     ib_Event.add(desCity,'blur',function(e){
		if(this.value == ""){
			this.style.color = ib_bw_body_input_color;
            this.value = this.title;
        }
     });
   
    var cal1  =ib_$('ib_bw_widget_cal1_'+ib_bw_current_widget);
    var cal2  =ib_$('ib_bw_widget_cal2_'+ib_bw_current_widget);
    var ical1 =ib_$('ib_bw_widget_ical1_'+ib_bw_current_widget);
    var ical2 =ib_$('ib_bw_widget_ical2_'+ib_bw_current_widget);	
	if(window.opera){
		cal1.style.position="relative";
		cal2.style.position="relative";
	}
    var o2 = {"calendar" : cal2,"input" : ical2, "toChange":null};
	var today = new Date();
	today.setTime(today.getTime()+(24*3600*1000));
	while (today.getDay() != 5 ){	
		today.setTime(today.getTime()+(24*3600*1000));
    }
	var vcal2 = new ib_Calendar(o2);
	var friday = vcal2.formatDate(today.getMonth(),today.getDate(),today.getFullYear());
	while (today.getDay() != 0 ){
		today.setTime(today.getTime()+(24*3600*1000));
    }
	var sunday = vcal2.formatDate(today.getMonth(),today.getDate(),today.getFullYear());
	var o1 = {"calendar" : cal1,"input" : ical1, "toChange":this.cal2};
	var vcal1 = new ib_Calendar(o1);
	ical1.value = friday;
	ical2.value = sunday;
	if(ical1.value != ical1.title)
		ical1.style.color = ib_bw_body_input_sel_color;
	if(ical2.value != ical2.title)
		ical2.style.color = ib_bw_body_input_sel_color;		
     ib_Event.add(ical1 ,'focus',function(e){
		if(this.value == this.title){
			this.style.color = ib_bw_body_input_sel_color;
            this.value = "";
            this.focus();
        }
     });
     ib_Event.add(ical2,'focus',function(e){
		if(this.value == this.title){
			this.style.color = ib_bw_body_input_sel_color;
            this.value = "";
            this.focus();
        }
     });
     ib_Event.add(ical1 ,'blur',function(e){
		if(this.value == ""){
			this.style.color = ib_bw_body_input_color;
            this.value = this.title;
        }
     });
     ib_Event.add(ical2,'blur',function(e){
		if(this.value == ""){
			this.style.color = ib_bw_body_input_color;
            this.value = this.title;
        }
     });
     ib_Event.add(ical1 ,'select',function(e){
		if(this.value != this.title){
			this.style.color = ib_bw_body_input_sel_color;
        }
     });
     ib_Event.add(ical2 ,'select',function(e){
		if(this.value != this.title){
			this.style.color = ib_bw_body_input_sel_color;
        }
     });
	
     var arVersion = navigator.appVersion.split("MSIE")
     var version = parseFloat(arVersion[1])
     if ((version <= 6) && (document.body.filters)) 
     {
		if(ib_$("ib_bw_compare")){
			var img = ib_$("ib_bw_compare");
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + img.src + "\', sizingMethod='scale')"
        }
    }    

    var roomsS = ib_$('ib_bw_widget_dd_2_'+ib_bw_current_widget);
    var roomsV = ib_$('ib_bw_widget_dd_value_2_'+ib_bw_current_widget)
    var travelS = ib_$('ib_bw_widget_dd_1_'+ib_bw_current_widget);
    var travelV = ib_$('ib_bw_widget_dd_value_1_'+ib_bw_current_widget)

    var Search = window.location.search;
	if(Search!=""){
			var params = window.location.search.substring(1,window.location.search.length).split("&");
			for (var param in params){				
				var p = new String(params[param]).split("=");
				if (typeof p[1] != "undefined")
				{
					if(unescape(p[0]) == "singlemenu[]"){
						switch(p[1]){
                           case 'hotel':                              
        					  ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked=true;
                              break;
                           case 'air':                              
        					  ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked=true;
                              break;
                           case 'car':                              
        					  ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked=true;
                              break;
                        }
					}
					if(unescape(p[0]) == "city1")
						depCity.value = unescape(p[1].replace(/\+/g, ' '));
					if(unescape(p[0]) == "city2")
						desCity.value = unescape(p[1].replace(/\+/g, ' '));
					if(unescape(p[0]) == "date1")
						ical1.value = unescape(p[1].replace(/\+/g, ' '));
					if(unescape(p[0]) == "date2")
						ical2.value = unescape(p[1].replace(/\+/g, ' '));
					if(unescape(p[0]) == "rooms")
						 roomsV.value = unescape(p[1].replace(/\+/g, ' '));
					if(unescape(p[0]) == "adults")
						 travelV.value = unescape(p[1].replace(/\+/g, ' '));
				}
							
			}
	}else{
		ib_$('ib_bw_cb2_'+ib_bw_current_widget).checked=true;		
    }
	for(var i=1;i<=3;i++){
	   if(ib_$('ib_bw_cb'+i+'_'+ib_bw_current_widget).checked)
	      ib_$('ib_bw_cb'+i+'_'+ib_bw_current_widget+'_i').src=(ib_bw_travel_options_image_checked=="")?ib_bw_base_templates+"images/"+ib_bw_type+"/cb-checked.png":ib_bw_travel_options_image_checked;
	   else
	      ib_$('ib_bw_cb'+i+'_'+ib_bw_current_widget+'_i').src=(ib_bw_travel_options_image=="")?ib_bw_base_templates+"images/"+ib_bw_type+"/cb.png":ib_bw_travel_options_image;
	   ib_Event.add(ib_$('ib_bw_cb'+i+'_'+ib_bw_current_widget),'click',function(e){        
		   if('ib_bw_cb2_'+ib_bw_current_widget == this.id){
			   if(this.checked){
					if(ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked || ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked){
					    if(depCity.getAttribute('tmpCity')){
							desCity.value = depCity.value;						
							depCity.value = depCity.getAttribute('tmpCity');
                        }
					}
			   }else{
					if(ib_$('ib_bw_cb1_'+ib_bw_current_widget).checked || ib_$('ib_bw_cb3_'+ib_bw_current_widget).checked){
						if(desCity.value!=desCity.title){
							depCity.setAttribute('tmpCity', depCity.value);
							depCity.value = desCity.value;
							desCity.value = desCity.title;
						}
					}
			   }
		   }
	       if(this.checked){
			   ib_$(this.id+'_i').src = (ib_bw_travel_options_image_checked=="")?ib_bw_base_templates+"images/"+ib_bw_type+"/cb-checked.png":ib_bw_travel_options_image_checked;
	       }else{
	           ib_$(this.id+'_i').src = (ib_bw_travel_options_image=="")?ib_bw_base_templates+"images/"+ib_bw_type+"/cb.png":ib_bw_travel_options_image;			
           }
		   ib_check_state(ib_bw_current_widget,false);
	   });
	}

	if(ib_$('ib_bw_show_widget')){
		ib_Event.add(ib_$('ib_bw_show_widget'),'click',function(e){
			IbshowWidget(e,vcal1,vcal2);
        });
	}		
	if(ib_$('ib_bw_search_click')&&	!ib_no_results){
		ib_$('ib_bw_search_click').style.cursor = "pointer";
		ib_Event.add(ib_$('ib_bw_search_click'),'mouseover',function(e){
			this.style.textDecoration ="underline";
		});
		ib_Event.add(ib_$('ib_bw_search_click'),'mouseout',function(e){
			this.style.textDecoration ="none";
		});
		ib_Event.add(ib_$('ib_bw_search_click'),'click',function(e){
			IbshowWidget(e,vcal1,vcal2);
		});
    }
	ib_check_state(ib_bw_current_widget,true);
	if(ib_no_results){
		if(ib_$('ib_bw_results_body')){
			ib_$('ib_no_results_error').style.display ="block";
			ib_$('ib_bw_show_widget').style.display ="none";
			ib_$('ib_bw_results_body').style.display ="none";
		 	IbshowWidget(e,null,null);
        }
	}

    ib_bw_styles();
    if(window.opera){
		var settings = {
		  tl: { radius: 6 },
		  tr: { radius: 6 },
		  bl: { radius: 6 },
		  br: { radius: 6 },
		  antiAlias: true
		}
		if( ib_$('ib_bw_results'))
			curvyCorners(settings, ib_$('ib_bw_results') );
		else
			curvyCorners(settings, ib_$('ib_bw_widget_'+ib_bw_current_widget) );
		if(ib_bw_type!='160x600')
		curvyCorners(settings, ib_$('ib_bw_widget_section') );
	}
	 
};

function IbshowWidget(e,vcal1,vcal2){
	 ib_Event.cancel(e);
	 if(vcal1)	
		 vcal1.close(vcal1);
	 if(vcal2)	
		 vcal2.close(vcal2);
	 var wb = ib_$('ib_bw_widgetblock');
     var imgs = ib_$('ib_bw_show_widget').getElementsByTagName("img");
	 if( wb.style.display=="block"){
		 ib_$('ib_bw_results_left_desc').style.opacity = 1;
		 ib_$('ib_bw_results_right_desc').style.opacity = 1;
		 if(ib_Browser.ie()){
			ib_$('ib_bw_results_left_desc').style.filter = "alpha(opacity=100)";
			ib_$('ib_bw_results_right_desc').style.filter = "alpha(opacity=100)";
		 }
		 var tmp = imgs[0].src;
	     imgs[0].src= imgs[0].lowsrc;
		 imgs[0].lowsrc = tmp;
	 	 wb.style.display="none";	
	 }else{
		 ib_$('ib_bw_results_left_desc').style.opacity = .50;
		 ib_$('ib_bw_results_right_desc').style.opacity = .50;
		 if(ib_Browser.ie()){
			ib_$('ib_bw_results_left_desc').style.filter = "alpha(opacity=50)";
			ib_$('ib_bw_results_right_desc').style.filter = "alpha(opacity=50)";
		 }
		 var tmp = imgs[0].src;
	     imgs[0].src= imgs[0].lowsrc;
		 imgs[0].lowsrc = tmp;
		 wb.style.display="block";
	 }
	 if((ib_Browser.ie() || window.opera) && ib_$('ib_bw_results')){
		 curvyCorners.redraw();
	 }
}

document.write('<div class="ib_bw_widget" id="ib_bw_widget_'+ib_bw_current_widget+'">');
if(ib_bw_type!='160x600')
document.write('	<div id="ib_bw_widget_head"> '+
			   '	    <ul id="ib_bw_widget_section">'+
		       '			<li class="ib_bw_widget_section_active">Search</li>'+
			   '			<li><img align="absmiddle" src="'+(ib_bw_breadcrumbs_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/arrow.png'):ib_bw_breadcrumbs_image)+'" ></li>'+
       		   '		    <li>Compare</li>'+
  	           '  	        <li><img align="absmiddle" src="'+(ib_bw_breadcrumbs_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/arrow.png'):ib_bw_breadcrumbs_image)+'" ></li>'+
               '		    <li>Book</li>'+
 	           '	    </ul>'+
 	           '	    <div id="ib_bw_widget_title">Plan Your Getaway</div>'+
               '    </div>');
else
document.write('	<div id="ib_bw_widget_head"> '+
 	           '	    <div id="ib_bw_widget_title">Plan Your Getaway</div>'+
			   '	    <ul id="ib_bw_widget_section">'+
		       '			<li class="ib_bw_widget_section_active">Search</li>'+
			   '			<li><img align="absmiddle" src="'+(ib_bw_breadcrumbs_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/arrow.png'):ib_bw_breadcrumbs_image)+'" ></li>'+
       		   '		    <li>Compare</li>'+
  	           '  	        <li><img align="absmiddle" src="'+(ib_bw_breadcrumbs_image==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/arrow.png'):ib_bw_breadcrumbs_image)+'" ></li>'+
               '		    <li>Book</li>'+
 	           '	    </ul>'+
               '    </div>');
document.write('<form action="'+ib_bw_form_action+'" class="ib_bw_widget_form" id="ib_bw_widget_form_'+ib_bw_current_widget+'" method="GET">');
document.write('<input type="hidden" value="0" name="flighttype" >');
document.write('	<div id="ib_bw_widget_options" '+(ib_bw_travel_options_bg_img==''?'':'style="background:url('+ib_bw_travel_options_bg_img+')"')+'>'+
			   '		<ul>'+
			   '		    <li><input id="ib_bw_cb2_'+ib_bw_current_widget+'" name="singlemenu[]" type="checkbox" value="air"><label for="ib_bw_cb2_'+ib_bw_current_widget+'"><img align="absmiddle" id="ib_bw_cb2_'+ib_bw_current_widget+'_i" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/cb.png" ><span><img align="absmiddle" src="'+(ib_bw_travel_options_flight_img==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/img-flight.png'):ib_bw_travel_options_flight_img)+'" >Flights</span></label></li>'+
			   '		    <li><input id="ib_bw_cb1_'+ib_bw_current_widget+'" name="singlemenu[]" type="checkbox" value="hotel"><label for="ib_bw_cb1_'+ib_bw_current_widget+'"><img align="absmiddle" id="ib_bw_cb1_'+ib_bw_current_widget+'_i" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/cb.png"><span><img align="absmiddle" src="'+(ib_bw_travel_options_hotel_img==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/img-hotels.png'):ib_bw_travel_options_hotel_img)+'" >Hotels</span></label></li>'+
			   '		    <li style="margin-right:0px;"><input id="ib_bw_cb3_'+ib_bw_current_widget+'" name="singlemenu[]" type="checkbox" value="car"><label for="ib_bw_cb3_'+ib_bw_current_widget+'"><img align="absmiddle" id="ib_bw_cb3_'+ib_bw_current_widget+'_i" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/cb.png" ><span><img align="absmiddle" src="'+(ib_bw_travel_options_car_img==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/img-car.png'):ib_bw_travel_options_car_img)+'" >Car&nbsp;Rentals</span></label></li>'+
			   '		</ul>'+
    		   '	</div>');
document.write('	<div id="ib_bw_widget_body"> ');
if(ib_bw_type=='default')
document.write('    <div id="ib_bw_widget_compare">'+
			   '			<div>Compare Top Deals<br><span>FROM ACROSS THE INTERNET</span></div>'+
			   '	        <img id="ib_bw_compare" align="absmiddle" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/compare-big.png" />'+
			   '	</div>');
document.write('	<div id="ib_bw_widget_content">');
if(ib_bw_type=='300x250')
	document.write('    <div class="ib_bw_widget_errors" id="ib_bw_widget_errors_'+ib_bw_current_widget+'"></div>');
document.write('		<div>'+
			   '		    <div class="ib_bw_widget_block">'+
		       '               <p id="dep_lab_'+ib_bw_current_widget+'">DEPARTURE CITY</p>'+
			   '               <div>'+
			   '		           <input id="ib_bw_dep_'+ib_bw_current_widget+'" class="ib_bw_widget_city" type="text" name="city1" autocomplete="off" value="Start Typing..." title="Start Typing...">'+
		       '               </div>'+
		       '            </div>'+
			   '	        <div class="ib_bw_widget_block">'+
		       '               <p id="depdate_lab_'+ib_bw_current_widget+'">DEPARTING</p>'+
		       '	           <div>'+
			   '		           <input id="ib_bw_widget_ical1_'+ib_bw_current_widget+'" class="ib_bw_widget_date" type="text" name="date1" maxlength="10" value="Choose &rarr;" title="Choose &rarr;" >'+
  			   '	               <input id="ib_bw_widget_cal1_'+ib_bw_current_widget+'"  class="ib_bw_widget_cal"  name="cal1"  type="image" src="'+(ib_bw_body_filter_calendar==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/calendar.png'):ib_bw_body_filter_calendar)+'" align="absmiddle" value="cal1" >'+
		       '               </div>'+
		       '            </div>'+
			   '         </div>');
if(ib_bw_type=='160x600')
document.write('	     <div><div class="ib_bw_widget_block">'+
			   '		    <img  class="ib_bw_widget_separator" src="'+(ib_bw_body_filter_separator==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/separator.png'):ib_bw_body_filter_separator)+'">'+
			   '		 </div></div>');
document.write('	     <div>'+
			   '	     <div  id="ib_bw_des_div_'+ib_bw_current_widget+'" class="ib_bw_widget_block">'+
		       '     <p id="des_lab_'+ib_bw_current_widget+'">DESTINATION CITY</p>'+
			   '	   <div>'+
			   '		  <input id="ib_bw_des_'+ib_bw_current_widget+'" class="ib_bw_widget_city" type="text" name="city2" autocomplete="off" value="Start Typing..." title="Start Typing..." >'+
		       '       </div>'+
		       '    </div>'+
			   '	<div class="ib_bw_widget_block">'+
		       '       <p id="desdate_lab_'+ib_bw_current_widget+'">RETURNING</p>'+
			   '	   <div>'+
			   '		  <input id="ib_bw_widget_ical2_'+ib_bw_current_widget+'" class="ib_bw_widget_date" type="text" name="date2" maxlength="10" value="Choose &rarr;"  title="Choose &rarr;" >'+
               '          <input id="ib_bw_widget_cal2_'+ib_bw_current_widget+'" class="ib_bw_widget_cal" type="image" name="cal2" src="'+(ib_bw_body_filter_calendar==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/calendar.png'):ib_bw_body_filter_calendar)+'" align="absmiddle" value="cal2">'+
		       '       </div>'+
		       '  </div>'+
			   '</div>');
if(ib_bw_type=='160x600')
document.write('	     <div><div class="ib_bw_widget_block">'+
			   '		    <img  class="ib_bw_widget_separator" src="'+(ib_bw_body_filter_separator==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/separator.png'):ib_bw_body_filter_separator)+'">'+
			   '		 </div></div>');
document.write('<div>'+
			   '    <div id="ib_bw_widget_dd_1_div_'+ib_bw_current_widget+'" class="ib_bw_widget_block">'+
		       '        <p id="rooms_lab_1">TRAVELERS</p>'+
			   '        <div>'+
			   '		  <input id="ib_bw_widget_dd_value_1_'+ib_bw_current_widget+'" class="ib_bw_widget_select" readonly="readonly" type="text" name="adults" maxlength="10" value="1" >'+
               '          <input id="ib_bw_widget_dd_1_'+ib_bw_current_widget+'" class="ib_bw_widget_dd" type="image" name="dd1"  value="dd1" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/dd_cb.png" align="absmiddle" >'+
		       '        </div>'+
		       '    </div>'+
			   ' 	<div id="ib_bw_widget_dd_2_div_'+ib_bw_current_widget+'" class="ib_bw_widget_block">'+
		       '        <p id="travel_lab_1">ROOMS</p>'+
			   '        <div>'+
			   '	      <input id="ib_bw_widget_dd_value_2_'+ib_bw_current_widget+'" class="ib_bw_widget_select" readonly="readonly" type="text" name="rooms" value="1" >'+
               '          <input id="ib_bw_widget_dd_2_'+ib_bw_current_widget+'" class="ib_bw_widget_dd" type="image" name="dd2" value="dd2" src="'+ib_bw_base_templates+'images/'+ib_bw_type+'/dd_cb.png" align="absmiddle" >'+
		       '        </div>'+
		       '    </div>'+
		       '    <div class="ib_bw_widget_block">'+				
               '	    <input id="ib_bw_widget_button" type="image" name="submit" value="submit" src="'+(ib_bw_body_filter_button==""?(ib_bw_base_templates+'images/'+ib_bw_type+'/button.png'):ib_bw_body_filter_button)+'" >'+
			   '    </div>');
if(ib_bw_type=='default' || ib_bw_type=='results_form')
document.write('     <div class="ib_bw_widget_errors" id="ib_bw_widget_errors_'+ib_bw_current_widget+'"></div>');
document.write('</div>');
if(ib_bw_type=='160x600')
document.write('	<div id="ib_bw_widget_compare">'+
			   '     <div class="ib_bw_widget_errors" id="ib_bw_widget_errors_'+ib_bw_current_widget+'"></div>'+
			   '	</div>');
document.write('</div>');
document.write('</div>');
document.write('</form>');
document.write('</div>');

setTimeout("loadIbBWWidget("+ib_bw_current_widget+")",10);

