var favourites_CookieName = "remax_properties_favourites";
var favourites_LoginBox;
var	favourites_RemoveBox;
var favourites_LogoutBox;
var favourites_ClearBox;
var favourites_TransactionIDs;
var favourites_LoggedIn = null;
var favourites_Show     = false;
var favourites_needsreload = false;

function _init_Favourites()
{
	if(document.getElementById("MyFavouritesMenu"))
	{
		document.getElementById("MyFavouritesMenu").onclick  = _favourites_Handler;
	}
}
function _favourites_Handler()
{
	_favourites_Login_Check();
	favourites_Show = true;
}
function _favourites_Login_HTML(TransactionID)
{
	return "<div class='heading_text_blue_underline' style='width:300px;'>Favourites Login</div>"+
		    "<div class='section_highlight' style='color:#333;width:300px;text-align:center;'>"+
		    	"<table style='font-size:12px;' cellpadding='5' cellspacing='0' align='center'>"+
		    		"<tr>"+
		    			"<td colspan='2'>"+
		    			"<div class='section_grey' id='favourites_email_login_error' style='display:none;'></div></td>"+
	    			"</tr>"+
		    		"<tr>"+
		    			"<td align='right'>Email :</td>"+
		    			"<td><input  id='favourites_login_email_input'  style='font-size:12px;' type='text' value=''></td>"+
	    			"</tr>"+
    				"<tr>"+
	    				"<td colspan='2' align='center'><input  style='font-size:12px;'  type='button' value='Save/Login' onclick='_favourites_Validate_Login_Handler("+TransactionID+")'></td>"+
	    			"</tr>"+
	    		"</table>"
			+"</div>";
}
function _favourites_Logout_HTML()
{
	return "<div class='heading_text_blue_underline' style='width:300px;'>Favourites Logout</div>"+
		    "<div class='section_highlight' style='color:#333;width:300px;text-align:center;'>"+
		    	"<table style='font-size:12px;' cellpadding='5' cellspacing='0' align='center'>"+
		    		"<tr>"+
		    			"<td colspan='2' align='right'>Are you sure you want to log out?</td>"+
	    			"</tr>"+
    				"<tr>"+
	    				"<td  align='center'><input  style='font-size:12px;'  type='button' value='No' onclick='favourites_LogoutBox._close();'></td>"+
	    				"<td  align='center'><input  style='font-size:12px;'  type='button' value='Yes' onclick='_favourite_clear_cookie_back_home();'></td>"+
	    			"</tr>"+
	    		"</table>"
			+"</div>";
}
function _favourites_Clear_Favourites_HTML()
{
	return "<div class='heading_text_blue_underline' style='width:300px;'>Favourites Clear</div>"+
		    "<div class='section_highlight' style='color:#333;width:300px;text-align:center;'>"+
		    	"<table style='font-size:12px;' cellpadding='5' cellspacing='0' align='center'>"+
		    		"<tr>"+
		    			"<td colspan='2' align='left'>Are you sure you want to clear all your favourites?</td>"+
	    			"</tr>"+
    				"<tr>"+
	    				"<td  align='center'><input  style='font-size:12px;'  type='button' value='No' onclick='favourites_ClearBox._close();'></td>"+
	    				"<td  align='center'><input  style='font-size:12px;'  type='button' value='Yes' onclick='_favourites_Clear_All_favourites();'></td>"+
	    			"</tr>"+
	    		"</table>"
			+"</div>";
}
function _favourites_Login_Check()
{
	var favourites_Email = _favourites_Read_Email_Cookie();
	switch(favourites_Email!=null)
	{
		case true:
			_favourites_show_favourites(favourites_Email);
		break;
		default:
			favourites_LoginBox = new MaJiG_BOX(_favourites_Login_HTML());
		break;
	}
}
function _favourites_Validate_Login_Handler(TransactionID)
{

	var favourites_Email = trim($('favourites_login_email_input').value);
	switch(favourites_Email!="")
	{
		case true:
			CtrlCall("/?page=data&content=main&param=function:_wishlist_Email_validate;","data="+favourites_Email,"_favourites_Login_Handler",TransactionID);
		break;
		default:
			$('favourites_email_login_error').style.display = 'block';
			$('favourites_email_login_error').innerHTML = "<strong>Please fill in an Email Address</strong>";
		break;
	}
}
function _favourites_Login_Handler(response,TransactionID)
{
	var favourites_Email_response = $M(response);
		
	switch(favourites_Email_response['email'] == 'invalid')
	{
		case true:
			$('favourites_email_login_error').style.display = 'block';
			$('favourites_email_login_error').innerHTML = "<strong>Please fill in a Valid Email Address</strong>";
		break;
		default:
			favourites_LoginBox._close();
			_favourites_Create_Email_Cookie(favourites_Email_response['email']);
			if (TransactionID)
			{
				_favourites_Set(favourites_Email_response['email'],TransactionID);
			}
			favourites_LoggedIn = favourites_Email_response['email'];
			
			if (favourites_needsreload)
			{
				window.location.reload(false);
				return;
			}

			if(favourites_Show)
			{
				_favourites_show_favourites(favourites_LoggedIn);
			}
		break;
	}
}
function _favourites_Set(Email,TransactionID)
{
	var data                = $A();
	data['email']			= Email;
 	data['transactionID']	= TransactionID;
 	
	CtrlCall("/?page=data&content=main&param=function:_wishlist_set_wishlist;lang:js;","data="+serialize(data),"_favourites_loggedHandler",TransactionID);
}
function _favourites_loggedHandler(response,TransactionID)
{
	//var favourites_Email_response = $M(response);
	if ($("savelink_" + TransactionID))
	{
		$("savelink_" + TransactionID).innerHTML = "<span style='color: #cc0000'>In Favourites</span>";
	}
	alert('This property has successfully been added to your favourites');

}
function _favourites_Get_Favourites(Email)
{
	CtrlCall("/?page=data&content=main&param=function:_wishlist_get_properties;","data="+favourites_LoggedIn,"_favourites_Get_Transactions_handler");
}
function _favourites_Get_Transactions_handler(response)
{
	var tmp = $M(response);
	favourites_TransactionIDs = $H();
	tmp.property_Data.Properties.Property.each(function(property)
	{
		favourites_TransactionIDs[property.TransactionID] = property.TransactionID;		
	});
}
function _favourite_remove_favourite(Email,TransactionID)
{
	favourites_RemoveBox    = new MaJiG_BOX("<table class='section_grey' style='width:300px;height:300px;background-color:#f1f1f1;font-size:12px;'><tr><td align='center'><img src ='../_shared/images/property_search/remaxloading.gif' align='middle'></td></tr><tr><td align='center'>Removing favourite...</td></tr></table>");
	var data                = $A();
	data['email']			= Email;
 	data['transactionID']	= TransactionID;
	CtrlCall("/?page=data&content=main&param=function:_wishlist_remove_property;lang:js;","data="+serialize(data),"_favourite_remove_favourite_handler");
	
}
function _favourite_remove_favourite_handler(response)
{
	_get_SearchResult_PropertyIDs();
	favourites_RemoveBox._close();
}
function _favourites_show_favourites(email)
{
	setTimeout("window.location = '/Property-One-Liners/Favourites/"+email+"/';",10);
}
function _favourites_Read_Email_Cookie()
{
	var nameEQ = favourites_CookieName + "=";
	
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') 
		{
			c = c.substring(1,c.length);
		}
		if (c.indexOf(nameEQ) == 0)
		{ 
			return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}
function _favourite_Logout()
{
	favourites_LogoutBox    = new MaJiG_BOX(_favourites_Logout_HTML());
}
function _favourite_clear_cookie_back_home()
{
	_favourites_Delete_Email_Cookie();
	favourites_LogoutBox._close();
	setTimeout("window.location = '?page=home'",10);
}
function _favourite_Clear()
{
	favourites_ClearBox    = new MaJiG_BOX(_favourites_Clear_Favourites_HTML());
}
function _favourites_Create_Email_Cookie(value)
{
	var date = new Date();
	date.setTime(date.getTime()+86400000); // 24 hours
		
	var expires = "; expires="+date.toGMTString();
	document.cookie = favourites_CookieName+"="+value+expires+"; path=/";
	
}
function _favourites_Delete_Email_Cookie(value)
{
	document.cookie = favourites_CookieName+"=null;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
}
function _favourites_Clear_All_favourites()
{
	_favourite_remove_favourite(favourites_LoggedIn,"clear");
	favourites_RemoveBox._close();
	favourites_ClearBox._close();
}