// JavaScript Document
function getData(dataSource,targetID,showLoading)
{
	if (showLoading == true)
	{
		document.getElementById(targetID).innerHTML = '<div align="left"><img src="img/loading.gif" width="16" height="16"> Loading...</div>';
	}
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) 
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
	}
	if (XMLHttpRequestObject) 
	{
		XMLHttpRequestObject.open("GET", dataSource);
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
			{
				if (targetID != '')
				{
					document.getElementById(targetID).innerHTML = XMLHttpRequestObject.responseText;
				}
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			}
		}
		XMLHttpRequestObject.send(null);
	}
}

//Ajax
function postData(URL,outputtype,returnURL,targetID,fieldNames,fieldValues,showLoading,responseValue,funcID)
{
	if (showLoading == true)
	{
		document.getElementById(targetID).innerHTML = '<div align="left"><img src="img/loading.gif" width="16" height="16">&nbsp;&nbsp;Loading...</div>';
	}
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) 
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
	}
	if(XMLHttpRequestObject) 
	{
		XMLHttpRequestObject.open("POST", URL);	
		
		XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 &&	XMLHttpRequestObject.status == 200) 
			{
				
				if (outputtype == 'screen')				
				{
					document.getElementById(targetID).innerHTML = XMLHttpRequestObject.responseText;
				}
				else if(outputtype == 'redirect')
				{
					getData(returnURL,targetID,true);
				}
				if (funcID != '')
				{
					if (responseValue == 'noresponse')
					{
						LaunchFunction(funcID);
					}
					else if (XMLHttpRequestObject.responseText == responseValue)
					{
						LaunchFunction(funcID);
					}
				}
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			}
		}
		var myparams = '';
		if (fieldNames != '')
		{
			var fieldcount = fieldNames.length;
			for (var i=0;i<fieldcount;i++)
			{
				if (i==0)
				{
					myparams = myparams + fieldNames[i] + '=' + escape(fieldValues[i]);
				}
				else
				{
					myparams =  myparams + '&' + fieldNames[i] + '=' + escape(fieldValues[i]);
				}
			}
		}
		XMLHttpRequestObject.send(myparams);
	}
}	

function showHide(theid)
{
	var el = document.getElementById(theid);
    if(el.className != 'show') 
	{
	   el.className = 'show';
	}
	else
	{
	   el.className = 'hide';
	}
}

// Validation
function Trim(TRIM_VALUE)
{
  if(TRIM_VALUE.length < 1)
  {
    return"";
  }
  TRIM_VALUE = RTrim(TRIM_VALUE);
  TRIM_VALUE = LTrim(TRIM_VALUE);
  if(TRIM_VALUE=="")
  {
    return "";
  }
  else
  {
    return TRIM_VALUE;
  }
} //End Function

function RTrim(VALUE)
{
  var w_space = String.fromCharCode(32);
  var v_length = VALUE.length;
  var strTemp = "";
  if(v_length < 0)
  {
    return "";
  }
  var iTemp = v_length -1;
  while(iTemp > -1)
  {
    if(VALUE.charAt(iTemp) == w_space)
	{
    }
    else
	{
      strTemp = VALUE.substring(0,iTemp +1);
      break;
    }
    iTemp = iTemp-1;
  } //End While
  return strTemp;
} //End Function

function LTrim(VALUE)
{
  var w_space = String.fromCharCode(32);
  if(v_length < 1)
  {
    return"";
  }
  var v_length = VALUE.length;
  var strTemp = "";
  var iTemp = 0;
  while(iTemp < v_length)
  {
    if(VALUE.charAt(iTemp) == w_space)
	{
    }
    else
	{
      strTemp = VALUE.substring(iTemp,v_length);
      break;
    }
    iTemp = iTemp + 1;
  } //End While
  return strTemp;
} //End Function

