// JavaScript Document
var party_array = new Array(); 
var lastid = -1;
var emailsent = false;
var bridallistadded = false;
var bridalparyadded = false;


window.addEvent('domready', function(){
	$('add_party').setStyle('display', 'none');
});

function buildparty(bpl_id,bpl_type,bpl_first_name1,bpl_last_name1,bpl_first_name2,bpl_last_name2){
	lastid = lastid + 1;
	party_array[lastid] = new Array (bpl_id,bpl_type,bpl_first_name1,bpl_last_name1,bpl_first_name2,bpl_last_name2);
};

function  startparty(){
	var bpt_id_array = $('bpt_id').value;
	bpt_id_array = bpt_id_array.split("*");
	$('bpl_type_text').set('text', bpt_id_array[1]);
	$('bpl_type').value =  bpt_id_array[0];
	$('add_party').setStyle('display', '');
	$("partyAdditions").setStyle('display', 'None');
}

function addparty(){
	FormUpdated=true;
	error_array = "";
	checktext("bpl_first_name1");
	checktext("bpl_last_name1");
	if (error_array != ""){
		showerrors();
		alert('You have some errors in your form. Please correct.')
	}else{
		var bpl_type 	    = $("bpl_type").value;
		var bpl_first_name1 = $("bpl_first_name1").value;
		var bpl_last_name1 = $("bpl_last_name1").value;
		var bpl_first_name2 = $("bpl_first_name2").value;
		var bpl_last_name2 = $("bpl_last_name2").value;
		lastid = lastid + 1;
		party_array[lastid] = new Array ('',bpl_type,bpl_first_name1,bpl_last_name1,bpl_first_name2,bpl_last_name2);
		$("bpl_type").value = '';
		$("bpl_first_name1").value = '';
		$("bpl_last_name1").value = '';
		$("bpl_first_name2").value = '';
		$("bpl_last_name2").value = '';
		$('bpl_type_text').set('text', '');
		//get the class to use
		//if (isEven(lastid)){
			//theclass = 'row2'
		//}else{
			theclass = 'row1'
		//};

		var party_row  = new Element('div', {
		id: 'party_row' + lastid
		});
		
		var party_td_type  = new Element('div', {
		id: 'party_td_type' + lastid
		});
		var party_td_name1  = new Element('div', {
		id: 'party_td_name1' + lastid
		});
		var party_td_name2  = new Element('div', {
		id: 'party_td_name2' + lastid
		});
		var party_td_edit  = new Element('div', {
		id: 'party_td_edit' + lastid
		});
		var party_td_delete  = new Element('div', {
		id: 'party_td_delete' + lastid
		});
		var party_td_clear = new Element('div', {
		id: 'party_td_clear' + lastid
		});
		
		
	
		party_row.inject($('add_party'), 'before');

	
		party_td_type.inject(party_row);
		party_td_name1.inject(party_td_type, 'after');
		party_td_name2.inject(party_td_name1, 'after');
		party_td_edit.inject(party_td_name2, 'after');
		party_td_delete.inject(party_td_edit, 'after');
		party_td_clear.inject(party_td_delete, 'after');
		gettype(bpl_type);
		
		//IE Errored out when i set everything up as i built the element so i guess i have to do it one at a time. 
		
		$('party_td_type' + lastid).set('class', 'partytype ' + theclass);
		$('party_td_name1' + lastid).set('class', theclass + ' firstName');
		$('party_td_name1' + lastid).set('html', bpl_first_name1 + '&nbsp;' + bpl_last_name1);
		$('party_td_name2' + lastid).set('class', theclass + ' secondName');
		$('party_td_name2' + lastid).set('html', bpl_first_name2 + '&nbsp;' + bpl_last_name2);
		$('party_td_edit' + lastid).set('class', theclass  + ' greenButton');
		$('party_td_edit' + lastid).set('html', '<img src="/common_fld/edit-accept_new.png" width="12" height="12" style="cursor:pointer;" onClick="editparty(' + lastid + ')">');
		$('party_td_delete' + lastid).set('class', theclass + ' redButton');
		$('party_td_delete' + lastid).set('html', '<img src="/common_fld/delete_cross.png" width="12" height="12" style="cursor:pointer;" onClick="deleteparty(' + lastid + ')">');
		$('party_td_clear' + lastid).setStyle('clear', 'both');
		party_row.set('class',theclass);
		
	
		$('add_party').setStyle('display', 'none');
		$('partyAdditions').setStyle('display', '');
		
	};	
	
}


