var passedMouseEvents = [];
$(document).ready(function(){
    
    var interval = 8000;

	fieldClear('.searchField');
	$("a#clearSearch").click(function(){
		$(".searchField").val('Search...');
		$(this).hide();
	});
	$(".searchField").keyup(function(){
	if($(this).attr("value") != null)
	{ 
		$("a#clearSearch").show(); 
	}
	});
	
	$(".searchField").focusout(function(){
	var clearFlag = $(".searchField").val();
	if(clearFlag == 'Search...')
	{ 
		$("a#clearSearch").hide(); 
	}
	});
	
	fieldClear('#contact_message');
	$('#navigation').children('li').addClass('navLi');
	$('#navigation').children('li').first().removeClass('navLi').addClass('navService');
	$('#navigation').children('li').last().addClass('lastLi');
	$('#footerNav li:last-child').css('background', 'none');

// ---------------------------------------------- begin front page slideshow

var flagSlideshow = $('.images > div').length;
if(flagSlideshow > 0) {

$('.slideshow').html('');
  var loopIndex;
  for (loopIndex=0;loopIndex<$('.images > div').length;loopIndex++){
    $('.slideshow').html($('.slideshow').html()+'<a class="circle" href="#"></a>');
  };
  
$(".slideshow").tabs(".images > div", {

	// enable "cross-fading" effect
	effect: 'fade',
	fadeOutSpeed: "slow",
    interval: interval,
	// start from the beginning after the last tab
	rotate: true

// use the slideshow plugin. It accepts its own configuration
}).slideshow({  interval: interval,
                rotate: true,
                clickable: false
    });

    clearInterval(sliderInterval);
    var sliderInterval=setInterval(function(){$(".forward").click();}, interval);
//    $(".slideshow").data("slideshow").play(); 
    $(".slideshow a").click(function(){
       clearInterval(sliderInterval);
       sliderInterval=setInterval(function(){$(".forward").click();}, interval);  
    }); 

    $(".slideshow, .btnRow a").mouseenter(function(){
       clearInterval(sliderInterval);
    }).mouseleave(function(){
       clearInterval(sliderInterval);
       sliderInterval=setInterval(function(){$(".forward").click();}, interval);
    });     
}

// ---------------------------------------------- end front page slideshow    

/*    
	var sudoSliderElem = $("#slider");
    if (sudoSliderElem.length){
        var sudoSlider = sudoSliderElem.sudoSlider({
            numeric: true,
            continuous: true,
            auto: true,
            pause: '8000',
            resumePause: 8000,
            afterAniFunc: function(t){
                // add onMouseEnter and onMouseLeave
                if (!passedMouseEvents[t]){
                    $("#sliderHolder").mouseenter(function(){
                        sudoSlider.stopAuto();
                    });

                    $("#sliderHolder").mouseleave(function(){
                        sudoSlider.startAuto();
                    });
                    passedMouseEvents[t] = 1;
                }
            }
        });
        //sudoSlider.startAuto();
		
    }

    */

	$('.homePosts .postBox:first-child').addClass('firstPost');
	$('.homePosts .postBox:last-child').addClass('lastPost');

	$("ul.tabsCt").tabs("div.panesCt > div.ctPane");
	$("ul.tabsCt li a:first").css('margin-left', 0);

    $("ul.tabsCt li").click(function(e, i){
        var index = $("ul.tabsCt li").index(this);
        if (visible && index == api.getIndex())
            return;
        $("#thankyou, #thankyoujob").hide();
        api.getPanes().hide().eq(index).show();
        visible = true;
    });

    var api = $("ul.tabsCt").data("tabs");
    var visible = true;
    if (api){
        api.onClick(function(e, index) {
            if (hideJobTab && index == 2){
                this.getPanes().hide().eq(2).hide();
                hideJobTab = false;
                visible = false;
            }
            else{
                $("#thankyou, #thankyoujob").hide();
                this.getPanes().hide().eq(index).show();
            }
        });
    }
/*---technology page ------------------------------------------*/

	var holder = $('.techBox');
	sliceFunc(holder, 4);

	var sizetechBox = $('.techBox').length;
	$('.filterHolder').each(function(){
		$(this).css('zIndex',sizetechBox);
		sizetechBox -=1;
	});

	var techTitles = $('.titleWrap').children();
	var filterTitles = $('.checkRow').children('label');
	var iter = 0;
	var spaceRe = / +/g;

	while(iter < filterTitles.length){
		var titleF = $(filterTitles[iter]).text().toLowerCase().replace(spaceRe, "");
		for(var i = 0; i < techTitles.length; i++){
			var titleT = $(techTitles[i]).text().toLowerCase().replace(spaceRe, "");
			if ((titleF.indexOf(titleT)+1) && (titleF.length==titleT.length)){
				$(filterTitles[iter]).attr('rel', 'tech_'+iter);
				$(techTitles[i]).addClass('tech_'+iter);
				iter++;
				break;
			}else if(i >= techTitles.length-1){iter++;}
		}//for
	}//while

	$('.checkBox').click(function(){
    if ($('.allCategories .checkbox').hasClass('check')){
      if (!$(this).hasClass('allCategories')){
        $('.allCategories .checkbox').removeClass('check');
        $('.allCategories input').attr('checked',false);
        $(this).addClass('clickedOne');
        $('.checkBox').each(function(){
         if (!$(this).hasClass('clickedOne')){
            var findClass = $(this).next().attr('rel');
            if($(this).hasClass('show')){
              $('.'+findClass).parents('.techBox').hide();
            }
          }
          else{
            $(this).removeClass('clickedOne');
          }
        });
      }
      else{
        $('.checkBox:not(.allCategories)').each(function(){
          $(this).find('.checkbox').removeClass('check');
          $(this).find('input').attr('checked',false);
          var findClass = $(this).next().attr('rel');
          if($(this).addClass('show')){
            $('.'+findClass).parents('.techBox').show();
          }
        });
      }
    }
    else{
      if ($(this).hasClass('allCategories')){
        $('.checkBox:not(.allCategories)').each(function(){
          var findClass = $(this).next().attr('rel');
          if($(this).hasClass('show')){
            $('.'+findClass).parents('.techBox').hide();
          }
        });
      }
    }

    var check = $(this).parents('.filterCont').find('.check');
		var textFolder = $(this).parents('.filterBox').find('.finterName');
		var checkNum = $(this).parents('.filterCont').find('.check').length;
		var num = $(this).parents('.filterCont').children().length;
		if((checkNum < num) && (checkNum > 1)){
			textFolder.text('Multiple');
		}

		if((checkNum == num)){
			textFolder.text('All categories');
		}

		if((checkNum == 1)){
			textFolder.text(check.parent().next().text());
		}

		if((checkNum == 0)){
            textFolder.text($(".finterName").text());
        }

    var findClass = $(this).next().attr('rel');
    if($(this).hasClass('show')){
      $(this).removeClass('show');
      $('.'+findClass).parents('.techBox').show();
    }else{
      $(this).addClass('show');
      $('.'+findClass).parents('.techBox').hide();
    }
	});

  $('.checkBox').addClass('show');

  var firstSelectClick=false;

	$('.filterBlk').click(function(){
    if (!firstSelectClick){
      $('.allCategories .checkbox').addClass('check');
      $('.allCategories input').attr('checked',true);
      firstSelectClick=true;
    }
		$(this).parent().children('.filterCont').toggle();
	});

  $('body').click(function(event) {
    var canHide=true;
    var target=$(event.target);
    if (!target.hasClass('filterCont') && !target.hasClass('filterBlk')){
      target.parents().each(function(){
        if ($(this).hasClass('filterCont') || $(this).hasClass('filterBlk')){
          canHide=false;
        }
      });
    }
    else{
      canHide=false;
    }
    if (canHide){
      $('.filterCont').each(function(){
        if ($(this).css('display') == 'block'){ $(this).hide();}
      });
    }
  });
});

