/* @Author : Tosom s.r.l. @version : 1.0 @requires : general.js lovely_ajax.js cruises_cookie.js @notes : Js for handling index.html */ var posx = 0; var posy = 0; var posx3 = 0; var posy3 = 0; var f1 = null; var f2 = null; var f3 = null; var lastLoadedLabels = null; var lastCruiseSearch = null; var lastLabel = false ; function init() { /* var pagewh = getPageSize(); // PAGE single margin x axis var marginx = parseInt( (pagewh[0] - 900)/2 ); posy = 290 ; // 180+(471/2 )-(250/2) => 180 + 235.5 - 125 posx = marginx + 200 ; // (900/2)-500/2 => 450 - 250 pos3y = 190 ; // 180+(471/2 )-(450/2) => 180 + 235.5 - 225 pos3x = marginx + 25 ; // (900/2)-850/2 => 450 - 425 */ resetPanelsPositions(); // Async funct!!! getLabels(); /* f1 = new fader( getId("page_map2") ) ; f1.fadeType = 1 ; f1.currFade = 100 ; f1.fadeMin = 30 ; f1.fadeMax = 100; f1.increment = 10 ; f2 = new fader( getId("data_panel_step2") ) ; f2.fadeType = 0 ; f2.currFade = 0 ; f2.fadeMin = 0 ; f2.fadeMax = 100; f2.increment = 10 ; f3 = new fader( getId("data_panel_step3") ) ; f3.fadeType = 0 ; f3.currFade = 0 ; f3.fadeMin = 0 ; f3.fadeMax = 100; f3.increment = 10 ; */ checkPriceVal( getId("search_max_val") ); toggleLabel(1) ; // LOOK for last search var tmp = readCookie("lovely_last_search_cruises"); if( tmp ) { lastCruiseSearch = tmp ; var q = new ajaxCaller(); //showPanel("adv_search_loader") ; //hidePanel("adv_search_result") ; hidePanel("adv_search_result"); writePanel( "more_adv_options_box" ," "+"Loading"+"" ); q.query( "./ajax_launcher.php" , unescape(tmp) , "get" , "json" , "loadLastSearchHandleResult" , { "lcs" : lastCruiseSearch } ); } } function toggleLabel(num) { var label = false ; getId("hc_label_id_"+num) ; var content = false ; getId("hc_content_"+num) ; if( lastLabel!=num ) { if( lastLabel ) { label = getId("hc_label_id_"+lastLabel) ; content = getId("hc_content_"+lastLabel) ; changeClass( label , "hc_label_"+lastLabel+"" ) ; hidePanel(content) ; } label = getId("hc_label_id_"+num) ; content = getId("hc_content_"+num) ; changeClass( label , "hc_label_"+num+"_sel" ) ; showPanel(content) ; lastLabel = num } } function loadLastSearchHandleResult(data,type,obj) { //showPanel("adv_search_result") ; //hidePanel("adv_search_loader") ; showSearchResults(); var str = "LAST SEARCH ERROR" ; if( type=="text" ) { str = data ; writePanel( "adv_search_result" , str ); } else { if(data.result=="success") { lastCruiseSearch = data.data ; var tmp = cookieValToHtml( lastCruiseSearch , 1) ; // No updates needed on last search cookie str = unescape(tmp[0]) ; writePanel( "adv_search_result" , str ); handleSearchResultLabel(tmp[1]); setFormParams( obj.lcs ) } else { str = data.message ; writePanel( "adv_search_result" , str ); } } } function resetPanelsPositions() { // PAGE width var pagewh = getPageSize(); // PAGE single margin x axis var marginx = parseInt( (pagewh[0] - 900)/2 ); posy = 290 ; // 180+(471/2 )-(250/2) => 180 + 235.5 - 125 posx = marginx + 200 ; // (900/2)-500/2 => 450 - 250 pos3y = 190 ; // 180+(471/2 )-(450/2) => 180 + 235.5 - 225 pos3x = marginx +15 ; // (900/2)-850/2 => 450 - 425 // mod value to keep centering correct } function getLabels() { var q = new ajaxCaller(); var p = "action=getLabels" ; q.query( "./ajax_launcher.php" , p , "get" , "json" , "getLabelsHandleResult" , null ); } function getLabelsHandleResult(data,type,obj) { if(type=="text") {alert(data);return;} if( data.result=="success" ) { var labelsStr = data.data.labelsStr ; var mld = data.data.main_label_datas; var str = "" ; if( labelsStr ) { labelsStr = unescape(labelsStr) ; writePanel( "page_map2_content" , labelsStr ); lastLoadedLabels = labelsStr ; } if( mld ) { mld = unescape(mld) ; writePanel( "labels_details" , mld ); } } else {alert(data.message);return;} } function openLabelTooltip( e , id ) { var box = getId( "dest_subs_data_"+id ); if(box) { var mpos = lovely_getMouseXY(e); box.style.top = (mpos[1]+20)+"px" ; box.style.left = (mpos[0]-5)+"px"; if(box.style.display!="block") showPanel(box); } } function closeLabelTooltip( id ) { hidePanel("dest_subs_data_"+id); } function clearPeriod(id) { var period = getId(id) ; closeCalendar(id) ; period.value="" ; } function openStep2( e , elem , destCode ) { // Will automatically close panel due to click event generater in map_panel /* if( f2.fadeType== 1 ) { return ; } */ changeAdvSearchDeparture(0) var form = document.forms["advanced_search"]; var sel = form.destination; for( var i=0 ; i" ; label += ""; label += "" ; label += "" ; label += "" ; label += "" ; label += "
  "+details.innerHTML+"\"\"
" if( pnl && f2.fadeType==0 ) //&& mpos ) { pnl.style.top = posy+"px" ; pnl.style.left = posx+"px" ; if( form && form.destCode) form.destCode.value = destCode ; writePanel( "data_panel_step2_label" , label ); f1.oncomplete = function(){ writePanel("page_map" , "" ); } ; f1.play(); showPanel( "data_panel_step2" ); f2.oncomplete = function(){ writePanel("search_result" , " " ); } ; window.setTimeout( function(){ f2.play() } , 500) ; }*/ } function closeStep2() { if( f2.fadeType==1 ) { f1.oncomplete = function(){ writePanel("page_map" , lastLoadedLabels ); } ; f1.play(); f2.oncomplete = function(){ hidePanel("data_panel_step2") } ; f2.play(); } } function closeStep3() { if( f3.fadeType==1 ) { f3.oncomplete = function(){ hidePanel("data_panel_step3") } ; f3.play(); } } function handleQM() { /* if( hp2==true ) { hidePanel('data_panel_step2'); hp2=false; }*/ } function checkAndSendStep2(form) { writePanel("search_result" , " " ); if(!form) return false; var tmp = "" ; var destCode = false ; var period = false ; var tolerance = false ; var price = false ; var pattern = "" ; var p = "" ; var q = false; var ord = "departure_date" ; // 1- is dest code setted ? if( !form.destCode || !form.destCode.value) { writePanel( "search_result" , "Wrong destination"); return false; } destCode = form.destCode.value; // 2- is period selected? /*pattern = /^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$/g period = form.date_start.value; if( !period.match(pattern) ) { alert("Wrong period"); return false; } */ var year = form.years[form.years.selectedIndex].value ; var month = form.months[form.months.selectedIndex].value ; if( month.indexOf("|")>-1 ) { var tmpm = month.split("|") ; var tmpFrom = new Date( year , tmpm[0] , 01 ); var tmpTo = new Date( year , tmpm[1] , 0 ); period = tmpFrom.getFullYear()+"-"+( tmpm[0]<10 ? "0" : "")+(tmpm[0])+"-"+( tmpFrom.getDate()<10 ? "0" : "")+tmpFrom.getDate()+"" ; period +="|" ; period += tmpTo.getFullYear()+"-"+( tmpTo.getMonth()+1 <10 ? "0":"")+( tmpTo.getMonth()+1 )+"-"+( tmpTo.getDate()<10 ? "0" : "")+tmpTo.getDate()+"" ; } else period = year+"-"+(month<10? "0"+month : month)+"-01" ; // 3- is tolerance correctly selected ? <---REMOVED /* try { tolerance = form.tolerance[form.tolerance.selectedIndex].value }catch(e){} if( !tolerance || tolerance<0 ) { alert("Wrong tolerance"); return false; } else period += "_"+tolerance ; */ // 4- is price inserted (automatically checked onkeyup event) price = form.max_price.value ; /*if( !price || isNaN(price) || price<0 ) { writePanel( "search_result" , "Wrong max price"); return false; } try { price = parseFloat(price) ; } catch(e){ writePanel( "search_result" , "Wrong max price"); return false; } */ try { price = parseFloat(price) ; } catch(e){ price = "" ; } // 5- order needed ? ord = form.ord.value; writePanel( "data_panel" , "" ); p = "action=searchByField&sb_fields="+escape( "destination_label,period"+(price? ",max_price" : "" ) )+"&sb_values="+escape( destCode+","+period+""+(price? ","+price : "" ) ) ; p += "&ord="+ord ; var q = new ajaxCaller(); var pnl = getId("data_panel_step3") ; resetPanelsPositions(); pnl.style.top = pos3y ; pnl.style.left = pos3x ; hidePanel( "search_data" ) ; showPanel( "search_loader" ) ; showPanel( pnl ); if(f3.fadeType==0) { f3.oncomplete = false ; f3.play(); } //writePanel("adv_search_result" , "" ); q.query("./ajax_launcher.php" , p , "get" , "json" , "checkAndSendStep2HandleResult" , { "destCode" : destCode , "cp" : p } ); return false; } function checkAndSendStep2HandleResult(data,type,obj) { /*if( type=="text") { writePanel("debug" , "
"+unescape(data).replace(/");
		return;
	}*/
	var str =  "" ;
	var details = getId("dest_main_data_"+obj.destCode) ;
	var firstBox = false ;
	
	str += "";
	str += "" ;
	str += "" ;  
	str += "" ;
	str += "
