// JavaScript Document
//Filter for typing characters in Input box

function Filter4Characters(evt)
{
	if(navigator.appName.indexOf('Microsoft')!=-1) {
		if(event.keyCode < 46 || event.keyCode > 57) {
			event.returnValue = false;
		}
	} else {
		if(evt.charCode && (evt.charCode < 46 || evt.charCode > 57)) {
			if(evt.preventDefault) {
				evt.preventDefault();
			}
		}
	}
}

//Function to prevent typing characters in input box
function preventOpp(objID)
{
	if(navigator.appName.indexOf('Microsoft')!=-1)
	{
		document.getElementById(objID).onkeypress = Filter4Characters;
	}
	else
	{
		document.getElementById(objID).addEventListener("keypress",Filter4Characters, true);
	}
}

// Function to validate Html tags
function tagvalidate(val)
{
	return val.match(/([\<])([^\>]{1,})*([\>])/i);
}

// Function to reset a form
function resetForm(FormName)
{
	var params = Form.serialize(FormName);
	var split_params = params.split("&");
	var elementId, field, i, split_split_params;
	
	for( i = 0; i < split_params.length; i++ )
	{
		split_split_params = split_params[i].split("=");
		elementId = split_split_params[0];
		field = $(elementId);
		if( field.type == "select-one" )
		{
			field.selectedIndex = 0;
		}
		else
			if( field.type == "text" || field.type == "textarea" || field.type == "password" )
			{
				field.value = "";
			}
	}
}

// Function to reset all error fields

function resetErrorFields(tagName)
{
	var arrElements = document.getElementsByTagName(tagName);
	var arrLength = arrElements.length;
	var i;
	
	for( i = 0; i < arrLength; i++ )
		arrElements[i].innerHTML = "";
}

// Function to check valid date
function checkValidDate(day, month, year)
{
	monthArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	if( (year % 4) && (!(year % 100) || (year % 400)) )
	{
		if( day > monthArray[month - 1] )
		{
			return false;
		}
	}
	else
	{
		if( month == 2 )
		{
			if( day > 29 )
			{
				return false;
			}
		}
		else
			if( day > monthArray[month - 1] )
			{
				return false;
			}
	}
	
	return true;
}

// Functions to check valid phone/cell numbers input on type 
function valid_phone_number_input(field)
{
	key = event.keyCode;
	
	if( (key != 8 && key != 9 && key != 13 && !(key >= 33 && key <= 40) && key != 46 && String.fromCharCode(key) < "0") || (String.fromCharCode(key) > "9" && key != 109) )
	{
		return false;
	}
	
	return true;
}

function valid_cellphone_number_input(field)
{
	key = event.keyCode;
	
	if( (key != 8 && key != 9 && key != 13 && !(key >= 33 && key <= 40) && key != 46 && String.fromCharCode(key) < "0") || (String.fromCharCode(key) > "9" && key != 107) )
	{
		return false;
	}
	
	return true;
}

//function to clear the Login form fields on Focus
function clearFields(_field, _default, _current) 
{  
  if (_default == _current) 
  {
	_field.value = "";
  }
}

function isHTMLTag(val)
{
	str=val;
	if(str.match(/([\<])([^\>]{1,})*([\>])/i)==null){
		return false;
	}else{
		return true;
	}
}

/////////////////////////////////////////////////////// Login function ////////////////////////////////////////////////////////////

function ResetLoginFrm()
{
	$('txtUserName').value = "";
	$('txtPassword').value = "";
}

function checkLogin(NameError, PasswordError, HtmlError, SuccessMessage, QueryString)
{
	//alert("login");
	var ResponseURL = "ajaxserver/ResponseLogin.php";
	var AjaxParam = Form.serialize('frmLogin');
	
	$('divMsg').innerHTML = "&nbsp;";
	$('errorUserName').innerHTML = "";
	$('errorPassword').innerHTML = "";
	
	var val1 = true;
	var val2 = true;
	
	if(isWhitespace($('txtUserName').value,true))
	{
		$('errorUserName').innerHTML = NameError;
		val1 = false;
	}
	if(isHTMLTag($('txtUserName').value))
	{
		$('errorUserName').innerHTML = HtmlError;
		val1 = false;
	}
	if(isWhitespace($('txtPassword').value,true))
	{
		$('errorPassword').innerHTML = PasswordError;
		val2 = false;
	}
	if(isHTMLTag($('txtPassword').value))
	{
		$('errorPassword').innerHTML = HtmlError;
		val2 = false;
	}
	if( (val1 == true) && (val2 == true) )
	{
		new Ajax.Request(ResponseURL,
									 {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function( transport )
													{
														var res = transport.responseText;
														var split_res = res.split('|');
														
														if( !parseInt(split_res[0]) )
														{
															$('divMsg').innerHTML = "Invalid Username or Password !";
														}
														else
														{
															resetForm('frmLogin');
															$('divMsg').innerHTML = SuccessMessage;
															setTimeout("$('ShowMsg').innerHTML = '';", 10000);
															
															//window.location.href = 'Order.php?' + QueryString;
															window.close();
															window.opener.location.reload();
														}
													},
										onFailure : function()
													{
														$('divMsg').innerHTML = "Server Error !!";
													}
									 }
						);
	}
	
}

