﻿// JavaScript Document

// JavaScript Document
// CLASS TOGGLER V2  (C) Peter Bondarevsky (28.01.2008)
// If an object have several class names (or one class name, or no class name) we can toggle one with this function (add if it's not or remove if it is)
// 		obj	-	an object applying function to
// 		classN - class name, which should be toggled
// 		togling  - specifying operation
//					toggle - TOGGLEs class (remove if it is, and add if it's not)
//					dell - only REMOVEs class if it is, and if it's not - do nothing
//					add - only ADDs class if it is, and if it's not - do nothing

function toggleClass(obj,classN,togling){
	function test(clN,value){
		var myRe= new RegExp("\\b"+value+"\\b");
		return myRe.test(clN)?true:false;
		}
	function RMclass(clN,value){
		var rmclass = new RegExp ('(.*)(\\b'+value+'\\b)(.*)');
		return rmclass.exec(clN)[1]+rmclass.exec(clN)[3];
		}
	function rm(){var a=RMclass(obj.className,classN); a.length==0?obj.removeAttribute($ifBrowser('MSIE')?'className':'class'):obj.className=a}
	function add(){obj.className += ' ' + classN}
	var k = test(obj.className,classN);
	switch (togling){
		case 'toggle':	if (k) 	{ rm() 	} else { add() }; 	break;
		case 'dell':	if (k) 	{ rm() 	}					break;
		case 'add':		if (!k) { add() }					break;
		}
};
Array.prototype.findIndex = function(value){
	var ctr = "";
	for (var i=0; i < this.length; i++) {
	if (this[i] == value) {
	return i;
	}
	}
	return ctr;
};

Array.prototype.inArray = function(value){
	var ctr = false;
	for (var i=0; i < this.length; i++) {
		if (this[i] == value) {ctr = true}
	}
	return ctr;
};