function isEven(num) {
  return !(num % 2);
}

function gettype(bpl_type){
	//set up the form sumbmit for the login
	var theurl = "/moo/bridal_party.asp";
	theurl = theurl + '?bpl_type=' + bpl_type;
	theurl = theurl + '&action=gettype';
	var req = new Request({url:theurl, 
		onSuccess: function(txt) {
			$('party_td_type' + lastid).set('html','<label>' +  txt + '</label>');
		},
		onFailure: function() {
			$('party_td_type' + lastid).set('html', 'Unknown');
		}
	});
	
	req.send();
}


function editparty(id){
	FormUpdated=true;
	$('party_td_name1' + id).set('html', '<input name="party_' + id + 'first_name1" type="text" id="party_' + id + 'first_name1" size="12" class="text"> <input name="party_' + id + 'last_name1" type="text" id="party_' + id + 'last_name1" size="12" class="text">');
	$('party_td_name2' + id).set('html', '<input name="party_' + id + 'first_name2" type="text" id="party_' + id + 'first_name2" size="12" class="text"> <input name="party_' + id + 'last_name2" type="text" id="party_' + id + 'last_name2" size="12" class="text">');
	$('party_td_edit' + id).set('html', '<img src="/common_fld/edit-accept.png" width="12" height="12" style="cursor:pointer;" onClick="editpartysave(' + id + ')">');
	
	$("party_" + id + "first_name1").value = party_array[id][2];
	$("party_" + id + "last_name1").value = party_array[id][3];
	$("party_" + id + "first_name2").value = party_array[id][4];
	$("party_" + id + "last_name2").value = party_array[id][5];
	

}

function editpartysave(id){
	error_array = "";
	checktext("party_" + id + "first_name1");
	checktext("party_" + id + "last_name1");
	if (error_array != ""){
		showerrors();
		alert('You have some errors in your form. Please correct.')	
	}else{
		var party_first_name1 = $("party_" + id + "first_name1").value;
		var party_last_name1 = $("party_" + id + "last_name1").value;
		var party_first_name2 = $("party_" + id + "first_name2").value;
		var party_last_name2 = $("party_" + id + "last_name2").value;
		party_array[id][2] = party_first_name1;
		party_array[id][3] = party_last_name1;
		party_array[id][4] = party_first_name2;
		party_array[id][5] = party_last_name2;
		$('party_td_name1' + id).set('html',party_first_name1 + '&nbsp;' + party_last_name1);
		$('party_td_name2' + id).set('html',party_first_name2 + '&nbsp;' + party_last_name2);
		$('party_td_edit' + id).set('html','<img src="/common_fld/edit-accept_new.png" width="12" height="12" style="cursor:pointer;" onClick="editparty(' + id + ')">');
	}
}

function deleteparty(id){
	FormUpdated=true;
	party_array[id][1] ='';
	party_array[id][2] ='';
	party_array[id][3] ='';
	party_array[id][4] ='';
	party_array[id][5] ='';
	$('party_row' + id).dispose();
	$('saverow2').setStyle('display', 'partyAdditions');


}

function check_save(){
	if($("bp_save").checked){
		$('saverow1').setStyle('display', '');
		$('saverow2').setStyle('display', '');
	}else{
		$('saverow1').setStyle('display', 'none');
		$('saverow2').setStyle('display', 'none');
	}
}

