//Java Script for all villa front end
var AJAX1 = AJAXrequest();  
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
	        IsNumber = false;
      }
    }

	return IsNumber;
}
function MoreInfo(id,action) 
{
        document.frm.action=action + id;
        document.frm.submit();
}
function ValidateCustomer(id,action) 
{
	 if(document.frm.cust_title.value.split(" ").join("").length==0)
	{
	   alert("Please Select Title.");
	   document.frm.cust_title.focus();
	   return false;
	}
	if(document.frm.cust_fname.value.split(" ").join("").length==0)
	{
	   alert("Please Enter Firstname.");
	   document.frm.cust_fname.focus();
	   return false;
	}
	if(document.frm.cust_lname.value.split(" ").join("").length==0)
	{
	   alert("Please Enter Surname.");
	   document.frm.cust_lname.focus();
	   return false;
	}
	if(document.frm.cust_email.value.split(" ").join("").length==0)
	{
	  alert("Please Enter Email address.");
	  document.frm.cust_email.focus();
	  return false;
	}
	else if(!isEmail(document.frm.cust_email.value))
	{
		alert("Please enter a valid email address.");
		document.frm.cust_email.focus();
		return false;
	}

	if(document.frm.cust_telephone.value.split(" ").join("").length ==0)
	{
	   alert("Please Enter Telephone.");
	  document.frm.cust_telephone.focus();
	  return false;
	}  	
	if(document.frm.cust_address.value.split(" ").join("").length ==0)
	{
		alert("Please Enter Address.");
	  document.frm.cust_address.focus();
	  return false;
	}
	if(document.frm.cust_postcode.value.split(" ").join("").length ==0)
	{
		alert("Please Enter Postcode.");
	  document.frm.cust_postcode.focus();
	  return false;
	}	
	  document.frm.action=action + id;
  	  document.frm.submit();
	  return true;
}
function SearchVilla(action) 
{
        if(document.getElementById('search_box').value=='')
        {
            alert('Please enter search value.');              
            return false;
        }
		action = action+"&search_box="+document.getElementById('search_box').value;
        document.frm.action=action;
        document.frm.submit();
}

var thisaction;
function CheckAccomodation(id,action,Accomodation) 
{
		var gNow = new Date();								
		
		var gNowFullYear=gNow.getFullYear();
		var gNowMonth=gNow.getMonth() + 1;
		var gNowDate=gNow.getDate();
		thisaction = action;
		
		var adults=parseInt(document.getElementById('adults').value);
		var children=parseInt(document.getElementById('children').value);
		var infants=parseInt(document.getElementById('infants').value);
		
		var date=parseInt(document.getElementById('date').value);
		var month=parseInt(document.getElementById('month').value);
		var year=parseInt(document.getElementById('year').value);	
		var nights=document.getElementById('nights').value;
		var totalpeople=infants + children + adults;		
				
		if((year < gNowFullYear) || (gNowFullYear == year && month < gNowMonth) || (gNowFullYear == year && gNowMonth==month && date <= gNowDate))		
		{
			alert('Arrival Date should be greater than current date.');              
            return false;
		}	
		else if(nights == "")
		{
			alert('Please Enter Number of nights.');   
			document.getElementById('nights').focus();
            return false;			
		}
		else if(IsNumeric(nights) == false || nights==0)
		{
			alert('Please Enter Numeric Value for Number of nights.');              
			document.getElementById('nights').value = "";
			document.getElementById('nights').focus();
            return false;
		}
		else if(nights < 3)
		{
			alert('Minimum 3 Nights Stay Required.');
			document.getElementById('nights').focus();
            return false;	
		}		
        else if(totalpeople>Accomodation)
        {
            alert('Traveling people are more than villa accomodation.');              
            return false;
        }
		else if(totalpeople==0)
	    {
	        alert('Please select number of people traveling.');              
            return false;
        }
		nights=parseInt(document.getElementById('nights').value);
		Check_Villa_Available(id, date, month, year, nights, action);		
		
		return false;
}

function Check_Villa_Available(villa_id, booking_day, booking_month, booking_year, booking_nights, action)	
{   
	var poststr = 'villa_id=' + villa_id+'&booking_day=' + booking_day+'&booking_month=' + booking_month+'&booking_year=' + booking_year+'&booking_nights=' + booking_nights+'&action=' + action;

	var url = 'admin/plugins/Villa/frontend_AJAX_processor.php?a=check_avaibility';
	AJAX1.open('POST', url, true);
	AJAX1.onreadystatechange = ResponseCheck_Villa_Available;
	AJAX1.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	AJAX1.setRequestHeader('Content-length', poststr.length);
	AJAX1.setRequestHeader('Connection', 'close');
	AJAX1.send(poststr);
}

