﻿//Client Tab Initiate //////////////////////////////////////////////////////////
	// Get My Tab
	var MyPage = "Invite";
	
	function myTab()
	{
		var sTab = Cookies.pTab1;
		if(sTab >= 1)
			return sTab;
		else
			return 1;
	}
	    
	var tpg1;
	
    window.onload = function()
    {
      tpg1 = new xTabPanelGroup('tpg1', 0, 1310, 25, 'tabPanel', 'tabGroup', 'tabDefault', 'tabSelected', false);
      tpg1.select(myTab());
      xAddEventListener(window, 'resize', winOnResize, false);
	  
	  Nifty("div#menu", "big top");
	  Nifty("ul#nav a","small transparent top");
	  Nifty("div.TitleBar","transparent top");
	  Nifty("div.TitleBar2","transparent top");
	  
		//Get Saved Invite
		var iPage = location.href;
		var PageCheck = iPage.indexOf("RSVP");
		
		if(Cookies.SavedInviteID)
		{
			if(GetMyElement("userID") >= 1)
			{
				PageCheck >= 1 ? StartRSVPPage(Cookies.SavedInviteID) : Get_Invitation(Cookies.SavedInviteID);
			}
				
		}
    }
    
    function winOnResize()
    {
      if (!winOnResize.tmr) {
        winOnResize.tmr = setTimeout("tpg1.onResize();winOnResize.tmr=null;", 500);
      }
    }
    
    winOnResize.tmr = null;
// End Client Tabs ///////////////////////////////////////////////////////////////////

// Invitation Creation ///////////////////////////////////////////////////////////////////
function Validate_Tab1(){
	var pass = true;
	var iType = GetMyElement('InviteType');
	
	if(iType == 'SaveDate')
		var ChkFields = new Array('InviteType','InviteTitle','TemplateID','LocationName','StartDate','StartTime','InviteType');
	else
	    var ChkFields = new Array('InviteType', 'InviteTitle', 'TemplateID', 'LocationName', 'StartDate', 'StartTime', 'RSVPBy','InviteType');
	
	// grab all input fields to validate
	var ip = document.getElementsByTagName('input');
    //alert(ChkFields.length);
	for (var i=0;i < ChkFields.length; i++){
	    //Find Element
	    var ele = document.getElementById(ChkFields[i]);
	    val = ele.value;
	    if(val == '' || val == 0)
	    {
	    ele.style.backgroundColor = '#FFFF00';
	    pass = false;
	}
    else
    {
	    ele.style.backgroundColor = '';
	    }
    }
	
    if(!pass)
    {
	    SetMyHTML('err_text', 'Please complete hi-lighted fields before saving...');
    }
	
	return pass;
}

function GetSelectType(ele) {

    if (ele)
        var iType = ele.value;
    else
        var iType = GetMyElement("InviteType");
        
	var sdDisplay = false;
	
	if(iType == 'SaveDate')
	{
		sdDisplay = true;
		setDisplay('CustomSelectForm', false);
		setDisplay('SaveTheDateSelect', true);
	}
	else
	{
		sdDisplay = false;
		setDisplay('CustomSelectForm', true);
		setDisplay('SaveTheDateSelect', false);
	}
	
	//Toggle Non-SD Fields
	var sdRows = 8;
	for(var i = 0; i <= sdRows; i++)
	{
		var sdFld = document.getElementById("sd"+i);
		setDisplay(sdFld, !sdDisplay);
	}
}

