var jScrollPaneSettings = {
		showArrows: false
	};

var clientColWidth = 240;
	
function videoInit(){
    var videoItems = jQuery('div.video_item a'); 
    if(videoItems!=null){
        for(i=0; i<videoItems.length; i++){
            var videoItem = videoItems[i];
            jQuery(videoItem).click(function(){
                playVideo(this.href);
                return false;
            });
        }
    }
}     

function playVideo(videoUrl){
    var vDiv = jQuery('div#videoWindow');
    var iframe = jQuery('iframe#player');  
    if(iframe!=null){ 
        iframe.attr('src', videoUrl+"?autoplay=1&title=0&byline=0&portrait=0&rel=0"); 
        
    }
    vDiv.fadeIn(50);
    // add close handler
    var vDiv = jQuery("div#overlay");
    vDiv.click(function() {
        closeVid();  
    });  
}

function closeVid(){
    var iframe = jQuery('iframe#player');
    iframe.attr('src', '');  
    jQuery('div#videoWindow').fadeOut(50);
}

function homeHeads(){
    var homeLines = jQuery('div.homeline');
    if(homeLines!=null){
        for(i=0; i<homeLines.length; i++){
            jQuery(homeLines[i]).mouseover(function() { 
                var title = jQuery(this).children("div.title");
                //if(title!=null) jQuery(title[0]).effect("scale", { percent: 110}, 1000);
            });
            jQuery(homeLines[i]).mouseout(function() { 
                var title = jQuery(this).children("div.title");  
                //if(title!=null) jQuery(title[0]).effect("scale", { percent: 90}, 1000); 
            });
        }
    }
}

function initHome(){
    initHomeBigHeads();
    initHomeMidHeads();
    //initHomeVideoOverviews();
    initHomeClose();
    var scrollers = jQuery('div.home_info_col2');
    for(i=0; i<scrollers.length; i++){
        //jQuery(scrollers[i]).jScrollPane();
    }       
}

function initHomeClose(){
    jQuery("div#home_dets_close").click(function(){
        jQuery('div#home_root').fadeIn();
        jQuery('div#home_dets').fadeOut();
        var iframes = jQuery("iframe#player");
        if(iframes!=null){ 
            for(i=0; i<iframes.length; i++){
                jQuery(iframes[i]).attr('src', '');
            }
        }
    });
}

function initHomeBigHeads(){
    var bigHeads = jQuery('div#home_root div.homeline');
    if(bigHeads!=null){
        for(i=0; i<bigHeads.length; i++){
            jQuery(bigHeads[i]).click(function() {
                jQuery('div#home_root').fadeOut();
                jQuery('div#home_dets').fadeIn(); 
                selectHomeDetail(this.id);    
            });    
        }
    }  
}

function initHomeMidHeads(){
    var subHeads = jQuery("div.home_mid_heads div.homeline");
    if(subHeads!=null){
        for(i=0; i<subHeads.length; i++){
            jQuery(subHeads[i]).click(function() {
                 selectHomeDetail(this.id);
            });   
        }
    }    
}

function selectHomeDetail(headId){
    var subHeads = jQuery("div.home_mid_heads div.homeline");
    if(subHeads!=null){
        for(i=0; i<subHeads.length; i++){
            if(subHeads[i].id==headId){
                jQuery(subHeads[i]).addClass('selected');
            } else {
                jQuery(subHeads[i]).removeClass('selected');
            }
        }
    }
    var subDetails = jQuery("div.home_info div.greybox");
    if(subDetails!=null){
        for(i=0; i<subDetails.length; i++){
            if(subDetails[i].id==headId+"_details"){
                //jQuery(subDetails[i]).fadeIn();
                var scrollOffset = -i * (jQuery(subDetails[i]).height() + 20);
                jQuery("#home_info_scroll").animate({ top: scrollOffset }, 1000);
            } else {
                //jQuery(subDetails[i]).fadeOut();
            }
            showOverview(subDetails[i].id, "overview");
        }
    } 
    var iframes = jQuery("iframe#player");
    if(iframes!=null){ 
        for(i=0; i<iframes.length; i++){
            jQuery(iframes[i]).attr('src', '');
        }
    }  
}