function removeparty(){	
	$("bpl_type").value = '';
	$("bpl_first_name1").value = '';
	$("bpl_last_name1").value = '';
	$("bpl_first_name2").value = '';
	$("bpl_last_name2").value = '';
	$('bpl_type_text').set('text', '');
	$('add_party').setStyle('display', 'none');
	$('partyAdditions').setStyle('display', '');
}
var action;
function submittheform(){
	
	
	var url;
	error_array = "";
	var ct_id = $("ct_id").value;
	var bp_id = $("bp_id").value;

	if (bp_id == ""){
		action = "add";
	}else{
		action = "edit";
	}
	if (party_array.length == 0){
		alert("You need to have at least one person to your bridal party");
		return;
	}
	checktext("ct_bride_first_name");
	checktext("ct_bride_last_name");
	checktext("ct_groom_first_name");
	checktext("ct_groom_last_name");
	checktext("ct_wedding_date");
	
	
	
	
	var ct_bride_first_name = $("ct_bride_first_name").value;
	var ct_bride_last_name = $("ct_bride_last_name").value;
	var ct_groom_first_name = $("ct_groom_first_name").value;
	var ct_groom_last_name = $("ct_groom_last_name").value;
	var ct_wedding_date = $("ct_wedding_date").value;
	var ct_announcement	= $("bp_announcement").value;
	try{
		var bp_save = $("bp_save").checked;
	}catch(err){
		var bp_save = false;
	}
	
	
	
	if (action == "add"){	
		if(bp_save){
			var ct_email = $("ct_email").value;
			var ct_password = $("ct_password").value;
			checkemail("ct_email");
			checktext("ct_password");
		}
		if (error_array != ""){
			showerrors();
			alert('You have some errors in your form. Please correct.');
			return;
		}
				//create the user account
				theurl = "/moo/bridal_party.asp";
				theurl = theurl + '?ct_bride_first_name=' + ct_bride_first_name;
				theurl = theurl + '&ct_bride_last_name=' + ct_bride_last_name;
				theurl = theurl + '&ct_groom_first_name=' + ct_groom_first_name;
				theurl = theurl + '&ct_groom_last_name=' + ct_groom_last_name;
				theurl = theurl + '&ct_wedding_date=' + ct_wedding_date;
				theurl = theurl + '&ct_email=' + ct_email;
				theurl = theurl + '&ct_password=' + ct_password;
				theurl = theurl + '&action=adduser';
				
				var req = new Request({url:theurl, 
					onSuccess: function(id) {
						
						add_bridal_party(id,ct_bride_first_name,ct_bride_last_name,ct_groom_first_name,ct_groom_last_name,ct_wedding_date,ct_announcement);
					},
					onFailure: function() {
						alert('Error creating user account.');
						return;
					}
				});
				req.send()
	}else{
		update_bridal_party(ct_id,bp_id,ct_bride_first_name,ct_bride_last_name,ct_groom_first_name,ct_groom_last_name,ct_wedding_date,ct_announcement);
	}	
	
	//send out the email
	sendemail();
}


function add_bridal_party(id,ct_bride_first_name,ct_bride_last_name,ct_groom_first_name,ct_groom_last_name,ct_wedding_date,bp_announcement){
	ct_id = id;
	//create the user account
	theurl = "/moo/bridal_party.asp";
	theurl = theurl + '?ct_bride_first_name=' + ct_bride_first_name;
	theurl = theurl + '&ct_bride_last_name=' + ct_bride_last_name;
	theurl = theurl + '&ct_groom_first_name=' + ct_groom_first_name;
	theurl = theurl + '&ct_groom_last_name=' + ct_groom_last_name;
	theurl = theurl + '&ct_wedding_date=' + ct_wedding_date;
	theurl = theurl + '&bp_announcement=' + bp_announcement;
	theurl = theurl + '&ct_id=' + id;
	theurl = theurl + '&action=add_bridal_party';
	var req = new Request({url:theurl, 
		onSuccess: function(id) {
	
			bridalparyadded = true;
			bridal_party_list(id);
		},
		onFailure: function() {
			alert('Error adding bridal Party.');
			return;
		}
	});
	req.send();
}