function SaveInvitation(){
	if(Validate_Tab1()){
	var cd = InviteList.GetInvitationClass().value;
	cd.InvitationID = GetMyElement('InvitationID');
	cd.UserID = GetMyElement('userID');
	cd.TemplateID = GetMyElement('TemplateID');
	cd.InviteType = GetMyElement('InviteType');
	cd.InviteTitle = GetMyElement('InviteTitle');
	cd.Opening = GetMyElement('Opening');
	cd.LocationName = GetMyElement('LocationName');
	cd.LocationAddress = GetMyElement('LocationAddress');
	cd.LocationCity = GetMyElement('LocationCity');
	cd.LocationState = GetMyElement('LocationState');
	cd.LocationZip = GetMyElement('LocationZip');
	cd.StartDate = GetMyElement('StartDate');
	cd.StartTime = GetMyElement('StartTime');
	cd.ReceptionLocation = GetMyElement('ReceptionLocation');
	cd.ReceptionAddress = GetMyElement('ReceptionAddress');
	cd.ReceptionCity = GetMyElement('ReceptionCity');
	cd.ReceptionState = GetMyElement('ReceptionState');
	cd.ReceptionZip = GetMyElement('ReceptionZip');
	cd.ReceptionDate = GetMyElement('ReceptionDate');
	cd.ReceptionTime = GetMyElement('ReceptionTime');
	cd.InviteMessage = GetMyElement('InviteMessage');
	cd.RSVPBy = GetMyElement('RSVPBy');
	
	//Pass class to server, Save data
	InviteList.Process_Invitation(cd, SaveInvitationCallback);
	}
}

function SaveInvitationCallback(res){
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			SetMyElement('InvitationID', res.value);
			ListInvitations();
			GetCustomSelectList();
			SetMyHTML('err_text', '');
			tpg1.select(2);
		}
		else
		{
			alert(res.value);
		}
	}
}


function Get_InvitationLookup(ele){
	//alert(ele);
	if(MyPage == "Invite")
	{
		if(ele.value >= 1){
			var u = GetMyElement("userID");
			InviteList.GetInvitation(ele.value, u, FillInvitationForm);
		}
		else
		{
			Cookies.erase("SavedInviteID");
			location.href = "InviteList.aspx";
		}
	}
	else
	{
		StartRSVPPage(ele.value);
	}
}

function Get_Invitation(ele){
	//alert(ele);
	if(ele >= 1){
		var u = GetMyElement("userID");
		InviteList.GetInvitation(ele, u, FillInvitationForm);
	}
	else
	{
		Cookies.erase("SavedInviteID");
		location.href = "InviteList.aspx";
	}
}

function FillInvitationForm(res){
	if(res.value == null || res.error != null) return false;
	var dTable = res.value.Tables[0].Rows[0];
	try
	{
		SetMyElement('InvitationID',escapeNull(dTable.InvitationID,0));
		SetMyElement('TemplateID',escapeNull(dTable.TemplateID,''));
		SetMyElement('InviteTitle', escapeNull(dTable.InviteTitle, ''));
		SetMyElement('InviteType', escapeNull(dTable.InviteType, ''));
		SetMyElement('Opening',escapeNull(dTable.Opening,''));
		SetMyElement('LocationName',escapeNull(dTable.LocationName,''));
		SetMyElement('LocationAddress',escapeNull(dTable.LocationAddress,''));
		SetMyElement('LocationCity',escapeNull(dTable.LocationCity,''));
		SetMyElement('LocationState',escapeNull(dTable.LocationState,''));
		SetMyElement('LocationZip',escapeNull(dTable.LocationZip,''));
		SetMyElement('StartDate',ConvertDate(dTable.StartDate));
		SetMyElement('StartTime',escapeNull(dTable.StartTime,''));
		SetMyElement('ReceptionLocation',escapeNull(dTable.ReceptionLocation,''));
		SetMyElement('ReceptionAddress',escapeNull(dTable.ReceptionAddress,''));
		SetMyElement('ReceptionCity',escapeNull(dTable.ReceptionCity,''));
		SetMyElement('ReceptionState',escapeNull(dTable.ReceptionState,''));
		SetMyElement('ReceptionZip',escapeNull(dTable.ReceptionZip,''));
		SetMyElement('ReceptionDate',ConvertDate(escapeNull(dTable.ReceptionDate,'')));
		SetMyElement('ReceptionTime',escapeNull(dTable.ReceptionTime,''));
		SetMyElement('InviteMessage',escapeNull(dTable.InviteMessage,''));
		SetMyElement('RSVPBy',ConvertDate(escapeNull(dTable.RSVPBy,'')));
		SetMyElement('InviteVideo',escapeNull(dTable.InviteVideo,''));
		SetMyElement('VideoType', escapeNull(dTable.VideoType, ''));
		SetMyElement('InviteType', escapeNull(dTable.InviteType, ''));
		
		//alert("Vid Type: " + dTable.VideoType + " Video: " + dTable.InviteVideo);
		
		SetMyHTML('date_row','Created: ' + dTable.create_date + ' | Modified: ' + escapeNull(dTable.mod_date,''));
		SetMyHTML('err_text','');
		SetMyHTML('gInviteTitle', 'Modify Details: ' + escapeNull(dTable.InviteTitle,''));
		GetCustomSelectList();
		ListGiftItems();
		UpdateVideo();
		GetSelectType();
		ListInvitations();
		
		//Remember This Invite Selection
		Cookies.create("SavedInviteID", GetMyElement("InvitationID"), 500);
	}
	catch(e)
	{
		//No stuff found...
	}
}

