# Модуль

## extend

Сделать функцию `extend`, которая добавляет один ассоциативный массив во второй:

```javascript
var person = {name: "Иван", age: 17};

var extendedPerson = extend(person, {surname: "Иванов", fatherName: "Иванович"});
console.log(extendedPerson); //{name: "Иван", age: 17, surname: "Иванов", fatherName: "Иванович"}
```

## copy
Сделайте функцию `copy`, которая будет копировать ключи и значения объекта в новый объект.
Копирование должно проверять типы данных, и делать **копии** вложенных массивов. Вложенные объекты не копируются (просто присваиваются)

## menuBuilder

Скреативьте функцию `menuBuilder`, которая из структуры
```javascript
var menu = [{text: "google", href: "http://google.com"},
            {text: "ebay", href: "http://ebay.com"},
            {text: "ya", href: "http://ya.ru"},
];
```

создает меню используя `ul`, `li`, `a` в определенном контейнере. `id` контейнера передается в качестве параметра:

```html
    <body>
        ...
        <div id='menuContainer'>
        </div>
        ...
    </body>
```

```javascript
menuBuilder("menuContainer", menu); //построить меню в элементе с id "menuContainer".
```
Вы можете создавать элементы любым удобным способом (строка, DOM, jQuery)

## gallery

Напилите функцию, которая создает галерею картинок в определенном контейнере. В качестве параметра передавайте `id` контейнера и массив со строками ссылок на картинки:

```javascript
gallery("galleryContainer",["https://static33.cmtt.ru/paper-media/fd/92/e5/0479e08f8e852d.png", "http://s00.yaplakal.com/pics/pics_original/1/9/4/3736491.jpg"])
```
В идеале у вас должна быть стрелки вперед и назад, по клику на которые происходит смена картинки (клик на самой картинке - тоже удобно). Эффекты добавить по вкусу.

## multiplyTable

Функция создает таблицу умножения в переданном `id` контейнере, размером NxN, в которой прямоугольник слева вверх от курсора мыши (включая курсор) выделен другим цветом и ячейки 
пронумерованы по порядку (слева направо, сверху вниз). Желательно иметь заголовки таблицы с числами (1..N) другим стилем. Заголовки не входят в подсвеченный
прямоугольник.