﻿
	$j(document).ready(function() {
		activateChangeColorInSelect();
		activateMenu();
		activatePage();
	});
	
	function activateMenu(){		
		$j("#mainMenu img[class!=current_menu_item]").bind('mouseover', function(){
			activateItemMenu(this);		
		}).bind('mouseout', function(){
			activateItemMenu(this);			
		});
	}	
	function activateItemMenu(currMenuImage){
		
		var $currMenuImage 	= $j(currMenuImage);
		var imageSrc		= $currMenuImage.attr('src');		
		var newImageSrc		= 
					( imageSrc.match( /^([\/]?)images\/menu\/(.*)\-a.gif$/ )==null )
					? imageSrc.replace( /^([\/]?)images\/menu\/(.*)\.gif/, '$1images/menu/$2-a.gif' )
					: $currMenuImage.attr('src').replace( /^([\/]?)images\/menu\/(.*)\-a.gif/, '$1images/menu/$2.gif' );		
		$currMenuImage.attr('src', newImageSrc );
	}
	
	function activateVideoToggle(){
		var $video_links 		= $j(".video_link a");
		var $video_players		= $j(".video_player");
		
		$video_links.bind('click', function(){						
			var $curr_link 		= $j(this);
			var index 			= $video_links.index( $curr_link );
			var curr_player 	= $video_players.get( index );			
			//hide
			$video_links.removeClass('vis');
			$video_players.hide();
			//show
			$curr_link.addClass('vis');
			$j(curr_player).show();
		});
		
		// Activate default
		$video_links.filter(".vis").click();
	}
	
	function activateChangeColorInSelect(){
		var $colors_select	= $j('#colors');
		//$j('option',$colors_select).css('background','#fff');
		var background		= null;
		$colors_select.bind('change', function(){
			switch(parseInt($j(this).val())){
				case 1: background = '#7acf0b'; break;  
				case 2: background = '#FF0000'; break;
				case 3: background = '#000'; break;
			}			
			$j(this).css('background',background);
		});
		
		// Activate default
		$colors_select.change();
	}
	
	// -- Magazine -- 
	
	function activateMagazine() {
		var default_product = $j('#default_product');
		var color_checkboxes = $j('.td_product input', default_product);
		color_checkboxes.bind('change', function() {
			var index = color_checkboxes.index(this);
			var product = $j(this).parents('.product');
			activateMagazinePhoto(product, index);
		});
		activateMagazinePhoto(default_product, 0);
		
		var pro_product = $j('#pro_product');
		var pro_color_checkboxes = $j('.td_product input', pro_product);
		pro_color_checkboxes.bind('change', function() {
			var index = pro_color_checkboxes.index(this);
			var product = $j(this).parents('.product');
			activateMagazinePhoto(product, index);
		});
		activateMagazinePhoto(pro_product, 0);
	}
	
	function activateMagazinePhoto(product, set_of_photos) {
		var products_photos_hidden = $j('.products_photos', product);
		var product_photos_hidden = $j('.product_photos:eq(' + set_of_photos + ')', products_photos_hidden);
		
		// thumbs
		var product_photos_thumbs_hidden = $j('.thumbs', product_photos_hidden).clone();
		var product_photos_thumbs_wrapper = $j('.product_thumbs', product);
		product_photos_thumbs_wrapper.html(product_photos_thumbs_hidden);
		
		// big
		var product_photos_big_hidden = $j('.big', product_photos_hidden).clone();
		var product_photos_big_wrapper = $j('.product_big_photo', product);
		product_photos_big_wrapper.html(product_photos_big_hidden);
		product_photos_big_hidden.find('img:not(:first)').hide();
		
		// toggle
		var thumbs_images = product_photos_thumbs_hidden.find('img');
		var big_images = product_photos_big_hidden.find('img');
		thumbs_images.bind('mouseover', function() {
			thumbs_images.removeClass('curr_thumb');
			$j(this).addClass('curr_thumb');
			var index = thumbs_images.index(this);
			big_images.hide();
			$j(big_images.get(index)).show();
		});
		$j(thumbs_images.get(0)).mouseover();
	}
	
	// -- Contact --
	
	function activateContactForm(){
		var $form = $j('#contacts_form');				
		$form.validate({
			// Нужно использовать 
			// errorClass:'errorInput',
			// validClass:'defaultInput',
			rules : {
				"user[fio]":"required",
				"user[email]": {
					required:true,
					email:true
				},
				"user[text]":"required",
				securimage_code_value: "required"
			},
			messages: {				
				"user[email]": {	
					email: "Некорректный e-mail"					
				}
			},			
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				if (error_html.length>0) {
					
					if( element.attr("id")=='email' && error_html!=='This field is required.' ){
						$j('.submit_error_title').html( ' '+error_html );
					}
					
					$j(element).removeClass("inp_default").addClass("errorInput");
					
				} else {
					
					if( element.attr("id")=='email'){
						$j('.submit_error_title').html( ' ' );
					}
					
					$j(element).removeClass("errorInput").addClass("inp_default"); 
				}				
			},
			/* Бред, но без success глючит форма( не снимаются error стили) */
			success: function(label) {}
		});
	}
	
	// -- Shopping cart Form --
	
	function activateUserCitySelect(cities) {
		$j('#ukraine_cities').change(function() {
			var val = $j(this).val();			
			var $scud_select = $j('select#scud');
			var $wrapper_scud_select = $scud_select.parent().show();
			
			$j('option', $scud_select).remove();			
			if (val == 'Киев') {
				$wrapper_scud_select.hide();
				return;
			}
			var $option = $j('<option>-- Выберите склад на который будет доставлен Ваш заказ --</option>').val('');
			$scud_select.append($option);			
			for (city in cities) {
				if (city == val) {
					for(scud in cities[city]) {
						var scud_text = cities[city][scud].title  + ' ' + cities[city][scud].adress + ' ' + cities[city][scud].phone;
						$option = $j('<option>' + scud_text + '</option>').attr('val', scud_text);
						$scud_select.append($option);
					}
					break;
				}
			}
			$option = $j('<option>Необходимо уточнить</option>').attr('val', 'Необходимо уточнить');
			$scud_select.append($option);
			// Поле становится обязательным для ввода
			$scud_select.rules('add', 'required');
		});
	}
	
	function activatePhoneMask() {
		var phone = $j('#phone');
		phone.mask('(999)999-99-99');
		$j('select#country').change(function() {
			var val = $j(this).val();
			switch (val) {
				case '1':
					phone.mask('(999)999-99-99');
					break;
				case '2':
					phone.unmask('(999)999-99-99');
					break;
			}
		});
	}
	
	function activateChangeCountry() {
		var cities = $j('.country_cities');
		var ukraine_cities = $j('#ukraine_cities');
		var russian_cities = $j('#russian_cities');
		var shipping = $j('#shipping');
		ukraine_cities.rules('add', 'required');
		$j('select#country').change(function() {
			ukraine_cities.rules('remove', 'required');
			russian_cities.rules('remove', 'required');
			cities.hide();
			var val = $j(this).val();
			switch (val) {
				case '1':
					ukraine_cities.rules('add', 'required')
					ukraine_cities.show().change();
					break;
				case '2':
					russian_cities.rules('add', 'required')
					russian_cities.show();
					shipping.val('По России (цена договорная)');
					break;
			}
		});
		
		ukraine_cities.change(function() {
			var val = $j(this).val();
			if (val == 'Киев') {
				shipping.val('По Киеву (25 грн)');
			} else {
				shipping.val('По Украине (20-30 грн)');
			}
		});
	}
	
	// -- Pages --
	
	function activatePage() {
		$j('.slider h3').bind('click', function() {
			$j(this).next().toggle();
		});
	}
	
	// -- Addithional -- 
	
	function ajaxError(){
		alert("Ошибка при передаче данных! Попробуйте снова");
	}
	
	function reloadPage(){
		window.location.reload();
		return;
	}
	
	function checkResponse( responseText ){
		if( typeof(responseText)=='undefined' ){				
			alert("Ошибка при передаче данных! Попробуйте снова");
			return false;
		}
		
		var json = eval( "(" + responseText + ")" );	
		if( typeof(json.error)=='undefined' ){
			alert("Ошибка при передаче данных! Попробуйте снова");
			return false;
		}
		
		return json;
	}
	
	function activateCalendar( range ){
		// Календарь
		$j(".calendar").datepicker({
			//mandatory: true,
			yearRange: range,
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
	}	
	
	function var_dump(obj) {
		  var result = null;
		  for (var i in obj)
		  result += 'object' + '.' + i + ' = ' + obj[i] + '\n';
		  return result;
	}
	 
	function activateblock(){
		$j.blockUI({ css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: '.5', 
            color: '#fff'				
        }, overlayCSS:{'z-index': 1007} }); 
	}
	
	function deactivateblock(){
		$j.unblockUI();
	}
	
	function you_are_sure(str){
		return confirm(str);
	}
