$(document).ready(function(){
    
    //register slide image in left column
    $('.image_slide').each(function(){
        var ele = $(this).attr('id');
        registerSlide('#'+ele);
    
    });


	
    
    var content_slide = registerSlideContent('#content_slider', false,'#content-pager');
    registerSlideImage(content_slide);

    //Register slide for Tuyen dung menu
    var recruitment = registerSlideContent('#recruitment_slider', true,'#content-pager');
    
    //When click project on coverflow, the slide content will goto that object
    var moveSlide = $('.moveSlide').length;
    if (moveSlide) {
        var idx = $('.moveSlide').index();
        try {
            content_slide.goToSlide(idx-1);
        }catch(e){}
        
        try {
            recruitment.goToSlide(idx-1);
        }catch(e){}

    }
    
    //Register image slide for home page
    $('#home_image_slide').bxSlider({
        infiniteLoop:false
        ,pager: true
        ,controls:false
        ,pagerSelector: '#content-pager'
        ,displaySlideQty:1
    });
    
    //Remove text of pager in slide
    $('#content-pager a').html('&nbsp;');
    $('.hidepagenumber a').remove();
    var slide_idx = $.urlParam('idx');
    //
    
    try{
        if (slide_idx) {recruitment.goToSlide(slide_idx-1);}
    }catch(e){}
    try {
        if (slide_idx) {content_slide.goToSlide(slide_idx-1);}
    }catch(e){}

    //When click image on coverflow, set ative  
    $('.image_wraper .image').unbind('click').bind('click',function(){ 
        $(this).children('.image_hover').each(function(){
            var li_index = $(this).attr('idx_item');
            $('.image_slider_pager').removeClass('slected');
            $('.image').removeClass('slected');
            $(this).parent().addClass('slected');
            if(content_slide[0]){
                content_slide.goToSlide(li_index);
            }
            if(recruitment[0]) {   
                recruitment.goToSlide(li_index);
            }
        });
        var thumb_index = $('.image_wraper .image').index(this)-1;
        var objectID = $(this).attr('obj_ID');    
        updateSlideImage(objectID, thumb_index)
        addSelectedImage(objectID, thumb_index);
        setPagerActive(thumb_index);
        
    });
     
    //Update slide content when click project in coverflow
    var xhr;
    $('.image_project_hover').unbind('click').bind('click',function(){
        $('li').removeClass('slected');
        $('.image').removeClass('slected');
        $(this).parent().addClass('slected');
        var cat = $(this).attr('cat');
	    var url = window.location.href;
	    var params ='category='+cat;
        if(xhr !== undefined) { xhr.abort(); } 
        xhr = $.ajax({
            url: 'filterCatagoryById',
            data: params,
            success: function(data) {
               $('#projects_container').html(data);
               $('.image_slide').each(function(){
                  var ele = $(this).attr('id');
		          registerSlide('#'+ele);
		    
		       });
    		   var ajaxSlider = registerSlideContent('#content_slider', false,'#content-pager');
    		   showNextPre(ajaxSlider);
               //Ajax call and register slide Image
               registerSlideImage(ajaxSlider);
               
            }
            
        });
        var contentHieght = $('#content').height();
        $('#content').css({height:contentHieght<=555?555:contentHieght}); 


	});
	
    //fancybox
    $(' a.photo_gallery').fancybox({
				'titlePosition' 	: 'over',
				'titleFormat'		: function() {
				    var item_idx = $(this.orig[0]).attr('image_idx');
				    var image_length = $('#photo_gallery_'+ item_idx+' .photo_gallery').length;
				    var item_end = $(this.orig[0]).attr('item_end');
				    var image_index = $(this.orig[0]).index();
				    if (item_end=='True') image_length= image_length/2;
				    return '<span id="fancybox-title-over">Image '+ (image_index + 1) + ' / ' + image_length + '</span>';
				}
    }); 

    //Jobs coverflow 
    $('.jobs_partner').bind('click',function(){
        var self = this;
        $.ajax({
            url:'updateJobsCategory',
            context: document.body,
            success: function(data) {
                $('.recruit_scroll-content .cpl70').html(data);
                $('#content-pager a').remove()
                var jobsSlider = registerSlideContent('#recruitment_slider', true,'#content-pager');
                showNextPre(jobsSlider);
                $('#content-pager a').html('&nbsp;');
                var child = $('#content-pager .pager-link').length;
		        if (child<=1)$('#content-pager').hide();
		        var obj_index = $('.jobs_partner').index(self);
		        if(jobsSlider[0]){
                        jobsSlider.goToSlide(obj_index-1);
                }
                $(self).children('.image_hover').each(function(){
                    $('.image').removeClass('slected');
                    $(this).parent().addClass('slected');
                });
            }
            
        });
    });
    
    //showNextPre(content_slide);
    
	// Hide next/pre
	$('#content').mouseout(function(){
	   $('#slide_container .bx-prev,#slide_container .bx-next').hide();
	   $('#main_project_content .bx-prev,#main_project_content .bx-next').hide();
	   $('.recruit_slot_right .bx-prev,.recruit_slot_right .bx-next').hide();
	});

    
 });
 
