/* -----------------------------------------------------
	Modal Methods
 ---------------------------------------------------- */

// Show Modal
function ShowModal(Name, QueryString) {

	// Show Overlay (Shadow Mask)
	document.getElementById('ModalOverlay').style.display = '';
	//document.getElementById('ModalOverlay').style.height = $('Page').getHeight(); <!-- IE6 ) force the overlay height to the calculated height of the 'Page' div -->

	// Hide Trouble Elements (IE6)
	/*var TroubleTags = $$('.HideDuringModal');
	for (i=0; i<TroubleTags.length;i++) {
		TroubleTags[i].style.visibility = 'hidden';
	}*/

	// Get Popup (AJAX Method)
	new Ajax.Updater('Modals', 'http://internal.idstudios.net/new.lifestylefood.com.au/modals/' + Name + '/Popup.asp?' + QueryString, {
		method: 'post',
		onComplete: function(e) {

			// Centre the modal
			CentreModal();

			// Did they click 'forgot my password'?
			if (QueryString == 'ForgotMyPassword') {
				ShowForgotPassword();
			}
		}
	});

}

// Close Modal
function CloseModal() {
	
	// Hide Modal
	document.getElementById('Modals').innerHTML = '';
	document.getElementById('ModalOverlay').style.display = 'none';
	
	// Restore Trouble Elements (IE6)
	var TroubleTags = $$('.HideDuringModal');
	for (i=0; i<TroubleTags.length;i++) {
		TroubleTags[i].style.visibility = 'visible';
	}
	
}

// Centre Modal
function CentreModal() {

	var objModal = document.getElementById('Modals');

	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	//var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - objModal.offsetHeight) / 2);
	var lightboxTop 	= ((arrayPageSize[3] - objModal.offsetHeight) / 2);
	var lightboxLeft 	= ((arrayPageSize[0] - objModal.offsetWidth) / 2);

	objModal.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
	objModal.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";

}

/*	========================
	SUCCESS/ERROR ) MESSAGES
	========================  */
function ShowModalMessage(MessageType, Message) {
	document.getElementById('ModalMessage_Container').style.display = 'block';
	document.getElementById('ModalMessage_Container').className = MessageType + '_message';
	document.getElementById('ModalMessage').innerHTML = Message;
}


/*	--------------------------------------------------
	Login (Methods)
 	-------------------------------------------------- */

// Login
function Login(EMail,Password, Remember) {

	new Ajax.Request('../Modals/MemberLogin/Login.asp', {
		method: 'post',
		parameters: {
			EMail: EMail,
			Password: Password,
			Remember: Remember
		},
		onSuccess: function(transport) {
			if (transport.responseText == 'Success') {
				ShowModalMessage('success', '<strong>Thanks,</strong> we are logging you in...');
				location.reload();
			} else {
				ShowModalMessage('error', 'Please check your details, and try again.');
			};
		}
	});

}

// Login ) for reminders modal it includes type SMS/EML and GuideID
function RemindersLogin(EMail,Password, Type, GuideID) {

	new Ajax.Request('../Modals/MemberLogin/Login.asp', {
		method: 'post',
		parameters: {
			EMail: EMail,
			Password: Password
		},
		onSuccess: function(transport) {
			if (transport.responseText == 'Success') {
				// relaunch reminders modal
				ShowModal('Reminders', 'Type='+Type+'&GuideID='+GuideID)
			} else {
				ShowModalMessage('error', 'Please check your details, and try again.');
			};
		}
	});

}

// Send forgot my password mailout
function SendForgotPasswordMailout(EMail) {

	new Ajax.Request('../Modals/MemberLogin/SendForgotPassword.asp', {
		method: 'post',
		parameters: {
			EMail: EMail
		},
		onSuccess: function(transport) {
			if (transport.responseText == 'Success') {
				ShowModalMessage('success', '<strong>Thanks!</strong> Your password has been sent to your inbox.');
			} else {
				ShowModalMessage('error', 'Please provide a valid email address.');
			};
		}
	});

}

// show forgot my password
function ShowForgotPassword() {
	document.getElementById('Login').style.display = 'none';
	document.getElementById('JoinNow').style.display = 'none';
	document.getElementById('ForgotPassword').style.display = 'block';
}


/*	===================
	REMINDERS ) Methods
	===================  */

// Save reminder
function SaveReminder(EMail, Mobile, GuideID, Delay, Type) {

	//ShowModalMessage('SettingsAndResponseContainer', 'Reminder saved');

	new Ajax.Updater('SettingsAndResponseContainer','../Modals/Reminders/SaveReminder.asp', {
		method: 'post',
		parameters: {
			EMail: EMail,
			Mobile: Mobile,
			GuideID: GuideID,
			Delay: Delay,
			Type: Type
		}
	});
}

/*	=======================
	EAT OUT GUIDE ) Methods
	=======================  */

// Send restaurant to friend
function SendRestaurantDetailsToFriend(RestaurantID) {

	new Ajax.Request('../../restaurants/ECards/SendToFriend.asp', {
		method: 'post',
		parameters: {
			RestaurantID: RestaurantID,
			Friend1Name: Friend1Name,
			Friend2Name: Friend2Name,
			Friend3Name: Friend3Name,
			Friend1EMail: Friend1EMail,
			Friend2EMail: Friend2EMail,
			Friend3EMail: Friend3EMail
		},
		onSuccess: function(transport) {
			if (transport.responseText == 'Success') {
				ShowModalMessage('success', '<strong>Thanks!</strong> The emails have been sent.');
			} else {
				ShowModalMessage('error', 'Please provide a valid email address.');
			};
		}
	});

}



// Save to My Cookbook
function SaveToCookbook(CookbookID, CookbookName, RecipeID) {

	new Ajax.Request('../../recipes/Tools/SaveCookbook.asp', {
		method: 'post',
		parameters: {
			CookbookID: CookbookID,
			CookbookName: CookbookName,
			RecipeID: RecipeID
		},
		onSuccess: function(transport) {
			$('Cookbooks').innerHTML = transport.responseText;
			$('SaveCookBook').toggle();
			$('SaveToMyCookBook').toggle();
			$('SaveToMyCookBookStatus').innerHTML = 'Saved to My Cookbook';
			$('CookBookSuccess').style.display = 'block'
		}
	});

}



// Save to My Cookbook (CHEF PAGE)
function SaveToCookbookChefProfile(CookbookID, CookbookName, RecipeID, Theme, Chef) {

	new Ajax.Request('../../chefs/Tools/SaveNewCookbook.asp', {
		method: 'post',
		parameters: {
			CookbookID: CookbookID,
			CookbookName: CookbookName,
			RecipeID: RecipeID,
			Theme: Theme,
			Chef: Chef
		},
		onSuccess: function(transport) {
			$('CookbookList').innerHTML = transport.responseText;
	   		$('CreateNewCookBook').style.display = 'none';
			$('SaveCookBook').toggle();
			$('SaveToMyCookBook').toggle();
			$('SaveToMyCookBookStatus').innerHTML = 'Saved to My Cookbook';
			$('CookBookSuccess').style.display = 'block'
		}
	});

}



// Save Status
function SaveStatus(Status) {

	new Ajax.Request('../chefs/Tools/SaveStatus.asp', {
		method: 'post',
		parameters: {
			Status: Status
		},
		onSuccess: function(transport) {
			$('ChefStatus').innerHTML = transport.responseText;
			$('NewStatus').value = 'What Are You Cooking?';
		}
	});

}
