/***********************************
* HoaecDisplayActions.js
*
* Defines all the actions involving the 
* displaying of forms via AJAX requests
* and other display interactions
*
* Created By eculver
* Created On 01/18/08
************************************/

// Modal Window Default Values
var mw_id = "dialog";
var mw_underlay = "shadow";
var mw_modal = true;
var mw_close = true;
var mw_visible = false;
var mw_fixedcenter = true;
var mw_contraintoviewport = true;
var mw_effect = {effect:YAHOO.widget.ContainerEffect.FADE, duration: 0.5};

// Global Modal Window
var modal_window = new YAHOO.widget.Panel(mw_id,
	{	underlay:mw_underlay,
		modal:mw_modal,
		close:mw_close,
		visible:mw_visible,
		fixedcenter:mw_fixedcenter,
		constraintoviewport:mw_contraintoviewport,
		effect:mw_effect
	}
);

// IE6 width hack for modal window, sets width to be a fixed 500px.
var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
if(IE6)
	modal_window.cfg.setProperty("width", "500px");	

/***********************************
* openModalWindow
*
* Grabs content via asynchronous 
* HTTP request to passed in url and 
* postData and displays response in
* a modal window. Assumes that the 
* call returns valid HTML
************************************/
function openModalWindow(url, postData, caption) {
	var handleSuccess = function(o){ 
		if(o.responseText !== undefined){ 
			// set up the dialog and show it.
			modal_window.setHeader(caption);
			modal_window.setBody(o.responseText);
			modal_window.render(document.body);
			modal_window.show();
		} 
		else alert('Sorry, there was an error, please try again.');
	}
	var handleFailure = function() { alert('Request Failed'); }
	var callback = { success:handleSuccess, failure: handleFailure }; 
	var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

/***********************************
* showLoginForm
*
* displays login form within a modal 
* window.
************************************/
function showLoginForm(refurl) {
	var url = forms_base_url + "LoginForm.php";
	var postData = "refurl="+refurl;
	openModalWindow(url, postData, "Please Login");
	
	//var url = forms_base_url + "LoginForm.php?refurl="+refurl;
	//MOOdalBox.open(url, "Please Login", "400 350");
}

/***********************************
* showLogoutForm
*
* displays logout confirmation in  a modal 
* window.
************************************/
function showLogoutForm() {
	var url = forms_base_url + "LogoutForm.php";
	openModalWindow(url, null, "Logout?");
	
	//var url = forms_base_url + "LogoutForm.php";
	//MOOdalBox.open(url, "Logout?", "300 200");
}

/***********************************
* showSignupForm
*
* displays signup form in a modal 
* window.
************************************/
function showSignupForm(refid) {
	var url = forms_base_url + "SignupForm.php";
	var postData = "refid=" + refid;
	openModalWindow(url, postData, "Join GGSS");
	
	//var url = forms_base_url + "SignupForm.php?refid=" + refid;
	//MOOdalBox.open(url, "Join GGSS", "550 450");
}

/***********************************
* showSignupCaptchaForm
*
* displays signup captcha form in a 
* modal window.
************************************/
function showSignupCaptchaForm(frm) {
	var username = Crypter.encode(trim(frm.uname.value));
	var fullname = Crypter.encode(trim(frm.fname.value));
	var email    = Crypter.encode(trim(frm.email.value));
	var password = Crypter.encode(trim(frm.password.value));
	
	var url = forms_base_url + "SignupCaptchaForm.php";
	var postData = "u="+username+"&f="+fullname+"&e="+email+"&p="+password;
	openModalWindow(url, postData, "Confirm");
	
	//var qs = Object.toQueryString({u: username, f: fullname, e: email, p: password});
	//var url = forms_base_url + "SignupCaptchaForm.php?"+ qs;
	//MOOdalBox.open(url, "Confirm", "400 375");
}


/***********************************
* showForgotPasswordForm
*
* displays forgot password form in  a modal 
* window.
************************************/
function showForgotPasswordForm() {
	var url = forms_base_url + "ForgotPasswordForm.php";
	openModalWindow(url, null, "Forgot Password");
	
	//var url = forms_base_url + "ForgotPasswordForm.php";
	//MOOdalBox.open(url, "Forgot Password", "350 250");
}

/***********************************
* showChangePasswordForm
*
* displays change password form in  a modal 
* window.
************************************/
function showChangePasswordForm(user_id) {
	var url = forms_base_url + "ChangePasswordForm.php";
	var postData = "u="+user_id;
	openModalWindow(url, postData, "Change Password");
	
	//var url = forms_base_url + "ChangePasswordForm.php?u="+user_id;
	//MOOdalBox.open(url, "Change Password", "400 320");
}

/***********************************
* showChangeEmailForm
*
* displays change email form in  a modal 
* window.
************************************/
function showChangeEmailForm(user_id) {
	var url = forms_base_url + "ChangeEmailForm.php";
	var postData = "u="+user_id;
	openModalWindow(url, postData, "Change Email");
	
	//var url = forms_base_url + "ChangeEmailForm.php?u="+user_id;
	//MOOdalBox.open(url, "Change Email", "400 320");
}

/***********************************
* showCommentForm
*
* displays comment form within a modal 
* window.
************************************/
function showAddCommentForm(category, post_id, user_id, refurl) {
	var url = forms_base_url + "AddCommentForm.php";
	var postData = "category="+category+"&post_id="+post_id+"&user_id="+user_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Add A Comment"); 
	
	//var url = forms_base_url + "AddCommentForm.php?category="+category+"&post_id="+post_id+"&user_id="+user_id+"&refurl="+refurl;
	//MOOdalBox.open(url, "Add A Comment", "400 450");
}

/***********************************
* showAddGiftForMysteryForm
*
* displays the add gift idea form within
* a modal window. Unique because for the
* f_post_id in query string
************************************/
function showAddGiftForMysteryForm(post_id, user_id, variable) {
	var url = forms_base_url + "AddGiftIdeaForm.php";
	var postData = "type_id=2&f_post_id="+post_id+"&variable="+variable+"&user_id="+user_id;
	openModalWindow(url, postData, "Solve A Mystery");
	
	//var url = forms_base_url + "AddGiftIdeaForm.php?type_id=2&f_post_id="+post_id+"&user_id="+user_id;
	//MOOdalBox.open(url, "Suggest A Gift For This Mystery!", "500 550");
}

/***********************************
* showAddGiftForCategoryForm
*
* displays the add gift idea form within
* a modal window unique because of the
* variable in query string
************************************/
function showAddGiftForCategoryForm(user_id, variable) {
	var url = forms_base_url + "AddGiftIdeaForm.php";
	var postData = "type_id=3&variable="+variable+"&user_id="+user_id;
	openModalWindow(url, postData, "Add A Gift Idea");
	
	//var url = forms_base_url + "AddGiftIdeaForm.php?type_id=3&variable="+variable+"&user_id="+user_id;	
	//MOOdalBox.open(url, "Add A Gift Idea!", "500 550");
}

/***********************************
* showAddGiftIdeaForm
*
* displays the add gift idea form within
* a modal window. 
************************************/
function showAddGiftIdeaForm(user_id) {
	var url = forms_base_url + "AddGiftIdeaForm.php";
	var postData = "type_id=1&f_post_id=0&user_id="+user_id;
	openModalWindow(url, postData, "Add A Gift Idea");
	
	//var url = forms_base_url + "AddGiftIdeaForm.php?type_id=1&f_post_id=0&user_id="+user_id;	
	//MOOdalBox.open(url, "Add A Gift Idea!", "500 550");
}

/***********************************
* showAddGiftwrapIdeaForm
*
* displays the add gift idea form within
* a modal window. 
************************************/
function showAddGiftwrapIdeaForm(user_id, refurl) {
	var url = forms_base_url + "AddGiftwrapIdeaForm.php";
	var postData = "user_id="+user_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Add A Gift Wrap Idea");
	
	//var url = forms_base_url + "AddGiftwrapIdeaForm.php?user_id="+user_id+"&refurl="+refurl
	//MOOdalBox.open(url, "Add A Giftwrap Idea!", "500 500");
}

/***********************************
* showAddGiftMysteryForm
*
* displays the add gift mystery form within
* a modal window. 
************************************/
function showAddGiftMysteryForm(type_id, user_id, refurl) {
	var url = forms_base_url + "AddGiftMysteryForm.php";
	var postData = "type_id="+type_id+"&user_id="+user_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Add A Gift Mystery");
	
	//var url = forms_base_url + "AddGiftMysteryForm.php?type_id="+type_id+"&user_id="+user_id+"&refurl="+refurl;
	//MOOdalBox.open(url, "Add A Gift Mystery!", "500 500");
}

/***********************************
* showAddGiftStoryForm
*
* displays the add gift story form within
* a modal window. 
************************************/
function showAddGiftStoryForm(user_id, refurl) {
	var url = forms_base_url + "AddGiftStoryForm.php";
	var postData = "user_id="+user_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Add A Gift Story");
	
	//var url = forms_base_url + "AddGiftStoryForm.php?user_id="+user_id+"&refurl="+refurl;
	//MOOdalBox.open(url, "Add A Gift Story!", "500 500");
}

/***********************************
* showAddGiftTraditionForm
*
* displays the add gift tradition form within
* a modal window. 
************************************/
function showAddGiftTraditionForm(user_id, refurl) {
	var url = forms_base_url + "AddGiftTraditionForm.php";
	var postData = "user_id="+user_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Add A Gift Tradition");
	
	//var url = forms_base_url + "AddGiftTraditionForm.php?user_id="+user_id+"&refurl="+refurl;
	//MOOdalBox.open(url, "Add A Gift Tradition!", "500 500");
}

/***********************************
* showGiftIdeaDetails
*
* Makes an asynchronous call to a php 
* php script that generates formatted
* gift details by id. Called by modal window.
************************************/
function showGiftIdeaDetails(gift_id, caption) { // gift_id refers to the official HOAEC gift id NOT the modx post id
	var url = actions_base_url + "displayGiftIdea.php";
	var postData = "id="+gift_id;
	openModalWindow(url, postData, caption);
	
	//var url = actions_base_url + "displayGiftIdea.php?id="+gift_id;
	//MOOdalBox.open(url, caption, "500 500");
}

/***********************************
* showGiftwrapIdeaDetails
*
* Makes an asynchronous call to a php 
* php script that generates formatted
* giftwrap details by post id. Called by modal 
* window.
************************************/
function showGiftwrapIdeaDetails(post_id, caption) {
	var url = actions_base_url + "displayGiftwrapIdea.php";
	var postData = "id="+post_id;
	openModalWindow(url, postData, caption);
	
	//var url = actions_base_url + "displayGiftwrapIdea.php?id="+post_id;
	//MOOdalBox.open(url, caption, "500 500");
}

/***********************************
* showGiftMysteryDetails
*
* Makes an asynchronous call to a php 
* php script that generates formatted
* gift mystery details by post id.
* Called by modal window.
************************************/
function showGiftMysteryDetails(post_id, caption) {
	var url = actions_base_url + "displayGiftMystery.php";
	var postData = "id="+post_id;
	openModalWindow(url, postData, caption);
	
	//var url = actions_base_url + "displayGiftMystery.php?id="+post_id;
	//MOOdalBox.open(url, caption, "500 500");
}

/***********************************
* showGiftStoryDetails
*
* Makes an asynchronous call to a php 
* php script that generates formatted
* gift story details by post id.
* Called by modal window.
************************************/
function showGiftStoryDetails(post_id, caption) {
	var url = actions_base_url + "displayGiftStory.php";
	var postData = "id="+post_id;
	openModalWindow(url, postData, caption);
	
	//var url = actions_base_url + "displayGiftStory.php?id="+post_id;
	//MOOdalBox.open(url, caption, "500 500");
}

/***********************************
* showGiftTraditionDetails
*
* Makes an asynchronous call to a php 
* php script that generates formatted
* gift tradition details by post id.
* Called by modal window.
************************************/
function showGiftTraditionDetails(post_id, caption) {
	var url = actions_base_url + "displayGiftTradition.php";
	var postData = "id="+post_id;
	openModalWindow(url, postData, caption);
	
	//var url = actions_base_url + "displayGiftTradition.php?id="+post_id;
	//MOOdalBox.open(url, caption, "500 500");
}

/***********************************
* showGiftRatingBox
*
* Makes an asynchronous call to a php 
* php script that generates a formatted
* gift rating box. Called by modal window.
************************************/
function showGiftRatingBox(user_id, gift_id, variable_id) {
	var url = actions_base_url + "getGiftRatingBox.php";
	var postData = "user_id="+user_id+"&gift_id="+gift_id+"&variable_id="+variable_id;
	openModalWindow(url, postData, "Rate This Gift");
	
	//var url = actions_base_url + "getGiftRatingBox.php?user_id="+user_id+"&gift_id="+gift_id+"&variable_id="+variable_id;
	//MOOdalBox.open(url, "Rate This Gift", "600 600");
}

/***********************************
* showUnpublishForm
*
* displays unpublish form within a modal 
* window.
************************************/
function showUnpublishForm(post_category_id, post_id, refurl) {
	var url = forms_base_url + "UnpublishForm.php";
	var postData = "pcid="+post_category_id+"&poid="+post_id+"&refurl="+refurl;
	openModalWindow(url, postData, "Unpublish Post");
	
	//var qs = Object.toQueryString({pcid: post_category_id, pid: post_id, refurl: refurl});
	//var url = forms_base_url + "UnpublishForm.php?"+ qs;
	//MOOdalBox.open(url, "Unpublish Post", "350 200");
}

/***********************************
* showReferralForm
*
* displays the referral form within
* a modal window. 
************************************/
function showReferralForm() {
	var url = forms_base_url + "ReferralForm.php";
	openModalWindow(url, null, "Invite Someone To GGSS");
	
	//var url = forms_base_url + "ReferralForm.php";
	//MOOdalBox.open(url, "Invite Someone To GGSS!", "500 500");
}

/***********************************
* showExpertCategories
*
* Makes an asynchronous call to a php 
* php script that finds and displays
* a user's expert categories.
************************************/
function showExpertCategories() {
	var url = actions_base_url + "displayExpertCategories.php";
	openModalWindow(url, null, "My Expert Categories");
	
	//var url = actions_base_url + "displayExpertCategories.php";
	//MOOdalBox.open(url, "My Expert Categories", "400 300");
}

/***********************************
* showApproveGiftIdeaForm
*
* Shows the form where gift details
* will be input such as Name, 
* Description, Vendor, etc.
************************************/
function showApproveGiftIdeaForm(idea_id, idea_name) {
	var url = forms_base_url + "ApproveGiftIdeaForm.php";
	var postData = "id=" + idea_id + "&name=" + idea_name;
	openModalWindow(url, null, "Approve A Gift Idea");
	
	//var url = forms_base_url + "ApproveGiftIdeaForm.php?id=" + idea_id + "&name=" + idea_name;
	//MOOdalBox.open(url, "Approve A Gift Idea", "700 700");
}

/***********************************
* showDisapproveGiftIdeaForm
*
* Makes an asynchronous call to a php 
* php script that finds and displays
* a user's expert categories.
************************************/
function showDisapproveGiftIdeaForm(idea_id, idea_name) {
	var url = forms_base_url + "DisapproveGiftIdeaForm.php";
	var postData = "id=" + idea_id + "&name=" + idea_name;
	openModalWindow(url, null, "Disapprove A Gift Idea");
	
	//var url = forms_base_url + "DisapproveGiftIdeaForm.php?id=" + idea_id + "&name=" + idea_name;
	//MOOdalBox.open(url, "Disapprove A Gift Idea", "400 400");
}

/***********************************
* showRemoveGiftIdeaForm
*
* displays the remove gift idea form 
* within a modal window. 
************************************/
function showRemoveGiftIdeaForm(idea_id) {
	var url = forms_base_url + "RemoveGiftIdeaForm.php";
	var postData = "id=" + idea_id;
	openModalWindow(url, postData, "Remove A Gift Idea");
	
	//var url = forms_base_url + "RemoveGiftIdeaForm.php?id=" + idea_id;
	//MOOdalBox.open(url, "Remove A Gift Idea!", "500 500");
}

/***********************************
* showWhatIsAGreatGift
*
* displays the "What is a great gift"
* page within a modal window
************************************/
function showWhatIsAGreatGift() {
	var url = "WhatIsAGreatGift.htm";
	openModalWindow(url, null, "What is a great gift?");
}

/***********************************
* showWhatIsAGiftMystery
*
* displays the "What is a great gift"
* page within a modal window
************************************/
function showWhatIsAGiftMystery() {
	var url = "WhatIsAGiftMystery.htm";
	openModalWindow(url, null, "What is a gift mystery?");
}

/***********************************
* showWhatIsAGiftCategory
*
* displays the "What is a great gift"
* page within a modal window
************************************/
function showWhatIsAGiftCategory() {
	var url = "WhatIsAGiftCategory.htm";
	openModalWindow(url, null, "What is a gift category?");
}

/***********************************
* showWhatShouldIDo
*
* displays the "What should I do"
* page within a modal window
************************************/
function showWhatShouldIDo() {
	var url = "WhatShouldIDo.htm";
	openModalWindow(url, null, "What should I do?");
}

/***********************************
* showPDT
*
* displays the Product Discovery Tool
* in a popup window.
************************************/
function showPDT() {
	window.open("/ggsse/", "pdt","location=no,menubar=no,scrollbars=no,status=no,resizable=no,width=800,height=600");
}

/***********************************
* showLoading
*
* displays the loading image for a given 
* div element. 
************************************/
function showLoading(e) {
	$(e).innerHTML = "<div class='ajax-loading' style='width: 100%'>loading...</div>";
}

/***********************************
* hideLoading
*
* hides the loading image for a given 
* div element. 
************************************/
function hideLoading(e) {
	$(e).innerHTML = "";
}