showNextPre = function(slide) {
    //When hover content show next/prev button
	$('#content').mouseover(function(){
	   var count =slide.getSlideCount();
	   if(count >1){ 
	       $('#slide_container .bx-prev,#slide_container .bx-next').show();
	       $('#main_project_content .bx-prev,#main_project_content .bx-next').show();
	       $('.recruit_slot_right .bx-prev,.recruit_slot_right .bx-next').show();
        }
	});

}
    
$.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (!results) { return 0; }
    return results[1] || 0;
}

registerSlideContent = function(ele_id,pager,pagerSelector) {
    var slide = $(ele_id).bxSlider({
        infiniteLoop:false
        ,pager: pager
        ,controls: true
        ,hideControlOnEnd: true
        ,pagerSelector: pagerSelector
        ,onNextSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
            var objectID = $(currentSlideHtmlObject).attr('obj_ID');
            updateSlideImage(objectID, currentSlideNumber);
            addSelectedImage(objectID, currentSlideNumber);
            setPagerActive(currentSlideNumber);
        }
        ,onPrevSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
            setPagerActive(currentSlideNumber);
            var objectID = $(currentSlideHtmlObject).attr('obj_ID');
            addSelectedImage(objectID, currentSlideNumber);
        }
    });
    
    $(ele_id).touchwipe({            wipeLeft: function() {slide.goToNextSlide()},            wipeRight: function() {slide.goToPreviousSlide()},            preventDefaultEvents: true    });
    return slide;

}

updateSlideImage = function(objectID,slide_index) {
    var params = 'objectID='+ objectID+'&item_idx='+ slide_index;
    $('#content_slider li:first .slide_image_wraper').attr('id','');
    $('#slide_image_wraper_'+ slide_index).html('<p class="spinner"><img src="spinner-r-16.gif" /></p>');
    $.ajax({
        url:'getOjectById',
        context: document.body,
        data: params,
        success: function(data) {
            $('#slide_image_wraper_'+ slide_index).html(data);
            registerSlide('#image_slide_'+ slide_index);
        }
    });
}

setPagerActive = function(slide_idx){
    $('.content-pager a').removeClass('pager-active');
    $('.content-pager .pager-'+ slide_idx).addClass('pager-active');
}

setImageSlidePagerActive = function(slide_idx){
    $('.pager_container a').removeClass('pager-active');
    $('.pager_container .pager-'+ slide_idx).addClass('pager-active');
    
}

registerSlide = function(id_slide) {
    var image_slide = jq(id_slide).bxSlider({
		infiniteLoop:false
		,pager: false
		,controls: false
		,wrapperClass: 'img-bx-wrapper'
		,onNextSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
		    setImageSlidePagerActive(currentSlideNumber);
        }
        ,onPrevSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject){
            setImageSlidePagerActive(currentSlideNumber);
        }
	});
	$(id_slide+'_pager .pager-image').click(function(){
		var idx = jq(this).attr('id_img');
		image_slide.goToSlide(idx);
		$(this).parent().children().removeClass('pager-active');
		$(this).addClass('pager-active');
	});
    $(id_slide).touchwipe({            wipeLeft: function() {image_slide.goToNextSlide()},            wipeRight: function() {image_slide.goToPreviousSlide()},            preventDefaultEvents: true    });

}

registerSlideImage = function(content_slide){
    //content pager
    $('.content-pager a').bind('click',function(){
            var thumbIndex = $('.content-pager a').index(this);
            content_slide.goToSlide(thumbIndex);
            $('.content-pager a').removeClass('pager-active');
            $(this).addClass('pager-active');
            var objectID = $(this).attr('obj_ID');
            updateSlideImage(objectID, thumbIndex);
            addSelectedImage(objectID, thumbIndex);
            return false;
    });
    $('.content-pager a:first').addClass('pager-active');
}

addSelectedImage= function(objectID, thumbIndex){
    $('.image').attr('obj_ID',function(i, val){
        if(val== objectID & i-1== thumbIndex){
            $('#image_slider li').removeClass('slected');
            $('.image').removeClass('slected');
            $(this).addClass('slected');
        }
    });//.addClass('slected');

}