function validateEmail(emailStr) 
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) 
	{
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) 
	{
		if (user.charCodeAt(i)>127) 
		{
			return false;
		}
	}
	for (i=0; i<domain.length; i++) 
	{
		if (domain.charCodeAt(i)>127) 
		{
			return false;
		}
	}
	if (user.match(userPat)==null) 
	{
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
				return false;
	   		}
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) 
	{
		if (domArr[i].search(atomPat)==-1) 
		{
			return false;
	   	}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].search(knownDomsPat)==-1) 
	{
		return false;
	}
	if (len<2) 
	{
		return false;
	}
	return true;
}

function validatePhone(theNumber)
{
  var phoneRegex = /^(\+)?((\d)(\d)(\d))?(\s)?(\d){7}$/;
  var chknum = theNumber;
  var result = chknum.match(phoneRegex);
  return result;
}

function LaunchFunction(functionID)
{
	if (functionID >0)
	{
/*		if (functionID == 1)
		{
			setMenu('7');
		}
*/	}
}

function clearInnerHTML(targetID)
{
	document.getElementById(targetID).innerHTML = '&nbsp;';
}

function confirmIt(theMSG) {
  if (confirm(theMSG)) {
    return true;
  } else {
    return false;
  }
}

//Others

function setMenu(menuID)
{
	languageID = sitelanguage;
	sitesection = menuID;
	var showMenu = '';
	if (menuID > 4)
	{
		showMenu = 0;
	}
	else
	{
		showMenu = menuID;
	}
	document.getElementById('data_menu').innerHTML = document.getElementById('dat_mnu_' + showMenu + '_' + languageID).innerHTML;
	document.getElementById('pagetitle').src = 'img/title_' + menuID + '_' + languageID + '.gif';		
	
	getData('files/main_' + menuID + '.php?lang=' + languageID,'maincontent',true);
}

function setMenu2(menuID)
{
	languageID = sitelanguage;
	sitesection = menuID;
	var showMenu = '';
	if (menuID > 4)
	{
		showMenu = 0;
	}
	else
	{
		showMenu = menuID;
	}
	/*document.getElementById('data_menu').innerHTML = document.getElementById('dat_mnu_' + showMenu + '_' + languageID).innerHTML;*/
	document.getElementById('pagetitle').src = 'img/title_0_' + languageID + '.gif';		
	
	getData('files/main_' + menuID + '.php?lang=' + languageID,'maincontent',true);
}
function setLang(languageID)
{
sitelanguage = languageID;
setMenu(sitesection); 
getData('files/nav_' + languageID + '.php','nav_menu',false);
getData('files/links_' + languageID + '.php','otherlinks',true);
document.getElementById('langflag').innerHTML = document.getElementById('selflag_' + languageID).innerHTML;		
document.getElementById('footerdata').innerHTML = document.getElementById('addr_' + languageID).innerHTML;		
document.getElementById('reservation').src = 'img/reservation_' + languageID + '.gif';		
}