function showVideo(rootelem, clickedElem, videoUrl){
    jQuery('#'+rootelem + " div#col2_video").show();
    jQuery('#'+rootelem + " div#col2_info").hide();
	//JScrollPane.setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_NEVER);
	jQuery('.home_info_col2').jScrollPane();
    var links = jQuery('#'+rootelem).find("div.home_info_col1 a");
    for(j=0; j<links.length; j++){
        jQuery(links[j]).removeClass("selected");  
    }
    jQuery('#'+rootelem + " a#" + clickedElem).addClass("selected");  
    var iframe = jQuery('#'+rootelem + " iframe");
    if(iframe!=null){ 
        iframe.attr('src', videoUrl+"?autoplay=1&title=0&byline=0&portrait=0&rel=0");
        //jQuery(iframe).api("api_play", null);
    }    
}

function showOverview(rootelem, clickedElem){
    jQuery('#'+rootelem + " div#col2_video").hide();
    jQuery('#'+rootelem + " div#col2_info").show();
	jQuery('.home_info_col2').width("545");
	jQuery('.home_info_col2').jScrollPane(jScrollPaneSettings);
    var links = jQuery('#'+rootelem).find("div.home_info_col1 a");
    for(j=0; j<links.length; j++){
        jQuery(links[j]).removeClass("selected");  
    }
    jQuery('#'+rootelem + " a#" + clickedElem).addClass("selected");
    var iframe = jQuery('#'+rootelem + " iframe");
    if(iframe!=null){ 
        iframe.attr('src', '');
    }  
}

function initHomeVideoOverviews(){
    /*var homeInfos = jQuery("div.home_info div.greybox");
    if(homeInfos!=null){
        for(i=0; i<homeInfos.length; i++){
            var overView = jQuery(homeInfos[i]).find("div.home_info_col1 a");
            var hiId = homeInfos[i].id;
            jQuery(overView).click(function(){
                var links = (jQuery(this).parent()).find("a");
                for(j=0; j<links.length; j++){
                    jQuery(links[j]).removeClass("selected");  
                }
                jQuery(this).addClass("selected"); 
                return false;    
            });
        }
    } */
}

function resetClientList(){
	var clients =  jQuery("div#clients span.client");
	var result = jQuery("div#clients_filter");
	filterClientList("");
}

function filterClientList(value){
	var clients =  jQuery("div#clients span.client");
	var result = jQuery("div#clients_filter");
	var counter = 0;
	jQuery("div#clients_filter").animate({ left: 0}, 0);
	jQuery("div#clients_filter").html("");
	if(value==""){
		for(i=0; i<clients.length; i++){
			//if(jQuery(clients[i]).hasClass(value)){
			if(true){
				if(counter==0){
					var divCol = jQuery("<div>");
					divCol.addClass('clientCol');
				}
				var client = jQuery(clients[i]).clone();
				jQuery(divCol).append(jQuery(client));		
				jQuery("div#clients_filter").append(jQuery(divCol));
				counter = (counter<24)?counter+1:0;
			}
			var numOfCols = jQuery("div#clients_filter div.clientCol").length;
			jQuery("div#clients_filter").width(clientColWidth*numOfCols);	
		}
		jQuery("div#clients_filter").append("<div calss='clearer'></div>");
	} else {
		for(i=0; i<clients.length; i++){
			if(jQuery(clients[i]).hasClass(value)){
				if(counter==0){
					var divCol = jQuery("<div>");
					divCol.addClass('clientCol');
				}
				var client = jQuery(clients[i]).clone();
				jQuery(divCol).append(jQuery(client));		
				jQuery("div#clients_filter").append(jQuery(divCol));
				counter = (counter<24)?counter+1:0;
			}
			var numOfCols = jQuery("div#clients_filter div.clientCol").length;
			jQuery("div#clients_filter").width(clientColWidth*numOfCols);	
		}
		jQuery("div#clients_filter").append("<div calss='clearer'></div>");
	}
	if(numOfCols>4){
		if(!navigator.userAgent.match(/iPhone/i)){
			jQuery("div#clientsButtonBar").show();
			jQuery("div#btnClientRight").show();
		}
	} else {
		jQuery("div#clientsButtonBar").hide();
	}
	//jQuery("div.client_lists").jScrollPane();
}

