// 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;



	$('input.datepicker').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=0;}

		var dt=d.addDays(days).asString();

		//var dt=d.asString();

		$('#' + fldout).dpSetStartDate(dt);

		$('#' + fldout).dpSetSelected(dt);

		$('#' + fldout).val(dt);

		}

	}

	

	function initdtcheckin(elemt,f)

	{

	

				var num=1;

  				// pasaremos la fecha a formato mm/dd/yyyy 

 				 f2=f.split('/'); 

  				f2=f2[1]+'/'+f2[0]+'/'+f2[2]; 

  				fecha=new Date(f2); 

				hoy= new Date();

				hoy.setTime(hoy.getTime()+num*24*60*60*1000);

				if(fecha <= hoy)

				{

  					mes=hoy.getMonth()+1; 

 	 				if(mes<9) 

						mes='0'+mes; 

  					fech=hoy.getDate()+'/'+mes+'/'+hoy.getFullYear(); 

  					elemt.value=fech;   

				}else

				{

					elemt.value=f;

				}

	}



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(30, 40); //<----

			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);

	}

