// TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY //
// TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY //
// TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY //
// TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY - TOURISTWAY //
var TW_DOCBASEURL='';
var TW_DEFAULTMAPICON={};
var TW_AJAXPROCESSOR={url:'ajax.cgi'};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 
function setdocbase(docurl)
{

		TW_DOCBASEURL=docurl;
}
function setuserdateformat(dateformat)
{
	TW_USERDATEFORMAT=dateformat;
}
$.fn.disable = function()
{
	// extend Jquery with a method to disable form elements
	return this.each(function()
	{
		if (typeof this.disabled != "undefined") this.disabled=true;
	});
}
$.fn.enable = function()
{
	// extend Jquery with a method to enable form elements
	return this.each(function()
	{
		if (typeof this.disabled != "undefined") this.disabled=false;
	});
}
// DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER // 
// DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER // 
// DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER - DATE PICKER // 
$(document).ready(function()
{
	// all input fields of class datepicker get initialize with datePicker,
// use initdtcheckout onchange of dtchkin to create a binding
   Date.firstDayOfWeek = 1; 
 	var datePickerDateFormat = TW_USERDATEFORMAT.replace(/{dd}/,'dd').replace(/{mm}/,'mm').replace(/{yy}/,'yyyy');
   Date.format = datePickerDateFormat;
	$('.date-pick').datePicker({showYearNavigation: false});
});

