var contextpath='';
var fromCurrency;
function setContextPath(path)
{
	contextpath = path;
}
function setFromCurrency(currency)
{
	fromCurrency=currency;

}

/** Displays Modal Panel* */
function getModelPanel() {

	if (document.getElementById("hdnRegistervalue").value == 'registered') {


		Richfaces.showModalPanel('welcomepopup', {
			height : '200px',
			width : '350px'
		});
		/** Call to a4j:js function to navigate to Personal Details page* */
		navigatePers();
	}

}

function showCategoryPopUp() {
	//alert(document.getElementById("frmReviewDet:hdnID").value)
	if (document.getElementById("frmReviewDet:hdnID").value=='true') {
		Richfaces.showModalPanel('frmReviewDet:categoryMsgId');
	}
}



/** Displays modal panel for Hotel Review details page on changing rooms* */
function getModelPanelHotel(count,countRooms) {
	if (document.getElementById("frmReviewDet:hotelId:" + count +":hotelRoomId:" +countRooms+ ":rooms").value != '0') {
		Richfaces.showModalPanel('frmRoomConfig:panel9');
	}
}

function getModelPanelHotelMessage(count) {
		Richfaces.showModalPanel('frmRoomConfig:panel9');

	}
/** Hiding based on condition the Room configuration panel**/
function hideRoomConfigPanel()
{
	if (document.getElementById("frmRoomConfig:hideRoomConfigPanel").value=='true')
		Richfaces.hideModalPanel('frmRoomConfig:panel9');
	else
		return false;
}
/**TO resolve the conflicts of Jquery with Richfaces 3.3**/
jQuery.noConflict();
var languageCode;
function setLanguageCode(code)
{
	languageCode=code;

	if(languageCode=='ar')
	{
		arabicCalendar();
	}
	else
	{
		jQuery.datepicker.setDefaults(jQuery.datepicker.regional['']);

	}
}


/** JS functions for Jquery Date Picker for Hotel Home page* */
jQuery(function() {
	try{
	jQuery("#checkindate").datepicker({

		numberOfMonths : 2,
		minDate : 0,
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "button",
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true

	});

	}
catch(err){

}
});



jQuery(function() {
	try{
	jQuery("#checkoutdate").datepicker({
		numberOfMonths : 2,
		minDate : 0,
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "button",
		buttonImage : contextpath+'/images/common/calen_icon.jpg',
		buttonImageOnly : true
	});
	}
	catch(err){

	}
});

function searchCheckinDate()
{
jQuery(function() {
	jQuery("#searchCheckindate").datepicker({

		numberOfMonths : 2,
		minDate : '-1d',
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true,
		onSelect: function( selectedDate ) {
			var displaydate;
			displaydate = getDateAfterNdays(selectedDate,2);
			try
			{
				document.getElementById("searchCheckoutdate").value = displaydate;
				jQuery("#searchCheckoutdate").datepicker("destroy");
				searchCheckoutDate();
			}
			catch(err){}
		}
	});

});
}

function searchCheckoutDate()
{
	var mindatehotel =getReturnDateMin('searchCheckindate');
jQuery(function() {
	jQuery("#searchCheckoutdate").datepicker({
		numberOfMonths : 2,
		minDate : mindatehotel,
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+'/images/common/calen_icon.jpg',
		buttonImageOnly : true
	});
});
}
/**Jquery function for Hotel Price slider filter**/
jQuery(function() {
	try{
		minval = Math.floor(document.getElementById("pricerangestart").innerHTML);

		maxval = Math.ceil(document.getElementById("pricerangeend").innerHTML);
		var range1 = (maxval- minval)/20;
		range1 = Math.round(range1);
		bbValue1 = document.getElementById("bbvalue1").value;

		bbValue2 = document.getElementById("bbvalue2").value;

		jQuery( "#slider-range" ).slider({
		range: true,
		min: minval,
		max: maxval,
		step:range1,

		values: [ minval, maxval],
		slide: function( event, ui ) {

			jQuery( "#pricerangestart" ).val( "$" + ui.values[ 0 ] );
			jQuery ("#pricerangeend").val("$" + ui.values[ 1 ] );

		},
		stop:function( event, ui ) {

			var param1 ;
			var param2 ;
			if(bbValue1==1 && fromCurrency=='SAR')
			{
				param1= (ui.values[ 0 ] / bbValue1 ) * bbValue2;
				param2= (ui.values[ 1 ] / bbValue1 ) * bbValue2;
			}
			else
			{
				param1= (ui.values[ 0 ] / bbValue2) * bbValue1;
				param2= (ui.values[ 1 ] / bbValue2) * bbValue1;
			}
			submitSliderData(param1,param2);
		}
	});
	jQuery( "#pricerangestart" ).val( "$" + jQuery( "#slider-range" ).slider( "values", 0 ));
	jQuery( "#pricerangeend" ).val(	"             -  $" + jQuery( "#slider-range" ).slider( "values", 1 ));

	}catch(err){}
});