function ResponseCheck_Villa_Available()
{
  if (AJAX1.readyState == 4) 
  {
	 if (AJAX1.status == 200) 
	 {
		var result = AJAX1.responseText;

		if(result == "Booked")
		{
			alert("This villa is already booked on given date");
		}
		else
		{
			document.frm.action = thisaction;
			document.frm.submit();
		}			
	 }    
	 else 
	 {
		alert('There was a problem processing your request, please try again in a moment');
	 }

  }
}

function change_image(task)
{
	if(task == 'pre')
	{
		imgid--;
		newimg = 'img' + imgid;
		document.getElementById('org_img').src = eval(newimg);    
		
		if(imgid == 1)
		{
			document.getElementById('pre_id').style.display='none';
		}    
		if(imgid != 4)
		{
			document.getElementById('next_id').style.display='';
		}                    
	}
	else
	{
		imgid++;
		newimg = 'img' + imgid;
		document.getElementById('org_img').src = eval(newimg);
		
		if(imgid == 4)
		{
			document.getElementById('next_id').style.display='none';
		}
		if(imgid != 4)
		{
			document.getElementById('pre_id').style.display='';
		}
	}    
}
function review(action) 
{
   document.frm.action=action;
   document.frm.submit();
}


function ResultRedeemDiscount() 
{
  if (AJAX1.readyState == 4) 
  {
	 if (AJAX1.status == 200) 
	 {
		//alert(AJAX1.responseText);
		var result = AJAX1.responseText;                    
		if(result == 'Not Found')
		{
			alert('Promotional code does not exist');
		}
		else if(result =='Expired')
		{
			alert('Promotional Code expired. No more in use');			
		}
		else
		{
			var org_result = result;	
			result = result.replace("Freebie__","");	
			
			if(result.length != org_result.length)
			{
				document.getElementById('promotionalcode').value=document.getElementById('redeem_code').value;
				document.getElementById('promotional_product').value= result;
				document.getElementById('Freebie_id').innerHTML= " (<strong>Freebie Item:</strong> "+result+")";		
			}
			else
			{
				result = result.replace("Percentage_","");	
				
				if(result.length != org_result.length)
				{
					var did_amt = parseFloat((parseFloat(document.getElementById('villa_charge').innerHTML) * parseFloat(result))/100);
				}
				else
				{
					var did_amt = result;
				}
				
				document.getElementById('finalval').innerHTML = parseFloat(document.getElementById('finalval').innerHTML) - parseFloat(did_amt);
				document.getElementById('promotionalcode').value=document.getElementById('redeem_code').value;
				document.getElementById('promotionalamount').value= parseFloat(did_amt);			
				document.getElementById('btn_redeem').disabled="disabled";
				document.getElementById('redeem_code').readonly=true;		
			}
		 }
	 }    
	 else 
	 {
		alert('There was a problem processing your request, please try again in a moment');
	 }

  }

}

