// JavaScript Document

//AJAX CALLS

//ADVENTURER LOGINS
function login_check(targetForm) {
	var email = document.getElementById(targetForm).email.value;
	var password = document.getElementById(targetForm).password.value;
	var url = "filebin/template/check_login.php?email="+email+"&password="+password;

	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.check == 1) {
		window.location.href="pages/adventurers_personal/53.php";
	} else {
		document.getElementById('wrongPassword').style.display = 'block';
	}
}

function email_check(targetForm) {
	var email = document.getElementById(targetForm).email2.value;
	var url = "filebin/template/check_email.php?email="+email;

	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.check == 1) {
		document.getElementById('wrongPassText').innerHTML='<h3>Your password has been sent.</h3>';			
	} else {
		if (data.instance.check == 2) {
			document.getElementById('wrongPassText').innerHTML='<h3>The information could not be sent to the email address provided.</h3>';	
		} else {
			document.getElementById('wrongPassText').innerHTML='<h3>The email address provided was not found.</h3><span class="white">Please try again.</span>';				
		}
	}
}

//DESTINATION FUNCTIONS
function get_des(regionID) {
	var url = "filebin/template/get_des.php?id="+regionID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.desOut != "") {
		document.getElementById('topSubMenu').innerHTML='<a href="pages/destinations/3.php"); return false;" class="desLinks">< back </a><br /><br /><span class="desNoLink">'+data.instance.regionName+'</span><br />'+data.instance.desOut+'<br /><a href="pages/family_trips/190.php"><img src="filebin/images/buttonViewFamily.gif" class="monthButton" /></a>';
		document.getElementById('topPic').innerHTML='<img src="'+data.instance.htmlLeft+'" border="0" alt="" />';
		document.getElementById('topContent').innerHTML='<span class="whiteH1">< Next Select a Destination</span>';		document.getElementById('topBack').innerHTML='<img src="'+data.instance.htmlRight+'" border="0" alt="" />';						
	}
}

function get_trips(desID) {
	var url = "filebin/template/get_trips.php?id="+desID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();
	if (data.instance.tripsOut != "") {
		document.getElementById('topSubMenu').innerHTML='<a href="pages/destinations/3.php"); return false;" class="desLinks">< back </a><br /><br /><span class="desNoLink">'+data.instance.desName+'</span><br />'+data.instance.tripsOut+'<br /><a href="pages/family_trips/190.php"><img src="filebin/images/buttonViewFamily.gif" class="monthButton" /></a>';	
		document.getElementById('topPic').innerHTML='<img src="'+data.instance.htmlLeft+'" border="0" alt="" />';
		document.getElementById('topContent').innerHTML='<span class="whiteH1">< Now Select a Trip</span>';		document.getElementById('topBack').innerHTML='<img src="'+data.instance.htmlRight+'" border="0" alt="" />';								
	}	
}

//SCHEDULE FUNCTIONS
function get_Expanded(tripID, dateID) {
	var url = "filebin/template/get_expanded.php?id="+tripID+"&dateID="+dateID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.exOut != "") {
		document.getElementById('scheduleExpand'+dateID).style.display="block";
		document.getElementById('scheduleExpand'+dateID).innerHTML=data.instance.exOut;		
	}

}

//ADVENTURER FUNCTIONS
function get_select(adID) {
	var url = "filebin/template/get_select.php?adID="+adID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.selectOut != "") {
		document.getElementById('photoSelect').innerHTML=data.instance.selectOut;
		document.getElementById('photoUpload').style.display='none';			
		document.getElementById('photoRemove').style.display='none';			
		document.getElementById('photoLink').style.display='none';			
		document.getElementById('photoSelect').style.display='block';
	}
}
function get_remove(adID) {
	var url = "filebin/template/get_remove.php?adID="+adID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.removeOut != "") {
		document.getElementById('photoRemove').innerHTML=data.instance.removeOut;
		document.getElementById('photoUpload').style.display='none';			
		document.getElementById('photoSelect').style.display='none';			
		document.getElementById('photoLink').style.display='none';			
		document.getElementById('photoRemove').style.display='block';
	}
}
function displayImage(formId) {
	var num = (document.getElementById(formId).fileSelector.selectedIndex) + 2;
	var displayImage = document.getElementById(formId).elements[num].value;
	document.getElementById('imageChange').innerHTML = '<img src="'+displayImage+'" border="0" alt="" width="130" height="180" />';
	//alert(displayImage);
}
function get_list(adID) {
	var url = "filebin/template/get_list.php?adID="+adID;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.listOut != "") {
		document.getElementById('manageList').innerHTML=data.instance.listOut;
		document.getElementById('manageList').style.display='block';		
	}
}
function add_list(adID) {
	if (isEmailAddress(document.getElementById('addList').eAddress.value)==false) {
		alert ('Please enter an email address to add to your list.');
	} else {
		var address = document.getElementById('addList').eAddress.value;
		var url = "filebin/template/add_list.php?adID="+adID+"&address="+address;
		var xml = new JKL.ParseXML(url);
		var data = xml.parse();	
		if (data.instance.listOut != "") {
			document.getElementById('manageList').innerHTML=data.instance.listOut;
			document.getElementById('manageList').style.display='block';		
		}
	}
}