/**Jquery function for Flight Price slider filter**/

function showflightPriceSlider()
{
jQuery(function() {
	try{
		minval = Math.floor(document.getElementById("flightpricerangestart").innerHTML);

		maxval = Math.ceil(document.getElementById("flightpricerangeend").innerHTML);
		var range1 = (maxval- minval)/20;
		range1 = Math.round(range1);

		bbValue1 = document.getElementById("bbvalue1").value;

		bbValue2 = document.getElementById("bbvalue2").value;
		var param1 ;
		var param2 ;
		jQuery( "#flight-slider-range" ).slider({
		range: true,
		min: minval,
		max: maxval,
		step:range1,

		values: [ minval, maxval],
		slide: function( event, ui ) {

			jQuery( "#flightpricerangestart" ).val( "$" + ui.values[ 0 ] );
			jQuery ("#flightpricerangeend").val("$" + ui.values[ 1 ] );


		},
		stop:function( event, ui ) {

			var param1 ;
			var param2 ;
			if(bbValue1==1 && fromCurrency=='SAR')
			{
				param1= (ui.values[ 0 ] / bbValue1 ) * bbValue2;
				param2= (ui.values[ 1 ] / bbValue1 ) * bbValue2;
			}
			else
			{
				param1= (ui.values[ 0 ] / bbValue2) * bbValue1;
				param2= (ui.values[ 1 ] / bbValue2) * bbValue1;
			}
			submitFlightPriceSliderData(param1,param2);
		}
	});
	jQuery( "#flightpricerangestart" ).val( "$" + jQuery( "#flight-slider-range" ).slider( "values", 0 ));
	jQuery( "#flightpricerangeend" ).val(	"             -  $" + jQuery( "#flight-slider-range" ).slider( "values", 1 ));

	}catch(err){}
});
}
/** JS functions for Resizing the Home page required for CMS* */
function Resize()
{
	 var testheight = document.body.scrollHeight;
     var testwidth = document.body.scrollWidth;
     window.parent.resizeIframe(testheight,testwidth);

}

function initialize()
{
	document.getElementById("hotelSearchFormid:gmap").style.display="none";
}
function hideMap()
{
	document.getElementById("hotelSearchFormid:gmap").style.display="none";

}
function displayMap()
{

document.getElementById("hotelSearchFormid:gmap").style.display="block";

}

function openGooglePopUp()
{

	showPlace1();
}
/**Jquery function for displaying Departing date calendar in Flight home One -way**/
/**\\ is added to overcome the issue of Date picker with JSF default  prepend character ':' **/

function displayDepartDateOneWay()
{
jQuery(function() {

	jQuery("#flHomeRepeatOneWay\\:0\\:departDate").datepicker({

		numberOfMonths : 2,
		minDate : '-1d',
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true,
		onSelect: function( selectedDate ) {
			var displaydate;
			if(document.getElementById("hdnInternationalFlag").value=='true' || document.getElementById("hdnLowCostFlag").value =='true')
			{

				displaydate = getDateAfterNdays(selectedDate,7);

			}
			else
			{
				displaydate = getDateAfterNdays(selectedDate,1);
			}

			try
			{

				document.getElementById("flHomeRepeatOneWay:0:returnDate").value = displaydate;
				jQuery("#flHomeRepeatOneWay\\:0\\:returnDate").datepicker( "destroy" );
				displayReturnDateOneWay();
			}
			catch(err){}
		}

	});

});
}

/**Function to get date ahead of n days from a given date**/
function getDateAfterNdays(indate,indays)
{
	var arr = indate.split("/");
	var myDate=new Date();
	myDate.setFullYear(arr[2],arr[1]-1,arr[0]);


	var newdate;
	newdate  = new Date(myDate.getTime()+ (indays*24*60*60*1000));
	var day = newdate.getDate();
	var month = (newdate.getMonth()+1);
	var yr = newdate.getFullYear();
	if(day < 10)
		day = "0"+day;
	if(month<10)
		month ="0"+month;
	var finalDate =  day+ "/"+month+"/"+yr ;
	return finalDate;
}