function StartRSVPPage(invite)
{
	uArray = new Array();
	MyPage = "RSVP";
	SetMyElement('InvitationID', invite);
	GetGuestSummary();
	GetSelectionSummary();
	QuickInviteSearch();
}

function ListInvitations()
{
	var u = GetMyElement("userID");
	var i = GetMyElement("InvitationID");
	GlobalAjax.MySavedInvitations(u, i, ListInvitationsCallback);
}

function ListInvitationsCallback(res)
{
	var d = document.getElementById("InvitationList");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function Delete_Invitation(ele){
if(ele >= 1){
	if(confirm('Are you sure you want to delete this Invitation? This will also remove all RSVP and Custom Selection entries.'))
		InviteList.DeleteInvitation(ele, Delete_InvitationCallback);
	}
}

function Delete_InvitationCallback(res)
{
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			location.href = "InviteList.aspx";
		}
		else
		{
			//alert(res.value);
			ShowAlert("Error Removing Invitation", "There was an error removing this invitation... If you have responses to this invitation, it will not be removed.");
		}
	}
}

function GetGuestSummary()
{
	var Invite = GetMyElement("InvitationID");
	GlobalAjax.GetResponseSummary(Invite, GuestSummaryCallback);
}

function GuestSummaryCallback(res)
{
	var d = document.getElementById("GuestResponseList");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function PrintGuestResponse()
{
	var ivite = GetMyElement("InvitationID");
	var result = GlobalAjax.PrintRSVPList(ivite).value;
	if(ivite >= 1)
	{
		ContentsWindow(result, 'My RSVP List');
	}
}

function GetSelectionSummary()
{
	var Invite = GetMyElement("InvitationID");
	GlobalAjax.GetSelectionSummary(Invite, SelectSummaryCallback);
}

function SelectSummaryCallback(res)
{
	var d = document.getElementById("SelectionSummary");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function PrintSelectionResponse()
{
	var ivite = GetMyElement("InvitationID");
	var result = GlobalAjax.GetSelectionSummary(ivite).value;
	if(ivite >= 1)
	{
		ContentsWindow(result, 'My Selection Summary List');
	}
}

// Gift Registry Items /////////////////////////////////////////////////////////////////////
function ListGiftItems()
{
	var Invite = GetMyElement("InvitationID");
	InviteList.GetGiftRegistry(Invite, ListGiftsCallback);
}

function ListGiftsCallback(res)
{
	var d = document.getElementById("RegistryList");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function SaveGiftItem()
{
    if (GetMyElement("RegistryLink") != "" && GetMyElement("GiftText") != "") {
        var GiftID = 0;
        var Invite = GetMyElement("InvitationID");
        var LookVal = GetMyElement("RegistryLink");
        var gText = GetMyElement("GiftText");
        if (Invite >= 1)
            InviteList.Process_GiftRegistry(GiftID, Invite, LookVal, gText, GiftChangeCallback);
        else
            ShowAlert("No Invitation", "Please select or create an invitation first...");
    }
    else {
        SetMyHTML('err_text2', 'Please complete both required items before saving...');
    }
}

function ChangeGiftItem(ele)
{
	var pid = ele.id;
	var GiftID = pid.replace("g", "");
	var Invite = GetMyElement("InvitationID");
	var LookVal = ele.value;
	InviteList.Process_GiftRegistry(GiftID, Invite, LookVal, GiftChangeCallback);
}

function GiftChangeCallback(res)
{
	var fld = document.getElementById("RegistryLink");
	
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			ListGiftItems();
			SetMyElement("RegistryLink", "");
			fld.focus();
		}
		else
		{
			alert(res.value);
		}
	}
}

function RemoveGiftItem(LookupID)
{
	if(confirm("Are you sure you want to remove this registry item?"))
	{
		InviteList.DeleteGiftRegistry(LookupID, GiftChangeCallback);
	}
}

function LoadRegistry(url) {
    var webTest = url.indexOf("http");

    //alert(webTest);
    (webTest >= 0) ? window.open(url) : window.open('http://' + url)
}

// Lookup Selection Groups/Items   //////////////////////////////////////////////////////
function GetCustomSelectList()
{
	var UserID = GetMyElement("userID");
	var Invite = GetMyElement("InvitationID");
	
	if(Invite >= 1)
		InviteList.GetCustomSelectList(UserID, Invite, CustomListSelectCallback);
}

function CustomListSelectCallback(res)
{
	var d = document.getElementById("InviteSelections");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function ToggleGroupSelect(slID, tog)
{
	var Invite = GetMyElement("InvitationID");
	InviteList.ToggleSelectList(slID, Invite, tog, ToggleSelectCallback);
}

function ToggleSelectCallback(res)
{
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			GetCustomSelectList();
		}
		else
		{
			alert(res.value);
		}
	}
}