function checkLoginHeader(NameError, PasswordError, HtmlError, SuccessMessage)
{
	var ResponseURL = "ajaxserver/ResponseLogin.php";
	var AjaxParam = Form.serialize('l_form');
	
	$('errorMsg').innerHTML = "";
	//$('ShowMsg').innerHTML = "";

	var val1 = true;
	var val2 = true;
	var val3 = true;
	
	if(isWhitespace($('txtUserName').value,true) && isWhitespace($('txtPassword').value,true))
	{
		$('errorMsg').innerHTML = NameError + " and " + PasswordError;
		val1 = false;
		//alert(NameError);
		$('txtUserName').focus();
		//return false;
	}
	else if(isHTMLTag($('txtUserName').value) && isHTMLTag($('txtPassword').value))
	{
		$('errorMsg').innerHTML = HtmlError;
		val1 = false;
		//alert(HtmlError);
		$('txtUserName').focus();
		//return false;
	}else{
		if(isWhitespace($('txtUserName').value,true))
		{
			$('errorMsg').innerHTML = NameError;
			val2 = false;
			//alert(NameError);
			$('txtUserName').focus();
			//return false;
		}
		else
			if(isHTMLTag($('txtUserName').value))
			{
				$('errorMsg').innerHTML = HtmlError;
				val2 = false;
				//alert(HtmlError);
				$('txtUserName').focus();
				//return false;
			}
		if(isWhitespace($('txtPassword').value,true))
		{
			$('errorMsg').innerHTML = PasswordError;
			val2 = false;
			//alert(PasswordError);
			$('txtPassword').focus();
			//return false;
		}
		else
			if(isHTMLTag($('txtPassword').value))
			{
				$('errorMsg').innerHTML = HtmlError;
				val2 = false;
				//alert(HtmlError);
				$('txtPassword').focus();
				//return false;
			}
	}
	
	
	
	if( (val1 == true) && (val2 == true) && (val3 == true))
	{
		new Ajax.Request(ResponseURL,
									 {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function( transport )
													{
														var res = transport.responseText;
														var split_res = res.split('|');
														
														if( !parseInt(split_res[0]) )
														{
															$('errorMsg').innerHTML = "Invalid Username or Password !";
															$('txtUserName').focus();
														}
														else
														{
															resetForm('l_form');
															//$('ShowMsg').innerHTML = SuccessMessage;
															//setTimeout("$('ShowMsg').innerHTML = '';", 20000);
															
															if( split_res[1] == "member" )
															{
																window.location.href = 'CustomerHome.php';
															}
															else
															{
																window.location.href = 'RestaurantHome.php';
															}
														}
													},
										onFailure : function()
													{
														$('errorMsg').innerHTML = "Server Error !!";
													}
									 }
						);
	}
	
}


function ResetPasswordFrm()
{
	$('txtEmail').value = "";
}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////


//////////////////////////////////////////////// Restaurant owner login function //////////////////////////////////////////////////

function checkResOwnerLogin(NameError, PasswordError, HtmlError, SuccessMessage)
{
	var ResponseURL = "ajaxserver/responseResOwnerLogin.php";
	var AjaxParam = Form.serialize('frmLogin');
	
	$('errorUserName').innerHTML = "";
	$('errorPassword').innerHTML = "";
	$('ShowMsg').innerHTML = "";

	var val1 = true;
	var val2 = true;
	
	if(isWhitespace($('txtUserName').value,true))
	{
		$('errorUserName').innerHTML = NameError;
		var val1 = false;
	}
	if(isHTMLTag($('txtUserName').value))
	{
		$('errorUserName').innerHTML = HtmlError;
		var val1 = false;
	}
	if(isWhitespace($('txtPassword').value,true))
	{
		$('errorPassword').innerHTML = PasswordError;
		var val2 = false;
	}
	if(isHTMLTag($('txtPassword').value))
	{
		$('errorPassword').innerHTML = HtmlError;
		var val2 = false;
	}
	if((val1 == true) && (val2 == true))
	{
		new Ajax.Request(ResponseURL,
									 {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function(transport)
													{
														var res = transport.responseText;
														if( !res )
														{
															$('ShowMsg').innerHTML = "You are not a valid restaurant owner !";
														}
														else
														{
															//$('txtUserName').value = "";
															//$('txtPassword').value = "";
															$('ShowMsg').innerHTML = SuccessMessage;
															setTimeout("$('ShowMsg').innerHTML = '';", 15000);
															window.location.href = 'RestaurantHome.php';
														}
													},
										onFailure : function()
													{
														$('ShowMsg').innerHTML = "Server Error !! Insertion Fail";
													}
									 }
						);
	}
	
}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////

