if(!PB) var PB = {};

if(!PB.Modals) PB.Modals = {};


var EditButtons = Class.create({
	initialize:function(options)
	{
		this.initBtns();
	},
	initBtns:function()
	{
		$$('.i_edit').each(function(btn_wrap){
			this.addBtns(btn_wrap);
		}.bind(this));
	},
	addBtns:function(element)
	{
		var temp = $(element).readAttribute('id');
		var affects_id = temp.gsub('_btns','');
		edit_btn = this.createEditBtn(affects_id);
		cancel_btn = this.createCancelBtn(affects_id);
		save_btn = this.createSaveBtn(affects_id);
		save_cancel_wrap = new Element('span',{id:affects_id+'_cancel_save_btns'}).setStyle({display:'none'});
		save_cancel_wrap.insert(cancel_btn).insert(save_btn);
		$(element).update(edit_btn).insert(save_cancel_wrap);
	},
	createCancelBtn:function(affects_id)
	{
		btn = new Element('a',{id:affects_id+'_cancel_btn',href:'javascript:window.editButtons.cancel("'+affects_id+'");'}).update('cancel');
		return btn;
	},
	createSaveBtn:function(affects_id)
	{
		btn = new Element('a',{id:affects_id+'_save_btn',href:'javascript:window.editButtons.save("'+affects_id+'");'}).update('save');
		return btn;
	},
	createEditBtn:function(affects_id)
	{
		btn = new Element('a',{id:affects_id+'_edit_btn',href:'javascript:window.editButtons.edit("'+affects_id+'");'}).update('edit');
		return btn;
	},
	edit:function(affects_id)
	{
		$(affects_id+'_cancel_save_btns').show();
		$(affects_id+'_edit_btn').hide();
		
		$(affects_id+'_edit').show();
		$(affects_id+'_org').hide();
	},
	save:function(affects_id)
	{
		foo = affects_id.split('_');
		switch(foo[0])
		{
			case 'event':
				PB.Forms.user_events_edit_form.submit();
			break;
		}
		$$('#'+affects_id+'_edit .i_edit_f').each(function(field){
			fieldRE = new RegExp(/edit_(\d{1,2})/);
			classes = field.readAttribute('class');
			foo = classes.match(fieldRE);
			window.foo = foo;
			if(foo.length <= 1)
				return;
			
			if($$('.'+foo[0]).length <= 0)
				return;
			
			$$('.'+foo[0]).each(function(item)
			{
						$$('.org_'+foo[1]).each(function(org){
							org.update(item.value);
						}.bind(this));
			}.bind(this));
		}.bind(this));
			
	},
	cancel:function(affects_id)
	{
		$(affects_id+'_cancel_save_btns').hide();
		$(affects_id+'_edit_btn').show();
		
		$(affects_id+'_edit').hide();
		$(affects_id+'_org').show();
	}
});

var RCominvolvementForm = Class.create(PB.Form,{
	initialize:function($super,element,options)
	{
		if($(element))
			$super(element,options);
	}
});

var ACominvolvementForm = Class.create(PB.Form,{
	initialize:function($super,element,options)
	{
		if($(element))
			$super(element,options);
	}
});

function initEditButtons()
{
	window.editButtons = new EditButtons();
}

var sharingForm = Class.create(PB.Form,{
  initialize:function($super,element,options)
  {
    $super(element,options);
  }
});

function initSharingForm()
{
  if($('user_share_content_form'))
  {
  	PB.Forms.user_share_content_form = new sharingForm('user_share_content_form');
  	PB.Forms.user_share_content_form.onSuccess = function(response)
  	{
  	  if(response.content)
  	  {
  	    $('items_shared').insert({top:response.content}); 
  	  }
  	  $('shared_comment').update();
  	  $('new_share_list').update();
  	  $('what').value='';
  	  $('what_id').value='';
		};
	}
}
function initComInvolvementForms()
{
	
	PB.Forms.request_com_involvement_form = new RCominvolvementForm('request_com_involvement_form');
	PB.Forms.add_com_involvement_form = new ACominvolvementForm('new_com_involvement_form');
}

var ASponsorForm = Class.create(PB.Form,{
	initialize:function($super,element,options)
	{
		if($(element))
			$super(element,options);
	}
});

var BSponsorForm = Class.create(PB.Form,{
	initialize:function($super,element,options)
	{
		if($(element))
			$super(element,options);
	}
});

function initSponsorForms()
{
	
	PB.Forms.add_sponsor_form = new ASponsorForm('add_sponsor_form');
	PB.Forms.become_sponsor_form = new BSponsorForm('become_sponsor_form');
}

PB.addToDomLoad('initSponsorForms','');
var CustomTabForm = Class.create(PB.Form,{
  initialize:function($super,element,options)
  {
    $super(element,options);
  }
});

function initCustomTabsForm()
{
	if($('user_custom_tab_form'))
		PB.Forms.user_custom_tab_form = new CustomTabForm('user_custom_tab_form');
}

var EditCustomTabForm = Class.create(PB.Form,{
  initialize:function($super,element,options)
  {
    $super(element,options);
  }
});

function initEditCustomTabForm()
{
	if($('edit_custom_tab_form'))
		PB.Forms.edit_custom_tab_form = new EditCustomTabForm('edit_custom_tab_form');
}

var AboutUsForm = Class.create(PB.Form,{
  initialize:function($super,element,options)
  {
    $super(element,options);
  }
});

PB.addToDomLoad('initEditCustomTabForm','');
PB.addToDomLoad('initCustomTabsForm','');
PB.addToDomLoad('initSharingForm','');
PB.addToDomLoad('initEditButtons','');
PB.addToDomLoad('initComInvolvementForms','');

function initStuffHere()
{
	if($('about_us_form'))
  	PB.Forms.about_us_form = new AboutUsForm('about_us_form');
}
document.observe('dom:loaded',initStuffHere);