function redeem_discount() 
{
  
  var redeem_code = document.getElementById('redeem_code').value;
   
  var poststr = 'redeem_code=' + redeem_code;
 
  var url = 'admin/plugins/Villa/frontend_AJAX_processor.php?a=details_villa';
  AJAX1.open('POST', url, true);
  
  AJAX1.onreadystatechange = ResultRedeemDiscount;

  AJAX1.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

  AJAX1.setRequestHeader('Content-length', poststr.length);

  AJAX1.setRequestHeader('Connection', 'close');

  //alert('sending');

  AJAX1.send(poststr);

  //alert('sent');

}
function find_val(id, val,faci_id)
{	
	extra_faci_ids=document.getElementById('extra_faci_ids').value;
		
	
	if(document.getElementById('task_'+id).value == 'plus')
	{		
		document.getElementById('extra_faci_ids').value=checkinarray(faci_id,extra_faci_ids);		
		document.getElementById('image_chage_'+id).src='images/minus-green.gif';
		
		if(IsNumeric(val) == true)	
			document.getElementById('finalval').innerHTML = parseFloat(document.getElementById('finalval').innerHTML) + parseFloat(val);
			
		document.getElementById('task_'+id).value = 'minus';
	}
	else
	{
		document.getElementById('extra_faci_ids').value=deletefromarray(faci_id,extra_faci_ids);
		document.getElementById('image_chage_'+id).src='images/plus_green.gif';
		
		if(IsNumeric(val) == true)	
			document.getElementById('finalval').innerHTML = parseFloat(document.getElementById('finalval').innerHTML) - parseFloat(val);
	
		document.getElementById('task_'+id).value = 'plus';
	} 
	
	//alert(document.getElementById('extra_faci_ids').value);
}
function checkinarray(val,ary)
{
	var id_array = new Array();
	
	bool=false;	
	
	if(ary!='')
	{
		id_array=ary.split(',');		
		for(i=0;i<id_array.length;i++)
		{
				if(id_array[i]==val)
					bool=true;
		}
		if(!bool)
			id_array.push(val);	
	}	
	else
		id_array.push(val);	
		
	return id_array.toString();
		
}
function deletefromarray(val,ary)
{
	var id_array = new Array();
	
	bool=false;	
	
	if(ary!='')
	{
		id_array=ary.split(',');		
		for(i=0;i<id_array.length;i++)
		{				
				if(id_array[i]==val)
					id_array.splice(i,1);
		}
	}	
	return id_array.toString();
}
function makerating(rate)
{
	var finalratewidth = rate*18;
	document.getElementById('current-rating').style.width = finalratewidth+"px";
	document.getElementById('given_rate').value = rate;
}
function show_hide_facility(hidid,imgid,divid)
{         
    if(document.getElementById(hidid).value == 'plus')
    {
        document.getElementById(imgid).src='images/red_1.jpg';
        document.getElementById(divid).style.display='block'; 
        document.getElementById(hidid).value ='minus';        
    }
    else
    {
        document.getElementById(imgid).src='images/red_11.gif';
        document.getElementById(divid).style.display='none'; 
        document.getElementById(hidid).value ='plus';        
    }     
}
function isEmail(str) 
{
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
	var tempStr = "a";
	var tempReg = new RegExp(tempStr);
	if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
	  return (!r1.test(str) && r2.test(str));
}

function bookmark(title,url)
{
   if (document.all)
     window.external.AddFavorite(url, title);
   else if (window.sidebar)
     window.sidebar.addPanel(title, url, "")
   else if (window.sidebar&&window.sidebar.addPanel)
     window.sidebar.addPanel(title,url,"");
}

function openpopup_window(moduleid,vid)
{	
	window.open ("admin/plugins/Villa/email_this_page.php?D="+moduleid+"&villa_id="+vid,"mywindow","location=0,toolbar=no,scrollbars=0, width=295,height=260,top=300,left=300");	
}

function set_partial_selection(flag, amount_pay)
{
	document.getElementById('google_is_partial').value = flag;
	document.getElementById('paypal_is_partial').value = flag;	
	document.getElementById('pay_amount1').innerHTML = amount_pay;	
	document.getElementById('pay_amount2').innerHTML = amount_pay;	
}


function SearchCheckAccomodation()
{
	var gNow = new Date();								
	var gNowFullYear=gNow.getFullYear();
	var gNowMonth=gNow.getMonth() + 1;
	var gNowDate=gNow.getDate();
	
	var adults=parseInt(document.getElementById('adults').value);
	var children=parseInt(document.getElementById('children').value);
	var infants=parseInt(document.getElementById('infants').value);

	var date=parseInt(document.getElementById('date').value);
	var month=parseInt(document.getElementById('month').value);
	var year=parseInt(document.getElementById('year').value);	
	var nights=document.getElementById('nights').value;
	var totalpeople=infants + children + adults;		

	if((year < gNowFullYear) || (gNowFullYear == year && month < gNowMonth) || (gNowFullYear == year && gNowMonth==month && date <= gNowDate))		
	{
		alert('Arrival Date should be greater than current date.');              
		return false;
	}	
	else if(nights == "")
	{
		alert('Please Enter Number of nights.');   
		document.getElementById('nights').focus();
		return false;			
	}
	else if(IsNumeric(nights) == false || nights==0)
	{
		alert('Please Enter Numeric Value for Number of nights.');              
		document.getElementById('nights').value = "";
		document.getElementById('nights').focus();
		return false;
	}
	else if(nights < 5)
	{
		alert('Minimum 5 Nights Stay Required.');
		document.getElementById('nights').focus();
		return false;	
	}		
	else if(totalpeople==0)
	{
		alert('Please select number of people traveling.');              
		return false;
	}	
	
	document.frm_villa_search.submit();
}