 /* file added by hardik.akbari@etatvasoft.com on 12 may for ajax based interaction */

var region='';
var city=0;
var no_hotels = false;
var sort_by='';
var foto_array = new Array();
var main_hover_image='italy.gif';
var wait_image = '<img src="img/loading.gif"/>';
var map_loaded = false;
var initial_map = false;
var load_map_on_finish = true;  // to disable loading of google map while itenerary is 100%
var page = 1;  // default paging;
var custom_message = new Array();
var query = '';
var it_complete=false;
var view_light_box = false;
var timeout = 1; // second waiting page time.
var tour = 0; // whether user has taken tour or not.
var auto_move = false; // flag for visiting step7
var ite = new Array();			 
var no_waiting = 0; // dont show waiting message first time
var planned_day = 0; // in local help : calendar local help. to findout n_giorni

function call_region() {
	
	var query = '';
	
	if(region)
		query = "&region="+region;
	else if(city)
		query = "&city="+city;
	else {
		alert('Please Select a region');
		return 0;
	}
	
	query += '&page='+page;
	
	if(sort_by != '')
		query += '&sort='+sort_by;
		
	showCustomWait();
	
	$.ajax({
		type:"POST",
		url:'ajax_booking.php',
		data:"&ajax=1"+query,
		success: function(msg){
			callback_city(msg);
		},
		error:function(xmlObj,errString){
			callback_error(xmlObj,errString);
		}
	});

}
function call_city(term,lat,lang,type,srid) {
	
	var query = '';
	
	if(term != undefined ) {
		if(type) {
			//  region search
			region = term; // preserve term for sorting and paging
			city = 0; // discard city search
			query = '&region='+region;
		}
		else {
			// city search
			city = term; // preserve term for sorting and paging
			region = ''; // discard region search
			query = '&city='+city;
		}
		if(srid != undefined) {
			query += '&srid='+srid;
		}
		sort_by='';
		
		//alert("calling show wait");
		
		showCustomWait();
		
		$.ajax({
			type: "POST",
			url: 'ajax_booking.php',
			data: "&ajax=1"+query,
			success: function(msg){
				callback_city(msg,lat,lang,type,srid);
			},
			error:function(xmlObj,errString){
				callback_error(xmlObj,errString)
			}
		});
	}
	//load hotels icon
	//alert("after responise");



}

function callback_error() {
	alert('error_occured');
}


function callback_city(msg,lat,lang,type,srid) {	
	//alert("this is call back city");
	
	$('#step2_hotels_list').empty();
	//alert("execute respoinse");
	$('#step2_hotels_list').html(msg);
	
	
	
	//alert("before hide");
	hideCustomWait();
	//alert("after hide");
	
	//alert("showing main content");

	
	//alert("entering map settings");
	if(lat != undefined && lang != undefined && type != undefined) {
		
		//alert("inside map bar");
		set_map_bar_text(); // show map div
		
		map_zone_hotels(type,lat,lang); // sets hotel markers in zone to green and sets zoom
		//alert("after map manipulation");
	}
	else {
		//alert("load inline map");
		load_inline_map();
	}
	$(".scheda_bm").hide();
	//alert("scrolling");
	if(srid != undefined) {
		os = $("#scheda_"+srid).offset();
		window.scrollTo(0,os.top-20);
		$("#scheda_back_map_"+srid).show();
	}
	else {
		
		window.scrollTo(0,240);
	}
		
	
	
	page=1;
}
function showCustomWait() {
	//alert("showing block popup");
	if(no_waiting) {
		//alert("inside no waiting");
		$.blockUI({
			message: $('#second_landing'),
		
			css:{
				 border: 'none', 
				 padding: '15px', 
				 backgroundColor: '#EEE7D9', 
				 opacity: '1.0', 
				 color: '#fff',
				 top:(($(window).innerHeight()-400) /2)-40 + 'px',
				 left:($(window).innerWidth()-800) /2 + 'px',
				 width:'800px'
			},
			overlayCSS:  {  
	        	backgroundColor:'#EEE7D9',  
	        	opacity:        '1.0'  
	    	}
	    	
		});
	}

	//alert("setting messages for reg");
	if(custom_message[region.toUpperCase()] != undefined)
		$("#s_wait_msgs").html(custom_message[region.toUpperCase()]);
	else 
		$("#s_wait_msgs").html(default_message);

		
	var search_term = city == 0  ? region : city ;
	$("#s_search_term").html(search_term);
	//alert("leaveing showwait");
		
}
function hideCustomWait(){
	
	//alert("in hide");
	if(no_waiting) {
		//alert("unblocking");
		$.unblockUI();
	}
	else {
		//alert("hideing");
		$("#second_landing").hide();	
		no_waiting = 1;
	}
		$('body').addClass("body_bg");
	$('#main_content').show();
	$('.mp_hv').maphilight();
	/*if(!tour) {
		setTimeout('show_tour("0")',1200);
		tour=true;
	}
	else {
		window.scrollTo(0,240);
	}*/

	// if map is not loaded.. load google map.
	/*if(!initial_map) {
		set_default_map()
		initial_map = true;
	}*/


}
	var step8_last=0;
	var step8_first=0;
	var step8_org=0;