function initdtcheckout(fldin,fldout,days)
{
	var d = $('#' + fldin).dpGetSelected().shift(); 
	//DatePicker return dates in internal format, use Date type (i.e. "dobj=new Date(d)") 
	//to create a proper date object and .asString() to stringify. 
	if (d) 
	{
		d = new Date(d);
		if (days==undefined || days=='' ) {days=0;}
		var dt=d.addDays(days).asString();
		$('#' + fldout).dpSetStartDate(d.addDays(-2).asString());
		$('#' + fldout).dpSetSelected(dt);
		$('#' + fldout).val(dt);
	}
}
function initdtrange(fldin,fldout)
{
	$('#' + fldin).datePicker();
	$('#' + fldout).datePicker();
	$('#' + fldin).bind(
		'dpClosed', 
		function(e, selectedDates)
		{
			var d = selectedDates[0];
			if (d) 
			{
				d = new Date(d);
				//var dt=d.addDays(1).asString();
				var dt=d.asString();
				$('#' + fldout).dpSetStartDate(dt);
				$('#' + fldout).dpSetSelected(dt);
				$('#' + fldout).val(dt);
			}
		}
	);
}
// LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS //
// LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS //
// LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS - LAYOUT MODIFIERS //
function toggledetails(drawerfldid)
{
	// expected link(span) id = drawer id + '-listen'
	$('#' + drawerfldid).toggle("blind");
	$('#' + drawerfldid + '-listen').toggleClass('add');
	$('#' + drawerfldid + '-listen').toggleClass('del');
}
function switchtab(group,tabid)
{
	// ul id = {group}-options
	//  li>span[N] id = tabid
	// div id = {group}-content
	//  div[N] id = tabid
	$('div#' + group + '-content>div').hide();
	$('div#' + group + '-content>#' + tabid).show();
	$('ul#'  + group + '-options>li>span').removeClass('current');
	$('ul#'  + group + '-options>li#' + tabid + ' span').addClass('current');
}
// GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS //
// GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS //
// GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS - GOOGLE MAPS //
function initmap(mapdivid)
{
	if (GBrowserIsCompatible()) 
	{
		var map = new GMap2(document.getElementById(mapdivid));
		map.setCenter(new GLatLng(0, 0), 1);
		map.setMapType(G_HYBRID_MAP);
		//var customUI = map.getDefaultUI();
      // Remove MapType.G_HYBRID_MAP
//        customUI.maptypes.hybrid = false;
//        map.setUI(customUI);
		map.addControl(new GMapTypeControl());
      map.addControl(new GOverviewMapControl());
		map.addControl(new GSmallMapControl());
		// Create a base icon for all of markers that specifies the
		// shadow, icon dimensions, etc.
		TW_DEFAULTMAPICON = new GIcon(G_DEFAULT_ICON);
		if (TW_DOCBASEURL)
		{
			// override default icon
			TW_DEFAULTMAPICON.image = TW_DOCBASEURL + "images/elements/mapmarkera.png";
			TW_DEFAULTMAPICON.iconSize = new GSize(20, 27); //<----
			TW_DEFAULTMAPICON.shadow = "";
			//TW_DEFAULTMAPICON.shadow = "http://www.google.com/mapfiles/shadow50.png";
			//TW_DEFAULTMAPICON.shadowSize = new GSize(37, 34);
			TW_DEFAULTMAPICON.iconAnchor = new GPoint(14, 40);
			TW_DEFAULTMAPICON.infoWindowAnchor = new GPoint(28, 18);
		}
		return map;
	}
}
function createmapmarker(gmap,lat,lng,zmm,infodivid)
{
	var point = new GLatLng(lat,lng);
	var twicon = new GIcon(TW_DEFAULTMAPICON);
	//twicon.image = TW_DOCBASEURL + "images/elements/mapmarker" + type + ".png";
	// Set up GMarkerOptions object
	markerOptions = { icon:twicon };
	var marker = new GMarker(point, markerOptions);
	GEvent.addListener(marker, "click", function() 
	{
		var infohtml=$('#mapinfo-' + infodivid).html()
		var infowinoptions= {maxWidth:400, noCloseOnClick:false};
  		marker.openInfoWindowHtml(infohtml,infowinoptions);
	});
	gmap.addOverlay(marker);
	return marker;
}
function centermap(gmap,lat,lng,zmm)
{
	if (!zmm) {zmm=13;} //16: street, 13: district, 1: world
	var point = new GLatLng(lat,lng);
	gmap.setCenter(point, zmm);
}
// AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX //
// AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX //
// AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX - AJAX //
function spinajaxloading()
{
	if (TW_DOCBASEURL)
	{
		var spinimgurl = TW_DOCBASEURL + "images/elements/spinajaxloading.gif";
		return '<div class="spinajaxloading"><img src="' + spinimgurl + '"></div>';
	}
	else
	{
		return '<div class="spinajaxloading">...LOADING...</div>'
	}
}
// BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE //
// BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE //
// BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE - BACKOFFICE //
// SLIDER:
var sval=['deleted','cancelled','offer','option','standby','inprogress','confirmed'];
function setstatus(e,ui) { $('#status-handle').val(sval[ui.value]); }
function setslider(status) { $('#slidestatus').slider('moveTo',$.inArray(status,sval),0); }
// ATTENTION: slider has to be set/moved when visible only (open 'resvheader' drawer)
// CUSTOMER/AFFILIATE DETAIL EDITOR:
function loaduserpane(utype,userid,outdiv)
{
	$('#' + outdiv).html(spinajaxloading());
	var domethod='usermanager.open';
	if (userid == '_NEW_') {domethod='usermanager.create';}
	var custid='';
	var afflid='';
	var module='';
	if (utype == 'affiliate')
	{
		module='ajax-affiliatemanager';
		afflid=userid;
	}
	else
	{
		module='ajax-customermanager';
		custid=userid;
	}
	$.post(TW_AJAXPROCESSOR.url, 
	{ m: module, DO: domethod, uid: custid, aid: afflid },
		function(data){ $('#' + outdiv).html(data) }
	);
}
// AJAX DRAWERS:
function loadhtmlpane(module,method,formpars,outdiv)
{
	$('#' + outdiv).html(spinajaxloading());
	formpars.m=module; // { m: module, DO: domethod, uid: custid, aid: afflid }
	if (method)
	{
		formpars.DO=method; //Safari mess up with lowercase 'do' (?!)
	}
	$.post(TW_AJAXPROCESSOR.url, 
		formpars,
		function(data){ $('#' + outdiv).html(data) }
	);
}
// PRICE OVERRIDE IN SERVICE DETAILS
function togglepriceoverride(resvservice,init)
{
	if (init)
	{
		$('#' + resvservice + ' #priceoverride-listen').attr('checked',(init=='V'));
	}
	if (init=='B')
	{
	// bundle remains bundle!
		$('#' + resvservice + ' #priceoverride-listen').attr('disabled',true);
		$('#' + resvservice + ' #priceoverride-handle').val('B');
	}
	else
	{

		$('#' + resvservice + ' #priceoverride-handle').val($('#' + resvservice + ' #priceoverride-listen').is(':checked') ? 'V' : 'S');

		}

	$('#' + resvservice + ' input.priceoverride').attr('disabled',$('#' + resvservice + ' #priceoverride-listen').is(':checked') ? false : true);

	}

function getDivAjax($div,$url,$load)

{

	$load=$load || false;

	//if(typeof ($loading[$div]) == "undefined")

	//{

		if($load)$("#"+$div).html(spinajaxloading());

		//$("#"+$div).load($url);

		$.post($url,function(data){

							 if (data){

							 $("#"+$div).show();	 

							 $("#"+$div).html(data);
							

							 }

							 });

		//var $loading[$div]='ok';

	//}

}

function getDivAjaxbooking($div,$url,$load,$text)

{

	$load=$load || false;

	//if(typeof ($loading[$div]) == "undefined")

	//{

		if($load)$("#"+$div).html(spinajaxloading());

		//$("#"+$div).load($url);

		$.post($url,function(data){

							 if (data){

							 $("#"+$div).show();	 

							 $("#"+$div).html(data);
							 if($div=='div-precio-detalls')

								{
									$("#loading_image").fadeOut();
									$("#currencyprice_display").fadeOut("slow");
				   					$("#stepbooking").fadeOut("slow");
									//$('.fondo').css("height",380);
									
								}
							$('#stepbookingnow').html($text);

							 }

							 });

		//var $loading[$div]='ok';

	//}

}
