
// global variables
// ----------------------------------------------------------------------------------------------------------------------------

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_open																													*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_open ()
{
	window.location.href = "index2.php?id=3&eventType=" + document.getElementById("eventType").value;
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_loadHtmlData																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function loadHtmlData (objName, httpIndex)
{
	var xmlResponse = new xmlObj(false);
	xmlResponse.init(commonDecode(asyncHttpObjs[httpIndex].responseText));

	try	
	{
		eventBlink_checkAfterUpdate (xmlResponse);
	}
	catch (e)
	{
		// doing nothing - we are not in the event page
	}

	htmlData = xmlResponse.getValue("htmlData");

	obj = document.getElementById(objName);

	switch (obj.tagName)
	{
		case "IMG"	: obj.src 		= htmlData;		break;
		case "SPAN"	: 
		case "DIV"	: obj.innerHTML	= htmlData;		break;
	}
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_onSelectCategory																										*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_onSelectCategory (forUpdate)
{
	if (forUpdate == undefined) forUpdate = 0;

	var selectedCategory = document.getElementById("pgisha_category").value;

	xml  = 	"<request>" +
				"<command>private.doAction</command>" +
				"<action>loadEventTypes</action>" 	  +
				"<object>wizard</object>"	  		  +
				"<category>" + selectedCategory 	  + "</category>"		+
				"<forUpdate>" + forUpdate 	  + "</forUpdate>"		+
			"</request>";
		
	xmlRequest.init (xml);
	xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "wizard_loadSubCategories_response");

}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_loadSubCategories_response																							*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_loadSubCategories_response (i)
{
	loadHtmlData ("subCategories", i);
}

var currHelp = "pgisha_start_step1";

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_showHelp																												*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_showHelp (which)
{
	if (currHelp != which)
	{
		document.getElementById("help_" + currHelp).style.display = "none";
		currHelp = which;
		document.getElementById("help_" + currHelp).style.display = "";
	}
}

var currPolicyType = "";

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_selectPolicy																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_selectPolicy (oRadio)
{
	currPolicyType = oRadio.value;

	if (oRadio.value == "public")
	{
		document.getElementById("pgisha_password").disabled  	= true;
		document.getElementById("pgisha_password").className 	= "disabled";
		document.getElementById("pgisha_password").value  		= "";
		document.getElementById("pgisha_showInSearch").checked	= true;
		document.getElementById("pgisha_showInSearch").disabled = true;
	}
	else
	{
		document.getElementById("pgisha_password").disabled  	= false;
		document.getElementById("pgisha_password").className 	= "";
		document.getElementById("pgisha_showInSearch").disabled = false;
	}
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_confirmStep1																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_confirmStep1 ()
{
	var parentName  = "newEventStep1";
	var x			= 120;
	var y			= 20;

	// # pgisha name
	if (document.getElementById("pgisha_name").value == "")
	{
		showInfoMsg ("יש להזין שם לפגישה", parentName, x, y, "pgisha_name");
		return false;
	}

	// # pgisha owner
	if (document.getElementById("pgisha_owner").value == "")
	{
		showInfoMsg ("יש להזין את שם המארגן", parentName, x, y, "pgisha_owner");
		return false;
	}

	// # policy type
	if (currPolicyType == "")
	{
		showInfoMsg ("יש לבחור את מדיניות הפגישה", parentName, x, y, "pgisha_owner");
		return false;
	}


	// # pgisha password
	if (document.getElementById("pgisha_password").disabled == false && 
		document.getElementById("pgisha_password").value    == "")
	{
		showInfoMsg ("יש להזין סיסמא לפגישה", parentName, x, y, "pgisha_password");
		return false;
	}

	// prepare step 2
	document.getElementById("title_eventName").innerHTML		= document.getElementById("pgisha_name").value;
	document.getElementById("title_owner").innerHTML			= document.getElementById("pgisha_owner").value;

	// get event top tabs by type
	var selectedCategory = document.getElementById("pgisha_category").value;

	xml  = 	"<request>" +
				"<command>private.doAction</command>" +
				"<action>getEventTabs</action>" 	  +
				"<object>wizard</object>"	  		  +
				"<category>" + document.getElementById("pgisha_category").value 	  + "</category>"		+
			"</request>";
		
	xmlRequest.init (xml);
	xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "wizard_confirmStep1_response");
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_confirmStep1_response																									*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_confirmStep1_response (i)
{
	var xmlResponse = new xmlObj(false);
	xmlResponse.init(commonDecode(asyncHttpObjs[i].responseText));

	topTabs = xmlResponse.getValue("topTabs");
	document.getElementById("eventTabsIn").innerHTML = topTabs;
	
	right = xmlResponse.getValue("right");
	document.getElementById("eventRight").innerHTML = right;
	
	currHelp = "pgisha_start_step2";

	// go to step 2
	document.getElementById("eventWizard_step1").style.display  = "none";
	document.getElementById("eventWizard_step2").style.display  = "";

}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_selectArea																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_selectArea ()
{
	if (document.getElementById("pgisha_area").value == "")
	{
		document.getElementById("cities").innerHTML = "<select id='pgisha_city' class='smallSelectField' disabled='false'></select>";
	}
	else
	{
		xml  = 	"<request>" +
					"<command>private.doAction</command>" +
					"<action>getCitiesByArea</action>" 	  +
					"<object>wizard</object>"	  		  +
					"<area>" + document.getElementById("pgisha_area").value 	  + "</area>"		+
				"</request>";
		
		xmlRequest.init (xml);
		xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "wizard_selectArea_response");	
	}
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_selectArea_response																									*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_selectArea_response (i)
{
	loadHtmlData ("cities", i);
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_startNewMember																										*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_startNewMember (oField)
{
	if (oField.value.length > 1)
		document.getElementById("member_login_email").value = "";
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_confirmStep2																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_confirmStep2 ()
{
	var parentName  = "eventCenterIn";
	var x			= 100;
	var y			= 64;

	// validate

	// # hour
/*	var oHour		= document.getElementById("pgisha_hour");
	if (oHour.value != "")
	{
		if (!checkTime (oHour.value))
		{
			showErrorMsg ("יש להזין שעה חוקית", parentName, x, y, "pgisha_hour");
			return false;
		}
	}
*/
	var memberId		= document.getElementById("memberId").innerHTML;
	if (memberId != 0)
	{
		wizard_addNewEvent (memberId);
		return;
	}
		
	var oLoginEmail		= document.getElementById("member_login_email");
	var oRegisterEmail	= document.getElementById("member_register_email");

	if (oLoginEmail.value != "")
	{
		// try to login
		if (!validateEmailv2(oLoginEmail.value))
		{
			showErrorMsg ("יש להזין אימייל חוקי", parentName, x, y, "member_login_email");
			return false;
		}

		var oPassword  	= document.getElementById("member_login_password");

		if (oPassword.value == "")
		{
			showErrorMsg ("יש להזין סיסמת התחברות");
			oPassword.focus ();
			return false;
		}

		xml  = 	"<request>" +
					"<command>private.doAction</command>" 			+
					"<action>handleMember</action>" 	  	  		+
					"<object>wizard</object>"	  		  			+
					"<memberAction>login</memberAction>" 			+
					"<email>" + oLoginEmail.value  + "</email>" 	+
					"<password>" + oPassword.value + "</password>"  +
				"</request>";
			
		xmlRequest.init (xml);
		xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "afterHandleMember");
	}
	else if (oRegisterEmail.value != "")
	{
		if (!validateEmailv2(oRegisterEmail.value))
		{
			showErrorMsg ("יש להזין אימייל חוקי", parentName, x, y, "member_register_email");
			return false;
		}

		var oPassword  		 = document.getElementById("member_register_password");
		var oPasswordConfirm = document.getElementById("member_register_confirm");

		if (oPassword.value == "")
		{
			showErrorMsg ("יש להזין סיסמת משתמש", parentName, x, y, "member_register_password");
			return false;
		}

		if (oPasswordConfirm.value == "")
		{
			showErrorMsg ("יש להזין אימות סיסמה");
			oPasswordConfirm.focus ();
			return false;
		}
		
		if (oPassword.value != oPasswordConfirm.value)
		{
			showErrorMsg ("הסיסמא והאימות אינם תואמים", parentName, x, y, "member_register_confirm");
			return false;
		}

		var oVerification	= document.getElementById("pgisha_verification");
		if (oVerification.value == "")
		{
			showErrorMsg ("נא לרשום את התווים המופיעים במסגרת", parentName, x, y, "pgisha_verification");
			return false;
		}
		
		var oTerms 			= document.getElementById("member_register_terms");
		if (!oTerms.checked)
		{
			showErrorMsg ("יש לאשר קריאת תנאי השימוש", parentName, x, y, "member_register_terms");
			return false;
		}

		xml  = 	"<request>" +
					"<command>private.doAction</command>" 			+
					"<action>handleMember</action>" 	  	  		+
					"<object>wizard</object>"	  		  			+
					"<memberAction>register</memberAction>" 		+
					"<email>" 		 		+ oRegisterEmail.value 	+ "</email>" 			+
					"<password>" 	 		+ oPassword.value 		+ "</password>"  		+
					"<verification>" 		+ oVerification.value 	+ "</verification>"		+
					"<verificationImgId>" 	+ document.getElementById("verificationImgId").innerHTML + "</verificationImgId>" +
					"<ownerName>"			+ document.getElementById("pgisha_owner").value 		 + "</ownerName>" 		  +
				"</request>";
			
		xmlRequest.init (xml);
		xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "afterHandleMember");
	}
	else
	{
		showErrorMsg ("יש להתחבר כמשתמש רשום או להרשם לאתר", parentName, x, y);
		return false;
	}
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* afterHandleMember																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function afterHandleMember (i)
{
	var xmlResponse = new xmlObj(false);
	xmlResponse.init(commonDecode(asyncHttpObjs[i].responseText));

	errorMsg = xmlResponse.getValue("errorMsg");

	if (errorMsg != "")
	{
		showErrorMsg (errorMsg);

		newImgId = xmlResponse.getValue("newImgId");
		newImg   = xmlResponse.getValue("newImg");

		if (newImg != "")
		{
			document.getElementById("verificationImgId").innerHTML = newImgId;
			document.getElementById("pgisha_verificationImg").src  = newImg;

			document.getElementById("pgisha_verification").value   = "";
		}

		return false;
	}

	var parentName = "eventCenter";
	if (document.getElementById(parentName) == undefined)
		parentName = "eventCenterConnect";

	document.getElementById("confirmPgisha").style.display 		   = "none";
	document.getElementById("confirmPgishaDisabled").style.display = "";

	showWaitMsg ("המתן,<br/> נתוני הפגישה נשמרים", parentName, 100, 64);

	var memberId = xmlResponse.getValue("memberId");
	wizard_addNewEvent (memberId);
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_addNewEvent																											*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_addNewEvent (memberId)
{
	if (document.getElementById("pgisha_showInSearch").checked)
		showInSearch = "1";
	else
		showInSearch = "0";

	email    = "";
	password = "";
	if (memberId == 0)
	{
		email	 = document.getElementById("member_register_email").value;
		password = document.getElementById("member_register_password").value;
	}

	xml  = 	"<request>" +
				"<command>private.doAction</command>" 												+
				"<action>addNewEvent</action>"	 	  	  											+
				"<object>wizard</object>"	  		  												+
				"<memberAction>addNewEvent</memberAction>" 											+
				"<memberId>"    	+ memberId 			    										+ "</memberId>"  	 	+
				"<email>" 	 		+ email  														+ "</email>" 		 	+
				"<password>"  		+ password 														+ "</password>"  	 	+
				"<eventName>"   	+ document.getElementById("pgisha_name").value 					+ "</eventName>" 	 	+
				"<eventOwner>"  	+ document.getElementById("pgisha_owner").value 				+ "</eventOwner>" 	 	+
				"<eventSlogan>" 	+ document.getElementById("pgisha_slogan").value 				+ "</eventSlogan>"   	+
				"<eventType>"   	+ document.getElementById("pgisha_subCategory").value   		+ "</eventType>" 	 	+
				"<description>"   	+ document.getElementById("pgisha_description").value   		+ "</description>" 	 	+
				"<policyType>" 		+ currPolicyType												+ "</policyType>"  	 	+
				"<eventPassword>" 	+ document.getElementById("pgisha_password").value 				+ "</eventPassword>" 	+
				"<showInSearch>" 	+ showInSearch													+ "</showInSearch>"  	+
				"<eventDate>"   	+ document.getElementById("pgisha_date").value 					+ "</eventDate>" 	 	+
				"<eventTime>"   	+ document.getElementById("pgisha_hour").value 					+ "</eventTime>" 	 	+
				"<eventCity>"   	+ document.getElementById("pgisha_city").value 					+ "</eventCity>" 	 	+
				"<eventAddress>"   	+ document.getElementById("pgisha_address").value 				+ "</eventAddress>"  	+
				"<ageRange>"   		+ document.getElementById("pgisha_participantAgeRange").value 	+ "</ageRange>" 	 	+
				"<participantType>"	+ document.getElementById("pgisha_participantType").value 		+ "</participantType>" 	+
			"</request>";
			
	xmlRequest.init (xml);
	xmlRequest.sendAsyncRequest ("server.php", xmlRequest.obj, "wizard_addNewEvent_response");
}

/* ----------------------------------------------------------------------------------------------------------------------------	*/
/* wizard_addNewEvent_response																									*/
/* ----------------------------------------------------------------------------------------------------------------------------	*/
function wizard_addNewEvent_response (i)
{
	var xmlResponse = new xmlObj(false);
	xmlResponse.init(commonDecode(asyncHttpObjs[i].responseText));

	eventId = xmlResponse.getValue("eventId");

	if (eventId != "")
	{
		window.location.href = "index2.php?id=" + eventId;
	}
}