function SelectLookupList()
{
	var UserID = GetMyElement("userID");
	InviteList.SelectLookupValues(UserID, 'client', SelectLookupCallback);
}

function SelectLookupCallback(res)
{
	var d = document.getElementById("MySelectionList");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function EditLookup(sID, sName)
{
	SetMyElement("SelectLookupID", sID);
	SetMyElement("SelectGroupName", sName);
	InviteList.GetSelectItemValues(sID, sName, SelectItemLookupCallback);
}

function EditLookupNoPass()
{
	var sID = GetMyElement("SelectLookupID");
	var sName = GetMyElement("SelectGroupName");
	InviteList.GetSelectItemValues(sID, sName, SelectItemLookupCallback);
}


function SelectItemLookupCallback(res)
{
	var d = document.getElementById("SelectionItems");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function RemoveLookup(LookupID)
{
	if(confirm("Are you sure you want to remove this lookup value?  This will also remove the items you\'ve added to this group..."))
	{
		InviteList.DeleteSelectLookup(LookupID, SelectChangeCallback);
	}
}

function SaveSelectType()
{
	if(GetMyElement("NewSelectValue") != "")
	{
		var LookID = 0;
		var UserID = GetMyElement("userID");
		var LookVal = GetMyElement("NewSelectValue");
		InviteList.ProcessSelectLookup(UserID, LookID, LookVal, SelectChangeCallback);
	}
}

function ChangeLookup(ele)
{
	var LookID = ele.id;
	var UserID = GetMyElement("userID");
	var LookVal = ele.value;
	InviteList.ProcessSelectLookup(UserID, LookID, LookVal, SelectChangeCallback);
}

function SelectChangeCallback(res)
{
	var fld = document.getElementById("NewSelectValue");
	
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			SelectLookupList();
			GetCustomSelectList();
			SetMyElement("NewGroupValue", "");
			fld.focus();
		}
		else
		{
			alert(res.value);
		}
	}
}

function SaveSelectItem()
{
	if(GetMyElement("NewItemValue") != "")
	{
		var LookID = 0;
		var GrpID = GetMyElement("SelectLookupID");
		var LookVal = GetMyElement("NewItemValue");
		InviteList.ProcessLookupItem(GrpID, LookID, LookVal, ItemChangeCallback);
	}
}

function RemoveItemLookup(LookupID)
{
	if(confirm("Are you sure you want to remove this selection item?"))
	{
		InviteList.DeleteLookupItem(LookupID, ItemChangeCallback);
	}
}

function ChangeItemLookup(ele)
{
	var LookID = ele.id;
	var GrpID = GetMyElement("SelectLookupID");
	var LookVal = ele.value;
	InviteList.ProcessLookupItem(GrpID, LookID, LookVal, ItemChangeCallback);
}

