// Validates date
function IsDateOk(date)
{
	var dateSelected = new Date(date);
	var mm = dateSelected.getMonth() + 1;
	if (isNaN(mm))
	{
		return false;
	}
	var dd = dateSelected.getDate();
	if (isNaN(dd))
	{
		return false;
	}
	var yy = dateSelected.getFullYear();
	if (isNaN(yy))
	{
		return false;
	}
	var dateString = mm + "/" + dd + "/" + yy;
	return IsValidDate(dateString, "MDY");
}

function IsValidDate(dateStr, format)
{
	if (format == null) 
	{
		format = "DMY"; 
	}
	
	format = format.toUpperCase();
	if (format.length != 3) 
	{ 
		format = "DMY"; 
	}
		
	if ( (format.indexOf("M") == -1) 
		|| (format.indexOf("D") == -1) 
		|| (format.indexOf("Y") == -1)) 
	{ 
		format = "MDY"; 
	}
		
	if (format.substring(0, 1) == "Y") 
	{ 
		// If the year is first
		var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
		var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
	} 
	else if (format.substring(1, 2) == "Y") 
	{ 
		// If the year is second
		var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
		var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
	}
	else 
	{ 
		// The year must be third
		var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
		var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	}
   
	// If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
	if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) 
	{ 
		return false; 
	}
   
	var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
	
	// Check to see if the 3 parts end up making a valid date
   if (format.substring(0, 1) == "M") 
   { 
		var mm = parts[0]; 
	}
	else if (format.substring(1, 2) == "M") 
	{ 
		var mm = parts[1]; 
	}
	else
	{
		var mm = parts[2];
	}
	
	if (format.substring(0, 1) == "D")
	{ 
		var dd = parts[0]; 
	}
	else if (format.substring(1, 2) == "D") 
	{ 
		var dd = parts[1]; 
	}
	else
	{ 
		var dd = parts[2];
	}
	
	if (format.substring(0, 1) == "Y") 
	{ 
		var yy = parts[0]; 
	}
	else if (format.substring(1, 2) == "Y")
	{
		var yy = parts[1];
	}
	else
	{
		var yy = parts[2];
	}
   
	if (parseFloat(yy) <= 50) 
	{ 
		yy = (parseFloat(yy) + 2000).toString(); 
	}
	if (parseFloat(yy) <= 99)
	{ 
		yy = (parseFloat(yy) + 1900).toString();
	}
   
	var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
	if (parseFloat(dd) != dt.getDate()) 
	{ 
		return false; 
	}
	
	if (parseFloat(mm)-1 != dt.getMonth()) 
	{ 
		return false;
	}
	
	return true;
}

function hidemenus(){

	if (document.getElementById('wheretogo') != null ) {
		document.getElementById('wheretogo').style.visibility='hidden'; 
  }
  if (document.getElementById('howtoget') != null ) {
		document.getElementById('howtoget').style.visibility='hidden'; 
  }
  if (document.getElementById('thingstoknow') != null ) {
  	document.getElementById('thingstoknow').style.visibility='hidden';
  }
  if (document.getElementById('whattosee') != null ) {
		document.getElementById('whattosee').style.visibility='hidden';
  }
  if (document.getElementById('whattodo') != null ) {
		document.getElementById('whattodo').style.visibility='hidden';
  }
	document.images.where.src='/images/nav/b_where_off.gif';
	document.images.how.src='/images/nav/b_how_off.gif';
	document.images.see.src='/images/nav/b_see_off.gif';
	document.images.know.src='/images/nav/b_know_off.gif';
	document.images.todo.src='/images/nav/b_do_off.gif';

	close_todo_menus();
	close_where_menus();
}