" ; str += details.innerHTML+"
" ; str += "
" ; str += "\"\" "+"Back to the map"+"  " ; str += "\"\" "+"Back to the search menu"+"
" ; str += "
" ; str += "
" if(type=="text") { str += data ; //""+"Data format error" ; } else { if( data.result=="success" ) { //writePanel("debug" , "
"+unescape(data.data).replace(/");
			
			var res = data.data ;
						
			//CREATE NEW OR RESET SEARCH COOKIE DATA
			var cname  = "lovely_last_search_cruises" ;
			var ck     = readCookie(cname) ;
			var cavl   = "" ;
			
			//alert("1\n"+ck);
			
			lastCruiseSearch = res ;
			
			if(ck)
				ereaseCookie(cname);
			
			createCookie(cname, obj.cp ,48) ;
						
			//createCookie(cname,"disabled",48) ;
			
			//alert("2\n"+readCookie(cname) );
			
			// CONVERT COOKIE DATA
			cval = cookieValToHtml(res,"0") ;
			
			// WRITE DATA
			//str +="
" ; str +="
" ; str += cval[0]; firstBox = cval[1] ; /*var cookie = dataToCookie(comps) ; for( var i=0 ; i
"; str += ( comps[i].tot_cruises==0 ? " "+comps[i].cruises : "Found cruises"+" :"+comps[i].tot_cruises )+"
" ; }*/ str += "
" ; } else { str += data.message ; } } // hide and clear advanced search clearSearchResults() hidePanel( "search_loader" ) ; writePanel( "search_data" , str ) ; showPanel( "search_data" ) ; // Open first box : if( firstBox ) handleSearchResultLabel( firstBox ); } function toMap() { closeStep3(); window.setTimeout ( function(){ closeStep2(); } , 500 ) ; } function toSearch() { closeStep3(); } function loadCompaniesByDest(destCode) { var p = "action=getCompByDest&dest_code="+escape(destCode); var q = new ajaxCaller() ; writePanel("data_panel" , "" ); writePanel("data_panel_step2" , "" ); hidePanel("data_panel" ); hidePanel("data_panel_step2" ); showPanel("wait_panel") ; q.query( "./ajax_launcher.php" , p , "get" , "json" , "loadCompaniesByDestHandleResult" , { "destCode" : destCode } ); } function loadCompaniesByDestHandleResult(data,type,obj) { if(type=="text") {writePanel("data_panel" , data);showPanel("data_panel" );return;} if(data.result=="success") { var comps = data.data.comps ; /* var foundLabel = data.data.foundLabel ; var compLabel = data.data.compLabel ; var selLabel = data.data.selLabel ;*/ var str = "" ; if(comps.length>0) { str = "
" ; str += "" ; if( comps.length==1 ) str += "1 company found" ; else str += "Companies found "+" ("+comps.length+")" ; str += "" ; str += "\n
" ; str += "\n" ; str += "\n" ; str += "\n" ; str += "\n\t" ; str += "\n\t" ; str += "\n" ; for( var i=0 ; i" ; str += "\n\t" ; str += "\n" ; } str += "\n
"+"Select"+""+"Company"+"
"+comps[i].name+"
" ; str += "\n\"\""; str += "\n
\n" ; str += "
" ; } else { str += "No company found" ; str += "
" ; } writePanel("data_panel" , str); hidePanel("wait_panel") ; showPanel("data_panel" ); } else {writePanel("data_panel" , data.message);showPanel("data_panel" );return;} } function toggleSearchStep2() { var form1 = null ; try{ form1 = document.forms["lovely_company_dest"] }catch(e){} if(!form1) return false ; // Ceck selected checkboxes var checks = getFormCheckboxes(form1 , true); if( !checks || checks.length<=0 ) { alert("Select at least one company"); return; } var str = "" ; str += "\n
" ; str += "\n" ; str += "\n" ; str += "\n\t" ; str += "\n\t" ; str += "\n\t" ; str += "\n" ; str += "\n\n" ; writePanel( "data_panel_step2" , str ); showPanel( "data_panel_step2" ); } var lastHcText = null ; function toggleHcText(num) { var prev = getId("hctext_"+num+"_prev") ; var text = getId("hctext_"+num) ; if( lastHcText ) { var lp = getId("hctext_"+lastHcText+"_prev") ; var lt = getId("hctext_"+lastHcText) ; lt.style.display="none"; lp.style.display="block"; } if( lastHcText==num ) { text.style.display="none"; prev.style.display="block"; lastHcText = null ; return ; } else if( text.style.display=="none" ) { prev.style.display="none"; text.style.display="block"; } else { text.style.display="none"; prev.style.display="block"; } lastHcText = num ; } /* function checkAndSendAdvSearch(form) { // Close quick menu panels if( (f2 && f2.fadeType==1) || ( f3 && f3.fadeType==1) ) { if( f3 && f3.fadeType==1) closeStep3() ; if( f2 && f2.fadeType==1 ) closeStep2() ; } // FIELDS CHECKING var depType = 0 ; var dest = "" ; var port = "" ; var from = "" ; var fromDD = "" ; var fromYear = "" ; var fromMonth = "" ; /* var to = "" ; var toDD = "" ; var toYear = "" ; var toMonth = "" ;* / var tolerance = 0 ; var min = "" ; var max = "" ; var p = "" ; var q = false ; var tmp = null ; // DEPARTURE TYPE depType = form.departure_from.value ; if(depType==1) { alert("Search by departure port will be active soon");changeAdvSearchDeparture(0);return; } // DESTINATION dest = form.destination[ form.destination.selectedIndex ].value ; //MIN-MAX PRICES //min = form.min_price.value ; max = form.max_price.value ; /*if( isNaN(min) ) { alert( "Wrong min price" ) return false; }* / if( isNaN(max) ) { alert( "Wrong max price" ) return false; } // DATE REFORMAT fromYear = form.period_from_year[form.period_from_year.selectedIndex].value ; fromMonth = form.period_from_month[form.period_from_month.selectedIndex].value ; tolerance = form.period_tolerance[form.period_tolerance.selectedIndex].value ; /*toYear = form.period_to_year[form.period_to_year.selectedIndex].value ; toMonth = form.period_to_month[form.period_to_month.selectedIndex].value ; * / fromDD = new Date( fromYear , fromMonth , 01 ); //toDD = new Date( toYear , toMonth , 0 ); tmp = fromDD.getTime()+( ( tolerance*31*86400)*1000 ) ; toDD = new Date(); toDD.setTime( tmp ) ; tmp = toDD.getMonth() ==0 ? "12" : toDD.getMonth() ; toDD = new Date( toDD.getFullYear() , ( tmp <10 ? "0" : "" )+tmp , 0 ); from = fromYear+"-"+fromMonth+"-"+fromDD.getDate() ; to = toDD.getFullYear()+"-"+( tmp <10 ? "0" : "" )+tmp+"-"+toDD.getDate() ; p = "action=searchByField&sb_fields="+escape( "destination_label,period,max_price" )+"&sb_values="+escape( dest+","+from+"|"+to+","+max ) ; q = new ajaxCaller(); writePanel("adv_search_result" , "" ) ; hidePanel("adv_search_result"); showPanel("adv_search_loader"); q.query("./ajax_launcher.php" , p , "get" , "json" , "checkAndSendAdvSearchHandleResult" , { "destCode" : dest , "cp" : null } ); // TO AVOID FORM AUTO SUBMISSIONS return false; } function checkAndSendAdvSearchHandleResult(data,type,obj) { hidePanel("adv_search_loader"); if(type=="text") writePanel("debug" , data) ; else { if(data.result=="success") { lastSearch = data.data ; var str = cookieValToHtml( lastSearch ); writePanel("adv_search_result" , str[0] ); handleSearchResultLabel(str[1]); showPanel("adv_search_result"); } else { writePanel("debug" , "
"+unescape(data.message)+"
" ) ; } } } */
"+"Departure date"+""+"Departure port"+""+"Max price"+"