function ItemChangeCallback(res)
{
	var fld = document.getElementById("NewItemValue");
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			EditLookupNoPass();
			SetMyElement("NewItemValue", "");
			fld.focus();
		}
		else
		{
			alert(res.value);
		}
	}
}

// Invite Select List ////////////////////////////////////////////////////////////////////////////////////
function ExportRSVP()
{
	var ivite = GetMyElement("InvitationID");
	var sql = "EXEC ExportRSVPList " + ivite;
	if(ivite >= 1)
	{
		var str = GlobalAjax.SQLEncrypt(sql).value;
		window.open('toExcel.aspx?sql=' + str);
	}
}

var uArray = new Array();

function CheckAll(ele, tot_ele, box)
{
	var tot = document.getElementById(tot_ele).value;
	var cbtn = document.getElementById("btnSendInvite")
	
	if(ele.checked)
	{
		//alert(tot);
		for(var i = 0; i<tot; i++)
		{
			var chk = document.getElementById(box+i);
			chk.checked = true;
			uArray.push(chk.value);
		}
		//cbtn.focus();
	}
	else
	{
		for(var i = 0; i<tot; i++)
		{
			var chk = document.getElementById(box+i);
			chk.checked = false;
		}
		
		uArray = new Array();
	}
	
	SetMyElement("gGuestArray", uArray);
}

	
function AddUser(ele)
{
	var val = ele.value;
	if(ele.checked)
	{
		uArray.push(val);
	}
	else
	{
		uArray =  RemoveArrayItems(uArray,val);
	}
	SetMyElement("gGuestArray", uArray);
}


function RemoveArrayItems(array, item)
{
	var i = 0;
	while (i < array.length) {
		if (array[i] == item) {
		   array.splice(i, 1);
		} 
		else 
		{
		   i++;
		 }
	}
	return array;
}

function RSVPSortRows()
{    
	if(document.getElementById('rsvp_list'))
	{
	tigra_tables('rsvp_list',1,0, '#EBE4D4', '#F7F5EF', '#FFECC6', '#FFECC6');
	 
	var st = new SortableTable( document.getElementById('rsvp_list'), 
	  ['None','None','CaseInsensitiveString','CaseInsensitiveString','Number','CaseInsensitiveString','Number','None','CaseInsensitiveString'] );
	}
}

function QuickInviteSearchAuto()
{
	var stext = GetMyElement("LNFilter");
	var gtype = GetMyElement("gTypeFilter");
	var stat = GetMyElement("StatusFilter");
	var ivite = GetMyElement("InvitationID");
	
	if(ivite >= 1)
		GlobalAjax.RSVPListSearch(gtype, ivite, stext, stat, QuickRSVPSearchCallbackAuto);
	else
		ShowAlert("No Invitation Selected...", "Please select an invitation first...");
		
}

function QuickRSVPSearchCallbackAuto(res)
{
	uArray = new Array();
	var sField = document.getElementById("LNFilter");
	var d = document.getElementById("RSVPListing");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
	RSVPSortRows();
	sField.focus();
}

function QuickInviteSearch()
{
	var stext = GetMyElement("LNFilter");
	var gtype = GetMyElement("gTypeFilter");
	var stat = GetMyElement("StatusFilter");
	var ivite = GetMyElement("InvitationID");
	
	if(ivite >= 1)
		GlobalAjax.RSVPListSearch(gtype, ivite, stext, stat, QuickRSVPSearchCallback);
	else
		ShowAlert("No Invitation Selected...", "Please select an invitation first...");
		
}

function QuickRSVPSearchCallback(res)
{
	uArray = new Array();
	var d = document.getElementById("RSVPListing");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
	RSVPSortRows();
}