function close_todo_menus(){

	if (document.getElementById('ecotourism') != null ) {
		document.getElementById('ecotourism_back').style.backgroundColor='#FFFFFF';
		document.getElementById('ecotourism').style.visibility='hidden';
	}

	if (document.getElementById('nautical') != null ) {
		document.getElementById('nautical_back').style.backgroundColor='#FFFFFF';
		document.getElementById('nautical').style.visibility='hidden';
	}
	
	if (document.getElementById('interestingplaces') != null ) {
		document.getElementById('interestingplaces_back').style.backgroundColor='#FFFFFF';
		document.getElementById('interestingplaces').style.visibility='hidden';
	}
	if (document.getElementById('sub_ecotourism') != null ) {
	   document.getElementById('sub_ecotourism').style.visibility='hidden';
	   document.getElementById('sub_ecotourism_back').style.backgroundColor='#4F83CF';
	}
	if (document.getElementById('sub_nautical') != null ) {
	   document.getElementById('sub_nautical').style.visibility='hidden';
	   document.getElementById('sub_nautical_back').style.backgroundColor='#4F83CF';
	}
	if (document.getElementById('sub_interestingplaces') != null ) {
	   document.getElementById('sub_interestingplaces').style.visibility='hidden';
	   document.getElementById('sub_interestingplaces_back').style.backgroundColor='#4F83CF';
	}
}


function close_todosub(){
	if (document.getElementById('sub_ecotourism') != null ) {
	   document.getElementById('sub_ecotourism').style.visibility='hidden';
	   document.getElementById('sub_ecotourism_back').style.backgroundColor='#4F83CF';
	}
	if (document.getElementById('sub_nautical') != null ) {
	   document.getElementById('sub_nautical').style.visibility='hidden';
	   document.getElementById('sub_nautical_back').style.backgroundColor='#4F83CF';
	}
	if (document.getElementById('sub_interestingplaces') != null ) {
	   document.getElementById('sub_interestingplaces').style.visibility='hidden';
	   document.getElementById('sub_interestingplaces_back').style.backgroundColor='#4F83CF';
	}
}



function close_where_menus(){
	document.getElementById('region_back').style.backgroundColor='#FFFFFF';
	document.getElementById('regions').style.visibility='hidden';
}


function hidesubmenus(){
	if (document.getElementById('sub_howtoget') != null ) {
		document.getElementById('sub_howtoget').style.display='none';
	}
	
	if (document.getElementById('sub_thingstoknow') != null ) {
		document.getElementById('sub_thingstoknow').style.display='none';
	}
	
	if (document.getElementById('sub_whattosee') != null ) {
		document.getElementById('sub_whattosee').style.display='none';
	}
	
	if (document.getElementById('sub_whattodo') != null ) {
		document.getElementById('sub_whattodo').style.display='none';
	}
	
	close_todosub();
}



function setFocus(tag) {
  document.getElementById(tag).focus();
  on(tag);
}


function on(tag) { 
  document.getElementById(tag).style.background=('#fff');
  if ( tag=="msg" && document.getElementById('msg').value=="comments...") {
    document.getElementById('msg').value="";
  }
}


function off(tag) {
  document.getElementById(tag).style.background=('#eee');
}


function showStf() {
	document.getElementById('stf').style.display='block';
	document.getElementById('toName').focus;
	setFocus('toName');
	if (document.getElementById('departLoc') != null ) {
	  document.getElementById('departLoc').style.visibility='hidden';
	}
	if (document.getElementById('gateway_dep') != null ) {
	  document.getElementById('gateway_dep').style.visibility='hidden';
	}
	if (document.getElementById('time_dep') != null ) {
		  document.getElementById('time_dep').style.visibility='hidden';
	}
	if (document.getElementById('dest_dep') ) {
			document.getElementById('dest_dep').style.visibility='hidden';
	}
	if (document.getElementById('time_ret') ) {
			document.getElementById('time_ret').style.visibility='hidden';
	}
	if (document.getElementById('class') ) {
		document.getElementById('class').style.visibility='hidden';
	}
	if (document.getElementById('arriveLoc') ) {
		document.getElementById('arriveLoc').style.visibility='hidden';
	}
	if (document.getElementById('day') ) {
	  document.getElementById('day').style.visibility='hidden';
	}
	if (document.getElementById('month') ) {
		document.getElementById('month').style.visibility='hidden';
	}
	if (document.getElementById('duration') ) {
		document.getElementById('duration').style.visibility='hidden';
	}
	if (document.getElementById('stars') ) {
	  document.getElementById('stars').style.visibility='hidden';
	}
	if (document.getElementById('selectHotel') ) {
		  document.getElementById('selectHotel').style.visibility='hidden';
	}
	if (document.getElementById('hotelRating') ) {
		  document.getElementById('hotelRating').style.visibility='hidden';
	}
}

