function in_array(what, where) {
    for(var i=0; i<where.length; i++) {
        if(what == where[i]) 
            return true;
    }   
    return false;
} 

function removeByElement(arrayName,arrayElement)
 {
    for(var i=0; i<arrayName.length;i++ )
     { 
        if(arrayName[i]==arrayElement)
            arrayName.splice(i,1); 
      } 
  }

$(document).ready(function(){

				$.reject({imagePath : "images/",
        				  header: 'У Вас установлен устаревший браузер', // Header Text  
        				  paragraph1: '', // Paragraph 1  
        				  paragraph2: 'Пожалуйста, установите один из этих браузеров', // Paragraph 2  
        				  closeMessage: '', // Message below close window link  				
        				  closeLink: 'Закрыть это сообщение'	  
				});

			   width=239;	
				
			   l = Math.round(width*$("#price_from").val()/20000)+2;
			   //$("#price_from").val(500);
			   $("#price_low").css("left", l+'px');
			   
			   r = Math.round(width*$("#price_to").val()/20000)+2;
			   //$("#price_to").val(19500);
			   $("#price_high").css("left", r+'px');
			   
			   $("#scale").slider({
						range: true,
						min: 0,
						max: 20000,
						values: [$("#price_from").val(), $("#price_to").val()],
						slide: function(event, ui) {
							$("#price_from").val(ui.values[0]);
							l = Math.round(width*ui.values[0]/20000)+2;
							$("#price_low").css("left", l+'px');
							$("#price_to").val(ui.values[1]);
							r = Math.round(width*ui.values[1]/20000)+2;
							$("#price_high").css("left", r+'px');
						}
					});
				
			   var max_memory_size = 65536;	
				
			   l = Math.round(width*$("#memory_from").val()/max_memory_size)+2;
			   //$("#memory_from").val(0);
			   $("#memory_low").css("left", l+'px');
			   
			   r = Math.round(width*$("#memory_to").val()/max_memory_size)+2;
			   //$("#memory_to").val(max_memory_size);
			   $("#memory_high").css("left", r+'px');

			   $("#scale2").slider({
						range: true,
						min: 0,
						max: max_memory_size,
						values: [$("#memory_from").val(), $("#memory_to").val()],
						slide: function(event, ui) {
							$("#memory_from").val(ui.values[0]);
							l = Math.round(width*ui.values[0]/max_memory_size)+2;
							$("#memory_low").css("left", l+'px');
							$("#memory_to").val(ui.values[1]);
							r = Math.round(width*ui.values[1]/max_memory_size)+2;
							$("#memory_high").css("left", r+'px');
						}
					});

			   l = Math.round(width*$("#photo_from").val()/20)+2;
			   //$("#photo_from").val(0);
			   $("#photo_low").css("left", l+'px');
			   
			   r = Math.round(width*$("#photo_to").val()/20)+2;
			   //$("#photo_to").val(20);
			   $("#photo_high").css("left", r+'px');

			   $("#scale3").slider({
						range: true,
						min: 0,
						max: 20,
						values: [$("#photo_from").val(), $("#photo_to").val()],
						slide: function(event, ui) {
							$("#photo_from").val(ui.values[0]);
							l = Math.round(width*ui.values[0]/20)+2;
							$("#photo_low").css("left", l+'px');
							$("#photo_to").val(ui.values[1]);
							r = Math.round(width*ui.values[1]/20)+2;
							$("#photo_high").css("left", r+'px');
						}
					});
			  
			  $("#show_comparison2").click(function() {
				     if ($("#comparison").hasClass("open")) {
				     	$("#comparison_add").animate({height:"0px"},400,"linear",function(){$("#comparison2").toggle();});
				     }	
				     else {	 
				     	$("#comparison2").toggle();
				     	$("#comparison_add").css("height","0px");
				     	$("#comparison_add").animate({height:"184px"},400);
				     }	
				     $("#comparison").toggleClass("open");
			    return false;
			  }); 
/* ------------------------------------------------------------------------------------------------------------------------- */	
		  
	$(".add_to_compare").click(function() {
		var productIDValSplitter 	= (this.id).split("_");
		var productIDVal 			= productIDValSplitter[1];
		
		var phone_list= $.cookie("mgid_compare");
		if ((phone_list=="") || (phone_list==null)) phone_list = [];
		else phone_list = phone_list.split(",");

		var phone_id = $("#phone_id_" + productIDVal).val();
		
		var count = $("#compare .line_phone").length+1;
		
		if (!in_array(phone_id,phone_list) && count<=4) {

			var Fobject = $("#featuredProduct_" + productIDVal);

			var productX 		= Fobject.offset().left;
			var productY 		= Fobject.offset().top;

			//$("#compare").show();
			
			//var basketX 		= $("#compare").offset().left;
			//var basketY 		= $("#compare").offset().top;
			var Add_block = false;
			
			if ($(this).hasClass("c_btn")) {
				var basket = $("#compare_fixed");
				Add_block = true;
			}	
			else
				var basket = $("#compare_link");
			
			var basketX 		= basket.offset().left;
			var basketY 		= basket.offset().top;
			

			var gotoX 			= basketX - productX;
			var gotoY 			= basketY - productY;


			var name = $("#name_" + productIDVal).val();
			var descr = $("#descr_" + productIDVal).val();
			var rating = $("#rating_" + productIDVal).val();
			var url = $("#url_" + productIDVal).val();
			
			//var newImageWidth 	= Fobject.width();
			//var newImageHeight	= Fobject.height();
			
			var newImageHeight	= 50;
			var newImageWidth 	= ($("#featuredProduct_" + productIDVal).width()/$("#featuredProduct_" + productIDVal).height())*newImageHeight;
			
			
			Fobject
				.clone()
				.prependTo(Fobject.parent())
				.css({'position' : 'absolute'})
				.css({'z-index' : '1000000'})
				.animate({opacity: 0.6}, 100 )
				.animate({opacity: 0.1, marginLeft: gotoX, marginTop: gotoY, width: newImageWidth, height: newImageHeight}, 600, function() {
	    						$(this).remove();
	    						phone_block='<div class="line_phone"><img src="'+Fobject.attr("src")+'" alt="'+name+'" title="'+name+'" height="'+newImageHeight+'" align=left class="product"><a href="'+url+'" class="blue">'+name+'</a> <img src="images/delete.gif" class="delete_compare" rel="'+phone_id+'"></a>'+rating+'<p>'+descr+'</p></div>';
				 			    $("#compare .compare_middle").append(phone_block);
				 			    if (Add_block) $("#compare_fixed .compare_middle").append(phone_block);
				 			    	
				});
			//count++;	
			$("#compare_label span").html("("+count+")");	
			$("#compare_link").next("span").html("("+count+")");	
			
			phone_list.push(phone_id);
            var date = new Date();
            date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
			$.cookie("mgid_compare",phone_list, { path: '/', expires: date });
			
			$("#clink_1").toggleClass("active");
			
		}	
		else $(this).effect('pulsate', {}, 100);
  		return false;
	});
	
	$(".delete_compare").live("click", function(){
      
      block = $(this).parent().parent().parent().attr("id");
     
      $(this).parent().remove();
      
      var phone_id=$(this).attr("rel");
      
      // удалить из второго блока
      if (block=="compare_fixed") {
      	  $("#compare .line_phone img[rel='"+phone_id+"']").parent().remove();
      }	  
      else {	  
      	  $("#compare_fixed .line_phone img[rel='"+phone_id+"']").parent().remove();      	  
      }	  
      	  
      
      var count =$("#compare .line_phone").length;	
      
      if (count==0) {
	  	$("#compare_label span").html("");
	  	$("#compare_link").next("span").html("");	
	  }
      else {
	  	$("#compare_label span").html("("+count+")");
	  	$("#compare_link").next("span").html("("+count+")");	
	  }	
	  
	  
	  
	  var phone_list= $.cookie("mgid_compare");
	  phone_list = phone_list.split(",");	  
	  
	  removeByElement(phone_list,phone_id);
	  
      var date = new Date();
      date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
 	  $.cookie("mgid_compare",phone_list, { path: '/', expires: date });	  
	  
	  if (count==0) {
	  	$("#compare").hide();
	  	$("#compare_label").hide();
	  }	
	  
	  if (phone_id==$("#phone_id_1").val())
	  	$("#clink_1").toggleClass("active");
	  
	  
    });
    
    $("#compare_link, #compare").bind("mouseenter", function() {
    	if ($("#compare .compare_middle .line_phone").length > 0) {
    		$("#compare").show();
    		$("#compare_label").show();
    	}	
    });	
    
    $("#compare, #compare_label").bind("mouseleave", function() {
    		$("#compare").hide();
    		$("#compare_label").hide();
    });	
    
    $("#catalog_link, #catalog").bind("mouseenter", function() {
    		$("#catalog").show();
    		$("#catalog_label").show();
    });	
    
    $("#catalog, #catalog_label").bind("mouseleave", function() {
    		$("#catalog").hide();
    		$("#catalog_label").hide();
    });
    
   
    
    
/* ------------------------------------------------------------------------------------------------------------------------- */	
	
	$(".reg").bind("click",function(){
		$(".grey").css({"width":$(document).width(),"height":$(document).height()});
		$("#auth_block").show();
		return false;
	});	  
	
	$("#forget_password_link").bind("click",function(){
		$(".grey").css({"width":$(document).width(),"height":$(document).height()});
		$("#forget_block").show();
		return false;
	});	
	
	$(".grey").bind("click",function(){
		$(this).parent().hide();	
	});	
	
	$("#auth_form").validate({
  		rules: {
		    repassword: {
		      equalTo: "#password"
    		}
  		},
  		errorPlacement: function(error, element) {
     		error.insertAfter(element.next("label"));
   		},
		submitHandler: function(form) { 
			 $.ajax({
			   type: "POST",
			   url: "main/CheckEmail",
			   data: "email="+$("#email").val(),
			   success: function(msg){  
			     if (msg=='1') { form.submit(); }
			     else $("#email").focus().next("label").after("<label class='error'>Такой email уже используется</label>");
			   },
			   cache: false
			 });		
		}   			
	});
	
	$('.default-value').each(function() {
        var default_value = this.value;
        $(this).focus(function() {
            if(this.value == default_value) {
                this.value = '';
            }
        });
        $(this).blur(function() {
            if(this.value == '') {
                this.value = default_value;
            }
        });
    });

 	/*$(".likephone").mouseenter(function() {
  		$(".likephonehover", this).show();
	 });
	 $(".likephone").mouseleave(function() {
  		$(".likephonehover", this).hide();
 	});*/
 	$(".block_close").bind("click",function(){
 		$(this).parent().parent().hide();	
 	});	
		  
	$("input.search_").autocomplete({
			source:"main/AutoComplete/",
			minLength: 2,
			select: function(event, ui) {
				$("input.search_").val(ui.item.label);
				location.href=ui.item.link;
				return false;
			},				
			open: function(event, ui) { $(".ui-autocomplete").css("z-index",1000); }
	}).data("autocomplete")._renderItem = function( ul, item ) {
				item.value=item.label;
				return $( "<li></li>" )
					.data("item.autocomplete", item )
					.append( "<a>" +  item.label + "</a>" )
					.appendTo( ul );
		};
	
	$("#error_block div.shadow").css("opacity","0.3");
	
	$(".report_error").bind("click",function() {
		$("#error_block").show();
		return false;
	});	
	
	$("#error_block").bind("click",function(event){
		//event.preventDefault();
		event.stopPropagation();	
	});	
	
	$('html').click(function() {
		$("#error_block").hide();
 	});		
		  
});   



/* ------------------------------------------------------------------------------------------------------------------------- */	
document.onkeydown = NavigateThrough;
function NavigateThrough (event)   { 
    if (!document.getElementById) return;
    if (window.event) event = window.event;
	if (event.ctrlKey)   {
		var link = null;
		var href = null;
		switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
		    {
			case 0x25:
				$("#pleft").click();
				break;
			case 0x27:
				$("#pright").click();
				break;
		    }
    }
}    
/* ------------------------------------------------------------------------------------------------------------------------- */	
 
function PopupCenter(pageURL, title, w, h)
{
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}   
 