function delete_list(adID, id) {
	var url = "filebin/template/delete_list.php?adID="+adID+"&id="+id;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.listOut != "") {
		document.getElementById('manageList').innerHTML=data.instance.listOut;
		document.getElementById('manageList').style.display='block';		
	}
}

function send_list(adID, blog_id, day) {
	var answer = confirm("Are you sure you want to send this listing to your entire list?");
	if (answer){
		var url = "filebin/template/send_list.php?adID="+adID+"&blog_id="+blog_id+"&day="+day;
		var xml = new JKL.ParseXML(url);
		var data = xml.parse();	
		if (data.instance.sent != "") {
			alert(data.instance.sent);
		}
	} else {
		return false;
	}
}


//BLOG FUNCTIONS
function logout() {
	var url = "filebin/template/logout.php";
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	window.location="pages/adventurers/8.php";
}

function delete_trip(adID, trip_id) { 
	var answer = confirm("Are you sure you want to delete this trip? All entries for this trip will be deleted.")
	if (answer){
		var url = "filebin/template/delete_trip.php?adID="+adID+"&trip_id="+trip_id;
		var xml = new JKL.ParseXML(url);
		var data = xml.parse();	
		window.location="pages/adventurers_personal/53.php";
	}
}

function get_selectBlog(adID,day,blog_id,trip_id) {
	var url = "filebin/template/get_selectBlog.php?adID="+adID+"&day="+day+"&blog_id="+blog_id+"&trip_id="+trip_id;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.selectOut != "") {
		var photoSelect = 'photoSelectBlog'+day;
		var photoUpload = 'photoUploadBlog'+day;
		var photoRemove = 'photoRemoveBlog'+day;
		var photoLink = 'photoLinkBlog'+day;
		document.getElementById(photoSelect).innerHTML=data.instance.selectOut;
		document.getElementById(photoUpload).style.display='none';			
		document.getElementById(photoRemove).style.display='none';			
		document.getElementById(photoLink).style.display='none';			
		document.getElementById(photoSelect).style.display='block';
	}
}
function get_removeBlog(adID,day,blog_id,trip_id) {
	var url = "filebin/template/get_removeBlog.php?adID="+adID+"&day="+day+"&blog_id="+blog_id+"&trip_id="+trip_id;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();	
	if (data.instance.selectOut != "") {
		var photoSelect = 'photoSelectBlog'+day;
		var photoUpload = 'photoUploadBlog'+day;
		var photoRemove = 'photoRemoveBlog'+day;
		var photoLink = 'photoLinkBlog'+day;
		document.getElementById(photoRemove).innerHTML=data.instance.removeOut;
		document.getElementById(photoUpload).style.display='none';			
		document.getElementById(photoSelect).style.display='none';			
		document.getElementById(photoLink).style.display='none';			
		document.getElementById(photoRemove).style.display='block';
	}
}

//UNIVERSAL FUNCS
function toggle(targetDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
	} else {
		document.getElementById(targetDiv).style.display='block';		
	}
}
function toggleNew(targetDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
	} else {
		document.getElementById(targetDiv).style.display='block';		
	}
}
function togglePhoto(targetDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
	} else {
		document.getElementById('photoUpload').style.display='none';			
		document.getElementById('photoSelect').style.display='none';			
		document.getElementById('photoRemove').style.display='none';			
		document.getElementById('photoLink').style.display='none';			
		document.getElementById(targetDiv).style.display='block';		
	}
}
function newsletterSet(formID) {
	document.getElementById(formID).user.value='';
}
	
function textSet(fieldID) {
	document.getElementById(fieldID).value='';
}

function passSet(passID, formID) {
	var pass = '<input type="password" id="password" name="password" class="adText" value="" />';
	document.getElementById(passID).innerHTML = pass;
	document.getElementById(formID).password.focus();
	document.getElementById(formID).password.focus();
}
	
