
/**
 * @version 1.0.6
 * @copyright Copyright Flight Centre Ltd. All rights reserved.
 * @created Fri Dec 17 14:56:43 2010
 */
;var FCL={};;FCL.SETTINGS={name:'FCL.SETTINGS',flashVars:{expressInstall:'/fcl/js/ext/swfobject/expressInstall.swf',minVersion:'9.0.0'},datePicker:{showOn:'both',buttonImage:'/fcl/img/datepicker.gif',dateFormat:'dd\/mm\/yy',buttonText:'Choose date',buttonImageOnly:true}};;(function($)
{FCL.UTIL={name:'FCL.UTIL',init:function()
{this.handleErrors(this);$.fn.fclExternalLinks=function()
{return FCL.UTIL.externalLinks(this);};$.fn.fclTruncateText=function(settings)
{settings=settings||{};return FCL.UTIL.truncateText(this,settings);};$.fn.fclIsImageBroken=function()
{return FCL.UTIL.isImageBroken(this);};String.prototype.fclFormat=this.format;},popup:function(url,windowName,width,height)
{var name=(typeof windowName=='undefined')?'popup':windowName;var width=(typeof width=='undefined')?380:width;var height=(typeof height=='undefined')?220:height;var win=window.open(url,windowName,'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+width+',height='+height);win.focus();return win;},isEmailValid:function(email)
{return/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email);},isValidPostCode:function(postCode)
{postCode=postCode.toString().match(/\d+/g)[0];if(postCode.length!==4||parseInt(postCode,10)<0||parseInt(postCode,10)>=9000)
{return false}
return true;},formatCurrency:function(amount)
{var amount,amountArray;amount=amount.toString().match(/[\d\.]+/)[0];amountArray=[];if(amount.indexOf('.')>-1)
{amountArray.unshift(amount.substring(amount.indexOf('.')));amount=amount.substring(0,amount.indexOf('.'));}
for(var i=amount.length;i>0;i-=3)
{amountArray.unshift(amount.substring(i,i-3));}
return amountArray.join(',').replace(',.','.');},getUrlVars:function(strUrl,param)
{var queryString='',urlVars='',urlObj={};if(strUrl==''||typeof strUrl=='undefined')
{queryString=window.location.search;}
else
{queryString=strUrl;}
if(queryString=='')
{return'';}
urlVars=queryString.substring(1).split('&');for(var i=0;i<urlVars.length;i++)
{var urlVar=urlVars[i].split('=');urlObj[urlVar[0]]=decodeURIComponent(urlVar[1]);};if(typeof param!='undefined')
{if(typeof urlObj[param]!='undefined')
{return urlObj[param];}
else
{return'';}}
return urlObj;},getUrlVar:function(key)
{return this.getUrlVars('',key);},log:function(expression)
{try
{console.log(expression);}
catch(e){};},camelCaseSplit:function(str)
{var s=this.trim(str);return(/\S[A-Z]/.test(s))?s.replace(/(.)([A-Z])/g,function(t,a,b)
{return a+' '+b.toLowerCase();}):s.replace(/( )([a-z])/g,function(t,a,b){return b.toUpperCase();});},camelCaseToTitleText:function(str)
{var numbers,parts,result;numbers=str.match(/\d+/g);str=str.replace(/\d+/g,'@');parts=FCL.UTIL.camelCaseSplit(str);result=FCL.UTIL.titleCaps(parts);if(numbers===null){return result;}
for(var i=0;i<numbers.length;i++)
{result=result.replace(/@/,numbers[i]);}
return result;},format:function()
{var args=[].slice.call(arguments);if(this.toString()!='[object Object]')
{args.unshift(this.toString());}
var pattern=new RegExp('{([1-'+args.length+'])}','g');return String(args[0]).replace(pattern,function(match,index){return args[index];});},newLineToBr:function(str)
{return str.replace(/(\r\n|[\r\n])/g,'<br />');},truncateText:function($e,settings)
{if($e.length==0)
{return $e;}
var defaults={maxLength:180,finish:'&hellip;',stopChar:'.',ignoreStopChar:false};settings=(typeof settings!='undefined')?$.extend(defaults,settings):defaults;return $e.each(function()
{var text=$.trim($(this).text()).replace(/[\n\r\t]+/gm,' ').replace(/\.[ ]+([A-Z0-9a-z]+)/gm,'. $1').replace(/\.([a-zA-Z0-9]+)/gmi,'. $1')
var position=settings.maxLength;var prevStrPos=0;var search=true;var count=0;while(search)
{var strPos=prevStrPos+text.substring(prevStrPos).indexOf(settings.stopChar);if(strPos>=settings.maxLength||(prevStrPos-1)==strPos||count>10)
{search=false;break;}
if(strPos<settings.maxLength)
{position=strPos;prevStrPos=position+1;}}
var truncatedString=(settings.ignoreStopChar)?text.substring(0,settings.maxLength).replace('&hellip;','').replace('…',''):text.substring(0,position);if(position!=settings.maxLength)
{$(this).html(truncatedString+settings.stopChar);if(settings.ignoreStopChar)
{$(this).html($(this).html().substring(0,$(this).html().length-1)+settings.finish);}}
else
{if(truncatedString.indexOf(settings.stopChar)==-1&&text.length<settings.maxLength)
{$(this).html(truncatedString+settings.finish);}
else
{var spaceCharPos=truncatedString.lastIndexOf(' ');$(this).html(truncatedString.substring(0,spaceCharPos)+settings.finish);}}
var html=$(this).html();var lastChar=html.charAt(html.length-2);if(lastChar==settings.stopChar||lastChar==' ')
{$(this).html(html.substring(0,html.length-2)+settings.finish);}
return $(this);});},filterInputText:function(str)
{try
{return str.replace(/\s+/gm,' ').match(/[a-zA-Z0-9\(\), \.!\/:%@&\?\+_=\-\$]+/gm).join('');}
catch(e)
{return'';}},automateWebTrendsVars:function()
{var template='<meta name="{1}" content="{2}" />';var $head=$('head');var metaKeys=['WT.ti','WT.cg_n','WT.cg_s','WT.seg_2'];var metaProps=window.location.pathname.split('/');metaProps[0]=document.title;for(var i=0;i<metaKeys.length;i++)
{if($head.find('meta[name="'+metaKeys[i]+'"]').length==0&&typeof metaProps[i]!='undefined')
{$head.append(this.format(template,metaKeys[i],metaProps[i]));}}},registerGAPageView:function(settings)
{var settings=settings||{},defaults={basePath:'/on-page-event/enquiry/',path:'general-enquiry'};if(typeof settings=='string')
{settings={bashPath:'',path:settings};}
settings=$.extend(defaults,settings);if(typeof _gaq!='undefined')
{return _gaq.push(['_trackPageview',settings.basePath+settings.path]);}
if(typeof pageTracker!='undefined')
{return pageTracker._trackPageview(settings.basePath+settings.path);}},trim:function(str)
{return str.replace(/^\s+|\s+$/g,'');},sluggify:function(str)
{return this.urlify(str);},urlify:function(str)
{return str.replace(/^\s+|\s+$/g,'').replace(/[^a-zA-Z0-9 ]+/g,'').replace(/ /g,'-').toLowerCase();},getEnv:function()
{var host=window.location.host.substring(0,window.location.host.indexOf('.'));var env='';switch(host)
{case'int':env='development';break;case'stage':env='staging';break;case'newstage':env='staging';break;case'www':env='production';break;default:env='production';break;}
return env;},getJS:function(path,method)
{$.getScript(path,function(data)
{$(function()
{if(typeof method=='string')
{eval(method);}
if(typeof method=='function')
{method();}});});},externalLinks:function($el)
{return $el.bind('click',function(e)
{e.preventDefault();window.open($(this).attr('href'));});},handleErrors:function(object)
{var func,method;for(func in object)
{method=object[func];if(typeof method=='function')
{object[func]=function(func,method)
{return function()
{try
{return method.apply(this,arguments);}
catch(e)
{var objectName,errorMessage,lineNumber;objectName=(typeof object.name!='undefined')?object.name+'.':'';lineNumber=(typeof e.lineNumber!='undefined')?' (line number '+e.lineNumber+')':'';errorMessage='ERROR: '+objectName+func+"(): "+e.message+lineNumber;FCL.UTIL.log(errorMessage);if(FCL.UTIL.getUrlVar('debug').toLowerCase()=='true'||FCL.UTIL.getEnv()=='development')
{alert(errorMessage);}}};}(func,method);}}},throwError:function(message)
{var env=this.getEnv();if(env=='staging'||env=='development')
{alert('ERROR: '+message);}},isEmptyObject:function(object)
{var isEmpty=true;var arrayTester=$.type||$.isArray;if(arrayTester(object)=='array')
{if(object.length>0)
{isEmpty=false;}
return isEmpty;}
for(var name in object)
{if(Object.prototype.hasOwnProperty.call(object,name))
{isEmpty=false;}}
return isEmpty;},isImageBroken:function(image)
{$image=$(image);if($image.attr('complete')==false||$image.attr('naturalWidth')==0||$image.attr('readyState')=='uninitialized'||this.trim($image.attr('src'))=='')
{return true;}
return false;},_titleCaps:function(str)
{this.log('This method is deprecated, use FCL.UTIL.titleCaps instead.');return this.titleCaps(str);},ajaxQuery:function(query,template,callback,type,context)
{if(typeof query=='undefined'||typeof template=='undefined'||typeof callback=='undefined')
{return FCL.UTIL.throwError('UTIL.ajaxSecureQuery needs query, template and callback defined');}
var context=context||window;var type=type||'html';var query='<securequery template="{1}">{2}</securequery>'.fclFormat(template,query);$.post('/ajax/sitecat',{content:query},function(data)
{if(type=='json')
{data=(new Function('return '+data))();}
callback.call(context,data);},'html');}};(function()
{var small="(a|an|and|as|at|but|by|en|for|if|in|of|on|or|the|to|v[.]?|via|vs[.]?)";var punct="([!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]*)";FCL.UTIL.titleCaps=function(title)
{var parts=[],split=/[:.;?!] |(?: |^)["Ò]/g,index=0;while(true)
{var m=split.exec(title);parts.push(title.substring(index,m?m.index:title.length).replace(/\b([A-Za-z][a-z.'Õ]*)\b/g,function(all)
{return/[A-Za-z]\.[A-Za-z]/.test(all)?all:upper(all);}).replace(RegExp("\\b"+small+"\\b","ig"),lower).replace(RegExp("^"+punct+small+"\\b","ig"),function(all,punct,word)
{return punct+upper(word);}).replace(RegExp("\\b"+small+punct+"$","ig"),upper));index=split.lastIndex;if(m)parts.push(m[0]);else break;}
return parts.join("").replace(/ V(s?)\. /ig," v$1. ").replace(/(['Õ])S\b/ig,"$1s").replace(/\b(AT&T|Q&A)\b/ig,function(all){return all.toUpperCase();});};function lower(word)
{return word.toLowerCase();}
function upper(word)
{return word.substr(0,1).toUpperCase()+word.substr(1);}})();FCL.UTIL.init();})(jQuery);;(function($)
{FCL.DATETIME={name:'FCL.DATETIME',init:function()
{FCL.UTIL.handleErrors(this);Date.prototype.fclFormat=this.format;},todaysDate:function()
{return this.futureDateDays(0);},tomorrowsDate:function()
{return this.futureDateDays(1);},weekFromToday:function()
{return this.futureDateDays(7);},firstDayNextMonth:function()
{var today=new Date();nextMonth=new Date(today.getFullYear(),today.getMonth()+1,1);nextMonth.getDate()+'/'+(nextMonth.getMonth()+1)+'/'+nextMonth.getFullYear();return this.leadingZero(nextMonth.getDate())+'/'+this.leadingZero(nextMonth.getMonth()+1)+'/'+nextMonth.getFullYear();},futureDateDays:function(days)
{var futureDate=new Date();futureDate.setDate(futureDate.getDate()+days);return this.leadingZero(futureDate.getDate())+'/'+this.leadingZero(futureDate.getMonth()+1)+'/'+this.leadingZero(futureDate.getFullYear());},timeHHMM:function()
{var today=new Date();return this.leadingZero(today.getHours())+this.leadingZero(today.getMinutes());},timeHHMMSS:function()
{var today=new Date();return this.leadingZero(today.getHours())+':'+this.leadingZero(today.getMinutes())+':'+this.leadingZero(today.getSeconds());},convertUSFormat:function(dateStr,separator)
{var separator=(typeof(separator)=='undefined')?'-':separator;var re=new RegExp('([0-9]{2})/([0-9]{2})/([0-9]{4})','m');var matches=re.exec(dateStr);return matches[2]+separator+matches[1]+separator+matches[3];},convertUStoAUSDate:function(dateStr,separator)
{var separator=(typeof(separator)=='undefined')?'-':separator;var re=new RegExp('([0-9]{2})/([0-9]{2})/([0-9]{4})','m');var matches=re.exec(dateStr);return matches[2]+separator+matches[1]+separator+matches[3];},isValidDate:function(year,month,day)
{var dt=new Date(parseInt(year,10),parseInt(month,10)-1,parseInt(day,10));if(dt.getDate()!=parseInt(day,10)||dt.getMonth()!=(parseInt(month,10)-1)||dt.getFullYear()!=parseInt(year,10))
{return false;}
return true;},dateToYYYYMMDD:function(dateObj)
{return(dateObj.getFullYear()+this.leadingZero(dateObj.getMonth()+1)+this.leadingZero(dateObj.getDate())).toString();},dateToDDMMYYYY:function(dateObj)
{return(this.leadingZero(dateObj.getDate())+this.leadingZero(dateObj.getMonth()+1)+dateObj.getFullYear()).toString();},stringToDate:function(dateString)
{try
{var matches=dateString.match(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/);if(this.isValidDate(matches[3],matches[2],matches[1])===false)
{return false;}
return new Date(matches[3],parseInt(matches[2],10)-1,parseInt(matches[1],10));}
catch(e)
{return false;}},leadingZero:function(val)
{var str=val.toString();if(str.length==1)
{str='0'+str;}
return str;},isDepartureReturnDateValid:function(departureDate,returnDate)
{var dep=this.stringToDate(departureDate);var ret=this.stringToDate(returnDate);if(dep>ret)
{return false;}
return true;},isLeapYear:function(year)
{year=parseInt(year,10);if(year%4==0)
{if(year%100!=0)
{return true;}
else
{if(year%400==0)
{return true;}
else
{return false;}}}
return false;},compareDates:function(from,to)
{var dateResult=to.getTime()-from.getTime();var dateObj={};dateObj.weeks=Math.round(dateResult/(1000*60*60*24*7));dateObj.days=Math.ceil(dateResult/(1000*60*60*24));dateObj.hours=Math.ceil(dateResult/(1000*60*60));dateObj.minutes=Math.ceil(dateResult/(1000*60));dateObj.seconds=Math.ceil(dateResult/(1000));dateObj.milliseconds=dateResult;return dateObj;},compareDatesDDMMYYYY:function(from,to)
{from=from.split('/');from=new Date(from[2],from[1],from[0]);to=to.split('/');to=new Date(to[2],to[1],to[0]);return this.compareDates(from,to);},format:function()
{var date,format,args=[].slice.call(arguments),returnStr='',curChar='',months=['January','February','March','April','May','June','July','August','September','October','November','December'],days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],methods={d:function(){return(date.getDate()<10?'0':'')+date.getDate();},D:function(){return days[date.getDay()].substring(0,3);},j:function(){return date.getDate();},l:function(){return days[date.getDay()];},N:function(){return date.getDay()+1;},S:function(){return(date.getDate()%10==1&&date.getDate()!=11?'st':(date.getDate()%10==2&&date.getDate()!=12?'nd':(date.getDate()%10==3&&date.getDate()!=13?'rd':'th')));},w:function(){return date.getDay();},F:function(){return months[date.getMonth()];},m:function(){return(date.getMonth()<9?'0':'')+(date.getMonth()+1);},M:function(){return months[date.getMonth()].substring(0,3);},n:function(){return date.getMonth()+1;},Y:function(){return date.getFullYear();},y:function(){return(''+date.getFullYear()).substr(2);},a:function(){return date.getHours()<12?'am':'pm';},A:function(){return date.getHours()<12?'AM':'PM';},g:function(){return date.getHours()%12||12;},G:function(){return date.getHours();},h:function(){return((date.getHours()%12||12)<10?'0':'')+(date.getHours()%12||12);},H:function(){return(date.getHours()<10?'0':'')+date.getHours();},i:function(){return(date.getMinutes()<10?'0':'')+date.getMinutes();},s:function(){return(date.getSeconds()<10?'0':'')+date.getSeconds();},O:function(){return(-date.getTimezoneOffset()<0?'-':'+')+(Math.abs(date.getTimezoneOffset()/60)<10?'0':'')+(Math.abs(date.getTimezoneOffset()/60))+'00';},P:function(){return(-date.getTimezoneOffset()<0?'-':'+')+(Math.abs(date.getTimezoneOffset()/60)<10?'0':'')+(Math.abs(date.getTimezoneOffset()/60))+':'+(Math.abs(date.getTimezoneOffset()%60)<10?'0':'')+(Math.abs(date.getTimezoneOffset()%60));},T:function(){var m=date.getMonth();date.setMonth(0);var result=date.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/,'$1');date.setMonth(m);return result;},Z:function(){return-date.getTimezoneOffset()*60;},c:function(){return date.format("Y-m-d")+"T"+date.format("H:i:sP");},r:function(){return date.toString();},U:function(){return date.getTime()/1000;}};if(typeof this.getMonth=='function')
{date=this;format=args[0];}
else
{date=args[0];format=args[1];}
for(var i=0;i<format.length;i++)
{var curChar=format.charAt(i);if(methods[curChar])
{returnStr+=methods[curChar].call();}
else
{returnStr+=curChar;}}
return returnStr;}};FCL.DATETIME.init();})(jQuery);;(function($)
{FCL.FORMS={name:'FCL.FORMS',errorStrings:{alert:{summaryStart:'',summaryEnd:':',errorStart:'\n',errorEnd:'',errorItemStart:'  - ',errorItemEnd:'\n'},dialog:{summaryStart:'<p>',summaryEnd:':</p>',errorStart:'<ul>',errorEnd:'</ul>',errorItemStart:'<li>',errorItemEnd:'</li>'}},init:function()
{$.fn.fclDefaultInput=function(defaultString)
{return FCL.FORMS.inputTextShowHide(this,defaultString);};$.fn.fclReplaceSubmitButton=function(imageUrl)
{return FCL.FORMS.replaceSubmitButton(this,imageUrl);};},invalidForm:function(e,validator,fieldMappings,format,dialogTitle)
{var _this=this,fieldMappings=fieldMappings||{},numberErrors=validator.numberOfInvalids(),errorSummary='',error='',format=format||'alert',dialogTitle=dialogTitle||'Form Validation Errors';if(numberErrors==0){return;}
errorSummary=(numberErrors==1?'1 field has errors':numberErrors+' fields have errors');error=this.errorStrings[format].summaryStart+
errorSummary+
this.errorStrings[format].summaryEnd+
this.errorStrings[format].errorStart;$.each(validator.errorMap,function(key,value)
{var fieldKey='';if(typeof fieldMappings[key]!='undefined')
{fieldKey=fieldMappings[key];}
else
{fieldKey=FCL.UTIL.camelCaseToTitleText(key);}
error+='{1}{2}: {3}{4}'.fclFormat(_this.errorStrings[format].errorItemStart,fieldKey,value,_this.errorStrings[format].errorItemEnd);});error+=this.errorStrings[format].errorEnd;switch(format)
{case'dialog':$('<div id="fclErrorDialog" title="{1}">{2}</div>'.fclFormat(dialogTitle,error)).dialog({modal:true,buttons:{Ok:function(){$(this).dialog('close');}}});break;default:alert(error);break;}},inputTextShowHide:function($el,defaultText)
{if($el.length===0)
{return $el;}
if(typeof defaultText=='undefined')
{return FCL.UTIL.throwError('Please specify "defaultText argument');}
if($el.val()=='')
{$el.val(defaultText);}
try
{$el.data('defaultText',defaultText);$el.bind('focus',function(e)
{if($(this).val()===$(this).data('defaultText'))
{$(this).val('');}});$el.bind('blur',function(e)
{if($(this).val()=='')
{$(this).val($(this).data('defaultText'));}});}
catch(e){}
return $el;},replaceSubmitButton:function($button,imageUrl)
{if($button.length==0||imageUrl=='')
{return $button;}
var $form=$button;while($form[0].tagName.toLowerCase()!=='form')
{$form=$form.parent();}
if($form.find('img.formProcessing').length==0)
{$button.after('<img />').next().hide().attr('class','formProcessing').attr('src',imageUrl).attr('alt','Your form request is being processed').attr('title','Your form request is being processed');}
$form.bind('replaceSubmit',function()
{$button.hide();$(this).find('.formProcessing').show();});return $button;},checkFormFieldExistsNotEmpty:function($element)
{if($element.length==0||$element.val()=='')
{return false;}
var type=$($element[0]).attr('type');if(type!='radio'&&type!='checkbox')
{return true;}
var checked=false;$element.each(function()
{if($(this).attr('checked'))
{checked=true;}});return checked;}};FCL.UTIL.handleErrors(FCL.FORMS);FCL.FORMS.init();})(jQuery);;(function($)
{FCL.TM={name:'FCL.TM',init:function()
{if(typeof $.cookie!='function')
{FCL.UTIL.throwError('Tourism Media Tracking requires jQuery cookie plugin. Aborting.');}
this.cookieTracking();},isWithinThreeClicks:function()
{return($.cookie('tourismMediaClicks')!=null&&parseInt($.cookie('tourismMediaClicks'),10)<=3);},cookieTracking:function()
{if(window.location.pathname.indexOf('world-travel')==1)
{$.cookie('tourismMediaClicks',0,{path:'/'});}
if(window.location.pathname.indexOf('world-travel')!=1&&$.cookie('tourismMediaClicks')!=null)
{$.cookie('tourismMediaClicks',parseInt($.cookie('tourismMediaClicks'),10)+1,{path:'/'});}},googleAnalyticsReporting:function(timestamp)
{timestamp=(typeof(timestamp)=='undefined'?function(){d=new Date();return d.getTime();}():timestamp);if(this.isWithinThreeClicks()||FCL.UTIL.getUrlVar('tourismMediaTracking')=='true')
{FCL.UTIL.registerGAPageView({path:'tourism-media/'+timestamp});}}};FCL.UTIL.handleErrors(FCL.TM);FCL.TM.init();})(jQuery);;(function($)
{FCL.CTC={name:'FCL.CTC',brand:'',statesPlid:{'0':'','1':'','2':'','3':'','4':'','5':'','6':'','7':'','8':'','default':''},$form:null,fieldMappings:{pcode:'Post Code'},init:function(brand,plids)
{if(typeof brand=='undefined')
{FCL.UTIL.throwError('No brand supplied, aborting setup of click to call');return;}
if(typeof plids=='undefined')
{FCL.UTIL.throwError('No plids supplied, aborting setup of click to call');return;}
this.statesPlid=plids;this.$form=$('#ctcForm');this.setupForm();this.setupValidation();},setupForm:function()
{this.$form.find('#phone').bind('keypress',function()
{getKeyCode(1);});this.$form.find('#pcode').bind('keypress',function()
{getKeyCode(2);});},setPlid:function()
{var statePrefix=this.$form.find('#pcode').val().charAt(0);var plid=(typeof this.statesPlid[statePrefix]!='undefined')?this.statesPlid[statePrefix]:this.statesPlid['default'];this.$form.find('#plid').val(plid);},setupValidation:function()
{var self=this;$.validator.addMethod('phone',function(value,element,params)
{try
{$(element).val(function(i,value){return value.match(/\d+/g).join('')});if($(element).val().length<8)
{return false;}}
catch(e)
{return false;}
return true;},$.format('Phone number must consist of at least 8 digits'));this.$form.validate({rules:{phone:{required:true,phone:true},pcode:{required:true,digits:true}},invalidHandler:function(e,validator)
{FCL.FORMS.invalidForm(e,validator,self.fieldMappings);},submitHandler:function(form)
{try
{do_dsdial();FCL.UTIL.registerGAPageView({basePath:'/on-page-event/',path:'click-to-call'});}
catch(e)
{FCL.UTIL.log(e);}
return false;}});}};FCL.UTIL.handleErrors(FCL.CTC);})(jQuery);var callinprogress=0;var myDomain=document.URL.substring(7,document.URL.indexOf("/",7));function setPlidForState()
{FCL.CTC.setPlid();}
function do_dsdial()
{var zero_re=/^0/;var plus_re=/^\+/;var let_re=/\w/;var phone=document.getElementById("phone").value;var myMsg=document.getElementById("ctc_info");var myPhone=document.getElementById("phone");var PCode=document.getElementById("pcode").value;if(callinprogress==1)
{myMsg.innerHTML='<span>Call in progress...</span>';return;}
phone=phone.replace(let_re,"");if(phone=='')
{myPhone.value='Enter your number';return;}
var theTelephone=document.getElementById("phone").value;if((theTelephone.length>=1)&&(theTelephone.substring(0,1)!=0))
{myMsg.innerHTML='<span>Please enter your area code before your telephone number</span>';return;}
if(document.getElementById("pcode").value=='')
{myMsg.innerHTML='<span class="hghlghterr">Please enter your postcode</span>';return;}
errorMsg='Australian postcodes are 3 or 4 digit numbers between 200-300\nor 800-9999.';numberOfDigits=0;for(i=0;i<document.getElementById("pcode").value.length;i++)
{digit=parseInt(document.getElementById("pcode").value.charAt(i));if(isNaN(digit))
{myMsg.innerHTML=errorMsg;return;}
numberOfDigits++;}
if(numberOfDigits!=3&&numberOfDigits!=4)
{myMsg.innerHTML=errorMsg;return;}
setPlidForState();var plid=document.getElementById("plid").value;phone=phone.replace(zero_re,"");phone=phone.replace(/\s/g,"");var Ephone=phone;Ephone=Ephone.replace(plus_re,"%2B");var myProto=document.location.protocol;var myUrl=myProto+'//'+myDomain+'/ptt/pt-dialer.cgi'
var Query='PLID='+plid+'&wantxml=yes&cmd=call&aparty='+Ephone+'&pcode='+PCode;myMsg.style.display='block';myMsg.innerHTML='<span>Connecting you now...</span>';resetCookie("phone",Ephone);ajax(myUrl,Query,parse_results);}
function parse_results(xmlDoc)
{var myMsg=document.getElementById("ctc_info");try
{var rc=xmlDoc.getElementsByTagName('rc').item(0).firstChild.data;}
catch(err)
{myMsg.style.display='block';myMsg.innerHTML='<span>Thank you for calling '+FCL.CTC.brand+'. You have contacted us outside of office hours. Please try us again between 9am and 5pm.</span>';return;}
if(rc!=1)
{var errmsg=xmlDoc.getElementsByTagName('errmsg').item(0).firstChild.data;if(errmsg=='no credit'){myMsg.style.display='block';myMsg.innerHTML='<span>'+xmlDoc.getElementsByTagName('reason').item(0).firstChild.data+'</span>';}
else if(errmsg=='maximum free calls reached')
{myMsg.style.display='block';myMsg.innerHTML='<span>You have used all your free calls.<br>Please join to continue using Pep-Talk</span>';}
else if(errmsg=='aparty number invalid')
{myMsg.style.display='block';myMsg.innerHTML='<span>The number you have entered is invalid. Please enter your full number including area code.</span>';}
else if(errmsg=='out of hours')
{myMsg.style.display='block';myMsg.innerHTML='<span>Thank you for calling '+FCL.CTC.brand+'. You have contacted us outside of office hours. Please try us again between 9am and 5pm.</span>';}
else
{myMsg.innerHTML='<span>'+errmsg+'</span>';}
callinprogress=0;}
else
{var status='';try
{status=xmlDoc.getElementsByTagName('status').item(0).firstChild.data;}
catch(err)
{callinprogress=0;}
var ptid=xmlDoc.getElementsByTagName('ptid').item(0).firstChild.data;if(status=='dialling')
{myMsg.style.display='block';myMsg.innerHTML='<span>Dialling...</span>';callinprogress=1;}
else if(status=='call')
{myMsg.style.display='block';myMsg.innerHTML='<span>Connected</span>';callinprogress=0;}
else if(status=='ready')
{myMsg.style.display='block';myMsg.innerHTML='<span>Ringing...</span>';callinprogress=1;}
else if(status=='failed')
{var Reason=xmlDoc.getElementsByTagName('reason').item(0).firstChild.data;callinprogress=0;if(Reason=='busy')
{myMsg.style.display='block';myMsg.innerHTML='<span>An ET Consultant has tried to contact you but was unable to reach you.</span>';}
else if(Reason=='busy-b')
{myMsg.style.display='block';myMsg.innerHTML='<span>Our consultants are unavailable just at the moment. Please try us again shortly.</span>';}
else if(Reason=='noanswer')
{myMsg.style.display='block';myMsg.innerHTML='<span>One of our Travel Consultants has just tried calling you.  When you are ready please try us again.</span>';}
else if(Reason=='noanswer-b')
{myMsg.style.display='block';myMsg.innerHTML='<span>All our Consultants are on other calls at the moment. Please try calling back in a moment.</span>';}
else if(Reason=='hangup')
{myMsg.style.display='block';myMsg.innerHTML='<span>It appears our call has ended. Please call back to speak with one of our travel consultants.</span>';}}
if((status!='call')&&(status!='failed')&&(status!=''))
{var myProto=document.location.protocol;var myUrl=myProto+'//'+myDomain+'/ptt/pt-popoverlib.cgi';var Query='cmd=getstatus&ptid='+ptid;ajax(myUrl,Query,parse_results);}}}
function ajax(url,vars,callbackFunction)
{var request=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("MSXML2.XMLHTTP.3.0");request.open("POST",url,true);if(request.overrideMimeType)
{request.overrideMimeType('text/xml');}
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");request.onreadystatechange=function()
{if(request.readyState==4&&request.status==200)
{var xmlDoc=request.responseXML;if(xmlDoc)
{callbackFunction(xmlDoc);}}}
request.send(vars);}
function URLencode(myString)
{var result='';var x=0;myString=myString.toString();var re=/(^[a-zA-Z0-9_.]*)/;while(x<myString.length){var match=re.exec(myString.substr(x));if(match!=null&&match.length>1&&match[1]!='')
{result+=match[1];x+=match[1].length;}
else
{if(myString[x]==' ')
{result+='+';}
else
{var chars=myString.charCodeAt(x);var val=chars.toString(16);result+='%'+(val.length<2?'0':'')+val.toUpperCase();}
x++;}}
return result;}
function do_rollover()
{}
function do_rollback()
{}
function resetCookie(cookieName,cookieValue){if(readCookie(cookieName))
{eraseCookie(cookieName);setCookie(cookieName,cookieValue);}}
function setCookie(name,value,days)
{if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else var expires="";document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name)
{var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++)
{var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
return null;}
function eraseCookie(name)
{setCookie(name,"",-1);}
function ShowCTCHelper()
{elem=document.getElementById("side-ctc-helper");elem.style.display="block";}
function HideCTCHelper(elementID)
{elem=document.getElementById("side-ctc-helper");elem.style.display="none";}
function getKeyCode(x)
{var charfield;if(x==1){charfield=document.getElementById("phone");}else if(x==2){charfield=document.getElementById("pcode");}
charfield.onkeydown=function(e){var e=window.event||e
if(e.keyCode==13){do_dsdial();}}};(function($)
{$.fn.fclTabs=function(options)
{var getters=['showTab'];var otherArgs=Array.prototype.slice.call(arguments,1);if($.inArray(options,getters)>-1)
{return FCL.TABS['_'+options].apply(FCL.TABS,[this[0]].concat(otherArgs));}
return this.each(function()
{if(typeof options=='string')
{FCL.TABS['_'+options].apply(FCL.TABS,[this].concat(otherArgs));}
else
{FCL.TABS.init(this,options||{});}});};FCL.TABS={name:'FCL.TABS',init:function(tabs,options)
{var $tabs=(typeof tabs.jquery=='undefined'?$(tabs):tabs),goToBookmark=false,$bookmarkedTab,$targetTab,goToTabOffset,selectedTabIndex=0;var defaults={persistent:false,cookieTitle:'tabCookie',selectedTabIndex:0,sameHeight:false,checkForBookmark:false,scrollToBookmark:false};var options=$.extend(defaults,options);if(options.persistent)
{try
{$targetTab=$tabs.find('a[href="'+$.cookie(options.cookieTitle)+'"]');if($targetTab.length>0)
{options.selectedTabIndex=$($targetTab.attr('href')).index();}}
catch(e)
{options.persistent=false;}}
if(options.persistent==false&&options.checkForBookmark===true)
{$bookmarkedTab=$tabs.find('a[href="'+window.location.hash.replace('tab-','')+'"]');if($bookmarkedTab.length>0)
{goToBookmark=true;options.selectedTabIndex=$bookmarkedTab.parent().index();}}
options.selectedTabIndex=(typeof options.selectedTabIndex=='undefined')?0:parseInt(options.selectedTabIndex,10);if($tabs.find('a:eq('+options.selectedTabIndex+')').length===0)
{options.selectedTabIndex=0;}
if(options.sameHeight)
{this._setupChangeListener();}
$tabs.find('a').each(function()
{if(FCL.TABS._isContentTab($(this))==false)
{return;}
if(options.sameHeight)
{$($(this).attr('href')).tabContentChange(function()
{FCL.TABS._refreshTabs($tabs);});}
$(this).bind('click',function(e)
{e.preventDefault();FCL.TABS._showTab($tabs,$(this).parent().index());});});$tabs.data('options',options);if(options.sameHeight)
{this._refreshTabs($tabs);}
$tabs.find('a:eq('+options.selectedTabIndex+')').trigger('click');if(options.scrollToBookmark==true&&goToBookmark===true)
{goToTabOffset=$bookmarkedTab.height()+10;setTimeout(function()
{$('html, body').animate({scrollTop:$bookmarkedTab.offset().top-$bookmarkedTab.height()},1500);},750);}
return $tabs;},_isContentTab:function($tab)
{return($tab.attr('href').indexOf('#')===0);},_setupChangeListener:function($tabs)
{var interval;$.fn.tabContentChange=function(fn)
{return this.bind('tabContentChange',fn);};$.event.special.tabContentChange={setup:function(data,namespaces)
{var self=this,$this=$(this),$originalContent=$this.text();interval=setInterval(function()
{if($originalContent!=$this.text())
{$originalContent=$this.text();$.event.special.tabContentChange.handler.call(self);}},500);},teardown:function(namespaces)
{clearInterval(interval);},handler:function(event)
{$.event.handle.call(this,{type:'tabContentChange'});}};return $tabs;},_refreshTabs:function($tabs)
{var maxTabHeight=0;$tabs.find('a').each(function(e)
{if(FCL.TABS._isContentTab($(this))==false)
{return;}
var $tabContent=$($(this).attr('href'));$tabContent.css({height:'auto'});maxTabHeight=($tabContent.height()>maxTabHeight)?$tabContent.height():maxTabHeight;});$tabs.find('a').each(function(e)
{if(FCL.TABS._isContentTab($(this))==false)
{return;}
$($(this).attr('href')).css('height',maxTabHeight);});return $tabs;},_showTab:function(tabs,index)
{$tabs=$(tabs);var $tab=$tabs.find('li:nth('+index+') a');var $tabsParent=$tab.parent().parent();$currentSelectedTab=$tabsParent.find('.selected');$tabContent=$($tab.attr('href'));$tabsParent.find('a').each(function()
{if(FCL.TABS._isContentTab($(this))==false)
{return;}
if($(this).attr('href')!=$tab.attr('href'))
{$($(this).attr('href')).addClass('hide');}});$currentSelectedTab.removeClass('selected');$tab.addClass('selected');if($tabContent.attr('class').indexOf('hide')>-1||$tabContent.attr('class').indexOf('hidden')>-1)
{$tabContent.css('opacity','hide').removeClass('hide').removeClass('hidden');$tabContent.animate({opacity:'show'},350);}
if($tabs.data('options').persistent)
{$.cookie(options.cookieTitle,$tab.attr('href'));}
return $tab;}};FCL.UTIL.handleErrors(FCL.TABS);})(jQuery);;(function($)
{FCL.GIMP={name:'FCL.GIMP',settings:{baseUrl:'/sendEnquiry?',brand:'FC',forwardUrl:'/company/contact-us/enquiry-success',failUrl:'/company/contact-us/enquiry-failure',ignoreFields:['failUrl','forwardUrl']},init:function()
{var _this=this;FCL.UTIL.handleErrors(this);$.fn.fclGetGimpUrl=function(requiredFields)
{var requiredFields=requiredFields||[];return _this.getUrl(this,requiredFields);};},setSubject:function($form)
{if($form.find('input[name="subject"]').length==0){return;}
var $subject=$form.find('input[name="subject"]');var matches=$subject.val().match(/\{([a-zA-Z0-9])+\}/g);if(matches==null){return;}
$.each(matches,function(i)
{var fieldName=matches[i].match(/[a-zA-Z0-9]+/)[0];var $field=$form.find(FCL.UTIL.format('input[name="{1}"]',fieldName));var fieldValue=(typeof $field.val()!='undefined')?$field.val():'';$subject.val($subject.val().replace(matches[i],fieldValue));});},checkRequiredFields:function($form,urlStr)
{urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="type"]')))?'':'type=General+Enquiry+Contact+Details&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="email"]')))?'':'email=email@email.com&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="postCode"]')))?'':'postCode=0000&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="brand"]')))?'':'brand='+this.settings.brand+'&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="emailNewsletter"]')))?'':'emailNewsletter=No'+'&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="forwardUrl"]')))?'':'forwardUrl='+this.settings.forwardUrl+'&';urlStr+=(FCL.FORMS.checkFormFieldExistsNotEmpty($form.find('input[name="failUrl"]')))?'':'failUrl='+this.settings.failUrl+'&';return urlStr;},getUrl:function($form,requiredFields)
{var gimpUrl=this.settings.baseUrl,requiredFields=requiredFields||[],$fullName,nameParts,firstName,lastName;this.setSubject($form);$form.find('input[type="text"], input[type="hidden"], input[type="checkbox"]:checked, input[type="radio"]:checked, select, textarea').each(function()
{if($(this).attr('name')!='')
{var fieldName=$(this).attr('name');gimpUrl+=fieldName+'='+encodeURIComponent(FCL.UTIL.filterInputText($(this).val()))+'&';}});$fullName=$form.find('input[name="fullName"]');if($fullName.length>0)
{nameParts=$fullName.val().split(' ');firstName=encodeURIComponent(FCL.UTIL.filterInputText(nameParts.shift()));lastName=encodeURIComponent(FCL.UTIL.filterInputText(nameParts.join(' ')));if(gimpUrl.indexOf('firstName=')==-1)
{gimpUrl+='firstName={1}&'.fclFormat(firstName);}
if(gimpUrl.indexOf('lastName=')==-1)
{gimpUrl+='lastName={1}&'.fclFormat(lastName);}}
$.each(requiredFields,function(i)
{if(gimpUrl.indexOf(requiredFields[i]+'=')==-1)
{gimpUrl+='{1}=&'.fclFormat(requiredFields[i]);return;}});gimpUrl=this.checkRequiredFields($form,gimpUrl);return gimpUrl.substring(0,gimpUrl.length-1);}};FCL.GIMP.init();})(jQuery);;(function($)
{FCL.MAILER={name:'FCL.MAILER',settings:{baseUrl:'/mailer?',EMAIL_TO:'',EMAIL_CC:'',EMAIL_BCC:'',EMAIL_SUBJECT:'',EMAIL_SUCCESS_URL:'',EMAIL_FAIL_URL:'',EMAIL_TEMPLATE:'',EMAIL_CONTENT1:'',EMAIL_CONTENT2:'',EMAIL_CONTENT3:'',EMAIL_CONTENT4:'',EMAIL_CONTENT5:''},getRequestUrl:function(mailerSettings)
{var mailer=$.extend(this.settings,mailerSettings);var mailerUrl=mailer.baseUrl;$.each(mailer,function(key,val)
{if(val!=''&&key!='baseUrl')
{mailerUrl+=key+'='+FCL.UTIL.filterInputText(val)+'&';}});return mailerUrl.substring(0,mailerUrl.length-1);}};FCL.UTIL.handleErrors(FCL.MAILER);})(jQuery);;(function($)
{;FCL.CURRENCY={name:'FCL.CURRENCY',init:function()
{var self=this;$.getScript('http://www.aquariussoft.com/scripts/getdatajs.aspx',function()
{$.getScript('http://www.aquariussoft.com/scripts/convertcurrency.js',function()
{$('#cur_convertForm, #cur_convertTo, #cur_fromAmount').bind('change',function()
{$('#cur_toAmount').val('');});$('#currencyConversionForm').bind('submit',function(e)
{e.preventDefault();calculate(0);});});});}};FCL.UTIL.handleErrors(FCL.CURRENCY);})(jQuery);
