// JavaScript Document
var http_request = false;
function getHTTPObject()
{
      http_request = false;
	  if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
	  return http_request;
}
function trim(str) 
{ 
	return str.replace(/^\s+|\s+$/g, ''); 
}
function validateEmail(str)
{
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return (str.match(emailRegEx));
}	
function setMessage(ele_id, message)
{
	document.getElementById(ele_id).style.display = "block";
	document.getElementById(ele_id).innerHTML = message;
}

function checkWordLen(obj, wordLen){ 
	if (obj.value.length > wordLen + 1)
		setMessage("message", "<p>You cannot put more than "+wordLen+" words in this text area.</p>");

	if (obj.value.length > wordLen)
		obj.value = obj.value.substring(0, wordLen);
	document.getElementById('wcount').value = wordLen - obj.value.length;	
}
function selectAll(slval)
{
	frm = slval.form;
	for(i = 0; i<frm.length; i++)
	{
		if(frm[i].type == 'checkbox')			
		  frm[i].checked = slval.checked;		
	}
}
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" over";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" over\\b"), "");
		}
	}
}
function toggleDisplay(ele1, ele2)
{
	document.getElementById(ele1).style.display = document.getElementById(ele1).style.display == "none" ? "block" : "none";
	document.getElementById(ele2).style.display = document.getElementById(ele2).style.display == "none" ? "block" : "none";
}
function goto(url)
{
	location.href = url;
}
function trunc(formElement){
	var sValue = formElement.value;
	formElement.value = Math.round(sValue*100)/100;	
}
function winOpen(url)
{
	window.open(url,'PrintPackage','scrollbars=yes,width=720,height=700,resizable=yes');
	return false;
}
function resizeOuterTo() {
	if (parseInt(navigator.appVersion)>3) 
	{
		if (navigator.appName=="Netscape") {
			window.resizeTo((document.getElementById('wrapper').offsetWidth), document.getElementById('wrapper').offsetHeight);
		}
		else
		{
			window.resizeTo((document.getElementById('wrapper').offsetWidth + 28), document.getElementById('wrapper').offsetHeight);	
		}
	}
}
function validateEmailFriend(frm)
{
	if(trim(frm.yourname.value) == "")
	{
		alert("Enter your name");
		frm.yourname.focus();
		return false;
	}
	else if(validateEmail(frm.youremail.value) == null)
	{
		alert("Your email address is invalid");
		frm.youremail.focus();
		return false;
	}
	else if(trim(frm.frdname.value) == "")
	{
		alert("Enter your friend's name")
		frm.frdname.focus();
		return false;
	}
	else if(validateEmail(frm.frdemail.value) == null)
	{
		alert("Your friend's email address is invalid");
		frm.frdemail.focus();
		return false;
	}
	else
		return true;		
}
blocks = Array('highlights', 'itinerary', 'pricedep', 'addinfo', 'addexc', 'implinks');
function showBlock(bk)
{
	for(i=0; i<blocks.length;i++)
		if(bk == blocks[i])
		{
			document.getElementById(blocks[i]).style.display = 'block';
			//document.getElementById("tr"+blocks[i]).style.class = 'block';
		}
		else
		{
			document.getElementById(blocks[i]).style.display = 'none';
		}
}
var min=8;
var max=18;
function increaseFontSize() {
   var p = document.getElementsByTagName('p');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 10;
      }
      if(s!=max) {
         s += 1;
      }
      p[i].style.fontSize = s+"px"
   }
}
function decreaseFontSize() {
   var p = document.getElementsByTagName('p');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 10;
      }
      if(s!=min) {
         s -= 1;
      }
	  
      p[i].style.fontSize = s+"px"
   }   
}
function createBookmarkLink() {	
	title = document.title; 	
	url = document.location;
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( document.all ) { // IE Favorite		
		window.external.AddFavorite( url, title);
	} else if(window.opera && window.print) { // Opera Hotlist		
		return true; 
	}
	else {
		alert('Unable to bookmark this page. Try manually bookmark this page');
	}
}
function checkSort(selsort,selpage)
{
	if(selsort.value == 0)
		return false;
	selsort.form.submit();
}
function validateSearch(frm)
{
	if(trim(frm.qstr.value) == "")
	{
		alert("Enter search string");
		frm.qstr.focus();
		return false;
	}
	else 
		return true;	
}
function checkSearch(frm)
{
	if(trim(frm.qstr.value) == "")
		frm.qstr.value = 'Search packages';
}
function validateBooking(frm)
{
	if(trim(frm.trname.value) == "")
	{
		alert("Enter leading traveller name");
		frm.trname.focus();
		return false;
	}
	else if(trim(frm.fname.value) == "")
	{
		alert("Enter first name");
		frm.fname.focus();
		return false;
	}
	else if(trim(frm.lname.value) == "")
	{
		alert("Enter last name");
		frm.lname.focus();
		return false;
	}
	else if(validateEmail(frm.email.value) == null)
	{
		alert("Enter valid email address");
		frm.email.focus();
		return false;
	}
	else if(trim(frm.phone.value) == "")
	{
		alert("Enter phone number");
		frm.phone.focus();
		return false;
	}
	else if(frm.country.value == 0)
	{
		alert("Select your country");
		frm.country.focus();
		return false;
	}
	else if(frm.adultcnt.value == 0 && frm.seniorcnt.value == 0 && frm.childcnt.value == 0 && frm.infantcnt.value == 0)
	{
		alert("Select no.of divine travellers");
		frm.adultcnt.focus();
		return false;
	}
	//check the plans
	var plana = false;
	var planb = false;
	//plan a
	if(trim(frm.code.value) != "")	
		plana = true;
	if(!plana)
	{
		if(trim(frm.arrdate.value) == "")
		{
			alert("Select arrival date");
			frm.arrdate.focus();
			return false;
		}
		else if(trim(frm.depdate.value) == '')
		{
			alert("Select departure date");
			frm.depdate.focus();
			return false;
		}
		else if(trim(frm.dest.value) == '')
		{
			alert("Enter destinations/cities you want to see");
			frm.dest.focus();
			return false;
		}
	}
	return true;
}
function checkPlans(frm)
{
	//check the plans
	var plana = false;
	var planb = false;
	//plan a
	if(trim(frm.code.value) != "")	
	{
		frm.arrdate.value = '';
		document.getElementById('arrdate').disabled = true;
		document.getElementById('arrdate').className = 'disabled';
		
		frm.depdate.value = '';
		document.getElementById('depdate').disabled = true;
		document.getElementById('depdate').className = 'disabled';
		
		frm.belief.value = 'Any';
		document.getElementById('belief').disabled = true;

		frm.dest.value = '';
		document.getElementById('dest').disabled = true;
		document.getElementById('dest').className = 'disabled';

		document.getElementById('budgeteco').disabled = true;
		document.getElementById('budgetstd').disabled = true;
		document.getElementById('budgetstd').checked = true;
		document.getElementById('budgetlux').disabled = true;
		
		frm.acc_choice.value = 'None';
		document.getElementById('acc_choice').disabled = true;

		frm.room_choice.value = 'None';
		document.getElementById('room_choice').disabled = true;

		frm.room.value = 'None';
		document.getElementById('room').disabled = true;

		frm.mealplan.value = 'None';
		document.getElementById('mealplan').disabled = true;

		frm.travelling.value = 'None';
		document.getElementById('travelling').disabled = true;
	}
	else
	{
		document.getElementById('arrdate').disabled = false;
		document.getElementById('arrdate').className = 'textbox';
		
		document.getElementById('depdate').disabled = false;
		document.getElementById('depdate').className = 'textbox';
		
		document.getElementById('belief').disabled = false;

		document.getElementById('dest').disabled = false;
		document.getElementById('dest').className = 'textbox';

		document.getElementById('budgeteco').disabled = false;
		document.getElementById('budgetstd').disabled = false;
		document.getElementById('budgetlux').disabled = false;
		
		document.getElementById('acc_choice').disabled = false;

		document.getElementById('room_choice').disabled = false;

		document.getElementById('room').disabled = false;

		document.getElementById('mealplan').disabled = false;

		document.getElementById('travelling').disabled = false;
	}
}