function toggleRegion(targetDiv, hideDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
		document.getElementById(hideDiv).innerHTML='show >';
	} else {
		document.getElementById(targetDiv).style.display='block';		
		document.getElementById(hideDiv).innerHTML='hide >';			
	}
}
function toggleBlog(targetDiv, numDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
	} else {
		document.getElementById(targetDiv).style.display='block';
		for (i=0;i<numDiv; i++) {
			var newDiv = 'blogForm'+(i+1);
			document.getElementById(newDiv).style.display='none';		
		}
		document.getElementById(targetDiv).style.display='block'; 		
	}
}
function togglePhotoBlog(targetDiv, numDiv) {
	if (document.getElementById(targetDiv).style.display=='block') {			
		document.getElementById(targetDiv).style.display='none';
	} else {
		document.getElementById(targetDiv).style.display='block';
		for (i=0;i<numDiv; i++) {
			
			var newUpload = 'photoUploadBlog'+(i+1);
			var newSelect = 'photoSelectBlog'+(i+1);
			var newRemove = 'photoRemoveBlog'+(i+1);
			var newLink = 'photoLinkBlog'+(i+1);
			document.getElementById(newUpload).style.display='none';		
			document.getElementById(newSelect).style.display='none';		
			document.getElementById(newRemove).style.display='none';		
			document.getElementById(newLink).style.display='none';		
			
		}
		document.getElementById(targetDiv).style.display='block'; 		
	}
}
function nextBlog(func, numDiv) {
	for (i=0;i<numDiv; i++) {
		var newDiv = 'blogForm'+(i+1);
		if (document.getElementById(newDiv).style.display=='block') {
			var activeDiv = 'blogForm'+(i+1);
			var nextDiv = 'blogForm'+(i+2);
			var previousDiv = 'blogForm'+(i);
			if (i == 0) {
				var previousDiv = 'blogForm'+numDiv;
			}
			if (i == (numDiv - 1)) {
				var nextDiv = 'blogForm1';
			}
			
		}
	}
	if (func=="next") {	
		document.getElementById(activeDiv).style.display='none';
		document.getElementById(nextDiv).style.display='block';
	} else {
		document.getElementById(activeDiv).style.display='none';
		document.getElementById(previousDiv).style.display='block';	
	}
}

//FORM VALIDATION
function isEmailAddress (string) {
	var addressPattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	return addressPattern.test(string);
}

//OLD AND FLAWED
//function notEmptyStr(strValue) {
//	var objRegExp  = /[^ \t\v\f\n\r]$/;
//	return objRegExp.test(strValue);
//}

	function notEmptyStr(strValue) {
		//alert("strValue "+strValue);
		var strTemp = strValue;
  		//alert("strTemp "+strTemp);
  		strTemp = trimAll(strTemp);
  		//alert("strTemp "+strTemp);
  		if (strTemp.length > 0) {
    		return true;
  		}
  		return false;
	}	

	function rightTrim(strValue) {
		var objRegExp = /^([\w\W]*)(\b\s*)$/;

     	if(objRegExp.test(strValue)) {
    		//remove trailing a whitespace characters
      		strValue = strValue.replace(objRegExp, '$1');
   		}
 		return strValue;
	}

	function leftTrim(strValue) {
		var objRegExp = /^(\s*)(\b[\w\W]*)$/;

     	if(objRegExp.test(strValue)) {
      		//remove leading a whitespace characters
      		strValue = strValue.replace(objRegExp, '$2');
   		}
 		return strValue;
	}

	function trimAll(strValue) {
		var objRegExp = /^(\s*)$/;

   		//check for all spaces
   		if(objRegExp.test(strValue)) {
      		strValue = strValue.replace(objRegExp, '');
      		if( strValue.length == 0) {
         		return strValue;
   			}
   		}

  		//check for leading & trailing spaces
  		objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
  		if(objRegExp.test(strValue)) {
      		//remove leading and trailing whitespace characters
      		strValue = strValue.replace(objRegExp, '$2');
   		}
 		return strValue;
	}

	
function isPhoneNumber(strValue) {
	var cleanPhone = strValue.replace(/\D/g, "")
	var tenDigits  = /\d{10}/;
	return tenDigits.test(cleanPhone);
}
	