function hideStf() {
  if (document.getElementById('stf') != null ) {
		document.getElementById('stf').style.display='none';
	}
	if (document.getElementById('departLoc') != null ) {
	  document.getElementById('departLoc').style.visibility='visible';
	}
	if (document.getElementById('gateway_dep') != null ) {
	  document.getElementById('gateway_dep').style.visibility='visible';
	}
	if (document.getElementById('time_dep') != null ) {
		  document.getElementById('time_dep').style.visibility='visible';
	}
	if (document.getElementById('dest_dep') ) {
			document.getElementById('dest_dep').style.visibility='visible';
	}
	if (document.getElementById('time_ret') ) {
			document.getElementById('time_ret').style.visibility='visible';
	}
	if (document.getElementById('class') ) {
		document.getElementById('class').style.visibility='visible';
	}
	if (document.getElementById('arriveLoc') ) {
		document.getElementById('arriveLoc').style.visibility='visible';
	}
	if (document.getElementById('day') ) {
	  document.getElementById('day').style.visibility='visible';
	}
	if (document.getElementById('month') ) {
		document.getElementById('month').style.visibility='visible';
	}
	if (document.getElementById('duration') ) {
		document.getElementById('duration').style.visibility='visible';
	}
	if (document.getElementById('stars') ) {
	  document.getElementById('stars').style.visibility='visible';
	}
	if (document.getElementById('selectHotel') ) {
		  document.getElementById('selectHotel').style.visibility='visible';
	}
	if (document.getElementById('hotelRating') ) {
		  document.getElementById('hotelRating').style.visibility='visible';
	}
}

function hideStfTy() {
	document.getElementById('stfTy').style.display='none';
	if (document.getElementById('departLoc') != null ) {
		document.getElementById('departLoc').style.visibility='visible';
  }
  if (document.getElementById('arriveLoc') ) {
		document.getElementById('arriveLoc').style.visibility='visible';
  }
  if (document.getElementById('day') ) {
		document.getElementById('day').style.visibility='visible';
	}
  if (document.getElementById('month') ) {
		document.getElementById('month').style.visibility='visible';
	}
  if (document.getElementById('duration') ) {
		document.getElementById('duration').style.visibility='visible';
	}
}

function checkFormForStfTy() {
	if (document.getElementById('departLoc') != null ) {
		document.getElementById('departLoc').style.visibility='hidden';
  }
  if (document.getElementById('arriveLoc') ) {
		document.getElementById('arriveLoc').style.visibility='hidden';
  }
  if (document.getElementById('day') ) {
		document.getElementById('day').style.visibility='hidden';
	}
  if (document.getElementById('month') ) {
		document.getElementById('month').style.visibility='hidden';
	}
  if (document.getElementById('duration') ) {
		document.getElementById('duration').style.visibility='hidden';
	}

}