function SendForgetPasswordMail(EmailError,HtmlError,ValidEmailError,EmailSuccess)
{
	var ResponseURL = "ajaxserver/Responseforgetpasswd.php";
	var AjaxParam = Form.serialize('frmLogin');
	
	$('divMsg').innerHTML = "&nbsp;";
	$('errorEmail').innerHTML = "";
	
	var flag = true;
	
	if( isWhitespace($('txtEmail').value,true) )
	{
		$('errorEmail').innerHTML = EmailError;
		flag = false;
	}
	else
		if( isHTMLTag($('txtEmail').value) )
		{
			$('errorEmail').innerHTML = HtmlError;
			flag = false;
		}
		else
			if( !isEmail($('txtEmail').value,true) )
			{
				$('errorEmail').innerHTML = ValidEmailError;	
				flag = false;
			}
	
	if( flag )
	{
		new Ajax.Request(ResponseURL,
									 {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function(transport)
										{
											var res = transport.responseText;
											
											if( !parseInt(res) )
											{
												$('divMsg').innerHTML = "Your email is not in our database !";
											}
											else
											{
												$('txtEmail').value = "";
												$('divMsg').innerHTML = EmailSuccess;
												setTimeout("$('divMsg').innerHTML = '';", 10000);
											}
										},
										onFailure : function()
										{
											$('divMsg').innerHTML = "Server Error!! Mail Sending Failed ";
										}
									 }
						);
	}
	
}

///////////////////////////////////////////////// Send forget password from header ///////////////////////////////////////////////

function SendForgetPasswordMailHeader(EmailError,HtmlError,ValidEmailError,EmailSuccess)
{
	var ResponseURL = "ajaxserver/Responseforgetpasswd.php";
	var AjaxParam = Form.serialize('l_form');
	
	/*$('divMsg').innerHTML = "&nbsp;";
	$('errorEmail').innerHTML = "";*/
	
	var flag = true;
	
	if( isWhitespace($('txtEmail').value,true) )
	{
		/*$('errorEmail').innerHTML = EmailError;
		flag = false;*/
		alert(EmailError);
		$('txtEmail').focus();
		return false;
	}
	else
		if( isHTMLTag($('txtEmail').value) )
		{
			/*$('errorEmail').innerHTML = HtmlError;
			flag = false;*/
			alert(HtmlError);
			$('txtEmail').focus();
			return false;
		}
		else
			if( !isEmail($('txtEmail').value,true) )
			{
				/*$('errorEmail').innerHTML = ValidEmailError;	
				flag = false;*/
				alert(ValidEmailError);
				$('txtEmail').focus();
				return false;
			}
	
	if( flag )
	{
		new Ajax.Request(ResponseURL,
									 {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function(transport)
										{
											var res = transport.responseText;
											
											if( !parseInt(res) )
											{
												//$('divMsg').innerHTML = "Your email is not in our database !";
												alert("Your email is not in our database !");
											}
											else
											{
												$('txtEmail').value = "";
												//$('divMsg').innerHTML = EmailSuccess;
												//setTimeout("$('divMsg').innerHTML = '';", 10000);
												alert(EmailSuccess);
											}
										},
										onFailure : function()
										{
											//$('divMsg').innerHTML = "Server Error!! Mail Sending Failed";
											alert("Server Error!! Mail Sending Failed");
										}
									 }
						);
	}
	
}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////

function ResetContacFrm()
{
	$('full_name').value = "";
	$('email').value = "";
	$('tele').value = "";
	$('fax').value = "";
	$('message').value = "";
	
}

function SendContactMail(NameError,EmailError,InvalidEmail,MessageError,HtmlError,ContactMessage)
{
	//alert(NameError);
	var ResponseURL = "ajaxserver/ResponseContact.php";
	var AjaxParam = Form.serialize('ContactFrm');
	$('full_name_error').innerHTML = "";
	$('email_error').innerHTML = "";
	$('message_error').innerHTML = "";
	var val1 = true;
	var val2 = true;
	var val3 = true;
	if(isWhitespace($('full_name').value,true)){
		$('full_name_error').innerHTML = NameError;
		var val1 = false;
	}
	if(isHTMLTag($('full_name').value)){
		$('full_name_error').innerHTML = HtmlError;
		var val1 = false;
	}
	if(isWhitespace($('email').value)){
		$('email_error').innerHTML = EmailError;
		var val2 = false;
	}
	if(isHTMLTag($('email').value)){
		$('email_error').innerHTML = HtmlError;
		var val2 = false;
	}
	if(!isEmail($('email').value,true)){
		$('email_error').innerHTML = InvalidEmail;	
		var val2 = false;
	}
	if(isWhitespace($('message').value,true)){
		$('message_error').innerHTML = MessageError;
		var val3 = false;
	}
	if(isHTMLTag($('message').value)){
		$('message_error').innerHTML = HtmlError;
		var val3 = false;
	}
	
	if((val1 == true) && (val2 == true) && (val3 == true)){
		new Ajax.Request(ResponseURL,
						 {
						 	method : 'post',
							parameters : AjaxParam,
							onSuccess : function(transport)
							{
								$('full_name').value = "";
								$('email').value = "";
								$('tele').value = "";
								$('fax').value = "";
								$('message').value = "";
								var res = transport.responseText;
								if(res == 1)
								{
									$('ShowMsg').innerHTML = "Error in Page Set Up";
								}
								else
								{
									$('ShowMsg').innerHTML = ContactMessage;
									setTimeout("$('ShowMsg').innerHTML = '';", 3000);
								}
							},
							onFailure : function()
							{
								$('ShowMsg').innerHTML = "Server Error!! Mail Sending Fail";
							}
						 });
	}
}