function isInt(strValue) {
	var testNum = parseInt(strValue);
	if (isNaN(testNum)) {
		return false;
	} else {
		if ((testNum < 1000) || (testNum > 9999)) {
			return false;
		} else {
			return true;
		}
	}
} 
function adCheck() {
	var error='';
	if (notEmptyStr(document.getElementById('adInfo').first_name.value)==false) {
		error+='Please enter your first name.\r\n';
	}
	if (notEmptyStr(document.getElementById('adInfo').last_name.value)==false) {
		error+='Please enter your last name.\r\n';
	}
	if (isEmailAddress(document.getElementById('adInfo').email.value)==false) {
		error+='Please enter a valid email address.\r\n';
	}	
	if (notEmptyStr(document.getElementById('adInfo').password.value)==false) {
		error+='Please enter a password.\r\n';
	}
	if (document.getElementById('adInfo').password.value!=document.getElementById('adInfo').password2.value) {
		error+='Your retyped password did not match your original password.\r\n';
	}
	if (document.getElementById('adInfo').html_data.value.length>500) {
		error+='Your introductory text must be 500 characters or less.';
	}
		if (error=='') {
		return true;
	} else {
		alert (error);
		return false;			
	}
}	
function checkFriend(targetForm){
	var error='';
	if (notEmptyStr(document.getElementById(targetForm).name.value)==false) {
		error+='Please enter your friend\'s name.\r\n';
	}
	if (isEmailAddress(document.getElementById(targetForm).femail.value)==false) {
		error+='Please enter your friend\'s email address.\r\n';
	}	
	if (isEmailAddress(document.getElementById(targetForm).email.value)==false) {
		error+='Please enter your email address.\r\n';
	}	
	if (error=='') {
		return true;
	} else {
		alert (error);
		return false;			
	}
}
function checkBlog(targetForm) {
	var error='';
	if (document.getElementById(targetForm).name.value.length>75) {
		error+='Your blog title must be 75 characters or less.';
	}
	if (document.getElementById(targetForm).html_content.value.length>750) {
		error+='Your blog entry must be 750 characters or less.';
	}
		if (error=='') {
		return true;
	} else {
		alert (error);
		return false;			
	}
}

function checkLengthPersonal(targetForm) {
	var length = document.getElementById(targetForm).html_data.value.length;
	alert ("Your text is "+length+" characters at present.");
}

function checkLengthBlog(targetForm) {
	var length = document.getElementById(targetForm).html_content.value.length;
	alert ("Your text is "+length+" characters at present.");
}


function searchDisable(targetForm) {
	var error='';
	if ((document.getElementById(targetForm).search_term.value=="enter search words") || (document.getElementById(targetForm).search_term.value=="")) {
		error+='Please enter search words.';
	}
		if (error=='') {
		return true;
	} else {
		alert (error);
		return false;			
	}
}

function hideUpload() {
	document.getElementById('photoUpload').style.visibility='hidden';
}
function refreshFunc(newImage) {
	document.getElementById('topPicBack').innerHTML="<img src="+newImage+" border='0' alt='' />";
	document.getElementById('photoUpload').style.display="none";	
}
function refreshFuncBlog(newImage,numDay) {
	var blogToClose = 'photoUploadBlog'+numDay;
	var picToChange = 'blogPhoto'+numDay;
	document.getElementById(picToChange).innerHTML="<img src="+newImage+" border='0' alt='' />";
	document.getElementById(blogToClose).style.display="none";	
}


//TRIP FUNCTIONS
function toggleform() {
	if (document.getElementById('downloadLink').style.display == 'block') {
		document.getElementById('downloadLink').style.display = 'none';
		document.getElementById('downloadArea').style.display = 'block';
	} else {
		document.getElementById('downloadArea').style.display = 'none';	
		document.getElementById('downloadLink').style.display = 'block';	
	}
}
function get_collectSession(tripID,download) {
	var error='';
	if ((notEmptyStr(document.getElementById('collectForm').iFirstName.value)==false) || (document.getElementById('collectForm').iFirstName.value == 'your first name')) {
		error+='Please enter your first name.\r\n';
	}
	if ((notEmptyStr(document.getElementById('collectForm').iLastName.value)==false) || (document.getElementById('collectForm').iLastName.value == 'your last name')) {
		error+='Please enter your last name.\r\n';
	}
	if (isEmailAddress(document.getElementById('collectForm').iEmail.value)==false) {
		error+='Please enter a valid email address.\r\n';
	}	
	if (error=='') {
		var fname = document.getElementById('collectForm').iFirstName.value;
		var lname = document.getElementById('collectForm').iLastName.value;
		var email = document.getElementById('collectForm').iEmail.value;
		document.getElementById('downloadArea').innerHTML='Loading...';
		var url = "filebin/template/get_collectSession.php?fname="+fname+"&lname="+lname+"&email="+email;
		var xml = new JKL.ParseXML(url);
		var data = xml.parse();		
		document.getElementById('downloadArea').innerHTML='Thank you. <a href="filebin/pdf/trips/'+download+'" onclick="get_collect(\''+tripID+'\',\''+download+'\');">Click here to download the itinerary.</a>';								
	} else {
		alert (error);
	}
}
function get_collect(tripID,download) {
	var url = "filebin/template/get_collect.php?id="+tripID+"&download="+download;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();		
}
function get_region_log(region_id) {
	var url = "filebin/template/get_region_log.php?region_id="+region_id;
	var xml = new JKL.ParseXML(url);
	var data = xml.parse();
	if (data.instance.out) {
		window.location = data.instance.out;
	}
}

//FROM TEMPLATE
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}