function setLang2(languageID)
{
sitelanguage = languageID;
setMenu2(sitesection); 
getData('files/nav_' + languageID + '.php','nav_menu',false);
/*getData('lib/footer_' + languageID + '.php','footerdata',true);*/
document.getElementById('langflag').innerHTML = document.getElementById('selflag_' + languageID).innerHTML;	
document.getElementById('footerdata').innerHTML = document.getElementById('addr_' + languageID).innerHTML;	
/*document.getElementById('reservation').src = 'img/reservation_' + languageID + '.gif';*/		
}
function chkFormContact()
{
	var el = document.getElementById('frmContact');	
	var chkresult = true;
	if ((Trim(el.txtNom.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_nom[sitelanguage] + '</span>';
		el.txtNom.focus();
		chkresult = false;
	}
	if ((Trim(el.txtPrenom.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
		el.txtPrenom.focus();
		chkresult = false;
	}
	if ((!validateEmail(el.txtEmail.value)) && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_email[sitelanguage] + '</span>';
		el.txtEmail.focus();
		chkresult = false;
	}
	if ((Trim(el.txtTel.value) != '') && (chkresult == true))
	{
		if ((!validatePhone(el.txtTel.value)) && (chkresult == true))
		{
			document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_tel[sitelanguage] + '</span>';
			el.txtTel.focus();
			chkresult = false;
		}
	}
	if ((Trim(el.txtFax.value) != '') && (chkresult == true))
	{
		if ((!validatePhone(el.txtFax.value)) && (chkresult == true))
		{
			document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_fax[sitelanguage] + '</span>';
			el.txtFax.focus();
			chkresult = false;
		}
	}
	if ((Trim(el.txtSubject.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_subject[sitelanguage] + '</span>';
		el.txtSubject.focus();
		chkresult = false;
	}
	if ((Trim(el.txtCode.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_code[sitelanguage] + '</span>';
		el.txtCode.focus();
		chkresult = false;
	}
	return chkresult;
}

function processFormContact()
{
	var el = document.getElementById('frmContact');	
	el.btnSend.disabled = true;
	if (chkFormContact())
	{
		var i_fields = ['c_nom','c_prenom','c_email','c_tel','c_fax','c_subject','c_message','c_code'];
		var i_values = [el.txtNom.value,el.txtPrenom.value,el.txtEmail.value,el.txtTel.value,el.txtFax.value,el.txtSubject.value,el.txtMessage.value,el.txtCode.value];
		
		postData('files/main_4.php?lang=' + sitelanguage,'screen','','maincontent',i_fields,i_values,true,'','');
	}
	else
	{
		el.btnSend.disabled = false;		
	}
}

function chkFormRsrv()
{
	var el = document.getElementById('frmReserve');	
	var chkresult = true;
	if ((Trim(el.txtNom.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_nom[sitelanguage] + '</span>';
		el.txtNom.focus();
		chkresult = false;
	}
	if ((Trim(el.txtPrenom.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
		el.txtPrenom.focus();
		chkresult = false;
	}
	if ((!validateEmail(el.txtEmail.value)) && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_email[sitelanguage] + '</span>';
		el.txtEmail.focus();
		chkresult = false;
	}
	if ((!validatePhone(el.txtTel.value)) && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_tel[sitelanguage] + '</span>';
		el.txtTel.focus();
		chkresult = false;
	}
	if ((Trim(el.txtFax.value) != '') && (chkresult == true))
	{
		if ((!validatePhone(el.txtFax.value)) && (chkresult == true))
		{
			document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_fax[sitelanguage] + '</span>';
			el.txtFax.focus();
			chkresult = false;
		}
	}
	if ((Trim(el.txtDate.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_date[sitelanguage] + '</span>';
		el.txtDate.focus();
		chkresult = false;
	}
	if ((Trim(el.lstTime.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_time[sitelanguage] + '</span>';
		el.lstTime.focus();
		chkresult = false;
	}
	if ((Trim(el.txtCode.value) == '') && (chkresult == true))
	{
		document.getElementById('cont_error').innerHTML = '<span class="text_red">' + alert_code[sitelanguage] + '</span>';
		el.txtCode.focus();
		chkresult = false;
	}
	return chkresult;
}

function processFormRsrv()
{
	var el = document.getElementById('frmReserve');	
	el.btnSend.disabled = true;
	if (chkFormRsrv())
	{
		var i_fields = ['r_nom','r_prenom','r_email','r_tel','r_fax','r_date','r_time','r_num','r_other','r_code'];
		var i_values = [el.txtNom.value,el.txtPrenom.value,el.txtEmail.value,el.txtTel.value,el.txtFax.value,el.txtDate.value,el.lstTime.value,el.lstNum.value,el.txtOther.value,el.txtCode.value];
		
		postData('files/main_3.php?lang=' + sitelanguage,'screen','','maincontent',i_fields,i_values,true,'','');
	}
	else
	{
		el.btnSend.disabled = false;		
	}
}

function chkFormGuest()
{
	var el = document.getElementById('frmGuest');	
	var chkresult = true;
	if ((Trim(el.txtNom.value) == '') && (chkresult == true))
	{
		document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_nom[sitelanguage] + '</span>';
		el.txtNom.focus();
		chkresult = false;
	}
	if ((Trim(el.txtPrenom.value) == '') && (chkresult == true))
	{
		document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
		el.txtPrenom.focus();
		chkresult = false;
	}
	if (Trim(el.txtEmail.value) != '')
	{
		if ((!validateEmail(el.txtEmail.value)) && (chkresult == true))
		{
			document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_prenom[sitelanguage] + '</span>';
			document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_email[sitelanguage] + '</span>';
			el.txtEmail.focus();
			chkresult = false;
		}
	}
	if ((Trim(el.txtMessage.value) == '') && (chkresult == true))
	{
		document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_guest[sitelanguage] + '</span>';
		el.txtMessage.focus();
		chkresult = false;
	}
	if ((Trim(el.txtCode.value) == '') && (chkresult == true))
	{
		document.getElementById('guest_error').innerHTML = '<span class="text_red">' + alert_code[sitelanguage] + '</span>';
		el.txtCode.focus();
		chkresult = false;
	}
	return chkresult;
}


function processFormGuest()
{
	var el = document.getElementById('frmGuest');	
	el.btnSend.disabled = true;
	if (chkFormGuest())
	{
		var i_fields = ['g_nom','g_prenom','g_country','g_email','g_message','g_code'];
		var i_values = [el.txtNom.value,el.txtPrenom.value,el.lstCountry.value,el.txtEmail.value,el.txtMessage.value,el.txtCode.value];
		
		postData('files/main_8.php?lang=' + sitelanguage,'screen','','maincontent',i_fields,i_values,true,'','');
	}
	else
	{
		el.btnSend.disabled = false;		
	}
}

function login()
{
	var el_login = document.getElementById('txtlogin');
	var el_pass = document.getElementById('txtpass');
	var checkresult = true;
	if (Trim(el_login.value) == '')
	{
		document.getElementById('login_comments').innerHTML = err_usr[sitelanguage];
		el_login.focus();
		checkresult = false;
	}
	if ((Trim(el_pass.value) == '') && (checkresult == true))
	{
		document.getElementById('login_comments').innerHTML = err_pwd[sitelanguage];
		el_pass.focus();
		checkresult = false;
	}
	if (checkresult == true)
	{
		var el_container = document.getElementById('data_login');
		var e_f = ['txtlogin','txtpass','lang'];
		var e_v = [el_login.value,el_pass.value,sitelanguage];
		postData('files/login.php','screen','','maincontent',e_f,e_v,true,'','');
	}
}

function CheckEmail()
{
	var checkresult = true;
	var el = document.getElementById('txtemail');
	var el2 = document.getElementById('comments_email');
	if (!validateEmail(el.value))
	{
		el2.innerHTML = alert_recover[sitelanguage];
		checkresult = false;
		el.focus();
	}
	if (checkresult == true)
	{
		var e_f = ['txtemail'];
		var e_v = [el.value];
		postData('files/forgot.php','screen','','response_email',e_f,e_v,true);
		el.value = '';
	}
}

function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
    return true;
}

function isChar(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
    if ((charCode < 65) || (charCode > 122) || (charCode > 90 && charCode < 97)) return false;
    return true;
}

function isPWD(evt)
{
    if (isChar(evt) || isNumberKey(evt))  return true;
    return false;
}

function changepass()
{
	var el = document.getElementById('frmChange');
	if (Trim(el.txtpass1.value) == '')
	{
		document.getElementById('errors').innerHTML = 'Please fill the password field !';
		el.txtpass1.focus();
		return false;
	}
	if (Trim(el.txtpass1.value).length < 7)
	{
		document.getElementById('errors').innerHTML = 'The password must contain at least 7 characters !';
		el.txtpass1.focus();
		return false;
	}
	if (Trim(el.txtpass2.value) == '')
	{
		document.getElementById('errors').innerHTML = 'Please fill the confirm field !';
		el.txtpass2.focus();
		return false;
	}
	if (Trim(el.txtpass1.value) != Trim(el.txtpass2.value))
	{
		document.getElementById('errors').innerHTML = 'Your passwords do not match !';
		el.txtpass1.focus();
		return false;
	}
	var e_f = ['newpassword'];
	var e_v = [el.txtpass1.value];
	postData('files/changepwd.php?lang=' + sitelanguage,'screen','','cpanel',e_f,e_v,true,'','');
}

function updateMnu()
{
	if (Trim(document.getElementById('txtname_en').value) == '')
	{
		document.getElementById('upd_error').innerHTML = 'Please fill in the field "Name (EN)" !';
		document.getElementById('txtname_en').focus();
		return false;
	}
	if (Trim(document.getElementById('txtname_fr').value) == '')
	{
		document.getElementById('upd_error').innerHTML = 'Please fill in the field "Name (FR)" !';
		document.getElementById('txtname_fr').focus();
		return false;
	}
	var displayflag = '0';
	if (document.getElementById('chkdisp').checked == true)
	{
		displayflag = '1';
	}
	
	document.getElementById('lstCat').disabled = true;
	document.getElementById('lstMenu').disabled = true;
	
	
	var UPD_f = ['name_en','name_fr','desc_en','desc_fr','price','disp'];
	var UPD_v = [Trim(document.getElementById('txtname_en').value),Trim(document.getElementById('txtname_fr').value),Trim(document.getElementById('txtdesc_en').value),Trim(document.getElementById('txtdesc_fr').value),Trim(document.getElementById('txtprice').value),displayflag];
	
	postData('files/menudata.php?lang=' + sitelanguage + '&mnuid=' + document.getElementById('txtmnuid').value,'screen','','mnudata',UPD_f,UPD_v,true,'','');
}

function deleteMnu()
{
	if (confirmIt("Delete this record ?") == true)
	{
		document.getElementById('lstCat').disabled = true;
		document.getElementById('lstMenu').disabled = true;
		getData('files/deletemenu.php?lang=' + sitelanguage + '&mnuid=' + document.getElementById('txtmnuid').value,'mnudata',true);	
	}
}

function addMnu()
{
	if (Trim(document.getElementById('txtname_en').value) == '')
	{
		document.getElementById('upd_error').innerHTML = 'Please fill in the field "Name (EN)" !';
		document.getElementById('txtname_en').focus();
		return false;
	}
	if (Trim(document.getElementById('txtname_fr').value) == '')
	{
		document.getElementById('upd_error').innerHTML = 'Please fill in the field "Name (FR)" !';
		document.getElementById('txtname_fr').focus();
		return false;
	}
	if (document.getElementById('lstCat').value == '')
	{
		document.getElementById('upd_error').innerHTML = 'Please select a category !';
		document.getElementById('lstCat').focus();
		return false;
	}
	var displayflag = '0';
	if (document.getElementById('chkdisp').checked == true)
	{
		displayflag = '1';
	}
	
	var UPD_f = ['name_en','name_fr','desc_en','desc_fr','price','disp','cat'];
	var UPD_v = [Trim(document.getElementById('txtname_en').value),Trim(document.getElementById('txtname_fr').value),Trim(document.getElementById('txtdesc_en').value),Trim(document.getElementById('txtdesc_fr').value),Trim(document.getElementById('txtprice').value),displayflag,document.getElementById('lstCat').value];
	
	postData('files/addmenudata.php?lang=' + sitelanguage,'screen','','adddata',UPD_f,UPD_v,true,'','');
}

function setMenuCat(catID)
{
	languageID = sitelanguage;
	sitesection = 2;
	document.getElementById('data_menu').innerHTML = document.getElementById('dat_mnu_2_' + languageID).innerHTML;		
	document.getElementById('pagetitle').src = 'img/title_2_' + languageID + '.gif';		
	
	getData('files/menu.php?lang='+ languageID + '&cat=' + catID,'maincontent',true)
}