function AjaxFaq(AjaxURL,AjaxParams,ListingDiv,PagiShowDiv)
{
	
	//alert(AjaxURL);
	//alert(AjaxParams);
	//alert(ListingDiv);
	//alert(PagiShowDiv);
	
	var FirstPagiDiv = PagiShowDiv;
	//alert(FirstPagiDiv);
	//alert($(FirstPagiDiv).innerHTML);
	$(FirstPagiDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	var URL = AjaxURL;
	//alert(URL);
	//alert(params);
	new Ajax.Request(URL, {
					 	method : 'post',
						parameters : AjaxParams,
						onSuccess : function(transport){
							var res = transport.responseText;
							var splitRes = res.split("|");
							//$(FirstPagiDiv).innerHTML = "" ;
							$(ListingDiv).innerHTML = splitRes[0];
							$(FirstPagiDiv).innerHTML = splitRes[1];
													
						},
						onFailure : function()
						{
							alert("Server Error!!Please check your Network Connection");
						}
					 });
}


// register///

//////////////////////////////////////////////USER EDIT FUNCTION STARTS///////////////////////////////////////////////////////////////////

function updateUser(FormName, SuccessMessageField, FirstNameErrorField, LastNameErrorField, EmailErrorField, CountryErrorField, CityErrorField, TownErrorField, DayErrorField, MonthErrorField, YearErrorField, DateErrorField, HtmlErrorField, FormatErrorField)
{
	var ResponseURL = "ajaxserver/ResponseUpdateUser.php";
	var AjaxParam = Form.serialize(FormName);
	//alert(SuccessMessageField);
	
	$('errorFirstName').innerHTML = "";
	$('errorLastName').innerHTML = "";
	$('errorEmail').innerHTML = "";
	$('errorHomePhone').innerHTML = "";
	$('errorWorkPhone').innerHTML = "";
	$('errorCellPhone').innerHTML = "";
	$('errorDOB').innerHTML = "";
	$('errorCountry').innerHTML = "";
	$('errorCity').innerHTML = "";
	$('errorTown').innerHTML = "";
	$('errorAddress').innerHTML = "";
	//$('errorAddressDescription').innerHTML = "";
	$('errorAddress2').innerHTML = "";
	//$('errorAddressDescription2').innerHTML = "";

	var flag = true;	
	
	day = $('ddlstDOB_day').value;
	month = $('ddlstDOB_month').value;
	year = $('ddlstDOB_year').value;
	
	if(isWhitespace($('txtFirstName').value, true))
	{
		$('errorFirstName').innerHTML = FirstNameErrorField;
		flag = false;
	}
	else
		if(tagvalidate($('txtFirstName').value))
		{
			$('errorFirstName').innerHTML = HtmlErrorField;
			flag = false;
		}
	if(isWhitespace($('txtLastName').value, true))
	{
		$('errorLastName').innerHTML = LastNameErrorField;
		flag = false;
	}
	else
		if(tagvalidate($('txtLastName').value))
		{
			$('errorLastName').innerHTML = HtmlErrorField;
			flag = false;
		}
	if(isWhitespace($('txtEmail1').value, true))
	{
		$('errorEmail').innerHTML = EmailErrorField;
		flag = false;
	}
	else
		if(tagvalidate($('txtEmail1').value))
		{
			$('errorEmail').innerHTML = HtmlErrorField;
			flag = false;
		}
		else
			if(!isEmail($('txtEmail1').value))
			{
				$('errorEmail').innerHTML = FormatErrorField;
				flag = false;
			}
	if(tagvalidate($('txtHomePhone').value))
	{
		$('errorHomePhone').innerHTML = HtmlErrorField;
		flag = false;
	}
	if(tagvalidate($('txtWorkPhone').value))
	{
		$('errorWorkPhone').innerHTML = HtmlErrorField;
		flag = false;
	}
	if(tagvalidate($('txtCellPhone').value))
	{
		$('errorCellPhone').innerHTML = HtmlErrorField;
		flag = false;
	}
	if(!day)
	{
		$('errorDOB').innerHTML = DayErrorField;
		flag = false;
	}
	if(!month)
	{
		$('errorDOB').innerHTML += MonthErrorField;
		flag = false;
	}
	if(!year)
	{
		$('errorDOB').innerHTML += YearErrorField;
		flag = false;
	}
	
	if(day && month && year)
	{
		if(!checkValidDate(day, month, year))
		{
			$('errorDOB').innerHTML = DateErrorField;
			flag = false;
		}
	}
	if(isWhitespace($('ddlstCountry').value, true))
	{
		$('errorCountry').innerHTML = CountryErrorField;
		flag = false;
	}
	if(isWhitespace($('ddlstCity').value, true))
	{
		$('errorCity').innerHTML = CityErrorField;
		flag = false;
	}
	if(isWhitespace($('ddlstTown').value, true))
	{
		$('errorTown').innerHTML = TownErrorField;
		flag = false;
	}
	if(tagvalidate($('txtAddressDescription').value))
	{
		$('errorAddress').innerHTML = HtmlErrorField;
		flag = false;
	}
	
	if(flag)
	{
		new Ajax.Request(ResponseURL, {
										method : 'post',
										parameters : AjaxParam,
										onSuccess : function(transport)
										{
											/*$('txtFirstName').value = "";
											$('txtLastName').value = "";
											$('txtEmail').value = "";
											$('txtHomePhone').value = "";
											$('txtWorkPhone').value = "";
											$('txtCellPhone').value = "";
											$('ddlstDOB_day').value = "";
											$('ddlstDOB_month').value = "";
											$('ddlstDOB_year').value = "";
											$('ddlstCountry').value = "";
											$('txtCity').value = "";
											$('txtTown').value = "";
											$('txtAddress').value = "";
											$('txtAddressDescription').value = "";*/
											
											var res = transport.responseText;
											//alert(res);
											if(res == 1)
											{
												$('divMsg').innerHTML = "Error in Page Set Up";
											}
											else
											{
												resetForm(FormName);
												$('divMsg').innerHTML = SuccessMessageField;
												setTimeout("$('divMsg').innerHTML = '';", 15000);
												window.location.href = 'memberinfo.php';
											}
										},
										onFailure : function()
										{
											alert("Server Error !!\nPlease check your Network Connection !");
										}
									 }
						);
	}
}

////////////////////////////////////////////// USER EDIT FUNCTION ENDS ////////////////////////////////////////////////////////////

///////////////////////////////////////////// Cuisine listing function ////////////////////////////////////////////////////////////

function List_Cuisines(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	//alert(AjaxParams);
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


///////////////////////////////////////////// Sub-Cuisine listing function /////////////////////////////////////////////////////////

function List_SubCuisines(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Promotion listing function //////////////////////////////////////////////////////////

function list_promotions(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Restaurant listing function //////////////////////////////////////////////////////////

function ajax_restaurant_list(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Branch listing function //////////////////////////////////////////////////////////

function ajax_branch_list(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	//alert(PagingShowDiv);
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	var splitURL = AjaxURL.split('?');
	
	if( splitURL[1] )
	{
		AjaxParams += '&' + splitURL[1];
	}
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												//alert(response);
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Menu listing function //////////////////////////////////////////////////////////

function ajax_menu_list(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	var splitURL = AjaxURL.split('?');
	
	if( splitURL[1] )
	{
		AjaxParams += '&' + splitURL[1];
	}
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Update Menu status function //////////////////////////////////////////////////////////

function updateMenuStatus(updaterID, menuID, status)
{
	$(updaterID).innerHTML = "<img src='images/ajax-loader.gif' alt='loading' />";
	ajaxURL = "ajaxserver/responseUpdateMenuStatus.php";
	
	new Ajax.Request(ajaxURL, 
					 		{
					 			method : "post",
								parameters : {
												menuID : menuID,
												status : status
											 },
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												$(updaterID).innerHTML = response;
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////// Order listing function //////////////////////////////////////////////////////////

function ajax_order_list(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	var splitURL = AjaxURL.split('?');
	
	if( splitURL[1] )
	{
		AjaxParams += '&' + splitURL[1];
	}
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////// Recomended Restaurant List ////////////////////////////////////////////////////

function AutoLoadRestaurantList(LoaderID)
{
	//alert(LoaderID);
	var ResponseURL = "ajaxserver/ResponseRestaurantList.php";
	new Ajax.PeriodicalUpdater(LoaderID, ResponseURL, 
							   {
									method : 'post',
									frequency : 15,
									decay : 1
					 			});
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////// Populate City At Registration //////////////////////////////////////////////

function populateCities(value, langID, cityListID, townListID)
{
	var URL = "ajaxserver/responseCities.php";
	
	new Ajax.Request(URL, {
							method : "post",
							parameters :{
											langID : langID, 
											value : value,
											townListID : townListID
										},
							onSuccess : function(transport)
										{ 
										 	$(cityListID).innerHTML = transport.responseText;
										},
							onFailure : function()
										{
											alert("Server Error !!\nPlease check your Network Connection !");
										}
					  	 }
					); 

}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////// Populate Town At Registration //////////////////////////////////////////////

function populateTown(value, langID, townListID)
{
	var URL = "ajaxserver/responseRegionsForDropDown.php";
	
	new Ajax.Request(URL, {
							method : "post",
							parameters :{
											langID : langID, 
											value : value
										},
							onSuccess : function(transport)
										{ 
										 	//alert(transport.responseText);
											$(townListID).innerHTML = transport.responseText;
										},
							onFailure : function()
										{
											alert("Server Error !!\nPlease check your Network Connection !");
										}
					  	 }
					); 

}

//////////////////////////////////////////////////////////// Ends /////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////Populate Search Result By Cuisine/////////////////////////////////////////////

function SearchByCuisine(CuisineID)
{
	hideDiv('region');
	var AjaxURL = 'ajaxserver/ResponseCustomerHome.php?CuisineID='+CuisineID;
	var AjaxParams = 'PageIndex=1&RecordPerPage=20';
	var ListingDiv = 'FirstRestList';
	var PagiShowDiv = 'PagiShow';
	AjaxCustomerHome(AjaxURL,AjaxParams,ListingDiv,PagiShowDiv);
	/*if (getRef('ImageDiv').style.display=='none') 
	{ 
		showDiv('ImageDiv');
	}
	//$('PagiShow').hide();
	$('FirstRestList').hide();
	$('ImageDiv').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' />";
	var URL = "ajaxserver/ResponseSearchByMenu.php";
	//alert(URL);
	new Ajax.Request(URL,
	{
		method:'post',
		parameters: 
		{
			langID : langID, 
			MenuID : MenuID
		},
		onSuccess : function(transport)
		{ 
			var res = transport.responseText;
			var splitRes = res.split("|");
			$('PagiShow').innerHTML = splitRes[1];
			$('RestList').innerHTML = splitRes[0];
			//$('RestList').innerHTML =transport.responseText;
		 	$('ImageDiv').hide();
		}
  }); */

}



////////////////////////////////////////////////////////Populate Search Resualt By Town/////////////////////////////////////////////

function SearchByTown(TownID)
{
	hideDiv('region');
	var AjaxURL = 'ajaxserver/ResponseCustomerHome.php?TownID='+TownID;
	var AjaxParams = 'PageIndex=1&RecordPerPage=20';
	var ListingDiv = 'FirstRestList';
	var PagiShowDiv = 'PagiShow';
	AjaxCustomerHome(AjaxURL,AjaxParams,ListingDiv,PagiShowDiv);
	/*//alert(MenuID);
	//alert(DivID);
	//hideDiv(DivID);
	if (getRef('ImageDiv').style.display=='none') 
	{ 
		showDiv('ImageDiv');
	}
	//$('PagiShow').hide();
	$('FirstRestList').hide();
	$('ImageDiv').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' />";
	var URL = "ajaxserver/ResponseSearchByTown.php";
	//alert(URL);
	new Ajax.Request(URL,
	{
		method:'post',
		parameters: 
		{
			langID : langID, 
			TownID : TownID
		},
		onSuccess : function(transport)
		{ 
			var res = transport.responseText;
			alert(res);
			var splitRes = res.split("|");
			//alert(splitRes);
			$('PagiShow').innerHTML = splitRes[1];
			$('RestList').innerHTML = splitRes[0];
		 	$('ImageDiv').hide();
		}
  }); */

}

////////////////////////////////////////////////////////Populate Search Resualt By Restaurant/////////////////////////////////////////////

function SearchByRestaurant(ResID)
{
	hideDiv('region');
	var AjaxURL = 'ajaxserver/ResponseCustomerHome.php?ResID='+ResID;
	var AjaxParams = 'PageIndex=1&RecordPerPage=20';
	var ListingDiv = 'FirstRestList';
	var PagiShowDiv = 'PagiShow';
	AjaxCustomerHome(AjaxURL,AjaxParams,ListingDiv,PagiShowDiv);
	/*if (getRef('ImageDiv').style.display=='none') 
	{ 
		showDiv('ImageDiv');
	}
	//$('PagiShow').hide();
	$('FirstRestList').hide();
	$('ImageDiv').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' />";
	var URL = "ajaxserver/ResponseSearchByRes.php";
	//alert(URL);
	new Ajax.Request(URL,
	{
		method:'post',
		parameters: 
		{
			langID : langID, 
			ResID : ResID
		},
		onSuccess : function(transport)
		{ 
			var res = transport.responseText;
			var splitRes = res.split("|");
			$('PagiShow').innerHTML = splitRes[1];
			$('RestList').innerHTML = splitRes[0];
		 	$('ImageDiv').hide();
		},
		onFailure : function(){
			alert('Connection Failure');
		}
  }); */

}

/////////////////////////////////////////////////////////////////CutomerHome Paging Function////////////////////////////////////////

function AjaxCustomerHome(AjaxURL,AjaxParams,ListingDiv,PagiShowDiv)
{
	//alert(AjaxParams);
	if (getRef(PagiShowDiv).style.display=='none') 
	{ 
		showDiv(PagiShowDiv);
	}
	var FirstPagiDiv = PagiShowDiv;
	$(FirstPagiDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	var URL = AjaxURL;
	var splitURL = AjaxURL.split("?");
	var URL = splitURL[0];
	var extraParam = splitURL[1];
	var Params = AjaxParams+"&"+extraParam;
	new Ajax.Request(URL, {
					 	method : 'post',
						parameters : Params,
						onSuccess : function(transport){
							var res = transport.responseText;
							
							var splitRes = res.split("|");
							//alert(splitRes[1]);
							$(FirstPagiDiv).innerHTML = splitRes[1];
							$(ListingDiv).innerHTML = splitRes[0];
													
						},
						onFailure : function()
						{
							alert("Server Error!!Please check your Network Connection");
						}
					 });

}



//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

///////////////////////////////////////////// Search listing function ////////////////////////////////////////////////////////////

function searchByAnyType(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	var splitURL = AjaxURL.split('?');
	
	if( splitURL[1] )
	{
		AjaxParams += '&' + splitURL[1];
	}
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////// Random Banner Display ////////////////////////////////////////////////////

function RandomBannerDisplay(updaterID)
{
	var ajaxURL = "ajaxserver/responseBannerDisplay.php";
	new Ajax.PeriodicalUpdater(updaterID, ajaxURL, {
							   							method : "post",
														frequency : 5,
														decay : 1
													}
							   );
}

function RandomBannerDisplayForRightNav(updaterID)
{
	var ajaxURL = "ajaxserver/responseBannerDisplayRightNav.php";
	new Ajax.PeriodicalUpdater(updaterID, ajaxURL, {
							   							method : "post",
														frequency : 5,
														decay : 1
													}
							   );
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////// Random Restaurant Display ////////////////////////////////////////////////////

function RandomRestaurantDisplayForRightNav_2(updaterID)
{
	var ajaxURL = "ajaxserver/responseRandomRestaurantDisplay.php";
	new Ajax.PeriodicalUpdater(updaterID, ajaxURL, {
							   							method : "post",
														frequency : 5,
														decay : 1
													}
							   );
}
//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

///////////////////////////////////////////// Send invitation function ////////////////////////////////////////////////////////////

function send_invitation(FormName)
{
	$('ShowMsg').innerHTML = "&nbsp;";
	$('errorName').innerHTML = "";
	$('errorEmail').innerHTML = "";
	$('errorComments').innerHTML = "";
	
	var AjaxURL = "ajaxserver/responseInvitation.php";
	var AjaxParams = Form.serialize(FormName);
	var flag = true;
	
	if(isWhitespace($('txtName').value, true))
	{
		$('errorName').innerHTML = "Please enter recipient's name !";
		flag = false;
	}
	else
		if(tagvalidate($('txtName').value))
		{
			$('errorName').innerHTML = "Cannot insert Html tags !";
			flag = false;
		}
	if(isWhitespace($('txtEmail').value, true))
	{
		$('errorEmail').innerHTML = "Please enter recipient's email !";
		flag = false;
	}
	else
		if(tagvalidate($('txtEmail').value))
		{
			$('errorEmail').innerHTML = "Cannot insert Html tags !";
			flag = false;
		}
		else
			if(!isEmail($('txtEmail').value))
			{
				$('errorEmail').innerHTML = "Invalid email format !";
				flag = false;
			}
	if(isWhitespace($('txtComments').value, true))
	{
		$('errorComments').innerHTML = "Please enter comment !";
		flag = false;
	}
	else
		if(tagvalidate($('txtComments').value))
		{
			$('errorComments').innerHTML = "Cannot insert Html tags !";
			flag = false;
		}
	
	if( flag )
	{
		$('sendBtn').hide();
		$('loading').show();
		
		new Ajax.Request(AjaxURL, 
								{
									method : "post",
									parameters : AjaxParams,
									onSuccess : function(transport)
												{
													$('sendBtn').show();
													$('loading').hide();
													
													var response = transport.responseText;
													//alert(response);
													if( parseInt(response) )
													{
														resetForm(FormName);
														resetErrorFields('span');
														$('errorName').innerHTML = "";
														$('errorEmail').innerHTML = "";
														$('errorComments').innerHTML = "";
														
														$('sendBtn').show();
														$('loading').hide();
														$('ShowMsg').innerHTML = "Your invitation has been sent succesfully !!";
														
														setTimeout("$('ShowMsg').innerHTML = '';", 10000);
													}
													else
													{
														
														$('ShowMsg').innerHTML = "Unable to send invitation !";
													}
												},
									onFailure : function()
												{
													$('sendBtn').show();
													$('loading').hide();
													alert("Server Error !!\nPlease check your Network Connection !");
												}
								}
						);
	}
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

///////////////////////////////////////////// Update user address function /////////////////////////////////////////////////////////////

function updateUserAddress(FormName, EmailErrorField, HtmlErrorField, FormatErrorField, AddressErrorField, updateError, updateSuccess, divID, radioVal, action)
{
	var AjaxURL = "ajaxserver/ResponseUpdateUserAddress.php";
	var AjaxParam; // = Form.serialize(FormName);
	var flag = true;
	var not = " !";
	
	AjaxParam = 'txtEmail=' + $('txtEmail').value + '&txtCellPhone=' + $('txtCellPhone').value + '&radioVal=' + radioVal + '&action=' + action;
	
	if( radioVal == '1' && action != 'new' )
	{
		AjaxParam = AjaxParam + '&txtAddress=' + $('txtAddress').value + '&txtAddressDescription=' + $('txtAddressDescription').value;
	}
	if( radioVal == '2' || action == 'new' )
	{
		AjaxParam = AjaxParam + '&txtAddress2=' + $('txtAddress2').value + '&txtAddressDescription2=' + $('txtAddressDescription2').value;
	}
	
	//alert(AjaxParam);
	
	$('divMsg').innerHTML = "";
	$('errorEmail').innerHTML = "";
	$('errorCellPhone').innerHTML = "";
	if( radioVal == '1' && action != 'new' )
	{
		$('errorAddress').innerHTML = "";
		$('errorAddressDescription').innerHTML = "";
	}
	if( radioVal == '2' || action == 'new' )
	{
		$('errorAddress2').innerHTML = "";
		$('errorAddressDescription2').innerHTML = "";
	}
	
	if(isWhitespace($('txtEmail').value, true))
	{
		$('errorEmail').innerHTML = EmailErrorField + not;
		flag = false;
	}
	else
		if(tagvalidate($('txtEmail').value))
		{
			$('errorEmail').innerHTML = HtmlErrorField + not;
			flag = false;
		}
		else
			if(!isEmail($('txtEmail').value))
			{
				$('errorEmail').innerHTML = FormatErrorField + not;
				flag = false;
			}
	if(tagvalidate($('txtCellPhone').value))
	{
		$('errorCellPhone').innerHTML = HtmlErrorField + not;
		flag = false;
	}
	if( radioVal == '1' && action != 'new' )
	{
		if(isWhitespace($('txtAddress').value, true))
		{
			$('errorAddress').innerHTML = AddressErrorField + not;
			flag = false;
		}
		else
			if(tagvalidate($('txtAddress').value))
			{
				$('errorAddress').innerHTML = HtmlErrorField + not;
				flag = false;
			}
		if(tagvalidate($('txtAddressDescription').value))
		{
			$('errorAddressDescription').innerHTML = HtmlErrorField + not;
			flag = false;
		}
	}
	if( radioVal == '2' || action == 'new' )
	{
		if(isWhitespace($('txtAddress2').value, true))
		{
			$('errorAddress2').innerHTML = AddressErrorField + not;
			flag = false;
		}
		else
			if(tagvalidate($('txtAddress2').value))
			{
				$('errorAddress2').innerHTML = HtmlErrorField + not;
				flag = false;
			}
		if(tagvalidate($('txtAddressDescription2').value))
		{
			$('errorAddressDescription2').innerHTML = HtmlErrorField + not;
			flag = false;
		}
	}
	
	if(flag)
	{
		new Ajax.Request(AjaxURL, {
						 			method : "post",
									parameters : AjaxParam,
									onSuccess : function(transport)
												{
													var response = transport.responseText;
													var split_response = response.split('|');
													//alert(response);
													if( !parseInt(split_response[0]) )
													{
														$('divMsg').innerHTML = updateError + not;
													}
													else
													{
														//resetForm(FormName);
														$('divMsg').innerHTML = updateSuccess + not;
														setTimeout("$('divMsg').innerHTML = '';", 10000);
														
														$('openAddressForm').innerHTML = "";
														$('userInfo').innerHTML = split_response[1];
														$('addressDetail' + radioVal).innerHTML = split_response[2];
														$(divID).show();
														if( radioVal == '2' || action == 'new' )
														{
															window.location.reload();
														}
													}
												},
									onFailure : function()
												{
													alert("Server Error !!\nPlease check your Network Connection !");
													$(divID).show();
												}
						 		}
						);
	}
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

///////////////////////////////////////////// Open user address form function /////////////////////////////////////////////////////////////

function openAddressDiv(action, divID_1, divID_2, radioVal)
{
	var AjaxURL = "ajaxserver/ResponseUpdateForm.php";
	//alert(radioVal);
	new Ajax.Request(AjaxURL, {
								method : "post",
								parameters : { 
												action : action,
												divID_1 : divID_1,
												divID_2 : divID_2,
												radioVal : radioVal
											},
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												
												$(divID_1).hide();
												$(divID_2).innerHTML = response;
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
							}
					);
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

///////////////////////////////////////////// Open popup /////////////////////////////////////////////////////////////

var win = undefined;
function popup(theURL,winName,features) { //v2.0
	if(typeof(win) != "undefined") {
    win.close();
	}
	win = window.open(theURL,winName,'width=500,height=310');
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////

/////////////////////////////////////////////// Menu listing function //////////////////////////////////////////////////////////

function ajax_list_promoHome(AjaxURL, AjaxParams, ListingDiv, PagingShowDiv)
{
	$(PagingShowDiv).innerHTML = "<img src='images/horizontal-loader.gif' alt='loading' />";
	
	var splitURL = AjaxURL.split('?');
	
	if( splitURL[1] )
	{
		AjaxParams += '&' + splitURL[1];
	}
	
	new Ajax.Request(AjaxURL, 
					 		{
					 			method : "post",
								parameters : AjaxParams,
								onSuccess : function(transport)
											{
												var response = transport.responseText;
												var split_response = response.split("|");
												$(ListingDiv).innerHTML = split_response[0];
												$(PagingShowDiv).innerHTML = split_response[1];
											},
								onFailure : function()
											{
												alert("Server Error !!\nPlease check your Network Connection !");
											}
					 		}
					);						
	
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// Function to open Custom Pop Up //////////////////////////////////////////////////

function open_modal(page, width, height, bool_val)
{
	if( bool_val )
	{
		Dialog.info( {url: page, options: {method: 'get'}}, {className: "alphacube", width:width, height:height, showProgress: false} );
	}
	else
	{
		Dialog.closeInfo();
	}
}

//////////////////////////////////////////////////////////// Ends //////////////////////////////////////////////////////////////////
// Function to hide/show an element
function hide_show(toBeHide, toBeShhown)
{
	$(toBeHide).hide();
	$(toBeShhown).show();
}