var check_communities = false;
var alreadyValidated = false;

$(document).ready(function(){

	var selectedchannels = new Array;

	$("span[class=delete_channel]").live("click", function(){
		name = $(this).attr("name");
		value = $(this).children(":first").attr("name");
		index = $.inArray(name,selectedchannels);
		selectedchannels.splice(index,1);
		
		$('#channel_selector').addOption(value, name);
		$("#tbl_channels").show();
		
		$(this).parent().remove();
    $('#channel_selector').val('-1');
    $('#channel_selector').show();

		if(alreadyValidated)
			$("#frm_member_subscribe").valid();
		
	});
	
	$("#subbtn").click(function(){
		$("#frm_member_subscribe").valid();
		alreadyValidated = true;
  });
	
	 $.validator.addMethod("channelselected", function(value, element) {
    try {
					if(alreadyValidated)
						return selectedchannels[0] != null;
					else
						return true;
				}
        catch(ex){ }
        return false;
     }, ERR_NO_CHANNEL );

	$("#channel_selector").change(function(){
		var selectedval = $('#channel_selector :selected').text();
		var selectedval_value = $('#channel_selector :selected').attr("value");
    if ( selectedval_value < 0 )
      return false;
		
		$('#channel_selector').removeOption(selectedval_value);;
    if($("#channel_selector option").size() < 2)
      $("#channel_selector").hide();
		
		if(selectedchannels.length == 0)
		{
			$(".empty").remove();
		}
		
		if($.inArray(selectedval,selectedchannels) != -1)
		{
			/*alert("element al toegevoegd...");*/
		}
		else
		{
			selectedchannels.push(selectedval);
			
			//$("#tbl_selected_channels").find('tbody')
      $('#td_channel_list')
			  .prepend($('<div>')
					.append($('<input>')
						.attr('style','border: 0px')
						.attr('type','hidden')
						.attr('name','channel_ids[]')
						.attr('value', selectedval_value)					
					)
          .append($('<span>')
            .append($(ICON_DELETE)
              .attr('name',selectedval_value)
              .attr('class','delete_channel')
            )
            .attr('name', selectedval)
            .attr('class','delete_channel')
            .attr('id',selectedval + "selected")
          )
          .append($('<span>')
            .attr('class','picked_channel')
            .text(selectedval)
            )
          )
			;

			if(alreadyValidated)
				$("#frm_member_subscribe").valid();
		}
		
		
		return true;
	});
	
	$("#member_rcm").click(function(){
		if($("#member_rcm").attr("checked") == true)
		{
			check_communities = false;
			if(alreadyValidated)
				$("#frm_member_subscribe").valid();
		}
	});
	
	$("#member_rcm1").click(function(){
		if($("#member_rcm1").attr("checked") == true)
		{
			check_communities = true;
		}
	});

  /*$("#member_last_name").focus();*/
	  $("#member_communities").keyup(function(){
	     if($("#member_communities").val() != "")
			$("#member_rcm1").attr("checked", true); 
		else
		{
			
			$("#member_rcm").attr("checked", true); 
		}
		
	}
	);
	$("#frm_member_subscribe").validate({
	
	errorPlacement: function(error,element) {
		error.appendTo( element.parents("div:eq(0)") );
	},
	wrapper: "p class='errorwrapper'",
	rules: {
			member_last_name: {	required: true },
			member_first_name: { required: true },
			member_street: {	required: true},
			member_number: {	required: true},
			member_zip: {	required: true, number: true},
			member_village: {	required: true},
			member_email: {	required: true,	email: true, remote : '?action=ajax_valid_email'},
			member_tos:{ required: true	},
			member_rcm:{ required: true	},
			channel_selector	: { channelselected: "true"},
			member_communities: { required: function(){
				return check_communities;
			}}
		},
		messages: {
			member_last_name: {	required: ERR_NAME_MANDATORY},
			member_first_name: { required: ERR_SURNAME_MANDATORY },
			member_village: {	required: ERR_VILLAGE_MANDATORY},
			member_street: {	required: ERR_STREET_MANDATORY},
			member_zip: {	required: ERR_ZIP_MANDATORY, number: ERR_ZIP_NUMBER},
			member_number: {	required: ERR_NUMBER_MANDATORY},
			member_email: {	required: ERR_VALID_EMAIL_MANDATORY,	email: ERR_VALID_EMAIL_MANDATORY, remote : ERR_MAIL_EXISTS},
			member_tos:{ required: ERR_TOS_MANDATORY	},
			member_rcm:{ required: ERR_COMMUNITY_MANDATORY	},			
			channel_selector	: { channelselected: ERR_NO_CHANNEL},
			member_communities:{ required: ERR_COMMUNITY_MANDATORY	}
		}
	});	
	
});