function NewInviteRSVP()
{
	var ivite = GetMyElement("InvitationID");
	
	if(ivite >= 1)
	{
		window.scroll(0,0);
		ShowAlertManual('QuickRSVP',false);
		//new Draggable('QuickRSVP');
		var cd = GlobalAjax.GetInviteResponseClass().value;
		SetMyElement('ResponseID', cd.ResponseID);
		SetMyElement('GuestID', cd.GuestID);
		SetMyElement('myResponse', "");
		SetMyElement('ResponseNotes', cd.ResponseNotes);
		SetMyElement('GuestCount', cd.GuestCount);
		SetMyHTML('RSVPGuestSelections', '');
	}
	else
	{
		ShowAlert("No Invitation Selected...", "Please select an invitation first...");
	}
	
}

function Validate_InviteResponse(){
	var pass = true;
	var ChkFields = new Array('GuestCount','GuestID','myResponse');
	// grab all input fields to validate
	var ip = document.getElementsByTagName('input');
	//alert(ChkFields.length);
	for (var i=0;i < ChkFields.length; i++){
		//Find Element
		var ele = document.getElementById(ChkFields[i]);
		val = ele.value;
		if(val == '')
		{
			ele.style.backgroundColor = '#FFFF00';
			pass = false;
		}
		else
		{
			ele.style.backgroundColor = '';
		}
	}
	if(!pass)
	{
		SetMyHTML('rsvp_err_text', 'Please complete hi-lighted fields before saving...');
	}
	return pass;
}

function SaveRSVP(){
	if(Validate_InviteResponse()){
	var cd = GlobalAjax.GetInviteResponseClass().value;
	cd.ResponseID = GetMyElement('ResponseID');
	cd.GuestID = GetMyElement('GuestID');
	cd.InvitationID = GetMyElement('InvitationID');
	cd.Response = GetMyElement('myResponse');
	cd.ResponseNotes = GetMyElement('ResponseNotes');
	cd.GuestNames = GetMyElement('GuestNames');
	cd.GuestCount = GetMyElement('GuestCount');
	
	//Pass class to server, Save data
	GlobalAjax.Process_InviteResponse(cd, SaveInviteResponseCallback);
	}
}

function SaveInviteResponseCallback(res){
	var d = document.getElementById('rsvp_err_text');
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	QuickInviteSearch();
	SetMyHTML('rsvp_err_text','RSVP item saved successfully...');
	GetGuestSummary();
	SetMyElement('ResponseID', res.value);
	GetCustomSelectItems(res.value);
	HideAlertManual('QuickRSVP');
}

function GetRSVP(ele){
	if(ele >= 1)
	{
		window.scroll(0,0);
		ShowAlertManual('QuickRSVP',false);
		//new Draggable('QuickRSVP');
		GlobalAjax.GetInviteResponse(ele, FillInviteResponseForm);
	}
}

function FillInviteResponseForm(res){
	if(res.value == null || res.error != null) return false;
	var dTable = res.value.Tables[0].Rows[0];
	SetMyElement('ResponseID',escapeNull(dTable.ResponseID,0));
	SetMyElement('GuestID',escapeNull(dTable.GuestID,0));
	SetMyElement('myResponse',escapeNull(dTable.Response,''));
	SetMyElement('ResponseNotes',escapeNull(dTable.ResponseNotes,''));
	SetMyElement('GuestCount',escapeNull(dTable.GuestCount,''));
	SetMyElement('GuestNames',escapeNull(dTable.GuestNames,''));
	SetMyHTML('date_row2','Created: ' + dTable.create_date + ' | Accepted: ' + escapeNull(dTable.AcceptDate,''));
	SetMyHTML('rsvp_err_text','');
	GetCustomSelectItems(escapeNull(dTable.ResponseID,0));
}

function DeleteRSVP()
{
	var myArray = GetMyElement("gGuestArray");
	var ArrLen = uArray.length;
	
	//alert("Member:" + Member + " - " + myArray);
	
	if(ArrLen >= 1)
	{
		if(confirm("Are you sure you want to delete these " + ArrLen + " item(s)?"))
		{
			GlobalAjax.DeleteMultipleRSVP(myArray, DeleteSelectedCallback);
		}
	}
	else
	{
		ShowAlert("No Accounts Selected...", "Please select some accounts first...");
	}
}

function DeleteSelectedCallback(res)
{
	var d = document.getElementById("RSVPListing");
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	QuickInviteSearch();
}