function update_bridal_party(id,bp_id,ct_bride_first_name,ct_bride_last_name,ct_groom_first_name,ct_groom_last_name,ct_wedding_date,bp_announcement){
	ct_id = id;
	
	var ct_email = $('ct_email').value;
	var ct_password = $('ct_password').value;
	
	theurl = "/moo/bridal_party.asp";
	theurl = theurl + '?ct_bride_first_name=' + ct_bride_first_name;
	theurl = theurl + '&ct_bride_last_name=' + ct_bride_last_name;
	theurl = theurl + '&ct_groom_first_name=' + ct_groom_first_name;
	theurl = theurl + '&ct_groom_last_name=' + ct_groom_last_name;
	theurl = theurl + '&ct_wedding_date=' + ct_wedding_date;
	theurl = theurl + '&bp_announcement=' + bp_announcement;
	theurl = theurl + '&bp_id=' + bp_id;
	theurl = theurl + '&ct_id=' + ct_id;
	theurl = theurl + '&ct_email=' + ct_email;
	theurl = theurl + '&ct_password=' + ct_password;
	theurl = theurl + '&action=edit_bridal_party';
	
	var req = new Request({url:theurl, 
		onSuccess: function() {
			 bridalparyadded  = true;
			bridal_party_list(bp_id);
		
		},
		onFailure: function() {
			alert('Error bridal Party.');
			return;
		}
	});
	req.send();
}

function bridal_party_list(bp_id){

	for(i=0; i<party_array.length; i++) {
		theurl = "/moo/bridal_party.asp";
		theurl = theurl + '?bpl_id=' + party_array[i][0];
		theurl = theurl + '&bpl_type=' + party_array[i][1];
		theurl = theurl + '&bpl_first_name1=' + party_array[i][2];
		theurl = theurl + '&bpl_last_name1=' + party_array[i][3];
		theurl = theurl + '&bpl_first_name2=' + party_array[i][4];
		theurl = theurl + '&bpl_last_name2=' + party_array[i][5];
		theurl = theurl + '&bp_id=' + bp_id;
		theurl = theurl + '&action=bridal_party_list';
		
		var req = new Request({url:theurl, 
			onFailure: function() {
				//alert('Error adding bridal party list.');
				//return;
			}
		});
		req.send();
	};
	bridallistadded   = true;

	nextpage();
}

function sendemail(){
		var ct_bride_first_name = $("ct_bride_first_name").value;
		var ct_bride_last_name = $("ct_bride_last_name").value;
		var ct_groom_first_name = $("ct_groom_first_name").value;
		var ct_groom_last_name = $("ct_groom_last_name").value;
		var ct_wedding_date = $("ct_wedding_date").value;
		var bp_announcement = $("bp_announcement").value;
		try{
			var ct_email = $("ct_email").value;
		}catch(err){
			var ct_email = ''
		}
		
		var theurl = "/moo/bridal_party.asp";
			theurl = theurl + '?ct_bride_first_name=' + ct_bride_first_name;
			theurl = theurl + '&ct_bride_last_name=' + ct_bride_last_name;
			theurl = theurl + '&ct_groom_first_name=' + ct_groom_first_name;
			theurl = theurl + '&ct_groom_last_name=' + ct_groom_last_name;
			theurl = theurl + '&ct_wedding_date=' + ct_wedding_date;
			theurl = theurl + '&bp_announcement=' + bp_announcement;
			theurl = theurl + '&ct_email=' + ct_email;
			for(i=0; i<party_array.length; i++) {
				theurl = theurl + '&bpl_type' + i + '=' + party_array[i][1];
				theurl = theurl + '&bpl_first_name1' + i + '=' + party_array[i][2];
				theurl = theurl + '&bpl_last_name1' + i + '=' + party_array[i][3];
				theurl = theurl + '&bpl_first_name2' + i + '=' + party_array[i][4];
				theurl = theurl + '&bpl_last_name2' + i + '=' + party_array[i][5];
			};
			theurl = theurl + '&action=sendemail';
			//location.href = theurl;
			
			var req = new Request({url:theurl, 
			onSuccess: function() {
			
				 emailsent   = true;
				nextpage();
			},
			onFailure: function() {
					alert('Error sending Email.');
					return;
				}
			});
			req.send();
}

function nextpage(){

	if ((emailsent) && (bridallistadded) && (bridalparyadded)){
		$('ct_bride_first_name').value = '';
		$('ct_bride_last_name').value = '';
		$('ct_wedding_date').value = '';
		$('ct_groom_first_name').value = '';
		$('ct_groom_last_name').value = '';
		$('bp_announcement').value = '';
		if (action == 'add'){
			location.href = 'thankyou.asp?msg=Bridal Party Added&ct_id=' + ct_id;
		}else{
			location.href = 'thankyou.asp?msg=Bridal Party Updated&ct_id=' + ct_id;
		}
	
		
	};
}