function sliceFunc(holder, num){
		holder.each(function(){
			var masElem = $(this).children('ul').children();
			if(masElem.size() >= num){
				$(this).children('ul').remove();
				if(masElem.size() % num == 0){
					var doFor = parseInt(masElem.size()/num);
				}else{
					var doFor = parseInt(masElem.size()/num)+1;
				}
				var doForNew = parseInt(masElem.size()/num);
				for(var i=0; i<num; i++){
					if(masElem.size() % num == 0){
						doFor = doForNew;
					}
					var newMas = masElem.slice(0,doFor);
					masElem = masElem.slice(doFor);
					var ul = $('<ul />');
					newMas.appendTo(ul);
					ul.appendTo($(this));
				}
			}//if
		});
}

function fieldClear(elem){
	$(elem).focus(function(){
		if (this.defaultValue == this.value) this.value = "";
	});
	$(elem).blur(function(){
		if (this.value == "") {this.value = this.defaultValue;}
	});
}

var ajax =
{
    shortContactSubmit: function()
    {
        if ($("#contact_message").val() == "Please tell us your business issue...")
            $("#contact_message").val("");

        var params = $("#sideForm").serialize();
        var url = "en/ajax-contact-en";
        $.post(url, params, function(data)
        {
            $("#sideForm").submit();
            var isSuccess = true;
            $.each(data, function(index, value){
                $("#error_" + index).html(value);
                if (value)
                    isSuccess = false;
            });
            if (isSuccess)
            {
                $('#sideForm').get(0).reset();
                $("#thankyou").show();
                $("#sideForm").closest("div.boxCont").hide();
            }
            else
                if ($("#contact_message").val() == "")
                    $("#contact_message").val("Please tell us your business issue...");
        }, "json");
    },

    fullContactSubmit: function(button)
    {
        var form = $(button).closest("form")
        var params = form.serialize();
        var url = "en/ajax-contact-en";
        form.submit();
        $.post(url, params, function(data)
        {
            var isSuccess = true;

            $.each(data, function(index, value){
                $(".error_" + index, form).html(value);
                if (value)
                    isSuccess = false;
            });
            if (isSuccess)
            {
                form.get(0).reset();
                $("#thankyou").show();
                $(button).closest("div.ctPane").hide();

            }
        }, "json");
    }
}

