diff --git a/.gitignore b/.gitignore
index 4be8feb..b995fc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,11 +34,13 @@ phpunit.phar
/common/config/params-local.php
/backend/config/main-local.php
/backend/config/params-local.php
+/backend/runtime/
/frontend/config/main-local.php
/frontend/config/params-local.php
-
+/frontend/runtime/
/backend/web/assets/
/frontend/web/assets/
+/frontend/web/upload/
/frontend/web/css/node_modules/
/frontend/views/вертска
composer.lock
diff --git a/common/components/urlManager/.htaccess b/common/components/urlManager/.htaccess
new file mode 100644
index 0000000..cc79a2f
--- /dev/null
+++ b/common/components/urlManager/.htaccess
@@ -0,0 +1,10 @@
+AddDefaultCharset WINDOWS-1251
+#php_value display_errors 1
+#php_value error_reporting 2047
+
+RewriteEngine on
+
+
+
+RewriteRule ^(.*)(date\.php|votebar|spam|\.css|uploaded|img|rating\.php|forum_comment\.php|js|admin|googlec87a9150150cf5d3.html)(.*)$ $1$2$3 [L]
+RewriteRule ^(.*)$ index.php [L]
diff --git a/common/components/urlManager/LangRequest.php b/common/components/urlManager/LangRequest.php
new file mode 100644
index 0000000..caa4545
--- /dev/null
+++ b/common/components/urlManager/LangRequest.php
@@ -0,0 +1,17 @@
+urlManager->languages as $lang){
+ if(strpos($_SERVER['PHP_SELF'], '/'.$lang))Yii::$app->language = $lang;
+ }
+ return parent::resolvePathInfo();
+ }
+}
\ No newline at end of file
diff --git a/common/components/urlManager/LangUrlManager.php b/common/components/urlManager/LangUrlManager.php
new file mode 100644
index 0000000..46a5beb
--- /dev/null
+++ b/common/components/urlManager/LangUrlManager.php
@@ -0,0 +1,32 @@
+langParam])){ if(Yii::$app->language != $this->lang)$params[$this->langParam]=Yii::$app->language;}
+ else if($params[$this->langParam] == $this->lang)unset($params[$this->langParam]);
+
+
+ return parent::createUrl($params);
+ }
+ //put your code here
+}
\ No newline at end of file
diff --git a/common/components/urlManager/LangUrlRule.php b/common/components/urlManager/LangUrlRule.php
new file mode 100644
index 0000000..31c93ae
--- /dev/null
+++ b/common/components/urlManager/LangUrlRule.php
@@ -0,0 +1,61 @@
+getRequest()->getPreferredLanguage();
+ //if language pass via url use it
+ if(isset($_GET[$this->langParam])&&in_array($_GET[$this->langParam],$this->languages)){
+ Yii::app()->language=$_GET[$this->langParam];
+ //else if preffered language is allowed
+ }elseif(in_array($userLang,$this->languages)) {
+ Yii::app()->language=$userLang;
+ //else use the first language from the list
+ }else Yii::app()->language=$this->lang;
+
+ }*/
+ //put your code here
+
+ public function init(){
+ print '==';
+ print Yii::$app->getRequest()->getQueryParam('language');
+ return parent::init();
+ }
+ public function createUrl($params=array()){
+ $userLang=Yii::$app->getRequest()->getPreferredLanguage();
+ //if language pass via url use it
+ if(isset($_GET[$this->langParam])&&in_array($_GET[$this->langParam],$this->languages)){
+ Yii::$app->language=$_GET[$this->langParam];
+ //else if preffered language is allowed
+ }elseif(in_array($userLang,$this->languages)) {
+ Yii::$app->language=$userLang;
+ //else use the first language from the list
+ }else Yii::$app->language=$this->lang;
+
+ //print_r($_GET);
+ if(!isset($params[$this->langParam])){ if(Yii::$app->language != $this->lang)$params[$this->langParam]=Yii::$app->language;}
+ else if($params[$this->langParam] == $this->lang)unset($params[$this->langParam]);
+ //print_r($params);
+ return parent::createUrl($params);
+ }
+ //put your code here
+}
\ No newline at end of file
diff --git a/common/models/Bg.php b/common/models/Bg.php
new file mode 100644
index 0000000..aabd040
--- /dev/null
+++ b/common/models/Bg.php
@@ -0,0 +1,49 @@
+'jpg, gif, png', 'skipOnEmpty'=>true],
+
+ ];
+ }
+
+ public function attributeLabels()
+ {
+ return [
+ 'title'=>'Название',
+ 'body'=>'Описание',
+ 'date'=>'Дата',
+ 'image'=>'Изображения',
+ ];
+ }
+
+
+
+ public function beforeDelete() {
+ $this->deleteImage($this->image);
+ return parent::beforeDelete();
+ }
+
+ public function deleteImage($file){
+ if(!empty($file)){
+ @unlink('upload/bg/'.$file);
+ }
+ }
+
+
+}
+
diff --git a/console/migrations/m160505_202248_bg.php b/console/migrations/m160505_202248_bg.php
new file mode 100644
index 0000000..99a5944
--- /dev/null
+++ b/console/migrations/m160505_202248_bg.php
@@ -0,0 +1,23 @@
+createTable('bg', [
+ 'id' => $this->primaryKey(),
+ 'title' => $this->string(250)->notNull(),
+ 'url' => $this->string(250)->notNull(),
+ 'image' => $this->string(250)->notNull(),
+ ]);
+ }
+
+ public function down()
+ {
+ $this->dropTable('bg');
+ }
+
+
+}
diff --git a/console/migrations/m160505_235100_page.php b/console/migrations/m160505_235100_page.php
new file mode 100644
index 0000000..689069e
--- /dev/null
+++ b/console/migrations/m160505_235100_page.php
@@ -0,0 +1,49 @@
+createTable('page', [
+ 'id' => $this->primaryKey(),
+ 'translit'=> $this->string(),
+ 'title'=> $this->string(),
+ 'body'=> $this->text(),
+ 'meta_title'=> $this->string(),
+ 'meta_keywords' => $this->string(),
+ 'meta_description'=> $this->string(),
+ 'seo_text'=> $this->text(),
+ 'h1'=> $this->string(),
+
+ ]);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function down()
+ {
+ $this->dropTable('page');
+ }
+}
\ No newline at end of file
diff --git a/frontend/components/BgWidget.php b/frontend/components/BgWidget.php
new file mode 100644
index 0000000..bf78691
--- /dev/null
+++ b/frontend/components/BgWidget.php
@@ -0,0 +1,30 @@
+getView();
+ $view->registerJs("
+ var heightR = $('.f').height();// высота экрана
+ var widthR = $(window).width();// ширина экрана
+
+ $('#bg').css({'height':heightR+100});
+ ", View::POS_READY, 'bg');
+ $this->bg = Bg::find()->orderBy('random()')->one();
+ }
+
+ public function run(){
+ return '
+';
+ }
+}
+?>
\ No newline at end of file
diff --git a/frontend/components/HreflangWidget.php b/frontend/components/HreflangWidget.php
new file mode 100644
index 0000000..eb7adf4
--- /dev/null
+++ b/frontend/components/HreflangWidget.php
@@ -0,0 +1,52 @@
+requestedRoute, '/')],
+ Yii::$app->request->getQueryParams(),
+ [
+ 'language' => $language,
+ ]
+ );
+ return Url::to($params);
+ }
+
+ public function run(){
+ //$lang = (Yii::$app->language=='ru') ? 'en' : 'ru';
+ $result = '';
+ foreach (Yii::$app->urlManager->languages as $language) {
+ if ($language === Yii::$app->language) {
+ // skip current language
+ continue;
+ }
+
+ $result.= Html::tag(
+ 'link',
+ '',
+ [
+ 'rel' => 'alternate',
+ 'hreflang' => $language,
+ 'href' => $this->translateCurrentRequest($language),
+ ]
+ );
+ }
+ return $result;
+ }
+}
+?>
\ No newline at end of file
diff --git a/frontend/components/Text.php b/frontend/components/Text.php
new file mode 100644
index 0000000..1905d98
--- /dev/null
+++ b/frontend/components/Text.php
@@ -0,0 +1,16 @@
+$count)
+ {
+ //$pos = mb_strpos($text, ' ', $count, 'UTF-8');
+ $text = mb_substr($text, 0, $count, 'UTF-8');
+ return $text.'...';
+ }
+ else
+ return $text;
+ }
+}
\ No newline at end of file
diff --git a/frontend/controllers/ArticlesController.php b/frontend/controllers/ArticlesController.php
new file mode 100644
index 0000000..a4ecea5
--- /dev/null
+++ b/frontend/controllers/ArticlesController.php
@@ -0,0 +1,41 @@
+orderBy('id DESC') ;
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>18]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $news = $query->offset($pages->offset)
+ ->limit($pages->limit)
+ ->all();
+
+ return $this->render('index', [
+ 'pages'=>$pages,
+ 'news'=>$news,
+ ]);
+ }
+
+ public function actionShow(){
+ if(!$news = Articles::find()->where(['id'=>$_GET['id']])->one())
+ throw new HttpException(404, 'Данной странице не существует!');
+
+ return $this->render('show', [
+ 'news'=>$news,
+ ]);
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/BasketController.php b/frontend/controllers/BasketController.php
new file mode 100644
index 0000000..e66a845
--- /dev/null
+++ b/frontend/controllers/BasketController.php
@@ -0,0 +1,124 @@
+deleteBasketMod($_GET['deleteID']);
+ return Yii::$app->response->redirect(['basket/index']);
+ }
+
+ if(isset($_POST['update'])){
+ foreach ($_POST['Mod'] as $index=>$row) {
+ $modelMod->updateBasket($row);
+ }
+ }elseif(isset($_POST['Mod'])){
+ $body = '';
+ foreach ($_POST['Mod'] as $index=>$row) {
+ $body .= $row['product_name'].' '.$row['name'].' Кол:'.$row['count'].' Цена:'.$row['sum_cost'];
+ $body .= "\n\r";
+ }
+ $body .= "\n\r";
+
+ if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save() && $modelOrder->contact('borisenko.pavel@gmail.com',$body)) {
+ foreach ($_POST['Mod'] as $index=>$row) {
+ $modelOrdersProducts = new OrdersProducts;
+ $mod_id = $row['id'];
+ unset($row['id']);
+ $data['OrdersProducts'] = $row;
+ $data['OrdersProducts']['mod_id'] = $mod_id;
+ $data['OrdersProducts']['order_id'] = $modelOrder->id;
+
+ $modelOrdersProducts->load($data);
+ $modelOrdersProducts->save();
+ }
+ if(!Yii::$app->user->id){
+ $modelUser = new User;
+ $modelUser->role = 'person';
+ $modelUser->username = $modelOrder->email;
+ $modelUser->name = $modelOrder->name;
+ $modelUser->phone = $modelOrder->phone;
+ $modelUser->password = Yii::$app->getSecurity()->generateRandomString(10);
+ $modelUser->group_id = 2;
+ $modelUser->save();
+ }
+ $modelMod->clearBasket();
+ return Yii::$app->response->redirect(['basket/success']);
+ }
+ }
+
+ $basket_mods = $modelMod->getBasketMods();
+
+ if(!empty(Yii::$app->user->id)){
+ $user = User::findOne(Yii::$app->user->id);
+ $modelOrder->email = $user->username;
+ $modelOrder->phone = $user->phone;
+ $modelOrder->name = $user->name;
+ $modelOrder->surname = $user->surname;
+ }
+
+ return $this->render('index', [
+ 'modelMod'=>$modelMod,
+ 'basket_mods'=>$basket_mods,
+ 'modelOrder'=>$modelOrder,
+ ]);
+ }
+
+ public function actionItems(){
+ $modelMod = new Mod;
+ if(!empty($_GET['deleteID'])){
+ $modelMod->deleteBasketMod($_GET['deleteID']);
+ }
+
+ if(isset($_POST['Mod'])){
+ foreach ($_POST['Mod'] as $index=>$row) {
+ $modelMod->updateBasket($row);
+ }
+ }
+ $basket_mods = $modelMod->getBasketMods();
+ return $this->renderAjax('ajax_items', [
+ 'modelMod'=>$modelMod,
+ 'basket_mods'=>$basket_mods,
+ ]);
+ }
+
+ public function actionInfo()
+ {
+ $modelMod = new Mod;
+ $info = $modelMod->rowBasket();
+ return $this->renderAjax('ajax_info', [
+ 'info'=>$info,
+ ]);
+ }
+
+ public function actionAdd(){
+ $modelMod = new Mod;
+ if(isset($_GET['mod_id'],$_GET['count']) && $_GET['mod_id']>0 && $_GET['count']>0){
+ $modelMod->addBasket($_GET['mod_id'],$_GET['count']);
+ }
+
+ Yii::$app->end();
+ }
+
+
+ public function actionSuccess(){
+ return $this->render('success');
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/BrendsController.php b/frontend/controllers/BrendsController.php
new file mode 100644
index 0000000..6e6c94d
--- /dev/null
+++ b/frontend/controllers/BrendsController.php
@@ -0,0 +1,47 @@
+where(['translit'=>$_GET['translit']])->one())
+ throw new HttpException(404, 'Данной странице не существует!');
+
+ $query = Products::find()->where('brend_id=:brend_id',[':brend_id' => $brend->id])->with(['catalog'])->innerJoinWith(['cost']);
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>18]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $products = $query->offset($pages->offset)
+ ->limit($pages->limit)
+ ->all();
+
+ return $this->render('show', [
+ 'brend'=>$brend,
+ 'products'=>$products,
+ 'pages'=>$pages,
+ ]);
+ }
+
+ public function actionIndex()
+ {
+
+ $brends = Brends::find()->orderBy('sort ASC')->all();
+
+ return $this->render('index', [
+ 'brends'=>$brends,
+ ]);
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/CallController.php b/frontend/controllers/CallController.php
new file mode 100644
index 0000000..f38c460
--- /dev/null
+++ b/frontend/controllers/CallController.php
@@ -0,0 +1,33 @@
+load(Yii::$app->request->post()) && $model->contact('borisenko.pavel@gmail.com')) {
+
+ return Yii::$app->response->redirect(['call/success']);
+ }
+
+ return $this->render('index', [
+ 'model'=>$model,
+ ]);
+ }
+
+
+ public function actionSuccess(){
+ return $this->render('success');
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/IamController.php b/frontend/controllers/IamController.php
new file mode 100644
index 0000000..dd6d020
--- /dev/null
+++ b/frontend/controllers/IamController.php
@@ -0,0 +1,159 @@
+ [
+ 'class' => AccessControl::className(),
+ //'only' => ['person'],
+ 'rules' => [
+ [
+ 'actions' => ['index','edit','myorders','show_order','share','price'],
+ 'allow' => true,
+ 'roles' => ['@'],
+ ],
+ ],
+ ],
+ 'verbs' => [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'logout' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+
+ public function actionIndex()
+ {
+
+
+ $model = User::findOne(Yii::$app->user->id);
+
+
+ return $this->render(Yii::$app->user->identity->role, [
+ 'model' => $model,
+ ]);
+ }
+
+ public function actionEdit()
+ {
+
+
+ $model = User::findOne(Yii::$app->user->id);
+
+ $model->scenario = 'edit_'.Yii::$app->user->identity->role;
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+
+ return Yii::$app->response->redirect(['/iam/index']);
+
+
+ }
+
+ return $this->render('edit_'.Yii::$app->user->identity->role, [
+ 'model' => $model,
+ ]);
+ }
+
+ public function actionMyorders(){
+
+
+ $model = Order::find()->where(['user_id'=>Yii::$app->user->id])->orderBy('id DESC')->all();
+
+ return $this->render('myorders',['model'=>$model]);
+
+ }
+
+ public function actionShow_order()
+ {
+ $model = Order::findOne($_GET['id']);
+
+
+
+ $dataProvider = new ActiveDataProvider([
+ 'query' => OrdersProducts::find()->where(['order_id'=>$_GET['id']]),
+ 'pagination' => [
+ 'pageSize' => 20,
+ ],
+ ]);
+ return $this->render('show_order',['model'=>$model,'dataProvider'=>$dataProvider]);
+ }
+
+ public function actionShare(){
+ if(!empty($_GET['id'])){
+ if(!$model = Share::find()->where('user_id=:user_id and product_id=:product_id',[':user_id'=>Yii::$app->user->id,':product_id'=>$_GET['id']])->one())
+ $model = new Share;
+
+ $model->product_id = $_GET['id'];
+ $model->save();
+
+ Yii::$app->getSession()->setFlash('success', 'Этот товар добавлен в закладку!');
+ return $this->redirect(Yii::$app->request->referrer);
+ }
+ else{
+ /* $dataProvider = new ActiveDataProvider([
+ 'query' => Share::find()->where(['user_id'=>Yii::$app->user->id])->orderBy('date_time DESC'),
+ 'pagination' => [
+ 'pageSize' => 20,
+ ],
+ ]);*/
+ if(!empty($_GET['deleteID'])){
+ $model = Share::find()->where(['user_id'=>Yii::$app->user->id,'id'=>$_GET['deleteID']])->one();
+ $model->delete();
+ return $this->redirect(Yii::$app->request->referrer);
+ }
+ $query = Share::find()->where(['user_id'=>Yii::$app->user->id])->groupBy('date')->orderBy('date DESC');
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>20]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $share = $query->offset($pages->offset)
+ ->limit($pages->limit)
+ ->all();
+ return $this->render('share',['share'=>$share,'pages'=>$pages]);
+ }
+ }
+
+
+ public function actionPrice(){
+ if(!empty($_GET['id'])){
+ if(!$model = Price::find()->where('user_id=:user_id and product_id=:product_id',[':user_id'=>Yii::$app->user->id,':product_id'=>$_GET['id']])->one())
+ $model = new Price;
+
+ $model->product_id = $_GET['id'];
+ $model->save();
+
+ Yii::$app->getSession()->setFlash('success', 'Этот товар добавлен в закладку Узнать о снижение цены!');
+ return $this->redirect(Yii::$app->request->referrer);
+ }
+ else{
+ $dataProvider = new ActiveDataProvider([
+ 'query' => Price::find()->where(['user_id'=>Yii::$app->user->id])->orderBy('date_time DESC'),
+ 'pagination' => [
+ 'pageSize' => 20,
+ ],
+ ]);
+ return $this->render('price',['dataProvider'=>$dataProvider]);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/LoginController.php b/frontend/controllers/LoginController.php
new file mode 100644
index 0000000..8670f48
--- /dev/null
+++ b/frontend/controllers/LoginController.php
@@ -0,0 +1,50 @@
+user->isGuest) {
+ return $this->goHome();
+ }
+
+ $model = new LoginForm();
+ if ($model->load(Yii::$app->request->post()) && $model->login()) {
+ return $this->goBack();
+ } else {
+ return $this->render('index', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ public function actionLogout()
+ {
+ Yii::$app->user->logout();
+
+ return $this->goHome();
+ }
+
+ public function actionForgot(){
+
+ $model = new User;
+ if(!empty($_POST['User']['username'])){
+ if($user = User::find()->where(['username'=>$_POST['User']['username']])->one())
+ $user->sendMsg();
+ Yii::$app->getSession()->setFlash('success', 'На указанный Вами эмейл отправленно письмо с паролем!');
+ return $this->refresh();
+ }
+
+ return $this->render('forgot', [
+ 'model' => $model,
+ ]);
+ }
+}
\ No newline at end of file
diff --git a/frontend/controllers/NewsController.php b/frontend/controllers/NewsController.php
new file mode 100644
index 0000000..dfc4a04
--- /dev/null
+++ b/frontend/controllers/NewsController.php
@@ -0,0 +1,41 @@
+orderBy('id DESC') ;
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>18]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $news = $query->offset($pages->offset)
+ ->limit($pages->limit)
+ ->all();
+
+ return $this->render('index', [
+ 'pages'=>$pages,
+ 'news'=>$news,
+ ]);
+ }
+
+ public function actionShow(){
+ if(!$news = News::find()->where(['id'=>$_GET['id']])->one())
+ throw new HttpException(404, 'Данной странице не существует!');
+
+ return $this->render('show', [
+ 'news'=>$news,
+ ]);
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/ProductsController.php b/frontend/controllers/ProductsController.php
new file mode 100644
index 0000000..56e1ff5
--- /dev/null
+++ b/frontend/controllers/ProductsController.php
@@ -0,0 +1,154 @@
+load ($_POST);
+ if (! $catalog = Catalog::find ()->where (['translit' => $_GET['translit']])->with ('parent')->one ())
+ throw new HttpException(404, 'Данной странице не существует!');
+ $query = Products::find ()->where ('catalog_id=:catalog_id OR catalog_parent_id=:catalog_parent_id', [':catalog_id' => $catalog->id, ':catalog_parent_id' => $catalog->id])->with (['catalog'])->innerJoinWith (['cost']);
+ if (! empty($_POST['Products']['minCost']) && ! empty($_POST['Products']['maxCost'])) $query->andWhere ('(cost>=:minCost and cost<=:maxCost)', [':minCost' => $_POST['Products']['minCost'], ':maxCost' => $_POST['Products']['maxCost']]);
+ if (! empty($_GET['brends']))
+ {
+ $b = explode (';', $_GET['brends']);
+ $query->andWhere (['brend_id' => $b]);
+ }
+ if (! empty($_GET['filters']))
+ {
+ $l = explode (';', $_GET['filters']);
+ $items = Filters::find ()->where (['parent_id' => 0])->all ();
+ foreach ($items as $key => $it)
+ {
+ $f = [];
+ foreach ($it->childs as $c)
+ {
+ if (in_array ($c['id'], $l)) $f[] = $c['id'];
+ }
+ if (count ($f) > 0)
+ $query->innerJoin ('productsFilters as filter_' . $key, 'filter_' . $key . '.product_id=products.id')->andWhere (['filter_' . $key . '.filter_id' => $f]);
+ // $childs->leftJoin('productsFilters as pf_'.$key, 'pf_'.$key.'.product_id = productsFilters.product_id')->andWhere(['pf_'.$key.'.filter_id'=>$f]);
+ }
+ }
+ if (! empty($modelProducts->fasovka))
+ {
+ $query->innerJoinWith (['fasovka'])->andWhere ([ProductsFasovka::tableName () . '.fasovka_id' => $modelProducts->fasovka]);
+ }
+ if (! empty($modelProducts->type))
+ {
+ $query->innerJoinWith (['type'])->andWhere ([ProductsType::tableName () . '.type_id' => $modelProducts->type]);
+ }
+ if (! empty($modelProducts->brends))
+ {
+ $query->innerJoinWith (['brends'])->andWhere ([ProductsBrends::tableName () . '.brend_id' => $modelProducts->brends]);
+ }
+ $query->groupBy (['id']);
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count (), 'pageSize' => 15]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $products = $query->offset ($pages->offset)
+ ->limit ($pages->limit)
+ ->all ();
+
+ return $this->render ('index', [
+ 'modelProducts' => $modelProducts,
+ 'catalog' => $catalog,
+ 'pages' => $pages,
+ 'products' => $products,
+ ]);
+ }
+
+ public function actionSearch ()
+ {
+ $query = Products::find ()->innerJoinWith (['catalog'])->innerJoinWith (['cost'])->innerJoinWith (['brend']);
+ if (! empty($_GET['search_str']))
+ {
+ $query->andWhere (['like', 'products.name', $_GET['search_str']]);
+ $query->orWhere (['like', 'catalog.name', $_GET['search_str']]);
+ $query->orWhere (['like', 'catalog_brends.name', $_GET['search_str']]);
+ $query->orWhere (['like', 'mod.art', $_GET['search_str']]);
+ }
+ $query->groupBy (['id']);
+ $countQuery = clone $query;
+ $pages = new Pagination(['totalCount' => $countQuery->count (), 'pageSize' => 20]);
+ $pages->forcePageParam = false;
+ $pages->pageSizeParam = false;
+ $products = $query->offset ($pages->offset)
+ ->limit ($pages->limit)
+ ->all ();
+
+ return $this->render ('search', [
+ 'pages' => $pages,
+ 'products' => $products,
+ ]);
+ }
+
+ public function actionShow ()
+ {
+ if (! $catalog = Catalog::find ()->where (['translit' => $_GET['translit_rubric']])->with ('parent')->one ())
+ throw new HttpException(404, 'Данной странице не существует!');
+ if (! $product = Products::find ()->where (['id' => $_GET['id']])->one ())
+ throw new HttpException(404, 'Данной странице не существует!');
+ ViewProduct::add ($product->id);
+
+ return $this->render ('show', [
+ 'catalog' => $catalog,
+ 'product' => $product,
+ ]);
+ }
+
+ public function actionCompare ()
+ {
+ $session = new Session;
+ $session->open ();
+ if (! empty($_GET['id']))
+ {
+ $i = 0;
+ if (isset($session['compare']))
+ {
+ foreach ($session['compare'] as $key => $compare)
+ {
+ if ($_GET['id'] == $compare)
+ {
+ $i++;
+ }
+ }
+ }
+ if ($i == 0)
+ {
+ $data[] = $_GET['id'];
+ $session['compare'] = $data;
+ }
+ Yii::$app->getSession ()->setFlash ('success', 'Этот товар добавлен к сравнению!');
+
+ return $this->redirect (Yii::$app->request->referrer);
+ }
+ else
+ {
+ //print_r($session['compare']);
+ $products = Products::find ()->where (['id' => $session['compare']])->all ();
+
+ return $this->render ('compare', [
+ 'products' => $products,
+ ]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/frontend/controllers/RegController.php b/frontend/controllers/RegController.php
new file mode 100644
index 0000000..2806b41
--- /dev/null
+++ b/frontend/controllers/RegController.php
@@ -0,0 +1,80 @@
+ [
+ 'class' => AccessControl::className(),
+ //'only' => ['person'],
+ 'rules' => [
+ [
+ 'actions' => ['person','captcha'],
+ 'allow' => true,
+ 'roles' => ['?'],
+ ],
+ ],
+ ],
+ 'verbs' => [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'logout' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ public function actions()
+ {
+ return [
+ 'captcha' => [
+ 'class' => 'yii\captcha\CaptchaAction',
+ ],
+ ];
+ }
+
+ private function saveUser($scenario = null){
+ $model = new User();
+
+ $model = (!empty($_GET['id'])) ? User::findOne($_GET['id']) : new User;
+ if(!empty($scenario))$model->scenario = $scenario;
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+
+ $modelLogin = new LoginForm();
+ $modelLogin->username = $model->username;
+ $modelLogin->password = $model->password;
+ $modelLogin->login();
+ return Yii::$app->response->redirect(['/iam']);
+
+
+ }
+
+ return $model;
+ }
+
+ public function actionPerson()
+ {
+
+ $model = $this->saveUser('person');
+
+
+ return $this->render('person', [
+ 'model' => $model,
+ ]);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/SubscribeController.php b/frontend/controllers/SubscribeController.php
new file mode 100644
index 0000000..cbf2a03
--- /dev/null
+++ b/frontend/controllers/SubscribeController.php
@@ -0,0 +1,26 @@
+load(Yii::$app->request->post()) && $model->save()) {
+
+ Yii::$app->getSession()->setFlash('success', 'Вы успешно подписались на рассылку!');
+ return $this->refresh();
+ }
+ return $this->render('index',['model'=>$model]);
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/TextController.php b/frontend/controllers/TextController.php
new file mode 100644
index 0000000..8defa5c
--- /dev/null
+++ b/frontend/controllers/TextController.php
@@ -0,0 +1,24 @@
+where(['translit'=>$_GET['translit']])->one())
+ throw new HttpException(404, 'Данной странице не существует!');
+
+ return $this->render('index', [
+ 'text'=>$modelText,
+ ]);
+ }
+
+}
\ No newline at end of file
diff --git a/frontend/controllers/error_log b/frontend/controllers/error_log
new file mode 100644
index 0000000..e13edb0
--- /dev/null
+++ b/frontend/controllers/error_log
@@ -0,0 +1 @@
+[23-Mar-2015 04:22:39 UTC] PHP Fatal error: Class 'yii\web\Controller' not found in /home/webplusn/public_html/yii2/controllers/SiteController.php on line 14
diff --git a/frontend/views/basket/_popup.php b/frontend/views/basket/_popup.php
new file mode 100644
index 0000000..7e830ec
--- /dev/null
+++ b/frontend/views/basket/_popup.php
@@ -0,0 +1,28 @@
+
+
+
+
+
+
Товар добавлен в корзину
+
+
+
+ Загрузка...
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/basket/ajax_info.php b/frontend/views/basket/ajax_info.php
new file mode 100644
index 0000000..0c17748
--- /dev/null
+++ b/frontend/views/basket/ajax_info.php
@@ -0,0 +1,5 @@
+
+Корзина =$info->count?>
\ No newline at end of file
diff --git a/frontend/views/basket/ajax_items.php b/frontend/views/basket/ajax_items.php
new file mode 100644
index 0000000..8c93190
--- /dev/null
+++ b/frontend/views/basket/ajax_items.php
@@ -0,0 +1,29 @@
+
+ false,'id'=>'basket_form2']); ?>
+$item):?>
+
+ field($item,'['.$i.']id')->hiddenInput()->label(false); ?>
+
+
+
+
=$item->product_name?>
+
+ old_cost>0):?>
=$item->old_cost?> грн.
+
=$item->cost?> грн.
+
+
+
+
field($item,'['.$i.']count',['template'=>'{input}'])->textInput(['type'=>'number','class' => 'item_num','disabled1'=>true])->label(false); ?>
+
+
=$item->sum_cost?> грн.
+
+
+
+
+
+
Всего: =$modelMod->getSumCost()?> грн.
+
+
\ No newline at end of file
diff --git a/frontend/views/basket/index.php b/frontend/views/basket/index.php
new file mode 100644
index 0000000..d4cdb68
--- /dev/null
+++ b/frontend/views/basket/index.php
@@ -0,0 +1,115 @@
+title = 'Корзина';
+$this->registerMetaTag(['name' => 'description', 'content' => 'Корзина']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => 'Корзина']);
+
+$this->registerJsFile(Yii::$app->request->baseUrl.'/js/jquery.mask.js',['position'=>View::POS_HEAD,'depends'=>['yii\web\YiiAsset']]);
+
+$this->registerJs("
+$('#order-phone,#order-phone2').mask('(000) 000-0000');
+", View::POS_READY, 'mask');
+
+
+$this->registerJs("
+$('#order-delivery input[type=\"radio\"]').click(function(){
+ $('.delivery-data').hide();
+ $('#delivery-data-'+$(this).val()).show();
+});
+", View::POS_READY, 'order-delivery');
+?>
+
+ = Breadcrumbs::widget([
+ 'links' => [
+ 'Корзина'
+ ],
+ ]) ?>
+
+
+
+
+
+
+
+
Корзина
+
+= Html::a('Вернуться в каталог', ['/site/index'], ['class'=>'btn-success']) ?>
+ false]); ?>
+
+
+
+
+$item):?>
+
+
+
+
=$item->product_name?>
+
Код: =$item->art?>, цвет: =$item->color?>
+ field($item,'['.$i.']id')->hiddenInput()->label(false); ?>
+ field($item,'['.$i.']product_name')->hiddenInput()->label(false); ?>
+ field($item,'['.$i.']art')->hiddenInput()->label(false); ?>
+ field($item,'['.$i.']name')->hiddenInput()->label(false); ?>
+ field($item,'['.$i.']cost')->hiddenInput()->label(false); ?>
+ field($item,'['.$i.']sum_cost')->hiddenInput()->label(false); ?>
+
+
цена за один =$item->cost?> грн, цена =$item->sum_cost?> грн
+
Количество field($item,'['.$i.']count')->textInput(['type'=>'number'])->label(false); ?>
+
+
Удалить
+
+
+
+
+"update",'class'=>'submit4 fl')); ?>
+
+
+ = $form->field($modelOrder, 'total')->hiddenInput(['value'=>$modelMod->getSumCost()])->label(false); ?>
+ Общая сумма: =$modelMod->getSumCost();?> грн.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/basket/success.php b/frontend/views/basket/success.php
new file mode 100644
index 0000000..133cba8
--- /dev/null
+++ b/frontend/views/basket/success.php
@@ -0,0 +1,28 @@
+title = 'Корзина';
+$this->registerMetaTag(['name' => 'description', 'content' => 'Корзина']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => 'Корзина']);
+
+?>
+
+ = Breadcrumbs::widget([
+ 'links' => [
+ 'Корзина'
+ ],
+ ]) ?>
+
+
+
+
+
+
+
+
Корзина
+Ваш заказ принят! Большое Спасибо! Менеджер с Вами свяжется в ближайшее время.
+
+
diff --git a/frontend/views/brends/index.php b/frontend/views/brends/index.php
new file mode 100644
index 0000000..643cc33
--- /dev/null
+++ b/frontend/views/brends/index.php
@@ -0,0 +1,40 @@
+title = 'Бренды';
+$this->registerMetaTag(['name' => 'description', 'content' => 'Бренды']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => 'Бренды']);
+
+$this->params['breadcrumbs'][] = ['label'=>'Бренды','url'=>['/brends/index']];
+?>
+
+
+ = Breadcrumbs::widget([
+ 'links' => $this->params['breadcrumbs'],
+ ])
+
+ ?>
+
+
+
+
+
diff --git a/frontend/views/brends/show.php b/frontend/views/brends/show.php
new file mode 100644
index 0000000..9262623
--- /dev/null
+++ b/frontend/views/brends/show.php
@@ -0,0 +1,50 @@
+title = $brend->name;
+ $this->registerMetaTag (['name' => 'description', 'content' => $brend->name]);
+ $this->registerMetaTag (['name' => 'keywords', 'content' => $brend->name]);
+ $this->params['breadcrumbs'][] = ['label' => 'Бренды', 'url' => ['/brends/index']];
+ $this->params['breadcrumbs'][] = ['label' => $brend->name];
+
+?>
+
+
+ = Breadcrumbs::widget ([
+ 'links' => $this->params['breadcrumbs'],
+ ])
+ ?>
+
+
+
+
+
+
+
= $brend->name ?>
+
+
+
+
+
+
+
+ = $this->render ('/products/_product', ['item' => $item, 'num' => 3]) ?>
+
+
+
+
+
+
+
+ = LinkPager::widget ([
+ 'pagination' => $pages,
+ 'registerLinkTags' => true,
+ ]); ?>
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/catalog/_catalog_box.php b/frontend/views/catalog/_catalog_box.php
new file mode 100644
index 0000000..14a47bc
--- /dev/null
+++ b/frontend/views/catalog/_catalog_box.php
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/frontend/views/catalog/all.php b/frontend/views/catalog/all.php
new file mode 100644
index 0000000..9aa7c4f
--- /dev/null
+++ b/frontend/views/catalog/all.php
@@ -0,0 +1,39 @@
+title = 'Каталог';
+$this->registerMetaTag(['name' => 'description', 'content' => 'Каталог']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => 'Каталог']);
+
+?>
+
+ = Breadcrumbs::widget([
+ 'links' => ['Каталог'],
+ ]) ?>
+
+
+
+
+
Каталог
+ /**foreach($catalogs as $item):?>
+
+
+
+
+
+
+
diff --git a/frontend/views/catalog/index.php b/frontend/views/catalog/index.php
new file mode 100644
index 0000000..4845f99
--- /dev/null
+++ b/frontend/views/catalog/index.php
@@ -0,0 +1,44 @@
+
+title = $catalog->meta_title;
+$this->registerMetaTag(['name' => 'description', 'content' => $catalog->meta_description]);
+$this->registerMetaTag(['name' => 'keywords', 'content' => $catalog->meta_keywords]);
+?>
+
+ = Breadcrumbs::widget([
+
+ 'links' => [ ['label'=>'Каталог','url'=>['catalog/all']],
+ $catalog->name],
+ ]) ?>
+
+
+
+
+
+
+
+ = $this->render('_catalog_box',['catalog'=>$catalog]) ?>
+
+
+
+
=$catalog->name?>
+
+
+ childs as $item):?>
+
+
+
+
+ =$catalog->body?>
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/products/_product.php b/frontend/views/products/_product.php
new file mode 100644
index 0000000..b1692e9
--- /dev/null
+++ b/frontend/views/products/_product.php
@@ -0,0 +1,67 @@
+
+
+
+
= $item->name ?>
+
+
+';
+
+ // есть скидка
+ if ($item->costMax->old_cost != 0 && $item->costMax->old_cost != $item->costMax->cost)
+ {
+ // одинаковая скидка
+ if ($item->costMax->count_diff == 1)
+ {
+ echo '
'.$item->costMax->old_cost.' грн.';
+ }
+ }
+
+ echo '
'.$item->costMax->cost.' грн.
';
+
+ echo '
';
+
+?>
+
+ Купить
+
+
+
+ mods as $mods) { ?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/products/_show.php b/frontend/views/products/_show.php
new file mode 100644
index 0000000..e384f84
--- /dev/null
+++ b/frontend/views/products/_show.php
@@ -0,0 +1,122 @@
+title = (!empty($product->meta_title))?$product->meta_title:$product->name;
+$this->registerMetaTag(['name' => 'description', 'content' => ((!empty($product->meta_description))?$product->meta_description:$product->name)]);
+$this->registerMetaTag(['name' => 'keywords', 'content' => $product->meta_keywords]);
+$this->registerJs("
+ var checkData = function(obj){
+ $('#cost').text($(obj).data('cost'));
+ $('#product_id').val($(obj).data('id'));
+ }
+ $('.fasovka input[type=\"radio\"]').click(function() {
+ checkData(this);
+ });
+ checkData($( '.fasovka input:checked' ));
+", View::POS_READY, 'fasovka');
+
+$this->registerJs("
+
+ $('#product_gallery a').click(function() {
+ var image = $(this).attr('href');
+ $('#productPic').attr('src', image);
+ return false;
+ });
+
+", View::POS_READY, 'gallery');
+
+$this->registerJsFile(Yii::$app->request->baseUrl.'/js/jquery.sliderkit.1.9.2.pack.js',['position'=>View::POS_HEAD,'depends'=>['yii\web\YiiAsset']]);
+$this->registerJs("
+
+ $('.skit').sliderkit({
+ cssprefix: 'skit',
+ shownavitems: 3,
+ auto: false,
+ scroll: 1,
+ circular: false,
+ // freeheight: true,
+ scrollspeed: 500
+ });
+
+", View::POS_READY, 'sliderkit');
+?>
+
+ = Breadcrumbs::widget([
+ 'links' => [
+ ['label'=>'Каталог','url'=>['catalog/all']],
+ ['label'=>$catalog->parent->name,'url'=>['catalog/index','translit'=>$catalog->parent->translit]],
+ ['label'=>$catalog->name,'url'=>['products/index','translit'=>$catalog->translit]],
+ $product->name,
+ ],
+ ]) ?>
+
+
+
+
+
+
+
+ = $this->render('/catalog/_catalog_box',['catalog'=>$catalog]) ?>
+
+
+
+
=$product->name?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fotos as $key=>$item):?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Фасовка
+
+ mods as $key=>$item):?>
+ > =$item->name?>
+
+
+
+ Количество
+
+
+
+
Характеристики
+ =$product->char?>
+
+
Описание
+ =$product->body?>
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/products/compare.php b/frontend/views/products/compare.php
new file mode 100644
index 0000000..0f2c1e7
--- /dev/null
+++ b/frontend/views/products/compare.php
@@ -0,0 +1,46 @@
+title = 'СРАВНЕНИЕ';
+$this->registerMetaTag(['name' => 'description', 'content' => 'СРАВНЕНИЕ']);
+$this->registerMetaTag(['name' => 'keywords', 'content' => 'СРАВНЕНИЕ']);
+
+$this->params['breadcrumbs'][] = ['label'=>'Каталог','url'=>['/catalog/all']];
+$this->params['breadcrumbs'][] = ['label'=>'СРАВНЕНИЕ','url'=>['/products/compare']];
+?>
+
+
+
+ = Breadcrumbs::widget([
+ 'links' => $this->params['breadcrumbs'],
+ ]) ?>
+
+
+
+
+ СРАВНЕНИЕ
+
+
diff --git a/frontend/views/products/index.php b/frontend/views/products/index.php
new file mode 100644
index 0000000..0ffc3a6
--- /dev/null
+++ b/frontend/views/products/index.php
@@ -0,0 +1,99 @@
+
+params['catalog_id'] = $catalog->id;
+ $this->title = $catalog->meta_title;
+ $this->registerMetaTag (['name' => 'description', 'content' => $catalog->meta_description]);
+ $this->registerMetaTag (['name' => 'keywords', 'content' => $catalog->meta_keywords]);
+ $this->registerCssFile (Yii::$app->request->BaseUrl . '/css/begunok.css');
+ $this->registerJsFile (Yii::$app->request->baseUrl . '/js/jquery.ui-slider.js', ['position' => View::POS_HEAD, 'depends' => ['yii\web\JqueryAsset']]);
+ $this->registerJsFile (Yii::$app->request->baseUrl . '/js/begunok.js', ['position' => View::POS_HEAD, 'depends' => ['yii\web\JqueryAsset']]);
+ $this->params['breadcrumbs'][] = ['label' => 'Каталог', 'url' => ['/catalog/all']];
+ if (! empty($catalog->parent)) $this->params['breadcrumbs'][] = ['label' => $catalog->parent->name, 'url' => ['products/index', 'translit' => $catalog->parent->translit]];
+ $this->params['breadcrumbs'][] = ['label' => $catalog->name];
+?>
+
+ = Breadcrumbs::widget ([
+ 'links' => $this->params['breadcrumbs'],
+ ])
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+ = BrendsWidget::widget (['translit' => $catalog->translit, 'catalog_id' => $catalog->id]) ?>
+
+ = FiltersWidget::widget (['translit' => $catalog->translit, 'catalog_id' => $catalog->id]) ?>
+
+
+
Цена
+ false]); ?>
+
+
+
+ field ($modelProducts, 'minCost'); ?>
+ field ($modelProducts, 'maxCost'); ?>
+
+ 'submit4', 'style' => 'margin-left:50px;']); ?>
+
+
+
+
+
+
+
+
+
= $catalog->name ?>
+
+
+
+
+
+
+ = $this->render ('_product', ['item' => $item, 'num' => 3]) ?>
+
+
+
+
+
+
+
+ = LinkPager::widget ([
+ 'pagination' => $pages,
+ 'registerLinkTags' => true,
+ ]); ?>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/views/products/search.php b/frontend/views/products/search.php
new file mode 100644
index 0000000..8eb66ea
--- /dev/null
+++ b/frontend/views/products/search.php
@@ -0,0 +1,60 @@
+
+title = 'Поиск';
+ $this->registerMetaTag (['name' => 'description', 'content' => 'Поиск']);
+ $this->registerMetaTag (['name' => 'keywords', 'content' => 'Поиск']);
+?>
+
+ = Breadcrumbs::widget ([
+ 'links' => [
+ ['label' => 'Каталог', 'url' => ['catalog/all']],
+ 'Поиск',
+ ],
+ ]) ?>
+
+
+
+
+
+
+
Поиск
+
+
+ = empty($products) ? 'Не чего не найдено!' : '' ?>
+
+
+
+
+
+
+ = $this->render ('_product', ['item' => $item, 'num' => 3]) ?>
+
+
+
+
+
+
+ = LinkPager::widget ([
+ 'pagination' => $pages,
+ 'registerLinkTags' => true,
+ ]); ?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/products/show.php b/frontend/views/products/show.php
new file mode 100644
index 0000000..8456550
--- /dev/null
+++ b/frontend/views/products/show.php
@@ -0,0 +1,176 @@
+title = (! empty($product->meta_title)) ? $product->meta_title : $product->name;
+ $this->registerMetaTag (['name' => 'description', 'content' => ((! empty($product->meta_description)) ? $product->meta_description : $product->name)]);
+ $this->registerMetaTag (['name' => 'keywords', 'content' => $product->meta_keywords]);
+ $this->registerJs ('
+
+ var checkData = function($index)
+ {
+ var $source = $(".productLeftBar .product_mod > li").eq($index).find("a");
+ var $target = $(".productLeftBar .cost_box");
+
+ $("#cost").text($source.data("cost"));
+ $("#old_cost").text($source.data("old_cost"));
+
+ if (parseInt ($source.data("old_cost")) == 0)
+ {
+ $target.find("strike").hide();
+ }
+ else
+ {
+ $target.find("strike").show();
+ }
+
+ $("#product_id").val($source.data("id"));
+ $("#art").text($source.data("art"));
+ $("#color").text($source.data("color"));
+ $("#pic").attr("src",$source.data("image"));
+ $("#picoriginal").attr("href",$source.data("imageoriginal"));
+ }
+
+ $(".product_mod > li").click(function()
+ {
+ checkData($(this).index());
+
+ Shadowbox.setup($("#picoriginal"));
+
+ return false;
+ });
+
+ checkData(0);
+
+ ', View::POS_READY, 'fasovka');
+
+ $this->registerJs ("
+ $('#nav_product li a').addClass('active');
+ $('#nav_product li').find('.info').toggle();
+
+ $('#nav_product li a').bind('click',function()
+ {
+ if($(this).parent().find('.info').css('display')=='none')$(this).addClass('active');
+ else $(this).removeClass('active');
+ $(this).parent().find('.info').toggle();
+
+ return false;
+ });
+ ", View::POS_READY, 'nav_product');
+
+ $this->registerCssFile (Yii::$app->request->BaseUrl . '/js/shadowbox-3.0.3/shadowbox.css');
+ $this->registerJsFile (Yii::$app->request->baseUrl . '/js/shadowbox-3.0.3/shadowbox.js', ['position' => View::POS_HEAD, 'depends' => ['yii\web\JqueryAsset']]);
+ $this->registerJs ("
+ Shadowbox.init({
+
+ });
+ ", View::POS_READY, 'Shadowbox');
+?>
+
+
+
+ = Breadcrumbs::widget ([
+ 'links' => [
+ ['label' => 'Каталог', 'url' => ['catalog/all']],
+ // ['label'=>$catalog->parent->name,'url'=>['catalog/index','translit'=>$catalog->parent->translit]],
+ ['label' => $catalog->name, 'url' => ['products/index', 'translit' => $catalog->translit]],
+ $product->name,
+ ],
+ ]) ?>
+
+
+session->getFlash ('success')): ?>
+ = $flash ?>
+
+
+
+
+
+
= $product->name ?>
+
Цветовые решения
+
+ mods as $key => $item): ?>
+
+
+
+
+
+
+
+
+
+
+
код: цвет:
+
+ 0 грн.
+ 0 грн.
+
+
+
В Корзину
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fotos as $key => $item): ?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/web/css/1style.css b/frontend/web/css/1style.css
new file mode 100644
index 0000000..e3d0a04
--- /dev/null
+++ b/frontend/web/css/1style.css
@@ -0,0 +1,874 @@
+html,form,
+body { padding:0px;margin:0px;
+font-family: 'Ubuntu',Arial, Tahoma, Helvetica, sans-serif;font-size:14px;color:#1d1d1b;height:100%;
+}
+h1,h2,h3{margin:0px;padding:0px 0px 10px 0px;}
+.fl{float:left;}
+.fotter .wrap .fr{float:right; width: 180px; height: 50px; position: relative;}
+.fotter .wrap .fr img{position: absolute; top: 50%; margin-top: -10px; right: 0;}
+.fotter .wrap .fl {line-height: 50px;}
+.both{clear:both;}
+h1{margin:10px 0px;font-size:24px;}
+h3{margin-bottom:30px;}
+p{margin:3px 0px;padding:0px;}
+
+a{color:#6a6a6a;font-size:14px;text-decoration:underline;}
+a:hover{color:#799920;}
+
+.wrap {
+ width:960px;margin:0px auto;
+}
+.f{background: #ffffff;}
+
+.br{-webkit-box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+-moz-box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+padding:20px;}
+
+nav.top{background:#f5f5f5;padding:10px 0px;border-bottom:1px solid #d2d2d2;font-size:12px;}
+nav.top ul{list-style:none;margin:0px;padding:0px;}
+nav.top ul li{float:left;padding-right:20px;}
+nav.top a{color:#6a6a6a;text-decoration:none;}
+
+#help{background:url('../img/help.png') right no-repeat;padding-right:20px;}
+#help span{border-bottom:1px dotted #6a6a6a;}
+
+#login{background:url('../img/login.png') right no-repeat;padding-right:20px;}
+#login span{border-bottom:1px dotted #6a6a6a;}
+
+.search{margin:-5px 0px -5px 100px;float:left;}
+nav input[type="text"]{width:325px;outline:0;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;}
+nav input[type="submit"]{width:35px;height:29px;border:none;background:url('../img/lupa_sub.png') center no-repeat;margin-left:-35px;cursor:pointer;}
+
+
+
+.header{margin:0px 0px 20px;}
+
+.phone{float:left;position:relative;text-align:center;margin-top:20px;}
+.phone .tel{font-size:23px;}
+.phone .tel span.more{margin-bottom: 3px}
+.more_block{background:#ffffff;border:1px solid #d2d2d2;padding:10px;position:absolute;font-size:20px;display:none;z-index:99;}
+
+.more{background:url('../img/more.png') no-repeat;width:12px;height:7px;display:inline-block;cursor:pointer;margin-bottom:5px;}
+
+
+.logo{margin:0px auto 0px;width:193px;}
+.logo a{display:block;width:193px;height:84px;background:url('../img/logo.png') no-repeat;}
+.logo a span{display:none;}
+
+#call{color:#6a6a6a;text-decoration:none;border-bottom:1px dotted #6a6a6a;}
+
+.basket{float:right;position:relative;border:1px solid #d2d2d2;border-radius:5px;padding:15px 20px;font-size:18px;text-transform: uppercase;margin-top:13px;}
+.basket .info{float:left;border-right:1px solid #d2d2d2;padding-right:10px;margin-right:17px;}
+.basket .info span{color:#f75d50;font-size:22px;}
+.basket a:link,.basket a:visited{text-decoration:none;color:#000000;font-size:18px;}
+
+.basket span.more {margin-bottom: -1px}
+.menu{background:#596065;border:1px solid #e8e8e8;}
+.menu ul{margin:0px;padding:0px;list-style:none;}
+.menu ul li{float:left;border-right:1px solid #e8e8e8;}
+.menu ul li a{float:left;padding:15px 20px 15px 20px;text-transform: uppercase;color:#ffffff;font-size:14px;font-weight:bold;text-decoration: none;}
+.menu ul li a:hover{color:#e5e4e4;}
+.menu ul li.active a{background:#f5f5f5;color:#596065;}
+
+.menu_childs{background:#f5f5f5;border:1px solid #e8e8e8;border-bottom:2px solid #596065;}
+.menu_childs ul{margin:0px;padding:0px;list-style:none;}
+.menu_childs ul li{float:left;}
+.menu_childs ul li a{float:left;padding:15px 23px 15px 23px;text-transform: uppercase;color:#596065;font-size:14px;font-weight:bold;text-decoration: none;}
+.menu_childs ul li a:hover{color:#878b8e;}
+
+.fr ul li{border:none;}
+.akciya a{background:#f75d50;color:#ffffff;}
+.brends a{background:#95ba2f;color:#ffffff;}
+
+a.myorders{color:#f75d50}
+
+
+.slider{margin-top:20px;}
+
+
+
+
+
+
+
+
+#slides{width:720px;height:340px;position:relative;}
+.banner{float:left;margin-right:20px;}
+
+.slides_container {
+ width:720px;
+ overflow:hidden;
+ position:relative;
+ display:none;
+}
+
+/*
+ Each slide
+ Important:
+ Set the width of your slides
+ If height not specified height will be set by the slide content
+ Set to display block
+*/
+
+.slides_container div.slide {
+ width:720px;
+ height:340px;
+ display:block;
+}
+
+
+/*
+ Next/prev buttons
+*/
+
+#slides .prev {
+ position:absolute;
+ top:150px;
+ left:20px;
+ width:25px;
+ height:39px;
+ display:block;
+ z-index:999;
+}
+
+#slides .next {
+ position:absolute;
+ top:150px;
+ right:15px;
+ width:25px;
+ height:39px;
+ display:block;
+ z-index:999;
+}
+
+
+/*
+ Pagination
+*/
+
+#slides .pagination {
+ padding:0px;
+ position:relative;z-index:999;margin:-30px auto;display:table;
+}
+
+#slides .pagination ul{list-style:none;margin:0px;padding:0px;}
+
+#slides .pagination li {
+ float:left;
+ margin:0 3px;
+ list-style:none;
+}
+
+#slides .pagination li a {
+ display:block;
+ width:10px;
+ height:0;
+ padding-top:12px;
+ background-image:url(../img/pagination.png);
+ background-position:0 -12px;
+ float:left;
+ overflow:hidden;
+}
+
+#slides .pagination li.current a {
+ background-position:0 0px;
+}
+
+
+
+.sub{margin:2px 0px 0px 0px;}
+.sub img{float:left;margin-right:2px;}
+
+.rubrics{margin:35px 0px;padding-bottom:10px;}
+.rubrics ul{list-style:none;margin:0px;padding:0px;}
+.rubrics ul li{float:left;margin:0px 35px;}
+.rubrics ul li a{float:left;width:120px;padding-top:130px;text-align:center;text-transform: uppercase;color:#494949;text-decoration:none;font-weight:bold;}
+.rubrics ul li.item1 a{background:url('../img/ico1.png') no-repeat;}
+.rubrics ul li.item2 a{background:url('../img/ico2.png') no-repeat;}
+.rubrics ul li.item3 a{background:url('../img/ico3.png') no-repeat;}
+.rubrics ul li.item4 a{background:url('../img/ico4.png') no-repeat;}
+.rubrics ul li.item5 a{background:url('../img/ico5.png') no-repeat;}
+
+
+.products{border-top:1px solid #d2d2d2;padding-bottom:30px;padding-top:20px;}
+.products ul{list-style:none;margin:0px;padding:0px;}
+.products ul li.item{float:left;width:160px;margin:0px 35px 15px;text-align:center;position:relative;}
+.products ul li a.name{display:block;color:#494949;text-decoration:none;margin:15px 0px;height:30px;text-transform: uppercase;}
+.products ul li .info{text-align: left;}
+.pn{border:none;}
+
+.cost{color:#f75d50;font-size:20px;margin:0px;padding:0px;}
+.cost span.valute{font-size:16px;}
+strike{font-size:18px;}
+
+a.link_buy{display:block;margin:10px auto;width:122px;height:38px;line-height:38px;background:url('../img/buy.png') no-repeat;text-transform: uppercase;color:#ffffff;text-decoration:none;font-weight:bold;text-align:center;}
+
+.mycarousel{position:absolute;right:-34px;top:-20px;}
+ul.mycarousel{list-style:none;margin:0px;padding:0px;}
+ul.mycarousel li{margin:0px;padding:0px;}
+.mycarousel img{border:1px solid #d2d2d2;}
+
+h3{text-align:center;text-transform: uppercase;font-size:20px;}
+h2.why{width:213px;height:49px;background:url('../img/logo-why.png') no-repeat;margin:0px auto; padding: 0 0 20px 0;}
+h2.why span{display:none;}
+
+ul.why_list{list-style:none;margin:0px;padding:0px;}
+ul.why_list li{float:left;width:180px;margin-right:30px;}
+ul.why_list li span{font-weight:bold;color:#799920;}
+ul.why_list li.item1{background:url('../img/why_item1.png') left no-repeat;padding:36px 0px 20px 110px;}
+ul.why_list li.item2{background:url('../img/why_item2.png') left no-repeat;padding:20px 0px 20px 110px;}
+ul.why_list li.item3{background:url('../img/why_item3.png') left no-repeat;padding:40px 0px 40px 110px;}
+ul.why_list li.item4{background:url('../img/why_item4.png') left no-repeat;padding:20px 0px 20px 110px;}
+ul.why_list li.item5{background:url('../img/why_item5.png') left no-repeat;padding:30px 0px 30px 110px;}
+ul.why_list li.item6{background:url('../img/why_item6.png') left no-repeat;padding:40px 0px 40px 110px;}
+
+.banner_akciya{margin:50px 0px;}
+
+.bottom{background:#4d5458;padding:40px 0px;color:#ffffff;}
+.bottom .leftbar{float:left;width:210px;margin-right:70px;}
+.bottom ul{list-style:none;margin:0px;padding:0px;line-height: 23px;}
+.bottom ul a{color:#ffffff;font-size:16px;text-decoration:none;}
+.bottom ul a:hover{color:#799920;}
+
+.phones{padding-left:25px;background:url('../img/phone.png') left top no-repeat;margin-top:50px;line-height: 23px;}
+.map{padding:5px 0px 5px 25px;background:url('../img/map.png') left no-repeat; margin-bottom: 7px;}
+a.more_map{color:#99a5ad;border-bottom:1px dotted #99a5ad;text-decoration:none;font-size:11px;text-align:center;}
+
+.bread-crumbs{padding:10px 0px 10px 20px;border-bottom:1px solid #d2d2d2;}
+.bread-crumbs ul{list-style:none;margin:0px 0px 0px 0px;padding:0px;}
+.bread-crumbs ul li{float:left;padding-right:5px;}
+.bread-crumbs ul li a:visited,.bread-crumbs ul li a:link{font-size:14px;color:#7d7d7d;text-decoration:underline;}
+.bread-crumbs ul li a:hover{color:#464646;text-decoration: none;}
+.breadcrumb > li + li:before {
+ color: #ccc;
+ content: "/ ";
+ padding: 0 5px;
+}
+
+
+.loyout{padding:20px 0px;}
+.leftbar{float:left;width:200px;margin-right:35px;}
+.rightbar{float:right;width:380px;margin-left:35px;}
+.rightbar2{float:right;width:240px;margin-left:35px;}
+.content {overflow:hidden;min-height:500px;}
+* html .content{height:1%;}
+.content2 {overflow:hidden;}
+* html .content2{height:1%;}
+
+.filters{border-top:1px solid #d2d2d2;padding:20px 0px 0px;margin-top:20px;}
+.filters .begin{text-transform: uppercase;font-weight:bold;}
+.filters ul{list-style:none;margin:0px;padding:0px;line-height:22px;}
+.filters ul li a{color:#8fa951;text-decoration:none;}
+.filters ul li a:hover{text-decoration:underline;}
+
+.productLeftBar{float:left;width:230px;padding-left:20px;margin-right:20px;}
+.productRightBar{float:right;width:280px;margin-left:20px;}
+.productLeftBar h1{font-size:27px;border-bottom:1px solid #d2d2d2;margin-bottom:10px;}
+
+ul.product_mod{list-style:none;margin:10px 0px 0px 0px;padding:0px;}
+ul.product_mod li{float:left;margin-right:7px;}
+ul.product_mod li img{border:1px solid #d2d2d2;}
+
+ul.product_colors{list-style:none;margin:10px 0px 0px 0px;padding:0px;}
+ul.product_colors li{float:left;margin-right:7px;}
+ul.product_colors li img{border:1px solid #d2d2d2;}
+.productLeftBar .begin{text-transform: uppercase;font-weight:bold;}
+
+.cost_box{border-top:1px solid #d2d2d2;border-bottom:1px solid #d2d2d2;margin:10px 0px;padding:10px 0px;}
+.cost_box .w{float:left;margin-right:20px;padding-top:5px;}
+
+.product_service ul{list-style:none;margin:0px;padding:0px;}
+.product_service ul li a{color:#799920;text-decoration:none;border-bottom:1px dotted #799920;font-size:12px;}
+.product_service ul li.item1{background:url('../img/li1.png') left no-repeat;padding:3px 23px;}
+.product_service ul li.item2{background:url('../img/li2.png') left no-repeat;padding:3px 23px;}
+.product_service ul li.item3{background:url('../img/li3.png') left no-repeat;padding:3px 23px;}
+
+#nav_product{list-style:none;margin:0px;padding:0px;line-height:23px;}
+#nav_product li a{background:url('../img/li_plus.png') left no-repeat;padding:3px 15px;color:#000000;text-transform: uppercase;text-decoration:none;font-weight:bold;}
+#nav_product li a.active{background:url('../img/li_minus.png') left no-repeat;}
+#nav_product li .info{display:none;border-bottom:1px solid #d2d2d2;padding:10px 0px;margin-bottom:10px;}
+
+
+.modal_box{
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+
+ background: #000;
+filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE 5.5+*/
+-moz-opacity: 0.5; /* Mozilla 1.6 Рё РЅРёР¶Рµ */
+-khtml-opacity: 0.5; /* Konqueror 3.1, Safari 1.1 */
+opacity: 0.5;
+
+}
+#data_box{position:absolute;top:100px;z-index:1000;width:400px;background:#ffffff;
+ -webkit-box-shadow: 0 0 15px #000;
+ -moz-box-shadow: 0 0 15px #000;
+ box-shadow: 0 0 15px #000;
+ border:7px solid #1b9bb6;
+ border-radius:5px;
+}
+#data_box .data_wrp{padding:25px 15px 15px 15px;}
+#data_box .data_wrp h1{text-transform: uppercase;}
+#data_box .data_wrp hr{height: 1px;border: none;color: #000000;background: #000000;margin: 45px 0px 20px 0px;}
+#data_box .data_wrp hr.hr{height: 1px;border: none;color: #000000;background: #000000;margin: 20px 0px 20px 0px;}
+#data_box .pic-tango{margin-right:7px;margin-bottom:7px;}
+#modal_close{cursor:pointer;margin-top:-80px;margin-right:-50px;}
+
+
+.rightbar .control-label{float:left;width:80px;padding-top:5px;}
+.form-control{outline:0;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;margin-bottom:3px;width:250px;}
+.form-control:focus {
+border:#1b9bb6 1px solid;
+box-shadow: 0 0 10px #1b9bb6;
+-webkit-box-shadow: 0 0 10px #1b9bb6;
+-moz-box-shadow: 0 0 10px #1b9bb6;
+}
+.help-block{color:red;font-size:12px;margin-bottom:5px;}
+
+.basket_item{padding:10px 0px;border-bottom:1px solid #b7b7b7;}
+.basket_item img{margin-right:20px;}
+.basket_item .count{margin:20px 0px;}
+.basket_item .fr{margin-top:5px;}
+.basket_item .info{overflow:hidden;}
+a.del:visited,a.del:link{background:url('../img/del.png') left center no-repeat;padding:2px 25px;font-size:12px;font-weight:normal;color:#787878;text-decoration: underline;}
+a.del:hover{color:#a52828;text-decoration: underline;}
+
+.total{text-align:right;color:#87476a;font-size:20px;margin:10px 0px;}
+
+.submit4{margin-top:5px;border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer;}
+.submit4:hover{background:#f75d50;}
+
+.submit4m{border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:12px;font-weight:bold;cursor:pointer;}
+.submit4m:hover{background:#f75d50;}
+
+.btn-primary{margin-top:5px;border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer;}
+.btn-primary:hover{background:#f75d50;}
+
+a.logout:visited,a.logout:link{border:none;padding:3px 5px;background:#f75d50;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:11px;font-weight:normal;cursor:pointer;}
+a.logout:hover{background:#95ba2f;}
+
+.boy_box{border-bottom:1px solid #b7b7b7;padding:0px 0px 15px 0px;}
+.boy_box div{padding-top:10px;}
+
+.content_product .info{padding:0px 0px 20px 0px;}
+
+a.btn-success{display:inline-block;border:2px solid #d8d6d6;color:#95ba2f;border-radius:5px;padding:5px;margin-bottom:10px;text-decoration:none;font-size:14px;}
+a.btn-success:hover{border:#95ba2f 2px solid;color:#f75d50;}
+
+
+.txtb1{font-size:14px;font-weight:bold;}
+.txtf{font-size:14px;font-weight:bold;color:#87476a;}
+.txtfb{font-size:20px;font-weight:bold;color:#87476a;}
+
+.count{margin:20px 0px;}
+.count input[type="number"]{outline:0;width:50px;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;margin-bottom:7px;}
+
+a.link2:visited,a.link2:link{font-size:14px;font-weight:bold;color:#95ba2f;text-decoration: none;}
+a.link2:hover{color:#f75d50;text-decoration: underline;}
+
+
+
+.well{margin:50px auto;width:400px;background:#f5f5f5;border:1px solid #e8e8e8;padding:20px;border-radius:5px;}
+.control-label{float:left;width:100px;padding-top:5px;}
+#user-verifycode-image{display:block;}
+.form-inline{display:inline;}
+.form-inline .form-group{float:left;margin-right:10px;}
+.form-inline .form-group select{width:100px;}
+.form-group{margin-bottom: 10px;}
+.table-bordered{width:100%;border:1px solid silver;}
+.table-bordered th{background: #B3D1FD;padding:5px;}
+.table-bordered tr td{border:1px solid silver;padding:5px;}
+.table-bordered .filters{display: none;}
+
+.formCost label{float:left;width:30px;}
+
+ul.brends_list{list-style: none;margin:0px;padding:0px;}
+ul.brends_list li{float:left;text-align:center;margin:0px 15px 20px 15px;}
+
+.compare{text-align: center;}
+.compare a:visited,.compare a:link{font-size:12px;text-decoration: underline;}
+
+.alert-success{margin:10px 0px;padding:10px;border:1px solid #3ed824;border-radius: 5px;background: #c0feb5;}
+
+.news_item{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid silver;}
+.news_item img{margin-right:20px;}
+.news_item a{font-size:16px;}
+
+.pic{margin-right:20px;}
+
+#subscribe-sale{width:100px;float:left;margin-right:20px;}
+.saletxt{width:150px;float:left;color:#ffffff;}
+#subscribe-email{width:390px;}
+
+.txts{color:#9da9b1;font-size:18px;margin-bottom:20px;}
+
+.content ul.pagination{list-style:none;text-align:center;}
+.content ul.pagination li{display:inline;}
+.content ul.pagination li a{padding:3px;color:#82a02f;font-size: 16px;margin:0px; text-decoration: none; }
+.content ul.pagination li a:hover {text-decoration: underline}
+.content ul.pagination li.active a{color: #333333;}
+.boxitem{height:300px;}
+ul.social {margin-top: 20px;}
+.social{list-style: none;margin: 10px;padding: 0px;height:48px;}
+.social li{display:inline-block;margin-right:7px;padding-bottom: 10px;}
+.social li a{
+ width:36px;
+ height:36px;
+ display:block;
+ margin:0;padding:0;
+ text-indent:-9999px;
+ background:#bcbcbc url(../img/social-ico-two.png) no-repeat 0 0;
+ border-radius:48px;
+ -moz-border-radius:48px;
+ -webkit-border-radius:48px;
+ -webkit-transition: all 0.5s ease-out;
+ -moz-transition: all 0.5s ease-out;
+ transition: all 0.5s ease-out;
+}
+.social .fb{background-position:-44px 0;
+cursor: pointer;
+}
+.social .vk{
+cursor: pointer;
+}
+.social .vk:hover{background-color:#5B7FA6;}
+.social .fb:hover{background-color:#354f89;
+}
+.social .gp{background-position:-132px 0;
+cursor: pointer;}
+.social .gp:hover{background-color:#c72f21;}
+.social .tw{background-position:-144px 0;
+cursor: pointer;}
+.social .tw:hover{background-color:#6398c9;}
+.social .ok{background-position:-89px 0;
+cursor: pointer;}
+.social .ok:hover{background-color:#f88f15;}
+.social ul li a:hover{
+ background-color:#065baa;
+}
+
+.socialbox{margin:10px 0px;}
+.hide{display:none;}
+
+
+
+.fotter{background: #484f55;height: 50px;color:#98a3ab;}
+.fotter a{color:#98a3ab; line-height: 50px; float: left;}
+
+
+.view_products2{list-style: none;overflow:auto;height:400px;}
+.view_products2 img{float:left;margin-right:20px;}
+.view_products2 li{margin:10px 0px;}
+
+
+.pixbox{width:134px;height:200px;overflow: hidden;text-align: center;}
+
+
+.form-order{background:#f5f5f5;padding:10px;border:1px solid #d2d2d2;}
+#order-payment{float:right;width:280px;}
+#order-delivery{float:right;width:280px;}
+
+.delivery-data{padding:5px;border:1px solid #1bb631;background: #b7f5bf;display:none;border-radius: 5px;}
+
+.jcarousel-next-disabled, .jcarousel-prev-disabled {display: none !important;}
+.content2 br {display: none;}
+.pixbox a {
+ width: 134px;
+ height: 200px;
+ display: table-cell;
+ vertical-align: middle;
+}
+.pixbox img {
+ max-width: 134px;
+ max-height: 200px;
+ vertical-align: middle;
+}
+.pagination li.prev.disabled span {
+ padding: 9px;
+ border-radius: 10%;
+ color: #4D5458;
+ font-size: 14px;
+ margin: 0px;
+ border: 1px solid #4d5458;
+}
+.fr {float: right;}
+
+.nobottom{border-bottom:none !important;}
+
+.dotted a{border-bottom: 1px dotted #808080;}
+
+.mycabinet{padding-left:20px;margin-top:20px;}
+.mycabinet .begin{text-transform:uppercase;font-size: 13px;font-weight:bold; padding-bottom:15px;}
+.mycabinet ul{margin:0px;padding:0px;list-style:none;}
+.mycabinet ul li{padding-top:10px;padding-bottom:10px;}
+.mycabinet a{color:#799920;text-decoration:none;}
+
+.lay_title .uppercase{text-transform:uppercase;}
+.lay_title .center{text-align:center;}
+.lay_title{padding-top:15px;font-size:24px;}
+
+.user_data{width:390px;border-right:1px solid #d2d2d2;float:left;}
+.user_data .col{padding-bottom:35px;}
+.user_data .col.last{padding-bottom:0px;}
+.user_data .title{text-transform:uppercase;font-weight:bold;width:170px;float:left;font-size:13px;}
+.user_data .data{float:left;font-size:13px;}
+
+.edit_menu{float:left;padding-left:60px;font-size:13px;}
+.edit_menu div{padding-bottom:20px;}
+.edit_menu a{color:#799920;text-decoration:none;}
+.edit_menu .dotted{border-bottom:1px dotted #799920;}
+
+.user_edit_area{padding-top:30px;}
+
+/* part two */
+
+.user_data_editing{float:left;}
+.inputs .col{padding-bottom:12px !important;}
+.user_data_editing .col{padding-bottom:35px; width:432px;}
+.user_data_editing .title{text-transform:uppercase;font-weight:bold;width:170px;float:left;font-size:13px;}
+.user_data_editing .data{float:left;font-size:13px; width:262px;}
+
+.user_data_editing input[type="text"] {
+ padding:0;
+ margin:0;
+ border:1px solid #d2d2d2;
+ padding-top:7px;
+ padding-bottom:7px;
+ padding-left:10px;
+ padding-right:10px;
+ border-radius:4px;
+ font-size:12px;
+ margin-top:-10px;
+ width: 240px;
+}
+
+.user_data_editing .add {color:#799920; text-decoration:none;border-bottom:1px dotted #799920;}
+.add_more{padding-bottom:24px; padding-left:170px;}
+
+.delete{float:right;}
+.delete_button{background: url('../img/ico_close.png') right no-repeat; width:16px;height:16px;float:right;}
+
+.content_area{width:450px;}
+
+.bottom3{border-top:3px solid #95ba2f !important;border-bottom:3px solid #799920 !important; float:left;font-size:15px;}
+.bottom3:hover{border-top:3px solid #f75d50 !important;border-bottom:3px solid #c33327 !important;}
+#cancel{text-decoration:none;color:#799920;font-size:13px;border-bottom:1px dotted #799920;float:left;margin-left:40px;}
+
+.buttons{
+ display: inline-flex;
+ align-items: center;}
+
+/* part three */
+
+.favorites{background-color:#f5f5f5; padding:5px;font-size:14px;}
+.favorites .fav_point{background-color:#ffffff;border:1px solid #d2d2d2;border-radius:3px;padding-top:10px;padding-bottom:10px;padding-left:20px;padding-right:20px; margin-top:5px;}
+.favorites .fav_point .left{float:left; padding-right:0; width:178px;}
+.favorites .fav_point .right{float:right; padding-right:0; padding-left:0;}
+
+.favorites .link{color:#799920; text-decoration:none;border-bottom:1px dotted #799920;}
+
+.redtext{color:#f75d50;}
+.greentext{color:#95ba2f;}
+
+/* part three one */
+.hold .orders_view{display:none !important;}
+.orders_view{width:680px;margin-top:13px;padding-top:13px;padding-bottom:5px;border-top:1px solid #d2d2d2;display:block;}
+.orders_view .order{float:left;width:225px;text-align:center;}
+.orders_view .order .order_price{color:#f75d50;font-weight:bold;font-size:15px;}
+.orders_view .order .order_price span{font-size:24px;}
+.orders_view .order img{padding-bottom:22px;}
+.orders_view .order .note{font-size:13px;}
+.orders_view .order .note span{color:#f75d50;}
+
+.basket_hovered{
+ position:absolute;
+ border:1px solid #d2d2d2;border-radius:5px;padding:15px 20px;
+ background-color:white;
+ right:-1px;
+ margin-top:10px;
+ width:640px;
+ display:none;
+ z-index:1111;
+}
+
+
+.open .basket_hovered{
+ display:block;
+}
+
+.open, .open .basket_hovered {
+ -moz-box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+ -webkit-box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+ box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+}
+.basket_hovered1:before{
+ position:absolute;
+ left:0;
+ content:' ';
+ width:100%;
+ background-color:white;
+ height:10px;
+ top:45px;
+ z-index:1112;
+}
+
+.basket_item input{
+ border: 1px solid #d2d2d2;
+ border-radius: 4px;
+ padding:9px;
+ width:26px;
+ font-size:18px;
+ font-weight:bold;
+ text-align:center;
+ background-color:white;
+ color: black;
+ margin:7px;
+}
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none;
+ margin:0;}
+
+
+.minus{background:url('../img/minus.png') no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer;}
+.plus{background:url('../img/plus.png') no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer;}
+
+.basket_sum{padding-top:15px;}
+
+.basket_sum .sum_text{font-size:15px; text-transform:none;padding-top:12px;float: right !important;padding-top: 1px;margin-bottom: 11px;}
+.basket_sum .sum_text span{font-size:18px; color:#f75d50; font-weight:bold;}
+.basket_sum a{color:white !important; font-size:15px !important; float:right;}
+
+
+.black{z-index:9999; background-color:rgba(0,0,0,0.5);width:100%;height:100%;position:fixed;display:block;padding-top:9%;}
+.black.hidden{display:none;}
+.black .item_added_win{background-color:#ffffff;width:640px; margin:auto;position:relative;}
+
+.black_close{position:absolute; top:30px;right:30px;background:url('../img/ico_close2.png') no-repeat;width:22px;height:22px;display:inline-block;cursor:pointer;}
+
+.block_content{padding-left:20px;padding-right:20px;}
+.item_added_win h2{text-transform:uppercase;text-align:center;padding:30px;}
+
+.block_content .item{padding-top:20px;padding-bottom:20px;border-bottom:1px solid #d2d2d2;}
+
+.uppercase{text-transform:uppercase;}
+
+.w230{width:230px;}
+.w260{width:260px;}
+.w430{width:430px;}
+.borderbottom{border-bottom:1px solid #d2d2d2;}
+.left_block .begin{text-transform:uppercase;font-size: 13px;font-weight:bold; padding-bottom:15px;}
+
+.color_variants .variant{
+ text-align:center;
+ border:1px solid #d2d2d2;
+ float:left;
+ margin-right:5px;
+ margin-bottom:5px;
+}
+.variant:hover{cursor:pointer;}
+.color_variants{margin-top:14px;margin-bottom:-5px;}
+.color_variants .variant.active{width:44px;height:44px;border:2px solid #95ba2f;}
+.color_variants .variant.active a{width:44px;height:44px;}
+
+.tobasket{margin-top:20px;margin-bottom:20px;}
+.tobasket:hover{color:white;}
+
+.variant{width:46px;height:46px;}
+.variant.active{width:44px;height:44px;}
+
+.layout{margin-top:15px;}
+.left_block{float:left;}
+.right_block{float:right;}
+.center_block{float:left;margin-left:23px;}
+
+.left_block .links{margin-top:25px;}
+
+.left_block .links li{list-style: none; padding-left:25px;display:inline-block;cursor:pointer;height:20px;}
+.left_block .links ul{margin:0;padding:0;}
+.left_block .links a{font-size:13.5px;text-decoration:none; color:#8ba73e;}
+
+
+.links .add_bookmarks{background:url('../img/ico_add_bookmark.png') no-repeat center left; }
+.links .what_price{background:url('../img/ico_price.png') no-repeat center left; }
+.links .add_compare{background:url('../img/ico_scales.png') no-repeat center left; }
+
+.spoiler_one{padding-top:15px;padding-bottom:15px;border-bottom:1px solid #d2d2d2;}
+.spoiler_one .spoiler_content{margin-top:15px;font-size:13px;}
+.spoiler_one .spoiler_content.hidden{display:none;}
+
+.title_spoiler:hover {cursor: pointer}
+
+.title_spoiler{
+ background:url('../img/ico_open.png') no-repeat center left;
+ padding-left: 17px;
+ font-size:13px;
+ text-transform:uppercase;
+ color:#333333;
+ font-weight:bold;
+ text-decoration:none;
+}
+.title_spoiler.closed{
+ background:url('../img/ico_close3.png') no-repeat center left;
+}
+
+.features{
+ list-style:none;
+ padding:0;
+ margin:0;
+ font-size:13px;
+}
+.features a{
+ font-size:13px;
+ text-decoration:none;
+ border-bottom:1px dotted #8ba73e;
+ color:#8ba73e;
+}
+.features li{
+ padding-top:5px;
+ padding-bottom:4px;
+}
+
+.note_prod{
+ width:225px;
+ height:23px;
+ overflow:hidden;
+ border-radius:5px;
+ display:table;
+ text-transform:uppercase;
+ font-size:11px;
+ font-weight:bold;
+}
+
+.note_prod .one{
+ z-index:999;
+}
+.note_prod .two{
+ z-index:998;
+}
+
+.note_prod .blue{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#42b9f6;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+}
+
+.note_prod .blue:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #42b9f6;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+.note_prod .red{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#f75d50;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+ color:#ffffff;
+}
+.note_prod .red:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #f75d50;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+.note_prod .yellow{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#fbc665;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+}
+.note_prod .yellow:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #fbc665;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+
+
+.products_block .product{float:left; width:190px; vertical-align:bottom;}
+.product .image{height:225px;position:relative;}
+.product .image img{position:absolute;bottom:0;left:15px;}
+
+.price{
+ font-size: 18px;
+ color: #f75d50;
+ font-weight: bold;
+ text-align:center;}
+
+.product{padding-bottom:30px;position:relative;}
+.product p{font-size:15px; text-align:center; margin-top:15px;}
+.left52{margin-left:52px;}
+.product a{color:#ffffff;}
+.mrg1{margin-top: 25px; margin-bottom: 15px;}
+
+.products_martopbot{margin-top:60px;margin-bottom:100px;}
+
+.cont_shop_but{display:table-cell;vertical-align:middle;padding:35px;}
+.cont_shop{text-decoration:none;font-size:12px;border-bottom:1px dotted #799920;color:#799920;}
+
+.icons{
+ width:45px;
+ height:50%;
+ position:absolute;
+ z-index:9;
+ right:0;
+ padding-top:25px;
+ padding-right:15px;
+}
+.icons a{
+ width:44px;
+ height:44px;
+ float: left;
+ border: 1px solid #d2d2d2;
+ margin-bottom: 5px;
+ background-color: white;
+}
+a:hover{cursor:pointer;}
+
+
+.basket_item .form-group{display:inline;}
+
+.basket.open:after{
+ content: '';
+ position: absolute;
+ top: 43px;
+ width: 100%;
+ height: 10px;
+ background-color: white;
+ left: 0;
+ z-index: 9990;
+}
+
+.basket_hovered .basket_sum{float:left;}
+
+a.active{font-weight:bold;text-decoration: underline;}
\ No newline at end of file
diff --git a/frontend/web/css/_style.css b/frontend/web/css/_style.css
new file mode 100644
index 0000000..2eb355c
--- /dev/null
+++ b/frontend/web/css/_style.css
@@ -0,0 +1,859 @@
+html,form,
+body { padding:0px;margin:0px;
+font-family: 'Ubuntu',Arial, Tahoma, Helvetica, sans-serif;font-size:14px;color:#1d1d1b;height:100%;
+}
+h1,h2,h3{margin:0px;padding:0px 0px 10px 0px;}
+.fl{float:left;}
+.fotter .wrap .fr{float:right; width: 180px; height: 50px; position: relative;}
+.fotter .wrap .fr img{position: absolute; top: 50%; margin-top: -10px; right: 0;}
+.fotter .wrap .fl {line-height: 50px;}
+.both{clear:both;}
+h1{margin:10px 0px;font-size:24px;}
+h3{margin-bottom:30px;}
+p{margin:3px 0px;padding:0px;}
+
+a{color:#6a6a6a;font-size:14px;text-decoration:underline;}
+a:hover{color:#799920;}
+
+.wrap {
+ width:960px;margin:0px auto;
+}
+.f{background: #ffffff;}
+
+.br{-webkit-box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+-moz-box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+box-shadow: -1px 5px 14px 0px rgba(50, 46, 50, 0.46);
+padding:20px;}
+
+nav.top{background:#f5f5f5;padding:10px 0px;border-bottom:1px solid #d2d2d2;font-size:12px;}
+nav.top ul{list-style:none;margin:0px;padding:0px;}
+nav.top ul li{float:left;padding-right:20px;}
+nav.top a{color:#6a6a6a;text-decoration:none;}
+
+#help{background:url('../img/help.png') right no-repeat;padding-right:20px;}
+#help span{border-bottom:1px dotted #6a6a6a;}
+
+#login{background:url('../img/login.png') right no-repeat;padding-right:20px;}
+#login span{border-bottom:1px dotted #6a6a6a;}
+
+.search{margin:-5px 0px -5px 100px;float:left;}
+nav input[type="text"]{width:325px;outline:0;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;}
+nav input[type="submit"]{width:35px;height:29px;border:none;background:url('../img/lupa_sub.png') center no-repeat;margin-left:-35px;cursor:pointer;}
+
+
+
+.header{margin:0px 0px 20px;}
+
+.phone{float:left;position:relative;text-align:center;margin-top:20px;}
+.phone .tel{font-size:23px;}
+.phone .tel span.more{margin-bottom: 3px}
+.more_block{background:#ffffff;border:1px solid #d2d2d2;padding:10px;position:absolute;font-size:20px;display:none;z-index:99;}
+
+.more{background:url('../img/more.png') no-repeat;width:12px;height:7px;display:inline-block;cursor:pointer;margin-bottom:5px;}
+
+
+.logo{margin:0px auto 0px;width:193px;}
+.logo a{display:block;width:193px;height:84px;background:url('../img/logo.png') no-repeat;}
+.logo a span{display:none;}
+
+#call{color:#6a6a6a;text-decoration:none;border-bottom:1px dotted #6a6a6a;}
+
+.basket{float:right;position:relative;border:1px solid #d2d2d2;border-radius:5px;padding:15px 20px;font-size:18px;text-transform: uppercase;margin-top:13px;}
+.basket .info{float:left;border-right:1px solid #d2d2d2;padding-right:10px;margin-right:17px;}
+.basket .info span{color:#f75d50;font-size:22px;}
+.basket a:link,.basket a:visited{text-decoration:none;color:#000000;font-size:18px;}
+
+.basket span.more {margin-bottom: -1px}
+.menu{background:#596065;border:1px solid #e8e8e8;}
+.menu ul{margin:0px;padding:0px;list-style:none;}
+.menu ul li{float:left;border-right:1px solid #e8e8e8;}
+.menu ul li a{float:left;padding:15px 20px 15px 20px;text-transform: uppercase;color:#ffffff;font-size:14px;font-weight:bold;text-decoration: none;}
+.menu ul li a:hover{color:#e5e4e4;}
+.menu ul li.active a{background:#f5f5f5;color:#596065;}
+
+.menu_childs{background:#f5f5f5;border:1px solid #e8e8e8;border-bottom:2px solid #596065;}
+.menu_childs ul{margin:0px;padding:0px;list-style:none;}
+.menu_childs ul li{float:left;}
+.menu_childs ul li a{float:left;padding:15px 23px 15px 23px;text-transform: uppercase;color:#596065;font-size:14px;font-weight:bold;text-decoration: none;}
+.menu_childs ul li a:hover{color:#878b8e;}
+
+.fr ul li{border:none;}
+.akciya a{background:#f75d50;color:#ffffff;}
+.brends a{background:#95ba2f;color:#ffffff;}
+
+a.myorders{color:#f75d50}
+
+
+.slider{margin-top:20px;}
+
+
+
+
+
+
+
+
+#slides{width:720px;height:340px;position:relative;}
+.banner{float:left;margin-right:20px;}
+
+.slides_container {
+ width:720px;
+ overflow:hidden;
+ position:relative;
+ display:none;
+}
+
+/*
+ Each slide
+ Important:
+ Set the width of your slides
+ If height not specified height will be set by the slide content
+ Set to display block
+*/
+
+.slides_container div.slide {
+ width:720px;
+ height:340px;
+ display:block;
+}
+
+
+/*
+ Next/prev buttons
+*/
+
+#slides .prev {
+ position:absolute;
+ top:150px;
+ left:20px;
+ width:25px;
+ height:39px;
+ display:block;
+ z-index:999;
+}
+
+#slides .next {
+ position:absolute;
+ top:150px;
+ right:15px;
+ width:25px;
+ height:39px;
+ display:block;
+ z-index:999;
+}
+
+
+/*
+ Pagination
+*/
+
+#slides .pagination {
+ padding:0px;
+ position:relative;z-index:999;margin:-30px auto;display:table;
+}
+
+#slides .pagination ul{list-style:none;margin:0px;padding:0px;}
+
+#slides .pagination li {
+ float:left;
+ margin:0 3px;
+ list-style:none;
+}
+
+#slides .pagination li a {
+ display:block;
+ width:10px;
+ height:0;
+ padding-top:12px;
+ background-image:url(../img/pagination.png);
+ background-position:0 -12px;
+ float:left;
+ overflow:hidden;
+}
+
+#slides .pagination li.current a {
+ background-position:0 0px;
+}
+
+
+
+.sub{margin:2px 0px 0px 0px;}
+.sub img{float:left;margin-right:2px;}
+
+.rubrics{margin:35px 0px;padding-bottom:10px;}
+.rubrics ul{list-style:none;margin:0px;padding:0px;}
+.rubrics ul li{float:left;margin:0px 35px;}
+.rubrics ul li a{float:left;width:120px;padding-top:130px;text-align:center;text-transform: uppercase;color:#494949;text-decoration:none;font-weight:bold;}
+.rubrics ul li.item1 a{background:url('../img/ico1.png') no-repeat;}
+.rubrics ul li.item2 a{background:url('../img/ico2.png') no-repeat;}
+.rubrics ul li.item3 a{background:url('../img/ico3.png') no-repeat;}
+.rubrics ul li.item4 a{background:url('../img/ico4.png') no-repeat;}
+.rubrics ul li.item5 a{background:url('../img/ico5.png') no-repeat;}
+
+
+.products{border-top:1px solid #d2d2d2;padding-bottom:30px;padding-top:20px;}
+.products ul{list-style:none;margin:0px;padding:0px;}
+.products ul li.item{float:left;width:160px;margin:0px 35px 15px;text-align:center;position:relative;}
+.products ul li a.name{display:block;color:#494949;text-decoration:none;margin:15px 0px;height:30px;}
+.products ul li .info{text-align: left;}
+.pn{border:none;}
+
+.cost{color:#f75d50;font-size:20px;margin:0px;padding:0px;}
+.cost span.valute{font-size:16px;}
+strike{font-size:18px;}
+
+a.link_buy{display:block;margin:10px auto;width:122px;height:38px;line-height:38px;background:url('../img/buy.png') no-repeat;text-transform: uppercase;color:#ffffff;text-decoration:none;font-weight:bold;text-align:center;}
+
+.mycarousel{position:absolute;right:-34px;top:-20px;}
+ul.mycarousel{list-style:none;margin:0px;padding:0px;}
+ul.mycarousel li{margin:0px;padding:0px;}
+.mycarousel img{border:1px solid #d2d2d2;}
+
+h3{text-align:center;text-transform: uppercase;font-size:20px;}
+h2.why{width:213px;height:49px;background:url('../img/logo-why.png') no-repeat;margin:0px auto; padding: 0 0 20px 0;}
+h2.why span{display:none;}
+
+ul.why_list{list-style:none;margin:0px;padding:0px;}
+ul.why_list li{float:left;width:180px;margin-right:30px;}
+ul.why_list li span{font-weight:bold;color:#799920;}
+ul.why_list li.item1{background:url('../img/why_item1.png') left no-repeat;padding:36px 0px 20px 110px;}
+ul.why_list li.item2{background:url('../img/why_item2.png') left no-repeat;padding:20px 0px 20px 110px;}
+ul.why_list li.item3{background:url('../img/why_item3.png') left no-repeat;padding:40px 0px 40px 110px;}
+ul.why_list li.item4{background:url('../img/why_item4.png') left no-repeat;padding:20px 0px 20px 110px;}
+ul.why_list li.item5{background:url('../img/why_item5.png') left no-repeat;padding:30px 0px 30px 110px;}
+ul.why_list li.item6{background:url('../img/why_item6.png') left no-repeat;padding:40px 0px 40px 110px;}
+
+.banner_akciya{margin:50px 0px;}
+
+.bottom{background:#4d5458;padding:40px 0px;color:#ffffff;}
+.bottom .leftbar{float:left;width:210px;margin-right:70px;}
+.bottom ul{list-style:none;margin:0px;padding:0px;line-height: 23px;}
+.bottom ul a{color:#ffffff;font-size:16px;text-decoration:none;}
+.bottom ul a:hover{color:#799920;}
+
+.phones{padding-left:25px;background:url('../img/phone.png') left top no-repeat;margin-top:50px;line-height: 23px;}
+.map{padding:5px 0px 5px 25px;background:url('../img/map.png') left no-repeat; margin-bottom: 7px;}
+a.more_map{color:#99a5ad;border-bottom:1px dotted #99a5ad;text-decoration:none;font-size:11px;text-align:center;}
+
+.bread-crumbs{padding:10px 0px 10px 20px;border-bottom:1px solid #d2d2d2;}
+.bread-crumbs ul{list-style:none;margin:0px 0px 0px 0px;padding:0px;}
+.bread-crumbs ul li{float:left;padding-right:5px;}
+.bread-crumbs ul li a:visited,.bread-crumbs ul li a:link{font-size:14px;color:#7d7d7d;text-decoration:underline;}
+.bread-crumbs ul li a:hover{color:#464646;text-decoration: none;}
+.breadcrumb > li + li:before {
+ color: #ccc;
+ content: "/ ";
+ padding: 0 5px;
+}
+
+
+.loyout{padding:20px 0px;}
+.leftbar{float:left;width:200px;margin-right:35px;}
+.rightbar{float:right;width:380px;margin-left:35px;}
+.rightbar2{float:right;width:240px;margin-left:35px;}
+.content {overflow:hidden;min-height:500px;}
+* html .content{height:1%;}
+.content2 {overflow:hidden;}
+* html .content2{height:1%;}
+
+.filters{border-top:1px solid #d2d2d2;padding:20px 0px 0px;margin-top:20px;}
+.filters .begin{text-transform: uppercase;font-weight:bold;}
+.filters ul{list-style:none;margin:0px;padding:0px;line-height:22px;}
+.filters ul li a{color:#8fa951;text-decoration:none;}
+.filters ul li a:hover{text-decoration:underline;}
+
+.productLeftBar{float:left;width:230px;padding-left:20px;margin-right:20px;}
+.productRightBar{float:right;width:280px;margin-left:20px;}
+.productLeftBar h1{font-size:27px;border-bottom:1px solid #d2d2d2;margin-bottom:10px;}
+
+ul.product_mod{list-style:none;margin:10px 0px 0px 0px;padding:0px;}
+ul.product_mod li{float:left;margin-right:7px;}
+ul.product_mod li img{border:1px solid #d2d2d2;}
+
+ul.product_colors{list-style:none;margin:10px 0px 0px 0px;padding:0px;}
+ul.product_colors li{float:left;margin-right:7px;}
+ul.product_colors li img{border:1px solid #d2d2d2;}
+.productLeftBar .begin{text-transform: uppercase;font-weight:bold;}
+
+.cost_box{border-top:1px solid #d2d2d2;border-bottom:1px solid #d2d2d2;margin:10px 0px;padding:10px 0px;}
+.cost_box .w{float:left;margin-right:20px;padding-top:5px;}
+
+.product_service ul{list-style:none;margin:0px;padding:0px;}
+.product_service ul li a{color:#799920;text-decoration:none;border-bottom:1px dotted #799920;font-size:12px;}
+.product_service ul li.item1{background:url('../img/li1.png') left no-repeat;padding:3px 23px;}
+.product_service ul li.item2{background:url('../img/li2.png') left no-repeat;padding:3px 23px;}
+.product_service ul li.item3{background:url('../img/li3.png') left no-repeat;padding:3px 23px;}
+
+#nav_product{list-style:none;margin:0px;padding:0px;line-height:23px;}
+#nav_product li a{background:url('../img/li_plus.png') left no-repeat;padding:3px 15px;color:#000000;text-transform: uppercase;text-decoration:none;font-weight:bold;}
+#nav_product li a.active{background:url('../img/li_minus.png') left no-repeat;}
+#nav_product li .info{display:none;border-bottom:1px solid #d2d2d2;padding:10px 0px;margin-bottom:10px;}
+
+
+.modal_box{
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+
+ background: #000;
+filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE 5.5+*/
+-moz-opacity: 0.5; /* Mozilla 1.6 Рё РЅРёР¶Рµ */
+-khtml-opacity: 0.5; /* Konqueror 3.1, Safari 1.1 */
+opacity: 0.5;
+
+}
+#data_box{position:absolute;top:100px;z-index:1000;width:400px;background:#ffffff;
+ -webkit-box-shadow: 0 0 15px #000;
+ -moz-box-shadow: 0 0 15px #000;
+ box-shadow: 0 0 15px #000;
+ border:7px solid #1b9bb6;
+ border-radius:5px;
+}
+#data_box .data_wrp{padding:25px 15px 15px 15px;}
+#data_box .data_wrp h1{text-transform: uppercase;}
+#data_box .data_wrp hr{height: 1px;border: none;color: #000000;background: #000000;margin: 45px 0px 20px 0px;}
+#data_box .data_wrp hr.hr{height: 1px;border: none;color: #000000;background: #000000;margin: 20px 0px 20px 0px;}
+#data_box .pic-tango{margin-right:7px;margin-bottom:7px;}
+#modal_close{cursor:pointer;margin-top:-80px;margin-right:-50px;}
+
+
+.rightbar .control-label{float:left;width:80px;padding-top:5px;}
+.form-control{outline:0;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;margin-bottom:3px;width:250px;}
+.form-control:focus {
+border:#1b9bb6 1px solid;
+box-shadow: 0 0 10px #1b9bb6;
+-webkit-box-shadow: 0 0 10px #1b9bb6;
+-moz-box-shadow: 0 0 10px #1b9bb6;
+}
+.help-block{color:red;font-size:12px;margin-bottom:5px;}
+
+.basket_item{padding:10px 0px;border-bottom:1px solid #b7b7b7;}
+.basket_item img{margin-right:20px;}
+.basket_item .count{margin:20px 0px;}
+.basket_item .fr{margin-top:5px;}
+.basket_item .info{overflow:hidden;}
+a.del:visited,a.del:link{background:url('../img/del.png') left center no-repeat;padding:2px 25px;font-size:12px;font-weight:normal;color:#787878;text-decoration: underline;}
+a.del:hover{color:#a52828;text-decoration: underline;}
+
+.total{text-align:right;color:#87476a;font-size:20px;margin:10px 0px;}
+
+.submit4{margin-top:5px;border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer;}
+.submit4:hover{background:#f75d50;}
+
+.submit4m{border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:12px;font-weight:bold;cursor:pointer;}
+.submit4m:hover{background:#f75d50;}
+
+.btn-primary{margin-top:5px;border:none;padding:8px 13px;background:#95ba2f;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer;}
+.btn-primary:hover{background:#f75d50;}
+
+a.logout:visited,a.logout:link{border:none;padding:3px 5px;background:#f75d50;border-radius:5px;color:#ffffff;text-transform: uppercase;text-decoration:none;font-size:11px;font-weight:normal;cursor:pointer;}
+a.logout:hover{background:#95ba2f;}
+
+.boy_box{border-bottom:1px solid #b7b7b7;padding:0px 0px 15px 0px;}
+.boy_box div{padding-top:10px;}
+
+.content_product .info{padding:0px 0px 20px 0px;}
+
+a.btn-success{display:inline-block;border:2px solid #d8d6d6;color:#95ba2f;border-radius:5px;padding:5px;margin-bottom:10px;text-decoration:none;font-size:14px;}
+a.btn-success:hover{border:#95ba2f 2px solid;color:#f75d50;}
+
+
+.txtb1{font-size:14px;font-weight:bold;}
+.txtf{font-size:14px;font-weight:bold;color:#87476a;}
+.txtfb{font-size:20px;font-weight:bold;color:#87476a;}
+
+.count{margin:20px 0px;}
+.count input[type="number"]{outline:0;width:50px;border:1px solid #d8d6d6;border-radius:5px;padding:5px 0px 5px 0px;font-size:14px;text-indent:10px;margin-bottom:7px;}
+
+a.link2:visited,a.link2:link{font-size:14px;font-weight:bold;color:#95ba2f;text-decoration: none;}
+a.link2:hover{color:#f75d50;text-decoration: underline;}
+
+
+
+.well{margin:50px auto;width:400px;background:#f5f5f5;border:1px solid #e8e8e8;padding:20px;border-radius:5px;}
+.control-label{float:left;width:100px;padding-top:5px;}
+#user-verifycode-image{display:block;}
+.form-inline{display:inline;}
+.form-inline .form-group{float:left;}
+.form-inline .form-group select{width:100px;}
+.form-group{margin-bottom: 10px;}
+.table-bordered{width:100%;border:1px solid silver;}
+.table-bordered th{background: #B3D1FD;padding:5px;}
+.table-bordered tr td{border:1px solid silver;padding:5px;}
+.table-bordered .filters{display: none;}
+
+.formCost label{float:left;width:30px;}
+
+ul.brends_list{list-style: none;margin:0px;padding:0px;}
+ul.brends_list li{float:left;text-align:center;margin:0px 15px 20px 15px;}
+
+.compare{text-align: center;}
+.compare a:visited,.compare a:link{font-size:12px;text-decoration: underline;}
+
+.alert-success{margin:10px 0px;padding:10px;border:1px solid #3ed824;border-radius: 5px;background: #c0feb5;}
+
+.news_item{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid silver;}
+.news_item img{margin-right:20px;}
+.news_item a{font-size:16px;}
+
+.pic{margin-right:20px;}
+
+#subscribe-sale{width:100px;float:left;margin-right:20px;}
+.saletxt{width:150px;float:left;color:#ffffff;}
+#subscribe-email{width:390px;}
+
+.txts{color:#9da9b1;font-size:18px;margin-bottom:20px;}
+
+.content ul.pagination{list-style:none;text-align:center;}
+.content ul.pagination li{display:inline;}
+.content ul.pagination li a{padding:3px;color:#82a02f;font-size: 16px;margin:0px; text-decoration: none; }
+.content ul.pagination li a:hover {text-decoration: underline}
+.content ul.pagination li.active a{color: #333333;}
+.boxitem{height:300px;}
+ul.social {margin-top: 20px;}
+.social{list-style: none;margin: 10px;padding: 0px;height:48px;}
+.social li{display:inline-block;margin-right:7px;padding-bottom: 10px;}
+.social li a{
+ width:36px;
+ height:36px;
+ display:block;
+ margin:0;padding:0;
+ text-indent:-9999px;
+ background:#bcbcbc url(../img/social-ico-two.png) no-repeat 0 0;
+ border-radius:48px;
+ -moz-border-radius:48px;
+ -webkit-border-radius:48px;
+ -webkit-transition: all 0.5s ease-out;
+ -moz-transition: all 0.5s ease-out;
+ transition: all 0.5s ease-out;
+}
+.social .fb{background-position:-44px 0;
+cursor: pointer;
+}
+.social .vk{
+cursor: pointer;
+}
+.social .vk:hover{background-color:#5B7FA6;}
+.social .fb:hover{background-color:#354f89;
+}
+.social .gp{background-position:-132px 0;
+cursor: pointer;}
+.social .gp:hover{background-color:#c72f21;}
+.social .tw{background-position:-144px 0;
+cursor: pointer;}
+.social .tw:hover{background-color:#6398c9;}
+.social .ok{background-position:-89px 0;
+cursor: pointer;}
+.social .ok:hover{background-color:#f88f15;}
+.social ul li a:hover{
+ background-color:#065baa;
+}
+
+.socialbox{margin:10px 0px;}
+.hide{display:none;}
+
+
+
+.fotter{background: #484f55;height: 50px;color:#98a3ab;}
+.fotter a{color:#98a3ab; line-height: 50px; float: left;}
+
+
+.view_products2{list-style: none;overflow:auto;height:400px;}
+.view_products2 img{float:left;margin-right:20px;}
+.view_products2 li{margin:10px 0px;}
+
+
+.pixbox{width:134px;height:200px;overflow: hidden;}
+
+
+.form-order{background:#f5f5f5;padding:10px;border:1px solid #d2d2d2;}
+#order-payment{float:right;width:280px;}
+#order-delivery{float:right;width:280px;}
+
+.delivery-data{padding:5px;border:1px solid #1bb631;background: #b7f5bf;display:none;border-radius: 5px;}
+
+.jcarousel-next-disabled, .jcarousel-prev-disabled {display: none !important;}
+.content2 br {display: none;}
+.pixbox a {
+ width: 134px;
+ height: 200px;
+ display: table-cell;
+ vertical-align: middle;
+}
+.pixbox img {
+ max-width: 134px;
+ max-height: 200px;
+ vertical-align: middle;
+}
+.pagination li.prev.disabled span {
+ padding: 9px;
+ border-radius: 10%;
+ color: #4D5458;
+ font-size: 14px;
+ margin: 0px;
+ border: 1px solid #4d5458;
+}
+.fr {float: right;}
+
+.nobottom{border-bottom:none !important;}
+
+.dotted a{border-bottom: 1px dotted #808080;}
+
+.mycabinet{padding-left:20px;margin-top:20px;}
+.mycabinet .begin{text-transform:uppercase;font-size: 13px;font-weight:bold; padding-bottom:15px;}
+.mycabinet ul{margin:0px;padding:0px;list-style:none;}
+.mycabinet ul li{padding-top:10px;padding-bottom:10px;}
+.mycabinet a{color:#799920;text-decoration:none;}
+
+.lay_title .uppercase{text-transform:uppercase;}
+.lay_title .center{text-align:center;}
+.lay_title{padding-top:15px;font-size:24px;}
+
+.user_data{width:390px;border-right:1px solid #d2d2d2;float:left;}
+.user_data .col{padding-bottom:35px;}
+.user_data .col.last{padding-bottom:0px;}
+.user_data .title{text-transform:uppercase;font-weight:bold;width:170px;float:left;font-size:13px;}
+.user_data .data{float:left;font-size:13px;}
+
+.edit_menu{float:left;padding-left:60px;font-size:13px;}
+.edit_menu div{padding-bottom:20px;}
+.edit_menu a{color:#799920;text-decoration:none;}
+.edit_menu .dotted{border-bottom:1px dotted #799920;}
+
+.user_edit_area{padding-top:30px;}
+
+/* part two */
+
+.user_data_editing{float:left;}
+.inputs .col{padding-bottom:12px !important;}
+.user_data_editing .col{padding-bottom:35px; width:432px;}
+.user_data_editing .title{text-transform:uppercase;font-weight:bold;width:170px;float:left;font-size:13px;}
+.user_data_editing .data{float:left;font-size:13px; width:262px;}
+
+.user_data_editing input[type="text"] {
+ padding:0;
+ margin:0;
+ border:1px solid #d2d2d2;
+ padding-top:7px;
+ padding-bottom:7px;
+ padding-left:10px;
+ padding-right:10px;
+ border-radius:4px;
+ font-size:12px;
+ margin-top:-10px;
+ width: 240px;
+}
+
+.user_data_editing .add {color:#799920; text-decoration:none;border-bottom:1px dotted #799920;}
+.add_more{padding-bottom:24px; padding-left:170px;}
+
+.delete{float:right;}
+.delete_button{background: url('../img/ico_close.png') right no-repeat; width:16px;height:16px;float:right;}
+
+.content_area{width:450px;}
+
+.bottom3{border-top:3px solid #95ba2f !important;border-bottom:3px solid #799920 !important; float:left;font-size:15px;}
+.bottom3:hover{border-top:3px solid #f75d50 !important;border-bottom:3px solid #c33327 !important;}
+#cancel{text-decoration:none;color:#799920;font-size:13px;border-bottom:1px dotted #799920;float:left;margin-left:40px;}
+
+.buttons{
+ display: inline-flex;
+ align-items: center;}
+
+/* part three */
+
+.favorites{background-color:#f5f5f5; padding:5px;font-size:14px;}
+.favorites .fav_point{background-color:#ffffff;border:1px solid #d2d2d2;border-radius:3px;padding-top:10px;padding-bottom:10px;padding-left:20px;padding-right:20px; margin-top:5px;}
+.favorites .fav_point .left{float:left; padding-right:0; width:178px;}
+.favorites .fav_point .right{float:right; padding-right:0; padding-left:0;}
+
+.favorites .link{color:#799920; text-decoration:none;border-bottom:1px dotted #799920;}
+
+.redtext{color:#f75d50;}
+.greentext{color:#95ba2f;}
+
+/* part three one */
+.hold .orders_view{display:none !important;}
+.orders_view{width:680px;margin-top:13px;padding-top:13px;padding-bottom:5px;border-top:1px solid #d2d2d2;display:block;}
+.orders_view .order{float:left;width:225px;text-align:center;}
+.orders_view .order .order_price{color:#f75d50;font-weight:bold;font-size:15px;}
+.orders_view .order .order_price span{font-size:24px;}
+.orders_view .order img{padding-bottom:22px;}
+.orders_view .order .note{font-size:13px;}
+.orders_view .order .note span{color:#f75d50;}
+
+.basket_hovered{
+ position:absolute;
+ border:1px solid #d2d2d2;border-radius:5px;padding:15px 20px;
+ background-color:white;
+ right:-1px;
+ margin-top:10px;
+ width:640px;
+ display:none;
+ z-index:1111;
+}
+
+
+.open .basket_hovered{
+ display:block;
+}
+
+.open, .open .basket_hovered {
+ -moz-box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+ -webkit-box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+ box-shadow: 0px 0px 5px rgba(149,149,149,0.75);
+}
+.basket_hovered1:before{
+ position:absolute;
+ left:0;
+ content:' ';
+ width:100%;
+ background-color:white;
+ height:10px;
+ top:45px;
+ z-index:1112;
+}
+
+.basket_item input{
+ border: 1px solid #d2d2d2;
+ border-radius: 4px;
+ padding:9px;
+ width:26px;
+ font-size:18px;
+ font-weight:bold;
+ text-align:center;
+ background-color:white;
+ color: black;
+ margin:7px;
+}
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none;
+ margin:0;}
+
+
+.minus{background:url('../img/minus.png') no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer;}
+.plus{background:url('../img/plus.png') no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer;}
+
+.basket_sum{padding-top:15px;}
+
+.basket_sum .sum_text{font-size:15px; text-transform:none;padding-top:12px;}
+.basket_sum .sum_text span{font-size:18px; color:#f75d50; font-weight:bold;}
+.basket_sum a{color:white !important; font-size:15px !important; float:right;}
+
+
+.black{z-index:9999; background-color:rgba(0,0,0,0.5);width:100%;height:100%;position:fixed;display:block;padding-top:9%;}
+.black.hidden{display:none;}
+.black .item_added_win{background-color:#ffffff;width:640px; margin:auto;position:relative;}
+
+.black_close{position:absolute; top:30px;right:30px;background:url('../img/ico_close2.png') no-repeat;width:22px;height:22px;display:inline-block;cursor:pointer;}
+
+.block_content{padding-left:20px;padding-right:20px;}
+.item_added_win h2{text-transform:uppercase;text-align:center;padding:30px;}
+
+.block_content .item{padding-top:20px;padding-bottom:20px;border-bottom:1px solid #d2d2d2;}
+
+.uppercase{text-transform:uppercase;}
+
+.w230{width:230px;}
+.w260{width:260px;}
+.w430{width:430px;}
+.borderbottom{border-bottom:1px solid #d2d2d2;}
+.left_block .begin{text-transform:uppercase;font-size: 13px;font-weight:bold; padding-bottom:15px;}
+
+.color_variants .variant{
+ text-align:center;
+ border:1px solid #d2d2d2;
+ float:left;
+ margin-right:5px;
+ margin-bottom:5px;
+}
+.variant:hover{cursor:pointer;}
+.color_variants{margin-top:14px;margin-bottom:-5px;}
+.color_variants .variant.active{width:44px;height:44px;border:2px solid #95ba2f;}
+.color_variants .variant.active a{width:44px;height:44px;}
+
+.tobasket{margin-top:20px;margin-bottom:20px;}
+.tobasket:hover{color:white;}
+
+.variant{width:46px;height:46px;}
+.variant.active{width:44px;height:44px;}
+
+.layout{margin-top:15px;}
+.left_block{float:left;}
+.right_block{float:right;}
+.center_block{float:left;margin-left:23px;}
+
+.left_block .links{margin-top:25px;}
+
+.left_block .links li{list-style: none; padding-left:25px;display:inline-block;cursor:pointer;height:20px;}
+.left_block .links ul{margin:0;padding:0;}
+.left_block .links a{font-size:13.5px;text-decoration:none; color:#8ba73e;}
+
+
+.links .add_bookmarks{background:url('../img/ico_add_bookmark.png') no-repeat center left; }
+.links .what_price{background:url('../img/ico_price.png') no-repeat center left; }
+.links .add_compare{background:url('../img/ico_scales.png') no-repeat center left; }
+
+.spoiler_one{padding-top:15px;padding-bottom:15px;border-bottom:1px solid #d2d2d2;}
+.spoiler_one .spoiler_content{margin-top:15px;font-size:13px;}
+.spoiler_one .spoiler_content.hidden{display:none;}
+
+.title_spoiler:hover {cursor: pointer}
+
+.title_spoiler{
+ background:url('../img/ico_open.png') no-repeat center left;
+ padding-left: 17px;
+ font-size:13px;
+ text-transform:uppercase;
+ color:#333333;
+ font-weight:bold;
+ text-decoration:none;
+}
+.title_spoiler.closed{
+ background:url('../img/ico_close3.png') no-repeat center left;
+}
+
+.features{
+ list-style:none;
+ padding:0;
+ margin:0;
+ font-size:13px;
+}
+.features a{
+ font-size:13px;
+ text-decoration:none;
+ border-bottom:1px dotted #8ba73e;
+ color:#8ba73e;
+}
+.features li{
+ padding-top:5px;
+ padding-bottom:4px;
+}
+
+.note_prod{
+ width:225px;
+ height:23px;
+ overflow:hidden;
+ border-radius:5px;
+ display:table;
+ text-transform:uppercase;
+ font-size:11px;
+ font-weight:bold;
+}
+
+.note_prod .one{
+ z-index:999;
+}
+.note_prod .two{
+ z-index:998;
+}
+
+.note_prod .blue{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#42b9f6;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+}
+
+.note_prod .blue:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #42b9f6;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+.note_prod .red{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#f75d50;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+ color:#ffffff;
+}
+.note_prod .red:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #f75d50;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+.note_prod .yellow{
+ float:left;
+ padding-top:5px;
+ padding-bottom:5px;
+ background-color:#fbc665;
+ padding-left:10px;
+ padding-right:5px;
+ position:relative;
+}
+.note_prod .yellow:after{
+ content:'';
+ width: 0;
+ height: 0;
+ border-top: 13px solid transparent;
+ border-left: 5px solid #fbc665;
+ border-bottom: 13px solid transparent;
+ position:absolute;
+ top:-1px;
+ margin-left:5px;
+}
+
+
+.products_block .product{float:left; width:190px; vertical-align:bottom;}
+.product .image{height:225px;position:relative;}
+.product .image img{position:absolute;bottom:0;left:15px;}
+
+.price{
+ font-size: 18px;
+ color: #f75d50;
+ font-weight: bold;
+ text-align:center;}
+
+.product{padding-bottom:30px;position:relative;}
+.product p{font-size:15px; text-align:center; margin-top:15px;}
+.left52{margin-left:52px;}
+.product a{color:#ffffff;}
+.mrg1{margin-top: 25px; margin-bottom: 15px;}
+
+.products_martopbot{margin-top:60px;margin-bottom:100px;}
+
+.cont_shop_but{display:table-cell;vertical-align:middle;padding:35px;}
+.cont_shop{text-decoration:none;font-size:12px;border-bottom:1px dotted #799920;color:#799920;}
+
+.icons{
+ width:45px;
+ height:50%;
+ position:absolute;
+ z-index:9;
+ right:0;
+ padding-top:25px;
+ padding-right:15px;
+}
+.icons a{
+ width:44px;
+ height:44px;
+ float: left;
+ border: 1px solid #d2d2d2;
+ margin-bottom: 5px;
+ background-color: white;
+}
+a:hover{cursor:pointer;}
+
+
+.basket_item .form-group{display:inline;}
\ No newline at end of file
diff --git a/frontend/web/css/begunok.css b/frontend/web/css/begunok.css
new file mode 100644
index 0000000..af53de4
--- /dev/null
+++ b/frontend/web/css/begunok.css
@@ -0,0 +1,97 @@
+/* это правила оформления. К скрипту отношения не имеют */
+.cost_box form {
+ width: 250px;
+ position: relative;
+ margin: 0px;
+
+}
+
+.formCost {
+ float: left;
+ margin-bottom: 10px;
+}
+.formCost div{float:left;}
+.formCost label {
+ float: left;
+ font-size: 14px;
+ color:#929292;
+ font-weight: bold;
+ margin-right: 5px;
+ margin-top:5px;
+ position: relative;
+ top: 2px;
+}
+.formCost input {
+ float: left;
+ text-align: right;
+ font-size: 14px;
+ font-weight: bold;
+ width: 55px;
+ height: 20px;padding:5px;
+ background: none;
+ border: 1px solid #d2d2d2;
+ margin-right: 10px;
+ border-radius:5px;
+}
+
+.sliderCont { margin-top:20px;
+ width: 178px;
+ height: 27px;
+ float: left;
+}
+
+/* А это правила для скрипта: */
+#slider {
+ width: 200px;
+}
+
+.ui-slider {
+ position: relative;
+}
+.ui-slider .ui-slider-handle {
+ position: absolute;
+ z-index: 2;
+ width: 15px;
+ height: 15px;
+ background: url(../img/begunok_slider.png) no-repeat;
+ cursor: pointer
+}
+.ui-slider .ui-slider-range {
+ position: absolute;
+ z-index: 1;
+ font-size: .7em;
+ display: block;
+ border: 0;
+ overflow: hidden;
+}
+.ui-slider-horizontal {
+ height: 4px;
+}
+.ui-slider-horizontal .ui-slider-handle {
+ top: -5px;
+ margin-left: -6px;
+}
+.ui-slider-horizontal .ui-slider-range {
+ top: 0;
+ height: 100%;
+}
+.ui-slider-horizontal .ui-slider-range-min {
+ left: 0;
+}
+.ui-slider-horizontal .ui-slider-range-max {
+ right: 0;
+}
+.ui-widget-content {
+ border: 3px solid #d2d2d2;
+ background: #fff;
+}
+.ui-widget-header {
+ border: 1px solid #D4D4D4;
+ background: #F00;
+}
+.ui-corner-all {
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+}
+
diff --git a/frontend/web/files/.tmb/l1_c2l0ZV9leHRyZW1fbmV3X25ld3NfYnV0dG9uXzIuanBn1437031556.png b/frontend/web/files/.tmb/l1_c2l0ZV9leHRyZW1fbmV3X25ld3NfYnV0dG9uXzIuanBn1437031556.png
new file mode 100644
index 0000000..61480af
Binary files /dev/null and b/frontend/web/files/.tmb/l1_c2l0ZV9leHRyZW1fbmV3X25ld3NfYnV0dG9uXzIuanBn1437031556.png differ
diff --git a/frontend/web/files/site_extrem_new_news_button_2.jpg b/frontend/web/files/site_extrem_new_news_button_2.jpg
new file mode 100755
index 0000000..8921176
Binary files /dev/null and b/frontend/web/files/site_extrem_new_news_button_2.jpg differ
diff --git a/frontend/web/img/_logo.png b/frontend/web/img/_logo.png
new file mode 100644
index 0000000..832dd10
Binary files /dev/null and b/frontend/web/img/_logo.png differ
diff --git a/frontend/web/img/arrow-next.png b/frontend/web/img/arrow-next.png
new file mode 100644
index 0000000..5730386
Binary files /dev/null and b/frontend/web/img/arrow-next.png differ
diff --git a/frontend/web/img/arrow-prev.png b/frontend/web/img/arrow-prev.png
new file mode 100644
index 0000000..38cec55
Binary files /dev/null and b/frontend/web/img/arrow-prev.png differ
diff --git a/frontend/web/img/artweb.png b/frontend/web/img/artweb.png
new file mode 100644
index 0000000..1ff9b54
Binary files /dev/null and b/frontend/web/img/artweb.png differ
diff --git a/frontend/web/img/banner1.jpg b/frontend/web/img/banner1.jpg
new file mode 100644
index 0000000..9c9dff0
Binary files /dev/null and b/frontend/web/img/banner1.jpg differ
diff --git a/frontend/web/img/banner_akciya.jpg b/frontend/web/img/banner_akciya.jpg
new file mode 100644
index 0000000..1d1ce8c
Binary files /dev/null and b/frontend/web/img/banner_akciya.jpg differ
diff --git a/frontend/web/img/begunok_slider.png b/frontend/web/img/begunok_slider.png
new file mode 100644
index 0000000..9554960
Binary files /dev/null and b/frontend/web/img/begunok_slider.png differ
diff --git a/frontend/web/img/buy.png b/frontend/web/img/buy.png
new file mode 100644
index 0000000..10dc778
Binary files /dev/null and b/frontend/web/img/buy.png differ
diff --git a/frontend/web/img/children_sub.jpg b/frontend/web/img/children_sub.jpg
new file mode 100644
index 0000000..0ac48bb
Binary files /dev/null and b/frontend/web/img/children_sub.jpg differ
diff --git a/frontend/web/img/close_modal.jpg b/frontend/web/img/close_modal.jpg
new file mode 100644
index 0000000..912fe9c
Binary files /dev/null and b/frontend/web/img/close_modal.jpg differ
diff --git a/frontend/web/img/del.png b/frontend/web/img/del.png
new file mode 100644
index 0000000..4774115
Binary files /dev/null and b/frontend/web/img/del.png differ
diff --git a/frontend/web/img/favicon.ico b/frontend/web/img/favicon.ico
new file mode 100644
index 0000000..8b86c2b
Binary files /dev/null and b/frontend/web/img/favicon.ico differ
diff --git a/frontend/web/img/help.png b/frontend/web/img/help.png
new file mode 100644
index 0000000..2bbf994
Binary files /dev/null and b/frontend/web/img/help.png differ
diff --git a/frontend/web/img/ico1.png b/frontend/web/img/ico1.png
new file mode 100644
index 0000000..efa6356
Binary files /dev/null and b/frontend/web/img/ico1.png differ
diff --git a/frontend/web/img/ico2.png b/frontend/web/img/ico2.png
new file mode 100644
index 0000000..cc4125d
Binary files /dev/null and b/frontend/web/img/ico2.png differ
diff --git a/frontend/web/img/ico3.png b/frontend/web/img/ico3.png
new file mode 100644
index 0000000..2f39c68
Binary files /dev/null and b/frontend/web/img/ico3.png differ
diff --git a/frontend/web/img/ico4.png b/frontend/web/img/ico4.png
new file mode 100644
index 0000000..17ba48a
Binary files /dev/null and b/frontend/web/img/ico4.png differ
diff --git a/frontend/web/img/ico5.png b/frontend/web/img/ico5.png
new file mode 100644
index 0000000..e8173fd
Binary files /dev/null and b/frontend/web/img/ico5.png differ
diff --git a/frontend/web/img/ico_close.png b/frontend/web/img/ico_close.png
new file mode 100644
index 0000000..d3e87b9
Binary files /dev/null and b/frontend/web/img/ico_close.png differ
diff --git a/frontend/web/img/ico_pic.jpg b/frontend/web/img/ico_pic.jpg
new file mode 100644
index 0000000..4f33db3
Binary files /dev/null and b/frontend/web/img/ico_pic.jpg differ
diff --git a/frontend/web/img/ico_pic2.jpg b/frontend/web/img/ico_pic2.jpg
new file mode 100644
index 0000000..d0b72bb
Binary files /dev/null and b/frontend/web/img/ico_pic2.jpg differ
diff --git a/frontend/web/img/li1.png b/frontend/web/img/li1.png
new file mode 100644
index 0000000..f02d9a6
Binary files /dev/null and b/frontend/web/img/li1.png differ
diff --git a/frontend/web/img/li2.png b/frontend/web/img/li2.png
new file mode 100644
index 0000000..83d323f
Binary files /dev/null and b/frontend/web/img/li2.png differ
diff --git a/frontend/web/img/li3.png b/frontend/web/img/li3.png
new file mode 100644
index 0000000..ea42367
Binary files /dev/null and b/frontend/web/img/li3.png differ
diff --git a/frontend/web/img/li_minus.png b/frontend/web/img/li_minus.png
new file mode 100644
index 0000000..07df77c
Binary files /dev/null and b/frontend/web/img/li_minus.png differ
diff --git a/frontend/web/img/li_plus.png b/frontend/web/img/li_plus.png
new file mode 100644
index 0000000..eeb0038
Binary files /dev/null and b/frontend/web/img/li_plus.png differ
diff --git a/frontend/web/img/login.png b/frontend/web/img/login.png
new file mode 100644
index 0000000..ef52742
Binary files /dev/null and b/frontend/web/img/login.png differ
diff --git a/frontend/web/img/logo-why.png b/frontend/web/img/logo-why.png
new file mode 100644
index 0000000..fd03391
Binary files /dev/null and b/frontend/web/img/logo-why.png differ
diff --git a/frontend/web/img/logo.png b/frontend/web/img/logo.png
new file mode 100644
index 0000000..e28c51c
Binary files /dev/null and b/frontend/web/img/logo.png differ
diff --git a/frontend/web/img/lupa_sub.png b/frontend/web/img/lupa_sub.png
new file mode 100644
index 0000000..328455d
Binary files /dev/null and b/frontend/web/img/lupa_sub.png differ
diff --git a/frontend/web/img/man_sub.jpg b/frontend/web/img/man_sub.jpg
new file mode 100644
index 0000000..660bb11
Binary files /dev/null and b/frontend/web/img/man_sub.jpg differ
diff --git a/frontend/web/img/map.jpg b/frontend/web/img/map.jpg
new file mode 100644
index 0000000..af5d539
Binary files /dev/null and b/frontend/web/img/map.jpg differ
diff --git a/frontend/web/img/map.png b/frontend/web/img/map.png
new file mode 100644
index 0000000..cbeff6d
Binary files /dev/null and b/frontend/web/img/map.png differ
diff --git a/frontend/web/img/minus.png b/frontend/web/img/minus.png
new file mode 100644
index 0000000..ce49162
Binary files /dev/null and b/frontend/web/img/minus.png differ
diff --git a/frontend/web/img/more.png b/frontend/web/img/more.png
new file mode 100644
index 0000000..61b63f7
Binary files /dev/null and b/frontend/web/img/more.png differ
diff --git a/frontend/web/img/new_coll.png b/frontend/web/img/new_coll.png
new file mode 100644
index 0000000..a82c96d
Binary files /dev/null and b/frontend/web/img/new_coll.png differ
diff --git a/frontend/web/img/notpic.gif b/frontend/web/img/notpic.gif
new file mode 100644
index 0000000..a3d732f
Binary files /dev/null and b/frontend/web/img/notpic.gif differ
diff --git a/frontend/web/img/pagination.png b/frontend/web/img/pagination.png
new file mode 100644
index 0000000..9593831
Binary files /dev/null and b/frontend/web/img/pagination.png differ
diff --git a/frontend/web/img/phone.png b/frontend/web/img/phone.png
new file mode 100644
index 0000000..4e965a4
Binary files /dev/null and b/frontend/web/img/phone.png differ
diff --git a/frontend/web/img/pic.jpg b/frontend/web/img/pic.jpg
new file mode 100644
index 0000000..3006b3e
Binary files /dev/null and b/frontend/web/img/pic.jpg differ
diff --git a/frontend/web/img/plus.png b/frontend/web/img/plus.png
new file mode 100644
index 0000000..e1d2047
Binary files /dev/null and b/frontend/web/img/plus.png differ
diff --git a/frontend/web/img/pro.png b/frontend/web/img/pro.png
new file mode 100644
index 0000000..e31f0fc
Binary files /dev/null and b/frontend/web/img/pro.png differ
diff --git a/frontend/web/img/sale30.jpg b/frontend/web/img/sale30.jpg
new file mode 100644
index 0000000..e006190
Binary files /dev/null and b/frontend/web/img/sale30.jpg differ
diff --git a/frontend/web/img/slider.jpg b/frontend/web/img/slider.jpg
new file mode 100644
index 0000000..22bdea6
Binary files /dev/null and b/frontend/web/img/slider.jpg differ
diff --git a/frontend/web/img/social-ico-two.png b/frontend/web/img/social-ico-two.png
new file mode 100644
index 0000000..d18479b
Binary files /dev/null and b/frontend/web/img/social-ico-two.png differ
diff --git a/frontend/web/img/social-ico.png b/frontend/web/img/social-ico.png
new file mode 100644
index 0000000..1982290
Binary files /dev/null and b/frontend/web/img/social-ico.png differ
diff --git a/frontend/web/img/v_next.png b/frontend/web/img/v_next.png
new file mode 100644
index 0000000..e5056d1
Binary files /dev/null and b/frontend/web/img/v_next.png differ
diff --git a/frontend/web/img/v_next2.png b/frontend/web/img/v_next2.png
new file mode 100644
index 0000000..600203b
Binary files /dev/null and b/frontend/web/img/v_next2.png differ
diff --git a/frontend/web/img/v_prev.png b/frontend/web/img/v_prev.png
new file mode 100644
index 0000000..36c087e
Binary files /dev/null and b/frontend/web/img/v_prev.png differ
diff --git a/frontend/web/img/v_prev2.png b/frontend/web/img/v_prev2.png
new file mode 100644
index 0000000..791e630
Binary files /dev/null and b/frontend/web/img/v_prev2.png differ
diff --git a/frontend/web/img/why.png b/frontend/web/img/why.png
new file mode 100644
index 0000000..5e624ab
Binary files /dev/null and b/frontend/web/img/why.png differ
diff --git a/frontend/web/img/why_item1.png b/frontend/web/img/why_item1.png
new file mode 100644
index 0000000..840d762
Binary files /dev/null and b/frontend/web/img/why_item1.png differ
diff --git a/frontend/web/img/why_item2.png b/frontend/web/img/why_item2.png
new file mode 100644
index 0000000..223b49a
Binary files /dev/null and b/frontend/web/img/why_item2.png differ
diff --git a/frontend/web/img/why_item3.png b/frontend/web/img/why_item3.png
new file mode 100644
index 0000000..127a7f1
Binary files /dev/null and b/frontend/web/img/why_item3.png differ
diff --git a/frontend/web/img/why_item4.png b/frontend/web/img/why_item4.png
new file mode 100644
index 0000000..47de446
Binary files /dev/null and b/frontend/web/img/why_item4.png differ
diff --git a/frontend/web/img/why_item5.png b/frontend/web/img/why_item5.png
new file mode 100644
index 0000000..3bf7f51
Binary files /dev/null and b/frontend/web/img/why_item5.png differ
diff --git a/frontend/web/img/why_item6.png b/frontend/web/img/why_item6.png
new file mode 100644
index 0000000..5c33e90
Binary files /dev/null and b/frontend/web/img/why_item6.png differ
diff --git a/frontend/web/img/woman_sub.jpg b/frontend/web/img/woman_sub.jpg
new file mode 100644
index 0000000..877150b
Binary files /dev/null and b/frontend/web/img/woman_sub.jpg differ
diff --git a/frontend/web/js/begunok.js b/frontend/web/js/begunok.js
new file mode 100644
index 0000000..03b3cac
--- /dev/null
+++ b/frontend/web/js/begunok.js
@@ -0,0 +1,78 @@
+jQuery(document).ready(function(){
+
+
+/* слайдер цен */
+
+jQuery("#begunok").slider({
+ min: 0,
+ max: $('#max').val(),
+ values: [0,$('#max').val()],
+ range: true,
+ stop: function(event, ui) {
+ jQuery("input#products-mincost").val(jQuery("#begunok").slider("values",0));
+ jQuery("input#products-maxcost").val(jQuery("#begunok").slider("values",1));
+
+ },
+ slide: function(event, ui){
+ jQuery("input#products-mincost").val(jQuery("#begunok").slider("values",0));
+ jQuery("input#products-maxcost").val(jQuery("#begunok").slider("values",1));
+ }
+});
+
+var min_cost = function(){
+ var value1=jQuery("input#products-mincost").val();
+ var value2=jQuery("input#products-maxcost").val();
+
+ if(parseInt(value1) > parseInt(value2)){
+ value1 = value2;
+ jQuery("input#products-mincost").val(value1);
+ }
+ jQuery("#begunok").slider("values",0,value1);
+}
+
+jQuery("input#minCost").change(function(){
+
+ min_cost();
+});
+min_cost();
+
+var max_cost = function(){
+ var value1=jQuery("input#products-mincost").val();
+ var value2=jQuery("input#products-maxcost").val();
+
+ if (value2 > $('#max').val()) { value2 = $('#max').val(); jQuery("input#products-maxcost").val($('#max').val())}
+
+ if(parseInt(value1) > parseInt(value2)){
+ value2 = value1;
+ jQuery("input#products-maxcost").val(value2);
+ }
+ jQuery("#begunok").slider("values",1,value2);
+}
+
+jQuery("input#maxCost").change(function(){
+ max_cost();
+
+});
+max_cost();
+
+
+// фильтрация ввода в поля
+ jQuery('input').keypress(function(event){
+ var key, keyChar;
+ if(!event) var event = window.event;
+
+ if (event.keyCode) key = event.keyCode;
+ else if(event.which) key = event.which;
+
+ if(key==null || key==0 || key==8 || key==13 || key==9 || key==46 || key==37 || key==39 ) return true;
+ keyChar=String.fromCharCode(key);
+
+ if(!/\d/.test(keyChar)) return false;
+
+ });
+
+
+});
+
+
+
diff --git a/frontend/web/js/call.js b/frontend/web/js/call.js
new file mode 100644
index 0000000..9dd472b
--- /dev/null
+++ b/frontend/web/js/call.js
@@ -0,0 +1,48 @@
+(function($){
+
+ $.fn.call = function(callerSettings) {
+
+ var login_id = this;
+
+ $(login_id).bind('click',function(){
+ winW = document.body.offsetWidth;
+ winH = document.body.offsetHeight
+ $('.modal_box').remove();
+ $('#data_box').remove();
+ $('body').append('
');
+ $('body').append('
');
+ $('#data_box').append('
');
+ $('#data_box').css( "left", ((winW-350)/2)+'px' );
+
+ var scrollTop = document.documentElement.scrollTop
+ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {
+ scrollTop = document.body.scrollTop;
+ }
+ $('#data_box').css( {"top" : (scrollTop+200)+'px',"width":"350px"} );
+
+ $('#data_box .data_wrp').append(' ');
+ app = 'Обратный звонок ';
+ app += ' ';
+ app += '';
+
+ $('#data_box .data_wrp').append(app);
+
+ $(".modal_box, #modal_close").click(function() {
+ $('.modal_box').remove();
+ $('#data_box').remove();
+ });
+ return false;
+ })
+
+ }
+
+})(jQuery);
\ No newline at end of file
diff --git a/frontend/web/js/jCarousel/jCarousel.js b/frontend/web/js/jCarousel/jCarousel.js
new file mode 100644
index 0000000..89e9c3e
--- /dev/null
+++ b/frontend/web/js/jCarousel/jCarousel.js
@@ -0,0 +1,4 @@
+/*! jCarousel - v0.3.4 - 2015-09-23
+ * http://sorgalla.com/jcarousel/
+ * Copyright (c) 2006-2015 Jan Sorgalla; Licensed MIT */
+!function(a){"use strict";var b=a.jCarousel={};b.version="0.3.4";var c=/^([+\-]=)?(.+)$/;b.parseTarget=function(a){var b=!1,d="object"!=typeof a?c.exec(a):null;return d?(a=parseInt(d[2],10)||0,d[1]&&(b=!0,"-="===d[1]&&(a*=-1))):"object"!=typeof a&&(a=parseInt(a,10)||0),{target:a,relative:b}},b.detectCarousel=function(a){for(var b;a.length>0;){if(b=a.filter("[data-jcarousel]"),b.length>0)return b;if(b=a.find("[data-jcarousel]"),b.length>0)return b;a=a.parent()}return null},b.base=function(c){return{version:b.version,_options:{},_element:null,_carousel:null,_init:a.noop,_create:a.noop,_destroy:a.noop,_reload:a.noop,create:function(){return this._element.attr("data-"+c.toLowerCase(),!0).data(c,this),!1===this._trigger("create")?this:(this._create(),this._trigger("createend"),this)},destroy:function(){return!1===this._trigger("destroy")?this:(this._destroy(),this._trigger("destroyend"),this._element.removeData(c).removeAttr("data-"+c.toLowerCase()),this)},reload:function(a){return!1===this._trigger("reload")?this:(a&&this.options(a),this._reload(),this._trigger("reloadend"),this)},element:function(){return this._element},options:function(b,c){if(0===arguments.length)return a.extend({},this._options);if("string"==typeof b){if("undefined"==typeof c)return"undefined"==typeof this._options[b]?null:this._options[b];this._options[b]=c}else this._options=a.extend({},this._options,b);return this},carousel:function(){return this._carousel||(this._carousel=b.detectCarousel(this.options("carousel")||this._element),this._carousel||a.error('Could not detect carousel for plugin "'+c+'"')),this._carousel},_trigger:function(b,d,e){var f,g=!1;return e=[this].concat(e||[]),(d||this._element).each(function(){f=a.Event((c+":"+b).toLowerCase()),a(this).trigger(f,e),f.isDefaultPrevented()&&(g=!0)}),!g}}},b.plugin=function(c,d){var e=a[c]=function(b,c){this._element=a(b),this.options(c),this._init(),this.create()};return e.fn=e.prototype=a.extend({},b.base(c),d),a.fn[c]=function(b){var d=Array.prototype.slice.call(arguments,1),f=this;return this.each("string"==typeof b?function(){var e=a(this).data(c);if(!e)return a.error("Cannot call methods on "+c+' prior to initialization; attempted to call method "'+b+'"');if(!a.isFunction(e[b])||"_"===b.charAt(0))return a.error('No such method "'+b+'" for '+c+" instance");var g=e[b].apply(e,d);return g!==e&&"undefined"!=typeof g?(f=g,!1):void 0}:function(){var d=a(this).data(c);d instanceof e?d.reload(b):new e(this,b)}),f},e}}(jQuery),function(a,b){"use strict";var c=function(a){return parseFloat(a)||0};a.jCarousel.plugin("jcarousel",{animating:!1,tail:0,inTail:!1,resizeTimer:null,lt:null,vertical:!1,rtl:!1,circular:!1,underflow:!1,relative:!1,_options:{list:function(){return this.element().children().eq(0)},items:function(){return this.list().children()},animation:400,transitions:!1,wrap:null,vertical:null,rtl:null,center:!1},_list:null,_items:null,_target:a(),_first:a(),_last:a(),_visible:a(),_fullyvisible:a(),_init:function(){var a=this;return this.onWindowResize=function(){a.resizeTimer&&clearTimeout(a.resizeTimer),a.resizeTimer=setTimeout(function(){a.reload()},100)},this},_create:function(){this._reload(),a(b).on("resize.jcarousel",this.onWindowResize)},_destroy:function(){a(b).off("resize.jcarousel",this.onWindowResize)},_reload:function(){this.vertical=this.options("vertical"),null==this.vertical&&(this.vertical=this.list().height()>this.list().width()),this.rtl=this.options("rtl"),null==this.rtl&&(this.rtl=function(b){if("rtl"===(""+b.attr("dir")).toLowerCase())return!0;var c=!1;return b.parents("[dir]").each(function(){return/rtl/i.test(a(this).attr("dir"))?(c=!0,!1):void 0}),c}(this._element)),this.lt=this.vertical?"top":"left",this.relative="relative"===this.list().css("position"),this._list=null,this._items=null;var b=this.index(this._target)>=0?this._target:this.closest();this.circular="circular"===this.options("wrap"),this.underflow=!1;var c={left:0,top:0};return b.length>0&&(this._prepare(b),this.list().find("[data-jcarousel-clone]").remove(),this._items=null,this.underflow=this._fullyvisible.length>=this.items().length,this.circular=this.circular&&!this.underflow,c[this.lt]=this._position(b)+"px"),this.move(c),this},list:function(){if(null===this._list){var b=this.options("list");this._list=a.isFunction(b)?b.call(this):this._element.find(b)}return this._list},items:function(){if(null===this._items){var b=this.options("items");this._items=(a.isFunction(b)?b.call(this):this.list().find(b)).not("[data-jcarousel-clone]")}return this._items},index:function(a){return this.items().index(a)},closest:function(){var b,d=this,e=this.list().position()[this.lt],f=a(),g=!1,h=this.vertical?"bottom":this.rtl&&!this.relative?"left":"right";return this.rtl&&this.relative&&!this.vertical&&(e+=this.list().width()-this.clipping()),this.items().each(function(){if(f=a(this),g)return!1;var i=d.dimension(f);if(e+=i,e>=0){if(b=i-c(f.css("margin-"+h)),!(Math.abs(e)-i+b/2<=0))return!1;g=!0}}),f},target:function(){return this._target},first:function(){return this._first},last:function(){return this._last},visible:function(){return this._visible},fullyvisible:function(){return this._fullyvisible},hasNext:function(){if(!1===this._trigger("hasnext"))return!0;var a=this.options("wrap"),b=this.items().length-1,c=this.options("center")?this._target:this._last;return b>=0&&!this.underflow&&(a&&"first"!==a||this.index(c)0&&!this.underflow&&(a&&"last"!==a||this.index(this._first)>0||this.tail&&this.inTail)?!0:!1},clipping:function(){return this._element["inner"+(this.vertical?"Height":"Width")]()},dimension:function(a){return a["outer"+(this.vertical?"Height":"Width")](!0)},scroll:function(b,c,d){if(this.animating)return this;if(!1===this._trigger("scroll",null,[b,c]))return this;a.isFunction(c)&&(d=c,c=!0);var e=a.jCarousel.parseTarget(b);if(e.relative){var f,g,h,i,j,k,l,m,n=this.items().length-1,o=Math.abs(e.target),p=this.options("wrap");if(e.target>0){var q=this.index(this._last);if(q>=n&&this.tail)this.inTail?"both"===p||"last"===p?this._scroll(0,c,d):a.isFunction(d)&&d.call(this,!1):this._scrollTail(c,d);else if(f=this.index(this._target),this.underflow&&f===n&&("circular"===p||"both"===p||"last"===p)||!this.underflow&&q===n&&("both"===p||"last"===p))this._scroll(0,c,d);else if(h=f+o,this.circular&&h>n){for(m=n,j=this.items().get(-1);m++=0,k&&j.after(j.clone(!0).attr("data-jcarousel-clone",!0)),this.list().append(j),k||(l={},l[this.lt]=this.dimension(j),this.moveBy(l)),this._items=null;this._scroll(j,c,d)}else this._scroll(Math.min(h,n),c,d)}else if(this.inTail)this._scroll(Math.max(this.index(this._first)-o+1,0),c,d);else if(g=this.index(this._first),f=this.index(this._target),i=this.underflow?f:g,h=i-o,0>=i&&(this.underflow&&"circular"===p||"both"===p||"first"===p))this._scroll(n,c,d);else if(this.circular&&0>h){for(m=h,j=this.items().get(0);m++<0;){j=this.items().eq(-1),k=this._visible.index(j)>=0,k&&j.after(j.clone(!0).attr("data-jcarousel-clone",!0)),this.list().prepend(j),this._items=null;var r=this.dimension(j);l={},l[this.lt]=-r,this.moveBy(l)}this._scroll(j,c,d)}else this._scroll(Math.max(h,0),c,d)}else this._scroll(e.target,c,d);return this._trigger("scrollend"),this},moveBy:function(a,b){var d=this.list().position(),e=1,f=0;return this.rtl&&!this.vertical&&(e=-1,this.relative&&(f=this.list().width()-this.clipping())),a.left&&(a.left=d.left+f+c(a.left)*e+"px"),a.top&&(a.top=d.top+f+c(a.top)*e+"px"),this.move(a,b)},move:function(b,c){c=c||{};var d=this.options("transitions"),e=!!d,f=!!d.transforms,g=!!d.transforms3d,h=c.duration||0,i=this.list();if(!e&&h>0)return void i.animate(b,c);var j=c.complete||a.noop,k={};if(e){var l={transitionDuration:i.css("transitionDuration"),transitionTimingFunction:i.css("transitionTimingFunction"),transitionProperty:i.css("transitionProperty")},m=j;j=function(){a(this).css(l),m.call(this)},k={transitionDuration:(h>0?h/1e3:0)+"s",transitionTimingFunction:d.easing||c.easing,transitionProperty:h>0?function(){return f||g?"all":b.left?"left":"top"}():"none",transform:"none"}}g?k.transform="translate3d("+(b.left||0)+","+(b.top||0)+",0)":f?k.transform="translate("+(b.left||0)+","+(b.top||0)+")":a.extend(k,b),e&&h>0&&i.one("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",j),i.css(k),0>=h&&i.each(function(){j.call(this)})},_scroll:function(b,c,d){if(this.animating)return a.isFunction(d)&&d.call(this,!1),this;if("object"!=typeof b?b=this.items().eq(b):"undefined"==typeof b.jquery&&(b=a(b)),0===b.length)return a.isFunction(d)&&d.call(this,!1),this;this.inTail=!1,this._prepare(b);var e=this._position(b),f=this.list().position()[this.lt];if(e===f)return a.isFunction(d)&&d.call(this,!1),this;var g={};return g[this.lt]=e+"px",this._animate(g,c,d),this},_scrollTail:function(b,c){if(this.animating||!this.tail)return a.isFunction(c)&&c.call(this,!1),this;var d=this.list().position()[this.lt];this.rtl&&this.relative&&!this.vertical&&(d+=this.list().width()-this.clipping()),this.rtl&&!this.vertical?d+=this.tail:d-=this.tail,this.inTail=!0;var e={};return e[this.lt]=d+"px",this._update({target:this._target.next(),fullyvisible:this._fullyvisible.slice(1).add(this._visible.last())}),this._animate(e,b,c),this},_animate:function(b,c,d){if(d=d||a.noop,!1===this._trigger("animate"))return d.call(this,!1),this;this.animating=!0;var e=this.options("animation"),f=a.proxy(function(){this.animating=!1;var a=this.list().find("[data-jcarousel-clone]");a.length>0&&(a.remove(),this._reload()),this._trigger("animateend"),d.call(this,!0)},this),g="object"==typeof e?a.extend({},e):{duration:e},h=g.complete||a.noop;return c===!1?g.duration=0:"undefined"!=typeof a.fx.speeds[g.duration]&&(g.duration=a.fx.speeds[g.duration]),g.complete=function(){f(),h.call(this)},this.move(b,g),this},_prepare:function(b){var d,e,f,g,h=this.index(b),i=h,j=this.dimension(b),k=this.clipping(),l=this.vertical?"bottom":this.rtl?"left":"right",m=this.options("center"),n={target:b,first:b,last:b,visible:b,fullyvisible:k>=j?b:a()};if(m&&(j/=2,k/=2),k>j)for(;;){if(d=this.items().eq(++i),0===d.length){if(!this.circular)break;if(d=this.items().eq(0),b.get(0)===d.get(0))break;if(e=this._visible.index(d)>=0,e&&d.after(d.clone(!0).attr("data-jcarousel-clone",!0)),this.list().append(d),!e){var o={};o[this.lt]=this.dimension(d),this.moveBy(o)}this._items=null}if(g=this.dimension(d),0===g)break;if(j+=g,n.last=d,n.visible=n.visible.add(d),f=c(d.css("margin-"+l)),k>=j-f&&(n.fullyvisible=n.fullyvisible.add(d)),j>=k)break}if(!this.circular&&!m&&k>j)for(i=h;;){if(--i<0)break;if(d=this.items().eq(i),0===d.length)break;if(g=this.dimension(d),0===g)break;if(j+=g,n.first=d,n.visible=n.visible.add(d),f=c(d.css("margin-"+l)),k>=j-f&&(n.fullyvisible=n.fullyvisible.add(d)),j>=k)break}return this._update(n),this.tail=0,m||"circular"===this.options("wrap")||"custom"===this.options("wrap")||this.index(n.last)!==this.items().length-1||(j-=c(n.last.css("margin-"+l)),j>k&&(this.tail=j-k)),this},_position:function(a){var b=this._first,c=b.position()[this.lt],d=this.options("center"),e=d?this.clipping()/2-this.dimension(b)/2:0;return this.rtl&&!this.vertical?(c-=this.relative?this.list().width()-this.dimension(b):this.clipping()-this.dimension(b),c+=e):c-=e,!d&&(this.index(a)>this.index(b)||this.inTail)&&this.tail?(c=this.rtl&&!this.vertical?c-this.tail:c+this.tail,this.inTail=!0):this.inTail=!1,-c},_update:function(b){var c,d=this,e={target:this._target,first:this._first,last:this._last,visible:this._visible,fullyvisible:this._fullyvisible},f=this.index(b.first||e.first)e)return this.scroll(e,c,d);if(e>=g&&h>=e)return a.isFunction(d)&&d.call(this,!1),this;for(var i,j=this.items(),k=this.clipping(),l=this.vertical?"bottom":this.rtl?"left":"right",m=0;;){if(i=j.eq(e),0===i.length)break;if(m+=this.dimension(i),m>=k){var n=parseFloat(i.css("margin-"+l))||0;m-n!==k&&e++;break}if(0>=e)break;e--}return this.scroll(e,c,d)}}(jQuery),function(a){"use strict";a.jCarousel.plugin("jcarouselControl",{_options:{target:"+=1",event:"click",method:"scroll"},_active:null,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onReload=a.proxy(this._reload,this),this.onEvent=a.proxy(function(b){b.preventDefault();var c=this.options("method");a.isFunction(c)?c.call(this):this.carousel().jcarousel(this.options("method"),this.options("target"))},this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy).on("jcarousel:reloadend jcarousel:scrollend",this.onReload),this._element.on(this.options("event")+".jcarouselcontrol",this.onEvent),this._reload()},_destroy:function(){this._element.off(".jcarouselcontrol",this.onEvent),this.carousel().off("jcarousel:destroy",this.onDestroy).off("jcarousel:reloadend jcarousel:scrollend",this.onReload)},_reload:function(){var b,c=a.jCarousel.parseTarget(this.options("target")),d=this.carousel();if(c.relative)b=d.jcarousel(c.target>0?"hasNext":"hasPrev");else{var e="object"!=typeof c.target?d.jcarousel("items").eq(c.target):c.target;b=d.jcarousel("target").index(e)>=0}return this._active!==b&&(this._trigger(b?"active":"inactive"),this._active=b),this}})}(jQuery),function(a){"use strict";a.jCarousel.plugin("jcarouselPagination",{_options:{perPage:null,item:function(a){return''+a+" "},event:"click",method:"scroll"},_carouselItems:null,_pages:{},_items:{},_currentPage:null,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onReload=a.proxy(this._reload,this),this.onScroll=a.proxy(this._update,this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy).on("jcarousel:reloadend",this.onReload).on("jcarousel:scrollend",this.onScroll),this._reload()},_destroy:function(){this._clear(),this.carousel().off("jcarousel:destroy",this.onDestroy).off("jcarousel:reloadend",this.onReload).off("jcarousel:scrollend",this.onScroll),this._carouselItems=null},_reload:function(){var b=this.options("perPage");if(this._pages={},this._items={},a.isFunction(b)&&(b=b.call(this)),null==b)this._pages=this._calculatePages();else for(var c,d=parseInt(b,10)||0,e=this._getCarouselItems(),f=1,g=0;;){if(c=e.eq(g++),0===c.length)break;this._pages[f]=this._pages[f]?this._pages[f].add(c):c,g%d===0&&f++}this._clear();var h=this,i=this.carousel().data("jcarousel"),j=this._element,k=this.options("item"),l=this._getCarouselItems().length;a.each(this._pages,function(b,c){var d=h._items[b]=a(k.call(h,b,c));d.on(h.options("event")+".jcarouselpagination",a.proxy(function(){var a=c.eq(0);if(i.circular){var d=i.index(i.target()),e=i.index(a);parseFloat(b)>parseFloat(h._currentPage)?d>e&&(a="+="+(l-d+e)):e>d&&(a="-="+(d+(l-e)))}i[this.options("method")](a)},h)),j.append(d)}),this._update()},_update:function(){var b,c=this.carousel().jcarousel("target");a.each(this._pages,function(a,d){return d.each(function(){return c.is(this)?(b=a,!1):void 0}),b?!1:void 0}),this._currentPage!==b&&(this._trigger("inactive",this._items[this._currentPage]),this._trigger("active",this._items[b])),this._currentPage=b},items:function(){return this._items},reloadCarouselItems:function(){return this._carouselItems=null,this},_clear:function(){this._element.empty(),this._currentPage=null},_calculatePages:function(){for(var a,b,c=this.carousel().data("jcarousel"),d=this._getCarouselItems(),e=c.clipping(),f=0,g=0,h=1,i={};;){if(a=d.eq(g++),0===a.length)break;b=c.dimension(a),f+b>e&&(h++,f=0),f+=b,i[h]=i[h]?i[h].add(a):a}return i},_getCarouselItems:function(){return this._carouselItems||(this._carouselItems=this.carousel().jcarousel("items")),this._carouselItems}})}(jQuery),function(a,b){"use strict";var c,d,e={hidden:"visibilitychange",mozHidden:"mozvisibilitychange",msHidden:"msvisibilitychange",webkitHidden:"webkitvisibilitychange"};a.each(e,function(a,e){return"undefined"!=typeof b[a]?(c=a,d=e,!1):void 0}),a.jCarousel.plugin("jcarouselAutoscroll",{_options:{target:"+=1",interval:3e3,autostart:!0},_timer:null,_started:!1,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onAnimateEnd=a.proxy(this._start,this),this.onVisibilityChange=a.proxy(function(){b[c]?this._stop():this._start()},this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy),a(b).on(d,this.onVisibilityChange),this.options("autostart")&&this.start()},_destroy:function(){this._stop(),this.carousel().off("jcarousel:destroy",this.onDestroy),a(b).off(d,this.onVisibilityChange)},_start:function(){return this._stop(),this._started?(this.carousel().one("jcarousel:animateend",this.onAnimateEnd),this._timer=setTimeout(a.proxy(function(){this.carousel().jcarousel("scroll",this.options("target"))},this),this.options("interval")),this):void 0},_stop:function(){return this._timer&&(this._timer=clearTimeout(this._timer)),this.carousel().off("jcarousel:animateend",this.onAnimateEnd),this},start:function(){return this._started=!0,this._start(),this},stop:function(){return this._started=!1,this._stop(),this}})}(jQuery,document);
\ No newline at end of file
diff --git a/frontend/web/js/jcarousel/jcarousel.min.js b/frontend/web/js/jcarousel/jcarousel.min.js
new file mode 100644
index 0000000..077c607
--- /dev/null
+++ b/frontend/web/js/jcarousel/jcarousel.min.js
@@ -0,0 +1,4 @@
+/*! jCarousel - v0.3.4 - 2015-09-23
+* http://sorgalla.com/jcarousel/
+* Copyright (c) 2006-2015 Jan Sorgalla; Licensed MIT */
+!function(a){"use strict";var b=a.jCarousel={};b.version="0.3.4";var c=/^([+\-]=)?(.+)$/;b.parseTarget=function(a){var b=!1,d="object"!=typeof a?c.exec(a):null;return d?(a=parseInt(d[2],10)||0,d[1]&&(b=!0,"-="===d[1]&&(a*=-1))):"object"!=typeof a&&(a=parseInt(a,10)||0),{target:a,relative:b}},b.detectCarousel=function(a){for(var b;a.length>0;){if(b=a.filter("[data-jcarousel]"),b.length>0)return b;if(b=a.find("[data-jcarousel]"),b.length>0)return b;a=a.parent()}return null},b.base=function(c){return{version:b.version,_options:{},_element:null,_carousel:null,_init:a.noop,_create:a.noop,_destroy:a.noop,_reload:a.noop,create:function(){return this._element.attr("data-"+c.toLowerCase(),!0).data(c,this),!1===this._trigger("create")?this:(this._create(),this._trigger("createend"),this)},destroy:function(){return!1===this._trigger("destroy")?this:(this._destroy(),this._trigger("destroyend"),this._element.removeData(c).removeAttr("data-"+c.toLowerCase()),this)},reload:function(a){return!1===this._trigger("reload")?this:(a&&this.options(a),this._reload(),this._trigger("reloadend"),this)},element:function(){return this._element},options:function(b,c){if(0===arguments.length)return a.extend({},this._options);if("string"==typeof b){if("undefined"==typeof c)return"undefined"==typeof this._options[b]?null:this._options[b];this._options[b]=c}else this._options=a.extend({},this._options,b);return this},carousel:function(){return this._carousel||(this._carousel=b.detectCarousel(this.options("carousel")||this._element),this._carousel||a.error('Could not detect carousel for plugin "'+c+'"')),this._carousel},_trigger:function(b,d,e){var f,g=!1;return e=[this].concat(e||[]),(d||this._element).each(function(){f=a.Event((c+":"+b).toLowerCase()),a(this).trigger(f,e),f.isDefaultPrevented()&&(g=!0)}),!g}}},b.plugin=function(c,d){var e=a[c]=function(b,c){this._element=a(b),this.options(c),this._init(),this.create()};return e.fn=e.prototype=a.extend({},b.base(c),d),a.fn[c]=function(b){var d=Array.prototype.slice.call(arguments,1),f=this;return this.each("string"==typeof b?function(){var e=a(this).data(c);if(!e)return a.error("Cannot call methods on "+c+' prior to initialization; attempted to call method "'+b+'"');if(!a.isFunction(e[b])||"_"===b.charAt(0))return a.error('No such method "'+b+'" for '+c+" instance");var g=e[b].apply(e,d);return g!==e&&"undefined"!=typeof g?(f=g,!1):void 0}:function(){var d=a(this).data(c);d instanceof e?d.reload(b):new e(this,b)}),f},e}}(jQuery),function(a,b){"use strict";var c=function(a){return parseFloat(a)||0};a.jCarousel.plugin("jcarousel",{animating:!1,tail:0,inTail:!1,resizeTimer:null,lt:null,vertical:!1,rtl:!1,circular:!1,underflow:!1,relative:!1,_options:{list:function(){return this.element().children().eq(0)},items:function(){return this.list().children()},animation:400,transitions:!1,wrap:null,vertical:null,rtl:null,center:!1},_list:null,_items:null,_target:a(),_first:a(),_last:a(),_visible:a(),_fullyvisible:a(),_init:function(){var a=this;return this.onWindowResize=function(){a.resizeTimer&&clearTimeout(a.resizeTimer),a.resizeTimer=setTimeout(function(){a.reload()},100)},this},_create:function(){this._reload(),a(b).on("resize.jcarousel",this.onWindowResize)},_destroy:function(){a(b).off("resize.jcarousel",this.onWindowResize)},_reload:function(){this.vertical=this.options("vertical"),null==this.vertical&&(this.vertical=this.list().height()>this.list().width()),this.rtl=this.options("rtl"),null==this.rtl&&(this.rtl=function(b){if("rtl"===(""+b.attr("dir")).toLowerCase())return!0;var c=!1;return b.parents("[dir]").each(function(){return/rtl/i.test(a(this).attr("dir"))?(c=!0,!1):void 0}),c}(this._element)),this.lt=this.vertical?"top":"left",this.relative="relative"===this.list().css("position"),this._list=null,this._items=null;var b=this.index(this._target)>=0?this._target:this.closest();this.circular="circular"===this.options("wrap"),this.underflow=!1;var c={left:0,top:0};return b.length>0&&(this._prepare(b),this.list().find("[data-jcarousel-clone]").remove(),this._items=null,this.underflow=this._fullyvisible.length>=this.items().length,this.circular=this.circular&&!this.underflow,c[this.lt]=this._position(b)+"px"),this.move(c),this},list:function(){if(null===this._list){var b=this.options("list");this._list=a.isFunction(b)?b.call(this):this._element.find(b)}return this._list},items:function(){if(null===this._items){var b=this.options("items");this._items=(a.isFunction(b)?b.call(this):this.list().find(b)).not("[data-jcarousel-clone]")}return this._items},index:function(a){return this.items().index(a)},closest:function(){var b,d=this,e=this.list().position()[this.lt],f=a(),g=!1,h=this.vertical?"bottom":this.rtl&&!this.relative?"left":"right";return this.rtl&&this.relative&&!this.vertical&&(e+=this.list().width()-this.clipping()),this.items().each(function(){if(f=a(this),g)return!1;var i=d.dimension(f);if(e+=i,e>=0){if(b=i-c(f.css("margin-"+h)),!(Math.abs(e)-i+b/2<=0))return!1;g=!0}}),f},target:function(){return this._target},first:function(){return this._first},last:function(){return this._last},visible:function(){return this._visible},fullyvisible:function(){return this._fullyvisible},hasNext:function(){if(!1===this._trigger("hasnext"))return!0;var a=this.options("wrap"),b=this.items().length-1,c=this.options("center")?this._target:this._last;return b>=0&&!this.underflow&&(a&&"first"!==a||this.index(c)0&&!this.underflow&&(a&&"last"!==a||this.index(this._first)>0||this.tail&&this.inTail)?!0:!1},clipping:function(){return this._element["inner"+(this.vertical?"Height":"Width")]()},dimension:function(a){return a["outer"+(this.vertical?"Height":"Width")](!0)},scroll:function(b,c,d){if(this.animating)return this;if(!1===this._trigger("scroll",null,[b,c]))return this;a.isFunction(c)&&(d=c,c=!0);var e=a.jCarousel.parseTarget(b);if(e.relative){var f,g,h,i,j,k,l,m,n=this.items().length-1,o=Math.abs(e.target),p=this.options("wrap");if(e.target>0){var q=this.index(this._last);if(q>=n&&this.tail)this.inTail?"both"===p||"last"===p?this._scroll(0,c,d):a.isFunction(d)&&d.call(this,!1):this._scrollTail(c,d);else if(f=this.index(this._target),this.underflow&&f===n&&("circular"===p||"both"===p||"last"===p)||!this.underflow&&q===n&&("both"===p||"last"===p))this._scroll(0,c,d);else if(h=f+o,this.circular&&h>n){for(m=n,j=this.items().get(-1);m++=0,k&&j.after(j.clone(!0).attr("data-jcarousel-clone",!0)),this.list().append(j),k||(l={},l[this.lt]=this.dimension(j),this.moveBy(l)),this._items=null;this._scroll(j,c,d)}else this._scroll(Math.min(h,n),c,d)}else if(this.inTail)this._scroll(Math.max(this.index(this._first)-o+1,0),c,d);else if(g=this.index(this._first),f=this.index(this._target),i=this.underflow?f:g,h=i-o,0>=i&&(this.underflow&&"circular"===p||"both"===p||"first"===p))this._scroll(n,c,d);else if(this.circular&&0>h){for(m=h,j=this.items().get(0);m++<0;){j=this.items().eq(-1),k=this._visible.index(j)>=0,k&&j.after(j.clone(!0).attr("data-jcarousel-clone",!0)),this.list().prepend(j),this._items=null;var r=this.dimension(j);l={},l[this.lt]=-r,this.moveBy(l)}this._scroll(j,c,d)}else this._scroll(Math.max(h,0),c,d)}else this._scroll(e.target,c,d);return this._trigger("scrollend"),this},moveBy:function(a,b){var d=this.list().position(),e=1,f=0;return this.rtl&&!this.vertical&&(e=-1,this.relative&&(f=this.list().width()-this.clipping())),a.left&&(a.left=d.left+f+c(a.left)*e+"px"),a.top&&(a.top=d.top+f+c(a.top)*e+"px"),this.move(a,b)},move:function(b,c){c=c||{};var d=this.options("transitions"),e=!!d,f=!!d.transforms,g=!!d.transforms3d,h=c.duration||0,i=this.list();if(!e&&h>0)return void i.animate(b,c);var j=c.complete||a.noop,k={};if(e){var l={transitionDuration:i.css("transitionDuration"),transitionTimingFunction:i.css("transitionTimingFunction"),transitionProperty:i.css("transitionProperty")},m=j;j=function(){a(this).css(l),m.call(this)},k={transitionDuration:(h>0?h/1e3:0)+"s",transitionTimingFunction:d.easing||c.easing,transitionProperty:h>0?function(){return f||g?"all":b.left?"left":"top"}():"none",transform:"none"}}g?k.transform="translate3d("+(b.left||0)+","+(b.top||0)+",0)":f?k.transform="translate("+(b.left||0)+","+(b.top||0)+")":a.extend(k,b),e&&h>0&&i.one("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",j),i.css(k),0>=h&&i.each(function(){j.call(this)})},_scroll:function(b,c,d){if(this.animating)return a.isFunction(d)&&d.call(this,!1),this;if("object"!=typeof b?b=this.items().eq(b):"undefined"==typeof b.jquery&&(b=a(b)),0===b.length)return a.isFunction(d)&&d.call(this,!1),this;this.inTail=!1,this._prepare(b);var e=this._position(b),f=this.list().position()[this.lt];if(e===f)return a.isFunction(d)&&d.call(this,!1),this;var g={};return g[this.lt]=e+"px",this._animate(g,c,d),this},_scrollTail:function(b,c){if(this.animating||!this.tail)return a.isFunction(c)&&c.call(this,!1),this;var d=this.list().position()[this.lt];this.rtl&&this.relative&&!this.vertical&&(d+=this.list().width()-this.clipping()),this.rtl&&!this.vertical?d+=this.tail:d-=this.tail,this.inTail=!0;var e={};return e[this.lt]=d+"px",this._update({target:this._target.next(),fullyvisible:this._fullyvisible.slice(1).add(this._visible.last())}),this._animate(e,b,c),this},_animate:function(b,c,d){if(d=d||a.noop,!1===this._trigger("animate"))return d.call(this,!1),this;this.animating=!0;var e=this.options("animation"),f=a.proxy(function(){this.animating=!1;var a=this.list().find("[data-jcarousel-clone]");a.length>0&&(a.remove(),this._reload()),this._trigger("animateend"),d.call(this,!0)},this),g="object"==typeof e?a.extend({},e):{duration:e},h=g.complete||a.noop;return c===!1?g.duration=0:"undefined"!=typeof a.fx.speeds[g.duration]&&(g.duration=a.fx.speeds[g.duration]),g.complete=function(){f(),h.call(this)},this.move(b,g),this},_prepare:function(b){var d,e,f,g,h=this.index(b),i=h,j=this.dimension(b),k=this.clipping(),l=this.vertical?"bottom":this.rtl?"left":"right",m=this.options("center"),n={target:b,first:b,last:b,visible:b,fullyvisible:k>=j?b:a()};if(m&&(j/=2,k/=2),k>j)for(;;){if(d=this.items().eq(++i),0===d.length){if(!this.circular)break;if(d=this.items().eq(0),b.get(0)===d.get(0))break;if(e=this._visible.index(d)>=0,e&&d.after(d.clone(!0).attr("data-jcarousel-clone",!0)),this.list().append(d),!e){var o={};o[this.lt]=this.dimension(d),this.moveBy(o)}this._items=null}if(g=this.dimension(d),0===g)break;if(j+=g,n.last=d,n.visible=n.visible.add(d),f=c(d.css("margin-"+l)),k>=j-f&&(n.fullyvisible=n.fullyvisible.add(d)),j>=k)break}if(!this.circular&&!m&&k>j)for(i=h;;){if(--i<0)break;if(d=this.items().eq(i),0===d.length)break;if(g=this.dimension(d),0===g)break;if(j+=g,n.first=d,n.visible=n.visible.add(d),f=c(d.css("margin-"+l)),k>=j-f&&(n.fullyvisible=n.fullyvisible.add(d)),j>=k)break}return this._update(n),this.tail=0,m||"circular"===this.options("wrap")||"custom"===this.options("wrap")||this.index(n.last)!==this.items().length-1||(j-=c(n.last.css("margin-"+l)),j>k&&(this.tail=j-k)),this},_position:function(a){var b=this._first,c=b.position()[this.lt],d=this.options("center"),e=d?this.clipping()/2-this.dimension(b)/2:0;return this.rtl&&!this.vertical?(c-=this.relative?this.list().width()-this.dimension(b):this.clipping()-this.dimension(b),c+=e):c-=e,!d&&(this.index(a)>this.index(b)||this.inTail)&&this.tail?(c=this.rtl&&!this.vertical?c-this.tail:c+this.tail,this.inTail=!0):this.inTail=!1,-c},_update:function(b){var c,d=this,e={target:this._target,first:this._first,last:this._last,visible:this._visible,fullyvisible:this._fullyvisible},f=this.index(b.first||e.first)e)return this.scroll(e,c,d);if(e>=g&&h>=e)return a.isFunction(d)&&d.call(this,!1),this;for(var i,j=this.items(),k=this.clipping(),l=this.vertical?"bottom":this.rtl?"left":"right",m=0;;){if(i=j.eq(e),0===i.length)break;if(m+=this.dimension(i),m>=k){var n=parseFloat(i.css("margin-"+l))||0;m-n!==k&&e++;break}if(0>=e)break;e--}return this.scroll(e,c,d)}}(jQuery),function(a){"use strict";a.jCarousel.plugin("jcarouselControl",{_options:{target:"+=1",event:"click",method:"scroll"},_active:null,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onReload=a.proxy(this._reload,this),this.onEvent=a.proxy(function(b){b.preventDefault();var c=this.options("method");a.isFunction(c)?c.call(this):this.carousel().jcarousel(this.options("method"),this.options("target"))},this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy).on("jcarousel:reloadend jcarousel:scrollend",this.onReload),this._element.on(this.options("event")+".jcarouselcontrol",this.onEvent),this._reload()},_destroy:function(){this._element.off(".jcarouselcontrol",this.onEvent),this.carousel().off("jcarousel:destroy",this.onDestroy).off("jcarousel:reloadend jcarousel:scrollend",this.onReload)},_reload:function(){var b,c=a.jCarousel.parseTarget(this.options("target")),d=this.carousel();if(c.relative)b=d.jcarousel(c.target>0?"hasNext":"hasPrev");else{var e="object"!=typeof c.target?d.jcarousel("items").eq(c.target):c.target;b=d.jcarousel("target").index(e)>=0}return this._active!==b&&(this._trigger(b?"active":"inactive"),this._active=b),this}})}(jQuery),function(a){"use strict";a.jCarousel.plugin("jcarouselPagination",{_options:{perPage:null,item:function(a){return''+a+" "},event:"click",method:"scroll"},_carouselItems:null,_pages:{},_items:{},_currentPage:null,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onReload=a.proxy(this._reload,this),this.onScroll=a.proxy(this._update,this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy).on("jcarousel:reloadend",this.onReload).on("jcarousel:scrollend",this.onScroll),this._reload()},_destroy:function(){this._clear(),this.carousel().off("jcarousel:destroy",this.onDestroy).off("jcarousel:reloadend",this.onReload).off("jcarousel:scrollend",this.onScroll),this._carouselItems=null},_reload:function(){var b=this.options("perPage");if(this._pages={},this._items={},a.isFunction(b)&&(b=b.call(this)),null==b)this._pages=this._calculatePages();else for(var c,d=parseInt(b,10)||0,e=this._getCarouselItems(),f=1,g=0;;){if(c=e.eq(g++),0===c.length)break;this._pages[f]=this._pages[f]?this._pages[f].add(c):c,g%d===0&&f++}this._clear();var h=this,i=this.carousel().data("jcarousel"),j=this._element,k=this.options("item"),l=this._getCarouselItems().length;a.each(this._pages,function(b,c){var d=h._items[b]=a(k.call(h,b,c));d.on(h.options("event")+".jcarouselpagination",a.proxy(function(){var a=c.eq(0);if(i.circular){var d=i.index(i.target()),e=i.index(a);parseFloat(b)>parseFloat(h._currentPage)?d>e&&(a="+="+(l-d+e)):e>d&&(a="-="+(d+(l-e)))}i[this.options("method")](a)},h)),j.append(d)}),this._update()},_update:function(){var b,c=this.carousel().jcarousel("target");a.each(this._pages,function(a,d){return d.each(function(){return c.is(this)?(b=a,!1):void 0}),b?!1:void 0}),this._currentPage!==b&&(this._trigger("inactive",this._items[this._currentPage]),this._trigger("active",this._items[b])),this._currentPage=b},items:function(){return this._items},reloadCarouselItems:function(){return this._carouselItems=null,this},_clear:function(){this._element.empty(),this._currentPage=null},_calculatePages:function(){for(var a,b,c=this.carousel().data("jcarousel"),d=this._getCarouselItems(),e=c.clipping(),f=0,g=0,h=1,i={};;){if(a=d.eq(g++),0===a.length)break;b=c.dimension(a),f+b>e&&(h++,f=0),f+=b,i[h]=i[h]?i[h].add(a):a}return i},_getCarouselItems:function(){return this._carouselItems||(this._carouselItems=this.carousel().jcarousel("items")),this._carouselItems}})}(jQuery),function(a,b){"use strict";var c,d,e={hidden:"visibilitychange",mozHidden:"mozvisibilitychange",msHidden:"msvisibilitychange",webkitHidden:"webkitvisibilitychange"};a.each(e,function(a,e){return"undefined"!=typeof b[a]?(c=a,d=e,!1):void 0}),a.jCarousel.plugin("jcarouselAutoscroll",{_options:{target:"+=1",interval:3e3,autostart:!0},_timer:null,_started:!1,_init:function(){this.onDestroy=a.proxy(function(){this._destroy(),this.carousel().one("jcarousel:createend",a.proxy(this._create,this))},this),this.onAnimateEnd=a.proxy(this._start,this),this.onVisibilityChange=a.proxy(function(){b[c]?this._stop():this._start()},this)},_create:function(){this.carousel().one("jcarousel:destroy",this.onDestroy),a(b).on(d,this.onVisibilityChange),this.options("autostart")&&this.start()},_destroy:function(){this._stop(),this.carousel().off("jcarousel:destroy",this.onDestroy),a(b).off(d,this.onVisibilityChange)},_start:function(){return this._stop(),this._started?(this.carousel().one("jcarousel:animateend",this.onAnimateEnd),this._timer=setTimeout(a.proxy(function(){this.carousel().jcarousel("scroll",this.options("target"))},this),this.options("interval")),this):void 0},_stop:function(){return this._timer&&(this._timer=clearTimeout(this._timer)),this.carousel().off("jcarousel:animateend",this.onAnimateEnd),this},start:function(){return this._started=!0,this._start(),this},stop:function(){return this._started=!1,this._stop(),this}})}(jQuery,document);
\ No newline at end of file
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_left.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_left.png
new file mode 100644
index 0000000..4252afe
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_left.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_right.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_right.png
new file mode 100644
index 0000000..e9468f6
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/arrows_right.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/credits.txt b/frontend/web/js/jcarousel/skins/HOME_SLIDER/credits.txt
new file mode 100644
index 0000000..e5ec8c2
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/HOME_SLIDER/credits.txt
@@ -0,0 +1 @@
+Button images copyright by Tango Icon Library Team (http://tango.freedesktop.org/Tango_Icon_Library)
\ No newline at end of file
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-horizontal.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-horizontal.png
new file mode 100644
index 0000000..6fcd3d9
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-horizontal.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-vertical.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-vertical.png
new file mode 100644
index 0000000..066a3e0
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next-vertical.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.jpg b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.jpg
new file mode 100644
index 0000000..5ad08bf
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.jpg differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.png
new file mode 100644
index 0000000..b2fb161
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/next.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-horizontal.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-horizontal.png
new file mode 100644
index 0000000..36472c0
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-horizontal.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-vertical.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-vertical.png
new file mode 100644
index 0000000..bb30f85
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev-vertical.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.jpg b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.jpg
new file mode 100644
index 0000000..59a2cdb
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.jpg differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.png
new file mode 100644
index 0000000..426628d
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/prev.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin.css b/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin.css
new file mode 100644
index 0000000..31cfa88
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin.css
@@ -0,0 +1,183 @@
+.jcarousel-skin-tango .jcarousel-container {
+
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl {
+ direction: rtl;
+}
+
+.jcarousel-skin-tango .jcarousel-container-horizontal {
+ width: 240px;text-align:left;border1:1px solid red;
+ padding: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-container-vertical {
+ width: 42px;
+ height: 200px;
+ padding: 20px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip {
+ overflow: hidden;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-horizontal {
+ width: 200px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-vertical {
+ width: 42px;
+ height: 200px;
+ margin:0px;padding:0px;
+}
+
+.jcarousel-skin-tango .jcarousel-item {
+ width: 42px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-horizontal {
+ margin-left: 0;
+ margin-right: 10px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-item-horizontal {
+ margin-left: 10px;
+ margin-right: 0;
+}
+
+.jcarousel-skin-tango .jcarousel-item-vertical {
+ margin-bottom: 5px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-placeholder {
+ background: #fff;
+ color: #000;
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-tango .jcarousel-next-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 0px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_right.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-next-horizontal {
+ left: 5px;
+ right: auto;
+ background-image: url(prev.jpg);
+}
+
+.jcarousel-skin-tango .jcarousel-next-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-next-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:focus,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 20px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_left.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-prev-horizontal {
+ left: auto;
+ right: 5px;
+ background-image: url(next.jpg);
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-prev-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:focus,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+/**
+ * Vertical Buttons
+ */
+.jcarousel-skin-tango .jcarousel-next-vertical {
+ position: absolute;
+ bottom: 5px;
+ left: 15px;
+ width: 11px;
+ height: 7px;
+ cursor: pointer;
+ background: transparent url(v_next.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango .jcarousel-next-vertical:hover,
+.jcarousel-skin-tango .jcarousel-next-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:hover,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:focus,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical {
+ position: absolute;
+ top: 5px;
+ left: 15px;
+ width: 11px;
+ height: 7px;
+ cursor: pointer;
+ background: transparent url(v_prev.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical:hover,
+.jcarousel-skin-tango .jcarousel-prev-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:hover,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:focus,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin2.css b/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin2.css
new file mode 100644
index 0000000..dbcce80
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/HOME_SLIDER/skin2.css
@@ -0,0 +1,185 @@
+.jcarousel-skin-tango2 .jcarousel-container {
+
+}
+
+.jcarousel-skin-tango2 img{width:50px;float:left;margin-right:20px;}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl {
+ direction: rtl;
+}
+
+.jcarousel-skin-tango2 .jcarousel-container-horizontal {
+ width: 240px;text-align:left;
+ padding: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-container-vertical {
+ width: 242px;
+ height: 320px;
+ padding: 40px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip {
+ overflow: hidden;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip-horizontal {
+ width: 200px;
+ height1: 320px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip-vertical {
+ width: 242px;
+ height: 320px;
+ margin:0px;padding:0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item {
+ width: 242px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-horizontal {
+ margin-left: 0;
+ margin-right: 10px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-item-horizontal {
+ margin-left: 10px;
+ margin-right: 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-vertical {
+ margin-bottom: 5px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-placeholder {
+ background: #fff;
+ color: #000;
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-tango2 .jcarousel-next-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 0px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_right.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-next-horizontal {
+ left: 5px;
+ right: auto;
+ background-image: url(prev.jpg);
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:focus,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 20px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_left.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-prev-horizontal {
+ left: auto;
+ right: 5px;
+ background-image: url(next.jpg);
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:focus,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+/**
+ * Vertical Buttons
+ */
+.jcarousel-skin-tango2 .jcarousel-next-vertical {
+ position: absolute;
+ bottom: 5px;
+ left: 115px;
+ width: 20px;
+ height: 12px;
+ cursor: pointer;
+ background: transparent url(v_next2.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-next-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:focus,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical {
+ position: absolute;
+ top: 5px;
+ left: 115px;
+ width: 29px;
+ height: 12px;
+ cursor: pointer;
+ background: transparent url(v_prev2.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:focus,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next.png
new file mode 100644
index 0000000..e5056d1
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next2.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next2.png
new file mode 100644
index 0000000..600203b
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_next2.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev.png
new file mode 100644
index 0000000..36c087e
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev.png differ
diff --git a/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev2.png b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev2.png
new file mode 100644
index 0000000..791e630
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/HOME_SLIDER/v_prev2.png differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/credits.txt b/frontend/web/js/jcarousel/skins/ie7/credits.txt
new file mode 100644
index 0000000..87ccdbc
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/ie7/credits.txt
@@ -0,0 +1 @@
+Button images copyright by Microsoft Corporation (http://microsoft.com)
\ No newline at end of file
diff --git a/frontend/web/js/jcarousel/skins/ie7/loading-small.gif b/frontend/web/js/jcarousel/skins/ie7/loading-small.gif
new file mode 100644
index 0000000..b25ada9
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/ie7/loading-small.gif differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/loading.gif b/frontend/web/js/jcarousel/skins/ie7/loading.gif
new file mode 100644
index 0000000..5c7f808
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/ie7/loading.gif differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/loading_small.gif b/frontend/web/js/jcarousel/skins/ie7/loading_small.gif
new file mode 100644
index 0000000..5979f6d
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/ie7/loading_small.gif differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/next-horizontal.gif b/frontend/web/js/jcarousel/skins/ie7/next-horizontal.gif
new file mode 100644
index 0000000..36c1f78
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/ie7/next-horizontal.gif differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/prev-horizontal.gif b/frontend/web/js/jcarousel/skins/ie7/prev-horizontal.gif
new file mode 100644
index 0000000..3b93296
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/ie7/prev-horizontal.gif differ
diff --git a/frontend/web/js/jcarousel/skins/ie7/skin.css b/frontend/web/js/jcarousel/skins/ie7/skin.css
new file mode 100644
index 0000000..243873f
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/ie7/skin.css
@@ -0,0 +1,190 @@
+.jcarousel-skin-ie7 .jcarousel-container {
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background: #D4D0C8;
+ border: 1px solid #808080;
+}
+
+.jcarousel-skin-ie7 .jcarousel-direction-rtl {
+ direction: rtl;
+}
+
+.jcarousel-skin-ie7 .jcarousel-container-horizontal {
+ width: 245px;
+ padding: 20px 40px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-container-vertical {
+ width: 75px;
+ height: 245px;
+ padding: 40px 20px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-clip {
+ overflow: hidden;
+}
+
+.jcarousel-skin-ie7 .jcarousel-clip-horizontal {
+ width: 245px;
+ height: 77px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-clip-vertical {
+ width: 77px;
+ height: 245px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-item {
+ width: 75px;
+ height: 75px;
+ border: 1px solid #fff;
+}
+
+.jcarousel-skin-ie7 .jcarousel-item:hover,
+.jcarousel-skin-ie7 .jcarousel-item:focus {
+ border-color: #808080;
+}
+
+.jcarousel-skin-ie7 .jcarousel-item-horizontal {
+ margin-left: 0;
+ margin-right: 7px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-direction-rtl .jcarousel-item-horizontal {
+ margin-left: 7px;
+ margin-right: 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-item-vertical {
+ margin-bottom: 7px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-item-placeholder {
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-ie7 .jcarousel-next-horizontal {
+ position: absolute;
+ top: 43px;
+ right: 5px;
+ width: 32px;
+ height: 32px;
+ cursor: pointer;
+ background: transparent url(next-horizontal.gif) no-repeat 0 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-direction-rtl .jcarousel-next-horizontal {
+ left: 5px;
+ right: auto;
+ background-image: url(prev-horizontal.gif);
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-horizontal:hover,
+.jcarousel-skin-ie7 .jcarousel-next-horizontal:focus {
+ background-position: -32px 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-horizontal:active {
+ background-position: -64px 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal:hover,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal:focus,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal:active {
+ cursor: default;
+ background-position: -96px 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-horizontal {
+ position: absolute;
+ top: 43px;
+ left: 5px;
+ width: 32px;
+ height: 32px;
+ cursor: pointer;
+ background: transparent url(prev-horizontal.gif) no-repeat 0 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-direction-rtl .jcarousel-prev-horizontal {
+ left: auto;
+ right: 5px;
+ background-image: url(next-horizontal.gif);
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-horizontal:hover,
+.jcarousel-skin-ie7 .jcarousel-prev-horizontal:focus {
+ background-position: -32px 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-horizontal:active {
+ background-position: -64px 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal:hover,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal:focus,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal:active {
+ cursor: default;
+ background-position: -96px 0;
+}
+
+/**
+ * Vertical Buttons
+ */
+.jcarousel-skin-ie7 .jcarousel-next-vertical {
+ position: absolute;
+ bottom: 5px;
+ left: 43px;
+ width: 32px;
+ height: 32px;
+ cursor: pointer;
+ background: transparent url(next-vertical.gif) no-repeat 0 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-vertical:hover,
+.jcarousel-skin-ie7 .jcarousel-next-vertical:focus {
+ background-position: 0 -32px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-vertical:active {
+ background-position: 0 -64px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical:hover,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical:focus,
+.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 -96px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-vertical {
+ position: absolute;
+ top: 5px;
+ left: 43px;
+ width: 32px;
+ height: 32px;
+ cursor: pointer;
+ background: transparent url(prev-vertical.gif) no-repeat 0 0;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-vertical:hover,
+.jcarousel-skin-ie7 .jcarousel-prev-vertical:focus {
+ background-position: 0 -32px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-vertical:active {
+ background-position: 0 -64px;
+}
+
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical:hover,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical:focus,
+.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 -96px;
+}
diff --git a/frontend/web/js/jcarousel/skins/tango/arrows_left.png b/frontend/web/js/jcarousel/skins/tango/arrows_left.png
new file mode 100644
index 0000000..4252afe
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/arrows_left.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/arrows_right.png b/frontend/web/js/jcarousel/skins/tango/arrows_right.png
new file mode 100644
index 0000000..e9468f6
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/arrows_right.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/credits.txt b/frontend/web/js/jcarousel/skins/tango/credits.txt
new file mode 100644
index 0000000..e5ec8c2
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/tango/credits.txt
@@ -0,0 +1 @@
+Button images copyright by Tango Icon Library Team (http://tango.freedesktop.org/Tango_Icon_Library)
\ No newline at end of file
diff --git a/frontend/web/js/jcarousel/skins/tango/next-horizontal.png b/frontend/web/js/jcarousel/skins/tango/next-horizontal.png
new file mode 100644
index 0000000..6fcd3d9
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/next-horizontal.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/next-vertical.png b/frontend/web/js/jcarousel/skins/tango/next-vertical.png
new file mode 100644
index 0000000..066a3e0
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/next-vertical.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/next.jpg b/frontend/web/js/jcarousel/skins/tango/next.jpg
new file mode 100644
index 0000000..5ad08bf
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/next.jpg differ
diff --git a/frontend/web/js/jcarousel/skins/tango/next.png b/frontend/web/js/jcarousel/skins/tango/next.png
new file mode 100644
index 0000000..b2fb161
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/next.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/prev-horizontal.png b/frontend/web/js/jcarousel/skins/tango/prev-horizontal.png
new file mode 100644
index 0000000..36472c0
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/prev-horizontal.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/prev-vertical.png b/frontend/web/js/jcarousel/skins/tango/prev-vertical.png
new file mode 100644
index 0000000..bb30f85
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/prev-vertical.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/prev.jpg b/frontend/web/js/jcarousel/skins/tango/prev.jpg
new file mode 100644
index 0000000..59a2cdb
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/prev.jpg differ
diff --git a/frontend/web/js/jcarousel/skins/tango/prev.png b/frontend/web/js/jcarousel/skins/tango/prev.png
new file mode 100644
index 0000000..426628d
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/prev.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/skin.css b/frontend/web/js/jcarousel/skins/tango/skin.css
new file mode 100644
index 0000000..31cfa88
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/tango/skin.css
@@ -0,0 +1,183 @@
+.jcarousel-skin-tango .jcarousel-container {
+
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl {
+ direction: rtl;
+}
+
+.jcarousel-skin-tango .jcarousel-container-horizontal {
+ width: 240px;text-align:left;border1:1px solid red;
+ padding: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-container-vertical {
+ width: 42px;
+ height: 200px;
+ padding: 20px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip {
+ overflow: hidden;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-horizontal {
+ width: 200px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-vertical {
+ width: 42px;
+ height: 200px;
+ margin:0px;padding:0px;
+}
+
+.jcarousel-skin-tango .jcarousel-item {
+ width: 42px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-horizontal {
+ margin-left: 0;
+ margin-right: 10px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-item-horizontal {
+ margin-left: 10px;
+ margin-right: 0;
+}
+
+.jcarousel-skin-tango .jcarousel-item-vertical {
+ margin-bottom: 5px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-placeholder {
+ background: #fff;
+ color: #000;
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-tango .jcarousel-next-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 0px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_right.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-next-horizontal {
+ left: 5px;
+ right: auto;
+ background-image: url(prev.jpg);
+}
+
+.jcarousel-skin-tango .jcarousel-next-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-next-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:focus,
+.jcarousel-skin-tango .jcarousel-next-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 20px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_left.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-prev-horizontal {
+ left: auto;
+ right: 5px;
+ background-image: url(next.jpg);
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-prev-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:hover,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:focus,
+.jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+/**
+ * Vertical Buttons
+ */
+.jcarousel-skin-tango .jcarousel-next-vertical {
+ position: absolute;
+ bottom: 5px;
+ left: 15px;
+ width: 11px;
+ height: 7px;
+ cursor: pointer;
+ background: transparent url(v_next.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango .jcarousel-next-vertical:hover,
+.jcarousel-skin-tango .jcarousel-next-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:hover,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:focus,
+.jcarousel-skin-tango .jcarousel-next-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical {
+ position: absolute;
+ top: 5px;
+ left: 15px;
+ width: 11px;
+ height: 7px;
+ cursor: pointer;
+ background: transparent url(v_prev.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical:hover,
+.jcarousel-skin-tango .jcarousel-prev-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:hover,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:focus,
+.jcarousel-skin-tango .jcarousel-prev-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
diff --git a/frontend/web/js/jcarousel/skins/tango/skin2.css b/frontend/web/js/jcarousel/skins/tango/skin2.css
new file mode 100644
index 0000000..dbcce80
--- /dev/null
+++ b/frontend/web/js/jcarousel/skins/tango/skin2.css
@@ -0,0 +1,185 @@
+.jcarousel-skin-tango2 .jcarousel-container {
+
+}
+
+.jcarousel-skin-tango2 img{width:50px;float:left;margin-right:20px;}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl {
+ direction: rtl;
+}
+
+.jcarousel-skin-tango2 .jcarousel-container-horizontal {
+ width: 240px;text-align:left;
+ padding: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-container-vertical {
+ width: 242px;
+ height: 320px;
+ padding: 40px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip {
+ overflow: hidden;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip-horizontal {
+ width: 200px;
+ height1: 320px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-clip-vertical {
+ width: 242px;
+ height: 320px;
+ margin:0px;padding:0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item {
+ width: 242px;
+ height1: 300px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-horizontal {
+ margin-left: 0;
+ margin-right: 10px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-item-horizontal {
+ margin-left: 10px;
+ margin-right: 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-vertical {
+ margin-bottom: 5px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-item-placeholder {
+ background: #fff;
+ color: #000;
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-tango2 .jcarousel-next-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 0px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_right.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-next-horizontal {
+ left: 5px;
+ right: auto;
+ background-image: url(prev.jpg);
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:focus,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal {
+ position: absolute;
+ top: -40px;
+ right: 20px;
+ width: 10px;
+ height: 16px;
+ cursor: pointer;
+ background: transparent url(arrows_left.png) no-repeat 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-direction-rtl .jcarousel-prev-horizontal {
+ left: auto;
+ right: 5px;
+ background-image: url(next.jpg);
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:focus {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-horizontal:active {
+ background-position: 0px 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:focus,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-horizontal:active {
+ cursor: default;
+ background-position: 0px -16px;
+}
+
+/**
+ * Vertical Buttons
+ */
+.jcarousel-skin-tango2 .jcarousel-next-vertical {
+ position: absolute;
+ bottom: 5px;
+ left: 115px;
+ width: 20px;
+ height: 12px;
+ cursor: pointer;
+ background: transparent url(v_next2.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-next-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:focus,
+.jcarousel-skin-tango2 .jcarousel-next-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical {
+ position: absolute;
+ top: 5px;
+ left: 115px;
+ width: 29px;
+ height: 12px;
+ cursor: pointer;
+ background: transparent url(v_prev2.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:focus {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-vertical:active {
+ background-position: 0 0px;
+}
+
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:hover,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:focus,
+.jcarousel-skin-tango2 .jcarousel-prev-disabled-vertical:active {
+ cursor: default;
+ background-position: 0 0px;
+}
diff --git a/frontend/web/js/jcarousel/skins/tango/v_next.png b/frontend/web/js/jcarousel/skins/tango/v_next.png
new file mode 100644
index 0000000..e5056d1
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/v_next.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/v_next2.png b/frontend/web/js/jcarousel/skins/tango/v_next2.png
new file mode 100644
index 0000000..600203b
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/v_next2.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/v_prev.png b/frontend/web/js/jcarousel/skins/tango/v_prev.png
new file mode 100644
index 0000000..36c087e
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/v_prev.png differ
diff --git a/frontend/web/js/jcarousel/skins/tango/v_prev2.png b/frontend/web/js/jcarousel/skins/tango/v_prev2.png
new file mode 100644
index 0000000..791e630
Binary files /dev/null and b/frontend/web/js/jcarousel/skins/tango/v_prev2.png differ
diff --git a/frontend/web/js/jquery-1.5.min.js b/frontend/web/js/jquery-1.5.min.js
new file mode 100644
index 0000000..9144b8a
--- /dev/null
+++ b/frontend/web/js/jquery-1.5.min.js
@@ -0,0 +1,16 @@
+/*!
+ * jQuery JavaScript Library v1.5
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Jan 31 08:31:29 2011 -0500
+ */
+(function(a,b){function b$(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function bX(a){if(!bR[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bR[a]=c}return bR[a]}function bW(a,b){var c={};d.each(bV.concat.apply([],bV.slice(0,b)),function(){c[this]=a});return c}function bJ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f=a.converters,g,h=e.length,i,j=e[0],k,l,m,n,o;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(q,"`").replace(r,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,p,q=[],r=[],s=d._data(this,u);typeof s==="function"&&(s=s.events);if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,p=f.handleObj.origHandler.apply(f.elem,arguments);if(p===!1||a.isPropagationStopped()){c=f.level,p===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,b,c){c[0].type=a;return d.event.handle.apply(b,c)}function w(){return!0}function v(){return!1}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");e.type="text/javascript",d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1?(g=Array(c),d.each(b,function(a,b){d.when(b).then(function(b){g[a]=arguments.length>1?E.call(arguments,0):b,--c||e.resolveWith(f,g)},e.reject)})):e!==a&&e.resolve(a);return f},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return a.jQuery=a.$=d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML=" a ";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option"));if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:b.getElementsByTagName("input")[0].value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,_scriptEval:null,noCloneEvent:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},g.disabled=!0,d.support.optDisabled=!h.disabled,d.support.scriptEval=function(){if(d.support._scriptEval===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();e.type="text/javascript";try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(d.support._scriptEval=!0,delete a[f]):d.support._scriptEval=!1,b.removeChild(e),b=e=f=null}return d.support._scriptEval};try{delete b.test}catch(i){d.support.deleteExpando=!1}b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function j(){d.support.noCloneEvent=!1,b.detachEvent("onclick",j)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML=" ";var k=c.createDocumentFragment();k.appendChild(b.firstChild),d.support.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var l=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=l("submit"),d.support.changeBubbles=l("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!d.isEmptyObject(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={}),typeof c==="object"&&(f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c)),i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,i=g?b[d.expando]:d.expando;if(!h[i])return;if(c){var j=e?h[i][f]:h[i];if(j){delete j[c];if(!d.isEmptyObject(j))return}}if(e){delete h[i][f];if(!d.isEmptyObject(h[i]))return}var k=h[i][f];d.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},h[i][f]=k):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,j=c.type==="select-one";if(f<0)return null;for(var k=j?f:0,l=j?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=j.test(c);if(c==="selected"&&!d.support.optSelected){var n=a.parentNode;n&&(n.selectedIndex,n.parentNode&&n.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&k.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:l.test(a.nodeName)||m.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var o=/\.(.*)$/,p=/^(?:textarea|input|select)$/i,q=/\./g,r=/ /g,s=/[^\w\s.|`]/g,t=function(a){return a.replace(s,"\\$&")},u="events";d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a);if(f===!1)f=v;else if(!f)return;var h,i;f.handler&&(h=f,f=h.handler),f.guid||(f.guid=d.guid++);var j=d._data(c);if(!j)return;var k=j[u],l=j.handle;typeof k==="function"?(l=k.handle,k=k.events):k||(c.nodeType||(j[u]=j=function(){}),j.events=k={}),l||(j.handle=l=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(l.elem,arguments):b}),l.elem=c,e=e.split(" ");var m,n=0,o;while(m=e[n++]){i=h?d.extend({},h):{handler:f,data:g},m.indexOf(".")>-1?(o=m.split("."),m=o.shift(),i.namespace=o.slice(0).sort().join(".")):(o=[],i.namespace=""),i.type=m,i.guid||(i.guid=f.guid);var p=k[m],q=d.event.special[m]||{};if(!p){p=k[m]=[];if(!q.setup||q.setup.call(c,g,o,l)===!1)c.addEventListener?c.addEventListener(m,l,!1):c.attachEvent&&c.attachEvent("on"+m,l)}q.add&&(q.add.call(c,i),i.handler.guid||(i.handler.guid=f.guid)),p.push(i),d.event.global[m]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),w=s&&s[u];if(!s||!w)return;typeof w==="function"&&(s=w,w=w.events),c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in w)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),t).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=w[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=e.nodeType?d._data(e,"handle"):(d._data(e,u)||{}).handle;h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(o,""),n=d.nodeName(l,"a")&&m==="click",p=d.event.special[m]||{};if((!p._default||p._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,u),typeof i==="function"&&(i=i.events),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(p.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f){a.type="change",a.liveFired=b;return d.event.trigger(a,arguments[1],c)}}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;if(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")return B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")return B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return p.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return p.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function s(a,b,c,d,e,f){for(var g=0,h=d.length;g0){k=j;break}}j=j[a]}d[g]=k}}}function r(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0;[0,0].sort(function(){h=!1;return 0});var i=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var l,m,o,p,q,r,s,u,v=!0,w=i.isXML(d),x=[],y=b;do{a.exec(""),l=a.exec(y);if(l){y=l[3],x.push(l[1]);if(l[2]){p=l[3];break}}}while(l);if(x.length>1&&k.exec(b))if(x.length===2&&j.relative[x[0]])m=t(x[0]+x[1],d);else{m=j.relative[x[0]]?[d]:i(x.shift(),d);while(x.length)b=x.shift(),j.relative[b]&&(b+=x.shift()),m=t(b,m)}else{!g&&x.length>1&&d.nodeType===9&&!w&&j.match.ID.test(x[0])&&!j.match.ID.test(x[x.length-1])&&(q=i.find(x.shift(),d,w),d=q.expr?i.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:n(g)}:i.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),m=q.expr?i.filter(q.expr,q.set):q.set,x.length>0?o=n(m):v=!1;while(x.length)r=x.pop(),s=r,j.relative[r]?s=x.pop():r="",s==null&&(s=d),j.relative[r](o,s,w)}else o=x=[]}o||(o=m),o||i.error(r||b);if(f.call(o)==="[object Array]")if(v)if(d&&d.nodeType===1)for(u=0;o[u]!=null;u++)o[u]&&(o[u]===!0||o[u].nodeType===1&&i.contains(d,o[u]))&&e.push(m[u]);else for(u=0;o[u]!=null;u++)o[u]&&o[u].nodeType===1&&e.push(m[u]);else e.push.apply(e,o);else n(o,e);p&&(i(p,h,e,g),i.uniqueSort(e));return e};i.uniqueSort=function(a){if(p){g=h,a.sort(p);if(g)for(var b=1;b0},i.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=j.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!/\W/.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(/\\/g,"")},TAG:function(a,b){return a[1].toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||i.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&i.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(/\\/g,"");!f&&j.attrMap[g]&&(a[1]=j.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(/\\/g,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=i(b[3],null,null,c);else{var g=i.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(j.match.POS.test(b[0])||j.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!i(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.type},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=j.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||i.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,k=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=j.attrHandle[c]?j.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=j.setFilters[e];if(f)return f(a,c,b,d)}}},k=j.match.POS,l=function(a,b){return"\\"+(b-0+1)};for(var m in j.match)j.match[m]=new RegExp(j.match[m].source+/(?![^\[]*\])(?![^\(]*\))/.source),j.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+j.match[m].source.replace(/\\(\d+)/g,l));var n=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(o){n=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c ",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(j.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},j.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(j.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML=" ",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(j.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=i,b=c.createElement("div"),d="__sizzle__";b.innerHTML="
";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){i=function(b,e,f,g){e=e||c;if(!g&&!i.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return n(e.getElementsByTagName(b),f);if(h[2]&&j.find.CLASS&&e.getElementsByClassName)return n(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return n([e.body],f);if(h&&h[3]){var k=e.getElementById(h[3]);if(!k||!k.parentNode)return n([],f);if(k.id===h[3])return n([k],f)}try{return n(e.querySelectorAll(b),f)}catch(l){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e.getAttribute("id"),o=m||d,p=e.parentNode,q=/^\s*[+~]/.test(b);m?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),q&&p&&(e=e.parentNode);try{if(!q||p)return n(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(r){}finally{m||e.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)i[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(i.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!i.isXML(a))try{if(d||!j.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return i(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;j.order.splice(1,0,"CLASS"),j.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?i.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?i.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:i.contains=function(){return!1},i.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var t=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=j.match.PSEUDO.exec(a))e+=c[0],a=a.replace(j.match.PSEUDO,"");a=j.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!0:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>$2>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if(!d.support.noCloneEvent&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){f=a.getElementsByTagName("*"),g=e.getElementsByTagName("*");for(h=0;f[h];++h)$(f[h],g[h]);$(a,e)}if(b){Z(a,e);if(c&&"getElementsByTagName"in a){f=a.getElementsByTagName("*"),g=e.getElementsByTagName("*");if(f.length)for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>$2>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var ba=/alpha\([^)]*\)/i,bb=/opacity=([^)]*)/,bc=/-([a-z])/ig,bd=/([A-Z])/g,be=/^-?\d+(?:px)?$/i,bf=/^-?\d/,bg={position:"absolute",visibility:"hidden",display:"block"},bh=["Left","Right"],bi=["Top","Bottom"],bj,bk,bl,bm=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bj(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bj)return bj(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bc,bm)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bn(a,b,e):d.swap(a,bg,function(){f=bn(a,b,e)});if(f<=0){f=bj(a,b,b),f==="0px"&&bl&&(f=bl(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!be.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=ba.test(f)?f.replace(ba,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bk=function(a,c,e){var f,g,h;e=e.replace(bd,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bl=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!be.test(d)&&bf.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bj=bk||bl,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bo=/%20/g,bp=/\[\]$/,bq=/\r?\n/g,br=/#.*$/,bs=/^(.*?):\s*(.*?)\r?$/mg,bt=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bu=/^(?:GET|HEAD)$/,bv=/^\/\//,bw=/\?/,bx=/
+
+
+
+
+
+
+
+
+
+
+
+
jCarousel
+
Riding carousels with jQuery
+
+
Carousel with dynamic content loading via Ajax
+
+ The data is loaded dynamically from a simple text file which contains the image urls.
+
+
+
+
+
+
+