owls_BUGS_fit <- function(data, ni=25000, nb=2000, nt=10, nc=3) {
  ## Bundle data
  data$ArrivalTime <- scale(data$ArrivalTime,center=TRUE,scale=FALSE)
  fmm <- model.matrix(~(FoodTreatment+ArrivalTime)*SexParent,data=data)[,-1]
  bugs.data <- with(data,list(N=nrow(data),
                            nnests=length(levels(Nest)),
                            offset = logBroodSize,  ## nb specified on original scale
                            SibNeg = SiblingNegotiation,
                            nest = as.numeric(Nest),
                            X=fmm))

  ## Inits function
  inits <- function(){list(a=rnorm(27, 0, .5),
                           sigma=runif(1,0,.5), alpha=runif(1, 0, 2), beta = rnorm(5))}

  ## Parameters to estimate
  params <- c("alpha", "beta", "sigma", "psi")  ## DON'T save b (overdispersion latent variable)

  jags(data = bugs.data, inits = inits, parameters.to.save = params, model.file = "owls.txt",
       n.thin = nt, n.chains = nc, n.burnin = nb, n.iter = ni)
}

owls_BUGS_fit_overdisp <- function(data, ni=25000, nb=2000, nt=10, nc=3) {
  ## Bundle data
  data$ArrivalTime <- scale(data$ArrivalTime,center=TRUE,scale=FALSE)
  fmm <- model.matrix(~(FoodTreatment+ArrivalTime)*SexParent,data=data)[,-1]
  bugs.data <- with(data,list(N=nrow(data),
                            nnests=length(levels(Nest)),
                            offset = logBroodSize,  ## nb specified on original scale
                            SibNeg = SiblingNegotiation,
                            nest = as.numeric(Nest),
                            X=fmm))

  ## Inits function
  inits <- function(){list(a=rnorm(27, 0, .5),
                           sigI=runif(1, 0, 1),
                           z=rbinom(599, 1, .85),
                           sigma=runif(1,0,.5), alpha=runif(1, 0, 2), beta = rnorm(5))}

  ## Parameters to estimate
  params <- c("alpha", "beta", "sigma", "psi", "sigI")  ## DON'T save b (overdispersion latent variable)

  jags(data = bugs.data, inits = inits, parameters.to.save = params, model.file = "owls_overdisp.txt",
       n.thin = nt, n.chains = nc, n.burnin = nb, n.iter = ni)
}