function QuickRSVPAccept()
{
	var myArray = GetMyElement("gGuestArray");
	var ArrLen = uArray.length;
	
	//alert("Member:" + Member + " - " + myArray);
	
	if(ArrLen >= 1)
	{
		if(confirm("Are you sure you want to accept these " + ArrLen + " item(s)?"))
		{
			GlobalAjax.AcceptMultipleRSVP(myArray, DeleteSelectedCallback);
		}
	}
	else
	{
		ShowAlert("No Accounts Selected...", "Please select some accounts first...");
	}
}

function ToggleSendThankYou(respID, flag)
{
	var turesp = GlobalAjax.SendThankYouToggle(respID, flag).value;
	if(turesp == 1)
	{
		QuickInviteSearch();
	}
	else
	{
		ShowAlert('Send Thank You...','There was a problem toggling this thank you card, please try again...');
	}
}

function EditThankYou(respID,name)
{
	if(respID >= 1)
	{
		window.scroll(0,0);
		SetMyElement("ResponseID", respID);
		ShowAlertManual('ThankYouCard',false);
		//new Draggable('ThankYouCard');
		SetMyHTML("TUHeader", "Thank you card for: " + name);
		GlobalAjax.GetThankYouSetup(respID, GetThankYouText);
	}
}

function GetThankYouText(res)
{
	if(res.value == null || res.error != null) return false;
	var dTable = res.value.Tables[0].Rows[0];
	SetMyElement('ThankYouTemplate',escapeNull(dTable.ThankYouTemplate,0));
	SetMyElement('ThankYouText',escapeNull(dTable.ThankYouText,''));
	SetMyHTML('tu_error','');
	
	var iHold = document.getElementById("tu_holder");
	var tfile = GlobalAjax.GetTemplateImageById(dTable.ThankYouTemplate).value;
	iHold.src = "templates/thumbs/" + tfile;
}

function GetThankYouImage(ele)
{
	var tID = ele.value;
	//alert(tID);
	var iHold = document.getElementById("tu_holder");
	var tfile = GlobalAjax.GetTemplateImageById(tID).value;
	iHold.src = "templates/thumbs/" + tfile;
}

function Validate_ThankYou(){
	var pass = true;
	var ChkFields = new Array('ThankYouTemplate');
	// grab all input fields to validate
	var ip = document.getElementsByTagName('input');
	//alert(ChkFields.length);
	for (var i=0;i < ChkFields.length; i++){
		//Find Element
		var ele = document.getElementById(ChkFields[i]);
		val = ele.value;
		if(val == '')
		{
			ele.style.backgroundColor = '#FFFF00';
			pass = false;
		}
		else
		{
			ele.style.backgroundColor = '';
		}
	}
	if(!pass)
	{
		SetMyHTML('tu_error', 'Please complete hi-lighted fields before saving...');
	}
	return pass;
}

function SaveThankYou()
{
	if(Validate_ThankYou())
	{
		var rID = GetMyElement("ResponseID");
		var tID = GetMyElement("ThankYouTemplate");
		var nt = GetMyElement("ThankYouText");
		
		GlobalAjax.ProcessThankYou(rID, tID, nt, SaveThankYouCallback);
	}
}

function SaveThankYouCallback(res)
{
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			QuickInviteSearch();
			HideAlertManual('ThankYouCard');
		}
		else
		{
			alert(res.value);
		}
	}
}

function GetCustomSelectItems(resp)
{
	var invite = GetMyElement('InvitationID');
	GlobalAjax.GetRSVPCustomSelections(invite, resp, FillCustomSelect);
}

function FillCustomSelect(res){
	var d = document.getElementById('RSVPGuestSelections');
	res.value == null || res.error != null ? d.innerHTML = res.error.Message: 
	d.innerHTML = res.value;
}