function validateStf() {
  var re =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (document.getElementById('toName').value == "") {
    alert("Please enter your friend's name");
    setFocus('toName');
    return false;
  } else if (document.getElementById('toEmail').value == "" ) {
    alert("Please enter your friend's e-mail address");
    setFocus('toEmail');
    return false;
  } else if (!re.test(document.getElementById('toEmail').value)) {
    alert("Please enter a valid email address for your friend");
    setFocus('toEmail');
    return false;
  } else if (document.getElementById('fromName').value == "") {
    alert("Please enter your name");
    setFocus('fromName');
    return false;
  } else if (document.getElementById('fromEmail').value == "" ) {
    alert("Please enter your e-mail address");
    setFocus('fromEmail');
    return false;
  } else if (!re.test(document.getElementById('fromEmail').value)) {
    alert("Please enter your valid email address ");
    setFocus('fromEmail');
    return false;
  }
  return true;
}

function validateEcard() {
  var re =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (document.getElementById('toName2').value == "") {
    alert("Please enter your friend's name");
    setFocus('toName2');
    return false;
  } else if (document.getElementById('toEmail2').value == "" ) {
    alert("Please enter your friend's e-mail address");
    setFocus('toEmail2');
    return false;
  } else if (!re.test(document.getElementById('toEmail2').value)) {
    alert("Please enter a valid email address for your friend");
    setFocus('toEmail2');
    return false;
  } else if (document.getElementById('fromName2').value == "") {
    alert("Please enter your name");
    setFocus('fromName2');
    return false;
  } else if (document.getElementById('fromEmail2').value == "" ) {
    alert("Please enter your e-mail address");
    setFocus('fromEmail2');
    return false;
  } else if (!re.test(document.getElementById('fromEmail2').value)) {
    alert("Please enter your valid email address ");
    setFocus('fromEmail2');
    return false;
  }
  return true;
}

function sbmtSrch() {
	if ( document.getElementById('srchVal').value == "" ) {
		alert('Please enter a search term');
		setFocus('srchFld');
	} else {
		document.getElementById('srchFld').value = document.getElementById('srchVal').value;
		document.getElementById('frmSrch').submit();
	}
}

function srchFocus() {
	if (document.getElementById('srchFld').value == "search...") {
	  if (document.getElementById('srchVal').value != "") {
	  	document.getElementById('srchFld').value=document.getElementById('srchVal').value;
	  } else {
	  	document.getElementById('srchFld').value="";
	  }
	  document.getElementById('srchFld').style.textAlign='left';
	}
}

function srchBlur() {
	if ( document.getElementById('srchFld').value != "search..." && document.getElementById('srchFld').value != "" ) {
		document.getElementById('srchVal').value=document.getElementById('srchFld').value;
	}
	document.getElementById('srchFld').value="search...";
	document.getElementById('srchFld').style.textAlign='right';
}

function backToTop() {
	var x1=x2=x3=0;
	var y1=y2=y3=0;

	if (document.documentElement) {
			x1=document.documentElement.scrollLeft || 0;
			y1=document.documentElement.scrollTop || 0;
	}

	if (document.body) {
			x2=document.body.scrollLeft || 0;
			y2=document.body.scrollTop || 0;
	}

	x3=window.scrollX || 0;
	y3=window.scrollY || 0;

	var x=Math.max(x1, Math.max(x2, x3));
	var y=Math.max(y1, Math.max(y2, y3));

	window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

	if (x > 0 || y > 0) {
			window.setTimeout("backToTop()", 30);
	}
}

function popEcard(id) {
	toggleRadio(id);
	window.open("viewPopup.asp?id="+id, "_blank", 'width=625,height=500,scrollbars=yes');
	return false;
}

function toggleRadio(thisValue) {
	radioSet = eval("document.eCards.eCard")
	for (i=0;i < radioSet.length;i++) {
		if (radioSet[i].value == thisValue)
			radioSet[i].checked = true;
	}
}
				


function popup(mylink, windowname){
	if (! window.focus)return true;
	var href;
	if (typeof(mylink) == 'string')
		 href=mylink;
	else
		 href=mylink.href;
	window.open(href, windowname, 'width=610,height=455,scrollbars=yes');
	return false;
}