function getReturnDateMin(dateid)
{
	var mindate;
	try
	{
		if(document.getElementById(''+dateid).value!=null)
		{
			 depdate = document.getElementById(''+dateid).value;
			var arr = depdate.split("/");
			var myDate=new Date();
			myDate.setFullYear(arr[2],arr[1]-1,arr[0]);
			mindate=myDate;

		}
	}
	catch(err){}
	return mindate;
}

/**Jquery function for displaying return date calendar in Flight home - One Way**/
function displayReturnDateOneWay()
{

	var mindate = getReturnDateMin('flHomeRepeatOneWay:0:departDate');


jQuery(function() {

	jQuery("#flHomeRepeatOneWay\\:0\\:returnDate").datepicker({

		numberOfMonths : 2,
		minDate : mindate,
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true

	});

});
}
/**Jquery function for displaying Departure date calendar in Flight home Multi City**/
function displayDepartDateMultiCity()
{
jQuery(function() {
	for(i=0;i<=2;i++){
	jQuery("#flHomeRepeatMultiCity\\:"+i+"\\:departDate").datepicker({

		numberOfMonths : 2,
		minDate : '-1d',
		maxDate : '+1y',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true

	});
	}
});
}

/*Method to update the Parent URL required for CMS*/
function updateParentUrl(id){
	var url = document.getElementById(id).value;
	if(url!=null && url!=''){
		window.parent.location.href=url;
	}
}

/**Jquery functions for Passenger details page calendar**/
function showExpiryDate(rowcount)
{
jQuery(function() {
	jQuery("#dataTd\\:"+rowcount+"\\:expiryDate").datepicker({

		numberOfMonths : 1,
		changeMonth: true,
		changeYear: true,
		minDate : 0,
		 yearRange: 'c-50:c+50',
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+"/images/common/calen_icon.jpg",
		buttonImageOnly : true

	});

});

}

function showBirthDate(rowcount)
{
jQuery(function() {
	jQuery("#dataTd\\:"+rowcount+"\\:birthDate").datepicker({
		numberOfMonths : 1,
		changeMonth: true,
		changeYear: true,
		minDate : '-100y',
		yearRange: 'c-100',
		maxDate : 0,
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+'/images/common/calen_icon.jpg',
		buttonImageOnly : true
	});
});
}
function showBirthDatePassport(rowcount)
{
jQuery(function() {
	jQuery("#dataTd\\:"+rowcount+"\\:birthDate1").datepicker({
		numberOfMonths : 1,
		changeMonth: true,
		changeYear: true,
		minDate : '-100y',
		yearRange: 'c-100',
		maxDate : 0,
		dateFormat : 'dd/mm/yy',
		showOn: "both",
		buttonText: '',
		buttonImage : contextpath+'/images/common/calen_icon.jpg',
		buttonImageOnly : true
	});
});
}

function showSaveMessage()
{
	if (document.getElementById("hdnSaveFlag").value == 'saved' ) {

		Richfaces.showModalPanel('saveMessage', {
			height : '200px',
			width : '350px'
		});

	}
	timeOutMessage();
}

function onlyEnglishCharacters(e) {
	if(window.event != 'undefined'){
	    if(window.event){ // IE
	       var charCode = e.keyCode;

	    } else if (e.which) { // Safari 4, Firefox 3.0.4
	       var charCode = e.which;
	    }

	    if ( charCode <0 || charCode > 127)
	    	{
	    	document.getElementById("arabicErrorMesssage").style.display="block";
	    	return false;
	    	}
	    else
	    	{
	    	document.getElementById("arabicErrorMesssage").style.display="none";
	    	return true;
	    	}
	}
}


/**Localized Calendar for Arabic language
 * **/
function arabicCalendar()
{
jQuery(function($){
	$.datepicker.regional['ar'] = {
		closeText: 'إغلاق',
		prevText: '&#x3c;السابق',
		nextText: 'التالي&#x3e;',
		currentText: 'اليوم',
		monthNames: ['يناير','فبراير','مارس','إبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'],
		monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
		dayNames: ['الأحد', 'الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة','السبت'],
		dayNamesShort: ['الأحد', 'الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة','السبت'],
		dayNamesMin: ['الأحد', 'الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة','السبت'],
		weekHeader: 'أسبوع',
		dateFormat: 'dd/mm/yy',
		firstDay: 0,
  		isRTL: true,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['ar']);
});
}

/**Set focus**/
function setFocus(id) {
    var element = document.getElementById(id);
    if (element && element.focus) {
        element.focus();
    }
}
function showWarningPopup(flag) {

	if (flag=='false') {
		Richfaces.showModalPanel('messagepanel');
	}
}