function SaveGuestSelections(item){
	//Get Element Values
	var resVal = document.getElementById("Response" + item);
	var selCnt = document.getElementById("PersonCnt" + item);
	//var selNote = document.getElementById("SelectionNotes" + item);
	
	var SelectionID = resVal.value;
	var ResponseID = GetMyElement("ResponseID");
	var PersonCnt = selCnt.value;
	var SelectionNotes = ""; //selNote.value;
	//alert(SelectionID + ", " + ResponseID + ", " + PersonCnt + ", " + SelectionNotes);
	
	if(PersonCnt == 0)
	{
		ShowAlert("Count For This Item...", "Please select amount for this item...");
	}
	else
	{
		var cd = GlobalAjax.GetGuestSelectionsClass().value;
		cd.GuestSelectionID = SelectionID;
		cd.ResponseID = ResponseID;
		cd.SelectionID = item;
		cd.PersonCnt = PersonCnt;
		cd.SelectionNotes = SelectionNotes;
		
		GlobalAjax.Process_GuestSelections(cd, SaveGuestSelectionsCallback);
	}
}

function SaveGuestSelectionsCallback(res){
	var ResponseID = GetMyElement("ResponseID");
	var d = document.getElementById('rsvp_err_text');
	res.value == null || res.error != null ? d.innerHTML = res.error.Message + ', ' + res.value: 
	GetCustomSelectItems(ResponseID);
}

function Delete_GuestSelections(ele){
if(ele >= 1){
	if(confirm('Are you sure you want to delete this record?'))
		GlobalAjax.DeleteGuestSelections(ele, Delete_GuestSelectionsCallback);
	}
}

function Delete_GuestSelectionsCallback(res)
{
	var ResponseID = GetMyElement("ResponseID");
	
	if(res.value == null || res.error != null)
	{
		alert(res.value + ', ' + res.error.Message);
	}
	else
	{
		if(res.value >= 1)
		{
			GetCustomSelectItems(ResponseID);
		}
		else
		{
			alert(res.value);
		}
	}
}

function ClearField(fld)
{
	SetMyElement(fld, '');
}

// development: 
//var url = "http://jsklaptop/OurWebVite/templates/UserImages/";
//live:
var url = "http://www.ourwedvite.com/templates/UserImages/";

var player = null;
function playerReady(thePlayer) {
	player = window.document[thePlayer.id];
}

function UploadVideo()
{
	var i = GetMyElement('InvitationID');
	popWin('MemberVideo.aspx?i=' + i, 500, 450);
}

function UpdateVideo()
{
	var iVideo = GetMyElement('InviteVideo');
	var vType = GetMyElement('VideoType');
	var myurl = '';
	
	(vType == 'YouTube') ?myurl = iVideo: myurl = url + iVideo;
	
	if(iVideo != "")
	{
		if(player)
		{
			player.sendEvent('STOP');
			player.sendEvent('LOAD', myurl);
		}
		else
		{
			createPlayer(iVideo,vType);
		}
	}
}

function createPlayer(vid,vType) {
	var myurl = '';
	(vType == 'YouTube') ?myurl = vid: myurl = url + vid;
	
	var flashvars = {
		file: myurl,
		wmode: "opaque",
		autostart: "false",
		image: "images/VideoStart.png"
	}
	var params = {
		allowfullscreen: "true",
		allowscriptaccess: "always"
	}
	var attributes = {
		id: "player1",
		name: "player1"
	}
	swfobject.embedSWF("js/player.swf", "player", "320", "196", "9.0.115", false, flashvars, params, attributes);
}
		
		
function ResendInvites()
{
	var slist = GetMyElement("gGuestArray");
	var invite = GetMyElement("InvitationID");
	var email = GetMyElement("userEmail");
	
	if(confirm("Are you sure you want to re-send these " + uArray.length + " invites?"))
	{
		GlobalAjax.SendInviteSelected(invite, email, slist, ResendEmailCallback);
	}
}

function ResendEmailCallback(res)
{
	ShowAlert("Invite Send Details...", res.value);
}

// Reports ******************************************************************************
function RunReport(rpt)
{
	var i = GetMyElement("InvitationID");
	var u = GetMyElement("userID");
	
	switch(rpt)
	{
		case "RSVPReport":
			window.open('Reports.aspx?q=' + i + '&f=' + rpt);
			break;
		case "GuestList":
			window.open('Reports.aspx?q=' + u + '&f=' + rpt);
			break;
	}
	
}