function initializeClientNav(){
	jQuery("div#btnClientLeft").click(function(){
		var numOfCols = jQuery("div#clients_filter div.clientCol").length * clientColWidth;
		var cf = jQuery("div#clients_filter");
		if((jQuery("div#clients_filter").position().left<0)){
			var targetOffset = jQuery("div#clients_filter").position().left + clientColWidth;
			jQuery("div#clients_filter").animate({ left: targetOffset}, 300);	
			jQuery("div#btnClientRight").show();
			if(jQuery("div#clients_filter").position().left>=0-clientColWidth) jQuery("div#btnClientLeft").hide();
		} else {
			jQuery("div#btnClientLeft").hide();
		}
	});
	
	jQuery("div#btnClientRight").click(function(){
		var num = jQuery("div#clients_filter div.clientCol").length;
		var numOfCols =  num * clientColWidth;
		var cf = jQuery("div#clients_filter");
		var limit = (num>4)?(4-num)*clientColWidth:-4*clientColWidth;
		if((jQuery("div#clients_filter").position().left>limit)){
			var targetOffset = jQuery("div#clients_filter").position().left - clientColWidth ;
			jQuery("div#clients_filter").animate({ left: targetOffset}, 300);
			jQuery("div#btnClientLeft").show();
			if(jQuery("div#clients_filter").position().left<=limit+clientColWidth) jQuery("div#btnClientRight").hide();
		} else {
			jQuery("div#btnClientRight").hide();
		}
	});
}

function initClientFilter(){
    var filter = jQuery("select#clientFilter");
	resetClientList();
	jQuery('div#clients').jScrollPane();
    if(filter!=null){
        jQuery(filter).change(function() {
            var value = this.options[this.selectedIndex].value;
            filterClientList(value);
        });
    }
	
	initializeClientNav();
    
    // position
    if(jQuery("div#filter_div")!=null && jQuery(window).width()<1000){
         jQuery("div#filter_div").css("float", "none");   
    }
}

function initCaseStudies(){
    var offset = 900;
    var cs_links = jQuery("div#cs_tabs div.greybox");
    var cs_details = jQuery("div#cs_details_list div.detailBox"); 
    for(i=1; i<cs_details.length; i++){
        jQuery(cs_details[i]).css("top",offset); 
    }
    for(i=0; i<cs_links.length; i++){
        jQuery(cs_links[i]).click(function(){
            var cs_links = jQuery("div#cs_tabs div.greybox");
            var cs_details = jQuery("div#cs_details_list div.detailBox"); 
            for(i=0; i<cs_links.length; i++){
                if(jQuery(cs_links[i]).hasClass("selected")) jQuery(cs_links[i]).removeClass("selected");  
            }
            for(i=0; i<cs_details.length; i++){
                if(jQuery(cs_details[i]).is(":visible")){
                    //jQuery(cs_details[i]).fadeOut();
                    jQuery(cs_details[i]).animate({top:offset, opacity: 0});
                }
            }
            jQuery(this).addClass("selected");
            jQuery("div#"+this.id+"_det").fadeIn(); 
            jQuery("div#"+this.id+"_det").animate({top:0, opacity: 1});       
        });
    } 
}

function initmembers(){
    var members =  jQuery("div.teamMember"); 
    for(i=0; i<members.length; i++){
        jQuery(members[i]).click(function() { 
            var membInfos = jQuery("div.memberInfo"); 
            for(i=0; i<membInfos.length; i++){ 
                var mId = this.id+"_info"; 
                if(membInfos[i].id==mId){
                    jQuery(membInfos[i]).show();
                    jQuery(membInfos[i]).find('div.membText').jScrollPane();
                } else {
                    jQuery(membInfos[i]).hide();
                }
            }     
        }); 
    }  
}

jQuery(document).ready(function(){
    initHome();  
    videoInit(); 
    initClientFilter();
    initCaseStudies();
    initmembers();
	skinScrollbars();
    
    jQuery(window).resize(function(){
        // filter position
        if(jQuery("div#filter_div")!=null && jQuery(window).width()<1000){
             jQuery("div#filter_div").css("float", "none");   
        } else {
             jQuery("div#filter_div").css("float", "right");   
        }
    });
});

function skinScrollbars(){
	/*jQuery(function(){
		jQuery('div.membText').jScrollPane();
	});*/
}