/*animation description*/
$(document).ready(function(){


var emptyText = 'Ваша корзина пуста'; 

/*open menu on current section*/
//$("#maindiv").append('<div class="showhideall"><div id="fds"><a href="#"  id="sdf" class="closese"></a><a href="#" id="sdfa"></a></div></div><div class="showCurr"><div id="shCurr"><a href="#"  class="closese"></a></div></div>');
$("#maindiv").append('<div class="showhideall"><div id="fds"><a href="#"  id="sdf" class="closese"></a><a href="#" id="sdfa"></a></div></div><div class="showCurr"></div>');

/*show/hide all button animation*/

$("#sdf")
   .click(function(){
    $("#leftColumn>h2>a").removeClass("slctd").parent().next().hide().children().filter("li").children().filter("a").removeClass("slctd").parent().children().filter("ol").hide();
	$(this).hide(); /*hiding current picture*/
	$("#sdfa").show().blur(); /*showing alternative*/
     return false;
   }).end();

$("#sdfa")
   .click(function(){
	$("#leftColumn>h2>a").addClass("slctd").parent().next().show();
	$(this).hide();
	$("#sdf").show().blur();
    return false;
   }).end();
/*END show/hide all*/

function showCurr() {
		
		if ( !($("#leftColumn li>a.slctd+ol>li>a.current").attr("class")) ) {
			$("#leftColumn>h2>a").removeClass("slctd").parent().next().hide().children().filter("li").children().filter("ol").hide().children().filter("a").removeClass("slctd");
		}
		
		if ($("#leftColumn li>a.slctd").length > 1) {
		$("#leftColumn>h2+ul>li>a").removeClass("slctd");
		$("#leftColumn>h2+ul>li").removeClass("slctd").children().filter("ol").hide();
		}
		if ($("#leftColumn * li>a.current").parent().children().filter("ol").length!=0 || $("#leftColumn * li>a.current").parent().parent().prev()[0].tagName=="H2")
		{
			$("#leftColumn * li>a.current").addClass("slctd");
			$("#leftColumn * li>a.current/../..").show().prev().children().filter("a").addClass("slctd").parent().next().children().filter("li").children().filter("a.current").parent().children().filter("ol").show().addClass("slctd");
		}
		else
		{
			$("#leftColumn * li>a.current/../..").show().find("../a",this).addClass("slctd").find("../..",this).show().prev().find("a",this).addClass("slctd");
		}
	}


/*if ($("#leftColumn * li>a.current").attr("class")) {
		showCurr();
		
	}  else {
		
		$("#leftColumn>ul>li>ol").hide();
		$("#leftColumn>.spo+*").show();
		
	}*/



/*show/hide all button*/
$(".showhideall").hover(function(){
						if (!($("#leftColumn>h2+*:visible").text())) { $("#sdfa").show();$("#sdf").hide();} else {$("#sdfa").hide();$("#sdf").show();}
						$(this).find("#fds").animate( { bottom: -1 },150);
						},
				function(){
						$(this).find("#fds").animate( { bottom: -21 },150);
						}	
						).end();

$(".showCurr").hover(function(){
						$(this).find("#shCurr").animate( { bottom: -1 },150);
						},
				function(){
						$(this).find("#shCurr").animate( { bottom: -21 },150);
						}	
						).end();

$(".showCurr>#shCurr").click(function(){

						if ($("#leftColumn li>a.slctd").attr("class")) {
								$("#leftColumn li>a.current").fadeOut(50).fadeIn(50).fadeOut(50).fadeIn(50);
						}
						showCurr();
						$(this).blur()
						return false;
						}).end();

/*--------add coment--------*/
var curCheck;
$("#setStar em").mouseover(function(){
										  var arr = $("#setStar em");
										  var counter = jQuery.inArray(this, arr)+1;
										  $("#setStar").removeClass().addClass("st" + counter);
										  
										  }).end();

$("#setStar").mouseout(function(){ 
								//alert($(this).prev().children().filter("input:checked").length)
								var sit = $(this).prev().children().filter("input:checked");
								  if (sit.length == 0) { $("#setStar").removeClass(); }
								  if (sit.length == 1) { $("#setStar").removeClass().addClass("st" + curCheck); /*alert('жопа');*/ }
								  
										  }).end();

$("#setStar em").click(function(){ 
										  var arr = $("#setStar em");
										  var counter = jQuery.inArray(this, arr);
								          var cheks = $("#setStar").prev().children().filter("input");
										  $(cheks[counter]).attr({checked: 'checked'});
										  curCheck = counter + 1;
										  }).end();

$(".addComment input[@type=submit]").click(function(){
													var nameUser = $(".addComment input[@name=avtor]");
													var textArea = $(".addComment textarea");
													if (!$(nameUser).attr("value")) { $(nameUser).addClass('borderRed'); } 
						else { $(nameUser).removeClass('borderRed'); }
													if (!$(textArea).attr("value")) { $(textArea).addClass('borderRed'); } 
						else { $(textArea).removeClass('borderRed') }
													
													if (!$(nameUser).attr("value") || !$(textArea).attr("value")) { return false; }
													
													}).end();



/*PlaceHolder alter*/

var objA = $("#SearchF");
var objB = $("#emailSub");
var unfoc = 'unFocused'; //name o the class which assigned when not active

placeit(objA, atr, unfoc); // returning fuction for each placeholdere
placeit(objB, atr2, unfoc);


function placeit(obj,text,togClass) {

	$(obj).attr({ value: text});
	$(obj).toggleClass(togClass);


	$(obj).focus(function(){
						
						var tester = $(obj).attr("value");
						if ( !(tester == text) == false ) {
							$(obj).attr({ value: ""});
							$(obj).toggleClass(togClass);
						}
						
						 })
	   .end();
	
	$(obj).blur(function(){
						
						var tester = $(obj).attr("value");
						if ( !(tester) ) {
							$(obj).attr({ value: text});
							$(obj).toggleClass(togClass);
						} 
						
						 })
	   .end();
   
}






/*startup closing of menu*/

	$("#sdfa").hide();
	$("#proCont").prev().hide();





/*menu animation*/
$("#leftColumn>h2").append("<i></i>");
$("#leftColumn>ul>li").append("<i></i>");
$("#leftColumn>h2>i")
     .click(function(){
       $(this).parent().next().slideToggle();
	   $(this).parent().children().filter("a").toggleClass("slctd");
   	   $("#sdfa").hide();
   	   $("#sdf").show();
       return false;
     })
   .end();


var destination;
$("#leftColumn>ul>li>i")
     .click(function(){
	destination = $(this);
	
	if ($(destination).parent().children().filter("ol").length!=0) {
			$(destination).parent().children().filter("ol").slideToggle();
			$(destination).parent().children().filter("a").toggleClass("slctd");
		}
	else {
	var categ = $(destination).parent().children().filter("a").attr("href");
	jQuery.get( "/getProductList.php", {cat: categ}, function(data){
			$(destination).parent().append(data).hide();												  
			$(destination).next().slideToggle();
			$(destination).parent().children().filter("a").toggleClass("slctd");
															  });
	}
      return false;
     })
   .end();


/*phonenumbers in Products*/
$("#proCont")
     .click(function(){
       $(this).prev().slideToggle();
	   $(this).toggleClass("upp");
       return false;
     })
   .end();   
   
   
/*animate adress - NO LINEBRAKES*/



/*-------- adress popups------*/
$(".cityList>a")
     .click(function(){
        var ddd = $(".popups").css("height");
	  if ( !(ddd == '0px') ) {
		$("#PopUpCont").animate( { top: -200 }, 350);
		$(".popups").css( { height: 0 });
		} 
	  
	   $("#PopUpCont>.ADRcontent").empty();
		var adress = $(this).attr("id");
		if (adress == 'adLviv') {$("#PopUpCont>.ADRcontent").append(adLviv);}
		if (adress == 'adDnepr') {$("#PopUpCont>.ADRcontent").append(adDnepr);}
		if (adress == 'adKharkiv') {$("#PopUpCont>.ADRcontent").append(adKharkiv);}
		if (adress == 'adZapor') {$("#PopUpCont>.ADRcontent").append(adZapor);}
		if (adress == 'adKrimea') {$("#PopUpCont>.ADRcontent").append(adKrimea);}	 
		$("#PopUpCont").animate( { top: -2 }, 800);
//       	$(".popups").animate( { height: 200 }, 200).focus();
       	$(".popups").css( { height: 200 }).focus();
	  
	   return false;
     })
   .end();
   
   $(".popups>div>b")
     .click(function(){
       $("#PopUpCont").animate( { top: -200 }, 800,dohide);
	   function dohide(){
       $(".popups").css( { height: 0 });
	   }
     })
   .end();
   

/*clone searchform for results - fo more than 10*/

if ($("div.Results")) {
var fg = $(".Results>ol>li");
	if (fg.length > 10) { 
		var sform = $("#searchFormB").html();
		$(".Results").after(sform);
	}
	
	for (i = 0; i < (fg.length/2); i++ ) {
		$(fg[i*2]).css( {"background-color":"#eef3f7"} ); 
	}
}

/* adding dinamicaly to cart */
$(".product a.addtoCart").click(function(){ addToCartAjax(this);return false; }).end();
function addToCartAjax(obj){
	var objId = $(obj).attr("href").split('=')[2];
	jQuery.get( "/basket_proc.php", { prc: objId, amount: "1" },function(data){
							 $("#cartDiv").html(data);
																		 } );
	}

/*------------- CART calculation -----*/
setTimeout(calculate,50);

var buttonAdd = $("div.sCart input[@type=button]").parent();
$(buttonAdd).next().hide();
$(buttonAdd).click(function(){
			$(this).hide();
			$(this).next().fadeIn("fast");
												  
							  }).end();

$("div.sCart input[@type=submit]").click(function(){
					var inputs = $("div.fillForm input[@type=text]");
					for (var i=0;i<inputs.length;i++) {
						if (!$(inputs[i]).attr("value")) 
						{ $(inputs[i]).addClass('borderRed'); } 
						else { $(inputs[i]).removeClass('borderRed'); }
						
						}
						if (!$("div.sCart input.borderRed").length==0) {return false;}
			}).end();


$("div.sCart img").click(function(){ 
									var objId = $(this).parent().parent().children().filter("td:eq(1)").children().filter("input:eq(0)").attr("value");
									jQuery.get( "/basket_proc.php", { prc: objId, amount: "del" } );
									$(this).parent().parent().remove();
									calculate();
									}).end();

$("div.sCart input[@name=amount]").keyup(function(){ 
		calculate();
		var objId = $(this).parent().parent().children().filter("td:eq(1)").children().filter("input:eq(0)").attr("value");
		var quntity = $(this).parent().parent().children().filter("td:eq(1)").children().filter("input:eq(1)").attr("value");
		jQuery.get( "/basket_proc.php", { prc: objId, amount: quntity, abs: "1" } );
					 }).end();
$("div.sCart input[@name=amount]").blur(function(){ 
					if (!$(this).attr("value"))
					{ 
						$(this).attr( { value: '1'} );
						calculate();
					} 
   					}).end();



function calculate(){
		var trkas = $("div.sCart tr");
		var total = 0;
		for (i=1;i<(trkas.length-1);i++) {
			var price = $(trkas[i]).find("td:eq(2)", this).text();
			var quantity = Math.round($(trkas[i]).find("input[@name=amount]").attr("value"));
			function setV(){$(trkas[i]).find("input[@name=amount]").attr( { value: quantity} );}

			if (quantity==0 || (quantity*1)!=quantity) { quantity = 1;setV();	}
			if (quantity<0) { quantity = quantity * (-1);setV(); }
			var result = price * quantity;
			total = total+result;
			}
		$(trkas[trkas.length-1]).children().filter("td:eq(2)").text(total);
		if ((trkas.length)==2) {
			$("div.sCart table+span").fadeOut("fast");
			$(trkas[trkas.length-1]).find("td:eq(2)", this).text('-').find("//../ td:eq(0)", this).text(emptyText);
			$("div.fillForm").hide();
			/* posting update*/
			
			
		}
}

/*-------------------------compare draft script-------------------------------*/

var compares = new Array();
if ($("#compareBox li").length!=0) {
//	alert('camon')
	var lishkaz = $("#compareBox li");
	for (var i=0;i<lishkaz.length;i++) {
		compares.push(lishkaz[i].innerHTML)
	compareShowHide ();
		}
//	alert('we have: '+compares.length)
	} else {	$("#compareBox").hide();
}
$(".lisCont>input[@type=checkbox]")
	.click(function(){
			
//			var goodId = $(this).parent().parent().children().filter("a").attr("href").split('=')[2];
			var goodId = $(this).attr("value");
			var destination = $("#compareBox ol");
			var em = $(this).parent().parent().children().filter("a").children().filter("strong").text();
			var index = jQuery.inArray(em, compares);

			if ( index!=-1 ) {
				jQuery.get( "/cmp_proc.php", { cmp_action: 'rm',cmp_id: goodId },function(data){ } );

				compares = jQuery.grep(compares, function(n){
				  return (n != em );
				});
				$(this).next().toggleClass("testch");
			} else {
				jQuery.get( "/cmp_proc.php", { cmp_action: 'add',cmp_id: goodId },function(data){ } );

				$(this).next().toggleClass("testch");
				compares.push(em);
				}
			compareShowHide ();
			$(destination).empty();
			for (var i=0;i<compares.length; i++) {$(destination).append("<li>" + compares[i] + "</li>");}
					}).end();

$("#compareBox input[@type=button]").click(function(){
							jQuery.get( "/cmp_proc.php", { cmp_action: 'rm',cmp_id: 'all' },function(data){ 
							$("#compareBox ol").empty();
							$(".lisCont>input:checked").attr({ checked: ''}).next().toggleClass("testch");
							compares = jQuery.grep(compares, function(i){ return (i < 100 ); });
							compareShowHide();
																								} );
	}).end();

$("#compareBox input[@type=submit]").click(function(){
							if ( $(".lisCont>input:checked").length == 1 ) { $("#compareBox ol").append("<b>Для сравнения необходимо 2 товара</b>");  return false;}
	}).end();

function compareShowHide(){
	
		if (compares.length <= 1) {
					$("#compareBox").show().animate( { bottom: 0 },200);
		}
		if (compares.length == 0) {
					$("#compareBox").animate( { bottom: -100 },200,techHide);
		}
	}
function techHide(){
	$("#compareBox").hide();
	}

var timeO;
$('div.cityListAlter').hover(function(){
									  timeO = setTimeout(function(){
										$('div.cityListAlter').css({ height: 'auto' });
										var h = $('div.cityListAlter').height();
										$('div.cityListAlter').css({ height: 23 });
										  $('div.cityListAlter').addClass('hovred').animate( { height: (h+5) },{ queue:true, duration:100 });
														  },100)
									  },contract).end();

$('div.cityListAlter span.more').click(contract).end();
$('div.cityListAlter a').click(function(){
										$('div.cityListAlter').css({ height: 'auto' });
										$('div.cityListAlter a.slctd').removeClass('slctd');
										$(this).addClass('slctd');
										if ($('div.cityListAlter div').html()=='') {
											$('div.cityListAlter div').html(adress[$(this).html()]).hide().slideDown("fast");
										} else {
   											$('div.cityListAlter div').html(adress[$(this).html()]);
											}
										}).end();

function contract(){clearTimeout(timeO); $('div.cityListAlter').animate( { height: 23 },{ queue:false, duration:100 }).removeClass('hovred');$('div.cityListAlter div').html("");$('div.cityListAlter a.slctd').removeClass('slctd');}


 });