function show_tour(step) {
	body_width = $("body").innerWidth();
	body_height = $("body").innerHeight();

	
	$("#tour_back").css({left:0,top:0,width:body_width,height:body_height});
	switch (step) {
		case "0":
			$(".tour").hide();
			
			top_point = (($(window).innerHeight()-218)/2 ) + document.documentElement.scrollTop;
			left_point = (($(window).innerWidth()-600)/2 ) + document.documentElement.scrollLeft;
			
			
			$("#t0").show().css({top:top_point,left:left_point});
			
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');
		break;
		
		case "1":
			$(".tour").hide();
			os = $("IMG[usemap=#map_city]").offset();
			os_width = $("IMG[usemap=#map_city]").css("width");
			os_height = $("IMG[usemap=#map_city]").css("height");
			
			top_point = os.top + parseInt(os_height)/2;
			left_point = os.left + parseInt(os_width) + 8;
			
			
			$('html,body').animate({scrollTop: 240}, 1000); 	
			$("#t1").show().css({top:top_point,left:left_point});
			$(".barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');
			$("#tour_1").addClass('tour_border');
			
			if(auto_move) {
				auto_move = false;
				setTimeout('$(".it_day:first").click()',1400);
			}
		break;
		case "2":
			$(".tour").hide();
			$("#tour_1").removeClass('tour_border');			
			
			os = $(".it_day:first").offset();
			top_point = os.top -300;
			left_point = os.left -500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t2").show().css({top:os.top,left:left_point});
			if(!$(".it_day:first").hasClass('cl_gr') && !$(".it_day:first").hasClass('cl_org')) {
				auto_move=true;
				setTimeout('$(".it_day:first").click();',1400);
				
			}
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');
		break;
		case "3":
			$(".tour").hide();
			$("#tour_1").removeClass('tour_border');			
			
			os = $(".tabelbg:first").offset();
			top_point = os.top-230;
			left_point = os.left - 500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t3").show().css({top:os.top,left:left_point});
			$("#tour_1,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');
			$(".barmainbg:first").addClass('tour_border');
		break;
		case "4":
			$(".tour").hide();
			$("#tour_1,.barmainbg").removeClass('tour_border');			
			
			os = $(".tabelbg:eq(4)").offset();
			top_point = os.top-230;
			left_point = os.left - 500 - 10;
			
			$('html,body').animate({scrollTop:240}, 1000); 	
			$("#t4").show().css({top:os.top,left:left_point});
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only").removeClass('tour_border');
			$(".tabelbg:eq(4)").addClass('tour_border');
			
		break;
		
		case "5":
			$(".tour").hide();
			$("#tour_1,.barmainbg,.tabelbg").removeClass('tour_border');			
			
			os = $("#step2_hotel_total").offset();
			top_point = os.top-230;
			left_point = os.left - 500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t5").show().css({top:os.top,left:left_point});
			$("#tour_1,.barmainbg,.animate_car_only,.tabelbg").removeClass('tour_border');
			$("#step2_hotel_total").addClass('tour_border');
		break;
		case "6":
			$(".tour").hide();
			$("#tour_1,.barmainbg,#step2_hotel_total,.tabelbg").removeClass('tour_border');			
			
			os = $("#step2_per").offset();
			top_point = os.top-220;
			left_point = os.left - 93;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t6").show().css({top:os.top,left:left_point});
			$("#tour_1,.barmainbg,#step2_hotel_total,.tabelbg").removeClass('tour_border');
			$(".animate_car_only:first").addClass('tour_border');
			
			if(!$(".it_day:first").hasClass('cl_gr') && !$(".it_day:first").hasClass('cl_org')) {
					auto_move=true;
					setTimeout('$(".it_day:first").click()',1000);
			}
			
		break;	
		case "7":
			$(".tour").hide();
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');			
			
			os = $("#hotels_found_message").offset();
			top_point = os.top;
			left_point = ($(window).innerWidth()/2) - 150;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t7").show().css({top:os.top,left:left_point});
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');
			if(auto_move){
				auto_move = false;
				setTimeout('$(".it_day:first").click();load_inline_map();',400);
			}
			load_inline_map();
		break;					
		case "8":
			$(".tour").hide();
			
			
			os = $(".it_day:first").offset();
			top_point = os.top -300;
			left_point = os.left -500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t8").show().css({top:os.top,left:left_point});
			
			$(".cal_cell:first").css({border:"2px solid blue"})				
			
			step8_first = 0;
			step8_last = 0;
			if(!$(".it_day:first").hasClass("cl_gr")) {
				step8_first = 1;
				$(".it_day:first").addClass("cl_gr");
			}
			
			if(!$(".it_day:eq("+(planned_day-1)+")").hasClass("cl_gr")) {
				step8_last = 1;
				$(".it_day:eq("+(planned_day-1)+")").addClass("cl_gr");
			}
			
				
			
			
		break;	
		case "9":
			$(".tour").hide();
			
			
			os = $(".it_day:eq("+(planned_day-1)+")").offset();
			top_point = os.top -300;
			left_point = os.left -500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t9").show().css({top:os.top,left:left_point});
			$(".cal_cell").css({border:"0px none"});
			$(".cal_cell:eq("+(planned_day-1)+")").css({border:"2px solid blue"})
			$(".it_day:eq("+(planned_day-1)+")").removeClass("cl_gr");			
			
			
		break;	
		case "10":
			$(".tour").hide();
			
			
			os = $(".it_day:eq("+(planned_day)+")").offset();
			top_point = os.top -300;
			left_point = os.left -500 - 10;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t10").show().css({top:os.top,left:left_point});
			$(".cal_cell").css({border:"0px none"});
			$(".cal_cell:eq("+(planned_day)+")").css({border:"2px solid blue"})				
			if(!$(".it_day:eq("+(planned_day)+")").hasClass("cl_org")) {
				step8_org = 1;
				$(".it_day:eq("+(planned_day)+")").addClass("cl_org");
			}
			
			
		break;	
		case "11":
			$(".tour").hide();
			
			
			os = $("#hotels_found_message").offset();
			top_point = os.top;
			left_point = ($(window).innerWidth()/2) - 150;
			
			$('html,body').animate({scrollTop:top_point}, 1000); 
			
			$('html,body').animate({scrollTop:top_point}, 1000); 	
			$("#t11").show().css({top:os.top,left:left_point});
			
			$(".cal_cell").css({border:"0px none"});
			
		break;
		
		case "12":
			$(".cal_cell").css({border:"0px none"});
			$(".tour").hide();
			
			if(step8_org) {
				$(".it_day:eq("+(planned_day)+")").removeClass("cl_org");
				step_org = 0;
			}
			if(step8_first) {
				$(".it_day:first").removeClass("cl_gr");
				step8_first = 0;
			}
			if(!step8_last) {
				$(".it_day:eq("+(planned_day-1)+")").addClass("cl_gr");
				step8_last = 0;
			}else {
				$(".it_day:eq("+(planned_day-1)+")").removeClass("cl_gr");
			}
			
			$("#tour_back").css({left:0,top:0,width:"0px",height:"0px"});
			// Restore old state.
			
		break;
		
		
		default:
			$(".tour").hide();
			$("#tour_1,.barmainbg,#step2_hotel_total,.animate_car_only,.tabelbg").removeClass('tour_border');	
			if(auto_move){
				setTimeout('$(".it_day:first").click();load_inline_map();',100);
				auto_move = false;
			}
			$("#tour_back").css({left:0,top:0,width:"0px",height:"0px"});
			load_inline_map();
		break;
	}
}

function call_car(el,region) {
		
	var hotel_id=this.id.split("_");
	
	//set_default_map();
	//show googlem map
	//set_map_bar_text();
	
	//retrieve hotel id and city
	if(hotel_id.length >5 ) {
		hid = hotel_id;
		// remove first and last three element
		hid.pop();
		hid.pop();
		hid.pop();
		hid.shift();
		hid = hid.join('_');
		move_id='movablecar_'+hid;
	}
	else {
		move_id='movablecar_'+hotel_id[1];
	}

	
	//show movable car
	offset=$('#'+move_id).offset();
	
	if(offset.top > 870) {
		$('#animate_car').show();
		top_point = ($(window).innerHeight()/2 - parseInt($("#animate_car").css('height'))/2) +  (document.documentElement.scrollTop);
		$('#animate_car').css({position:'absolute',top:(top_point)+'px'});
		
	}
	
	
	var set = 0;
	var	req_city='';
	if(city != 0)
		req_city = '&city='+city;	
	
	if(el.className.indexOf('cl_gr') != -1) 
		set =1;
	
	//change car
	$('#step2_car').attr('src','img/car-loading.gif');
	$('#step2_car_place').attr('src','img/car-loading.gif');
	
	// Make an AJAX request to ajax_car.php to insert current hotel in session , calculate price and itenerary percentage.
	$.ajax({
		type: "POST",
		url: 'ajax_car.php',
		data: "region="+region+req_city+"&id="+el.id+"&set="+set+"&ajax=1",
		success: function(msg){
			callback_car(msg,region);
		},
		error:function(xmlObj,errString){
			callback_error(xmlObj,errString);
		}
	});
}
function callback_car(msg,region) {
	string = msg.split('|');
	
	$('.step2_per_class').html(string[1]);
	eval(string[2]);
	
	set_default_map();
	map_draw_itenerary(ite);
	
	setTimeout("$('#step2_car').attr('src','img/revamp/icon-car2.gif'),$('#step2_car_place').attr('src','img/revamp/icon-car2.gif'),$('#animate_car').hide()",4005);
	$('#step2_car').animate({'paddingLeft':string[0]},{duration:4000});
	$('#step2_car_place').animate({'paddingLeft':string[0]},{duration:4000});
	

	if(it_complete && !auto_move) {
		if(!view_light_box) {
			setTimeout("load_lightbox_map(),$('#it_complete').show(),$('#it_contiue').show(),$('.step2_confirm_btn').show()",4020);
			view_light_box = true;
		}
		else
			setTimeout("$('#it_complete').show(),$('#it_contiue').show(),$('.step2_confirm_btn').show()",4020);
		
		
		show_alert();
		$("IMG[@name=step2_confirm_btn]").bind('click',function() {
			window.location = 'dati_pers.php';
		});	
	}
	else {
		$('.step2_confirm_btn').hide();
		$('#it_complete').hide();
		$("#it_contiue").hide();
	}

}

function load_complete_map() {
	$('#step2_iteneray_image').html("<iframe src=''></iframe>");
}

function load_lightbox_map() {
	
	$.blockUI({ 
		message: $('#stpe2_lightbox_map') ,
		css:{
			width:'800px',
			cursor:'text',
			height:'475px',
			border:'5px white solid',
				 backgroundColor: 'white', 
				'-webkit-border-radius': '10px', 
				'-moz-border-radius': '10px', 			
			top:($(window).innerHeight()-475) /2 + 'px', 
			left:($(window).innerWidth()-800) /2 + 'px'
			}

	}); 
	active_temp_tab('lightbox-google-map'); // this is to activate google map.
	//load_inline_map();
}
function show_alert() {
	$('#region_map_waiting').show();
	setTimeout("$('#region_map_waiting').hide();",1500)
}
function get_page(page_count) {
	page = page_count;
	call_region();
	
}

function sorting(sort_type)
{
	//wbig , greenlinkbg

	if(region != "") {
		$('#star,#prices,#city').removeClass('greenlinkbg').addClass('wbig');
		$('#'+sort_type).addClass('greenlinkbg');
		sort_by=sort_type;
		call_region();
	}
	else {
		alert("No Hotels to sort for ...")
	}
}

function hide_tooltip() {
  $("div.hover").html('');
         $(".hover").hide();
}
function search_city(search_term) {
	search_term = search_term != undefined ? search_term : $('#city_search').val();
	if(search_term != ''){
		call_city(search_term);
		$("#city_replace").attr('src','img/maps/ov_'+search_term.toLowerCase()+'.gif')
	}
	else
		alert('Inavalid City Name');
}
