﻿$(document).ready( function() {
	var pageURL = window.location.toString();
	if(pageURL.search("Video-Library") > 0 && pageURL.search("Video-Search") < 0){
	jQuery.fn.sort = function() {
        return this.pushStack([].sort.apply(this, arguments), []);
    };
	var locate = document.location.search;
    var locateVideo = locate.substring(12);
    featuredListSetup('feat_vid_slider');
    buttonCheck('.feat_vid_slider li');
    carouselInfoSetup('vid_pag', 'cur_vid_info', 'carousel_pic');
	featuredTextLimiter('.feat_vid_slider li');
    var vidInterval = setInterval("setCarouselTimer('vid_pag', 'cur_vid_info', 'carousel_pic')", 5000);
	recentTag();
	
	$(".results_wrapper ul li").sort(sortAlpha).appendTo(".results_wrapper ul");
	$(".video_bar a.recent").click( function() {$(".results_wrapper ul li").sort(sortDate).appendTo(".results_wrapper ul");});
	$(".video_bar a.all").click( function() {$(".results_wrapper ul li").sort(sortAlpha).appendTo(".results_wrapper ul");});
	$(".video_bar a.popular").click( function() {$(".results_wrapper ul li").sort(sortAlpha).appendTo(".results_wrapper ul");});
	
	if(locateVideo != ""){
		var str = locateVideo.replace(/%20/g, " ");
		for(var i=0; i < $(".results_wrapper ul li").length; i++){
			if($(".results_wrapper ul li").eq(i).children("a:first").attr("href") == str && str.substring(0,28) == "~/media/Videos/Video Library"){
				clearInterval(vidInterval);
				var newDescription = $(".results_wrapper ul li").eq(i).children(".vid_info_lower").children(".description").text();
				var newTitle = $(".results_wrapper ul li").eq(i).children(".vid_info_lower").children("h3").text();
				var newRun = $(".results_wrapper ul li").eq(i).children(".vid_info_lower").children("span").text();
				var newRatio = $(".results_wrapper ul li").eq(i).children(".vid_info_lower").children(".aspect_ratio").text();
				
				$(".cur_vid_info li.act h3").text(newTitle);
				$(".cur_vid_info li.act span").text(newRun);
				$(".cur_vid_info li.act p").text(newDescription);
				$(".cur_vid_info li.act a").attr("href", str);
			
				if(newRatio == "4x3"){
					$("#flowPlayer").css("width", "475px");
					$("#flowPlayer").css("margin-left", "81px");
				}
				if(newRatio == "16x9" || newRatio == ""){
					$("#flowPlayer").css("width", "640px");
					$("#flowPlayer").css("margin-left", "0px");
				}
			}
		}
	}
	
    comboSetup();
	
	$(".contentHeader h1").html('<a href="'+document.location+'">Video Library</a>');
    
	$(".addthis_btn").mouseover( function() {
		var linkURL = "http://idirect.net/Company/Video-Library.aspx?playvideo=/"+$(this).attr("href");
		return addthis_open(this, '', linkURL, '[TITLE]');
	});
	
	$(".addthis_btn").click( function() {
		return addthis_sendto();
	});
	
	$(".email_link").click( function() {
		var linkURL = "http://idirect.net/Company/Video-Library.aspx?playvideo=/"+$(this).attr("href");
		var spaceFix = / /gi;
		linkURL = linkURL.replace(spaceFix,"%20");
		return addthis_open(this, 'email', linkURL, '[TITLE]');
	});
	
    $(".up").click( function() {moveFeatureVid(".feat_vid_slider li", "up"); return false; });
    $(".down").click( function() {moveFeatureVid(".feat_vid_slider li", "down"); return false;});
    
    $(".feat_vid_slider li").click( function() {clearInterval(vidInterval); return false;});
    $(".carousel_pic li").click( function() {clearInterval(vidInterval); return false;});
    $(".results_wrapper li").click( function() {clearInterval(vidInterval); return false;});
    
    $(".combo_box").toggle( function() {comboShow("show");}, function() {comboShow("hide");});
    $(".video_bar .combo_box_list li").mouseover( function() {comboHover($(this), "hover");}).mouseout( function() {comboHover($(this), "off");});
    
    $(".video_bar .combo_box_list li").click( function() {comboSelect($(this));});
    
    $(".video_bar a").click( function() {sortLink($(this));});
    
    modifyResults("all videos");
    
    $(".results_pag .page").click( function() {moveResults($(this));});
	
	$(".vid_pag .prev").click( function() {
		clearInterval(vidInterval);
		var information = $(".cur_vid_info .carousel_vid");
		var pagination = $(".vid_pag .pag");
		var picture = $(".carousel_pic .large_img");
		var cur = $(".cur_vid_info .act");
		var pos = $(information).index(cur);
		var length = $(information).length;
		var nextpos = ((pos-1) > -1) ? pos-1 : length-1;
		
		$(information).eq(pos).removeClass("act");
		$(pagination).eq(pos).removeClass("act");
		$(picture).eq(pos).fadeOut("slow").removeClass("act");
		$(information).eq(nextpos).addClass("act");
		$(pagination).eq(nextpos).addClass("act");
		$(picture).eq(nextpos).fadeIn("slow").addClass("act");
		vidInterval = setInterval("setCarouselTimer('vid_pag', 'cur_vid_info', 'carousel_pic')", 5000);
		return false;
	});
	
	$(".vid_pag .next").click( function() {
		clearInterval(vidInterval);
		var information = $(".cur_vid_info .carousel_vid");
		var pagination = $(".vid_pag .pag");
		var picture = $(".carousel_pic .large_img");
		var cur = $(".cur_vid_info .act");
		var pos = $(information).index(cur);
		var length = $(information).length;
		var nextpos = ((pos+1) < length) ? pos+1 : 0;
		
		$(information).eq(pos).removeClass("act");
		$(pagination).eq(pos).removeClass("act");
		$(picture).eq(pos).fadeOut("slow").removeClass("act");
		$(information).eq(nextpos).addClass("act");
		$(pagination).eq(nextpos).addClass("act");
		$(picture).eq(nextpos).fadeIn("slow").addClass("act");
		vidInterval = setInterval("setCarouselTimer('vid_pag', 'cur_vid_info', 'carousel_pic')", 5000);
		return false;
	});
	
	$(".vid_pag .pag").click( function() {
		clearInterval(vidInterval);
		var information = $(".cur_vid_info .carousel_vid");
		var pagination = $(".vid_pag .pag");
		var picture = $(".carousel_pic .large_img");
		var cur = $(".cur_vid_info .act");
		var pos = $(information).index(cur);
		var length = $(information).length;
		var nextpos = $(pagination).index($(this));
		
		$(information).eq(pos).removeClass("act");
		$(pagination).eq(pos).removeClass("act");
		$(picture).eq(pos).fadeOut("slow").removeClass("act");
		$(information).eq(nextpos).addClass("act");
		$(pagination).eq(nextpos).addClass("act");
		$(picture).eq(nextpos).fadeIn("slow").addClass("act");
		vidInterval = setInterval("setCarouselTimer('vid_pag', 'cur_vid_info', 'carousel_pic')", 5000);
		return false;
	});
	
	var version = getInternetExplorerVersion();
	
	if ( version > -1 ){
		if ( version >= 8.0){
			$(".results_wrapper ul li img").css("margin-top", "0px");
			$(".results_wrapper ul li img.play_overlay_small").css("margin-bottom", "-90px");
			$(".vid_search .search_btn").css("padding", "2px 7px 3px 7px");
		}
	}
	
	$(".search_text_box").keypress(function(event) {
		if (event.keyCode == '13') {
			$(".vid_search .search_btn").click();
			event.preventDefault();
		}
	});
	}
	if(pageURL.search("inVid") > 0){
		$(".searchPanel .inner").css("padding-bottom", "35px")
	}
	if(pageURL.search("Search-Results") > 0){
		$(".addthis_btn").mouseover( function() {
		var linkURL = $(this).attr("href");
		var title = $(this).attr("title");
		return addthis_open(this, '', linkURL, title);
		});
		
		$(".addthis_btn").click( function() {
			return addthis_sendto();
		});
	}
	
});

function featuredListSetup(classwrap){
    var slides = $("."+classwrap+" .vid_module");
    var length = $(slides).length;
	
	if(length == 1){
		$(slides).eq(0).addClass("btm");
		$(slides).eq(0).addClass("top");
	}
	else if(length == 2){
		$(slides).eq(0).addClass("top");
		$(slides).eq(1).addClass("btm");
	}
	else{
		for(var i=0; i<length; i++){
			if(i==0){
				$(slides).eq(i).addClass("top");
			}
			else if(i==1){
				$(slides).eq(i).addClass("mid");
			}
			else if(i==2){
				$(slides).eq(i).addClass("btm");
			}
		}
	}
    
    return false;
}

function moveFeatureVid(slides, action){
    var curTop = $(slides).index($(slides + ".top"));
    var curBtm = $(slides).index($(slides + ".btm"));
    var nextpos = 0;
    switch (action){
        case "up":
            if(curTop != 0){
                nextpos = ((curTop-1) > -1) ? curTop-1 : 0;
                $(slides).eq((nextpos+1)).removeClass("top");
                $(slides).eq((nextpos+2)).removeClass("mid");
                $(slides).eq((nextpos+3)).removeClass("btm");
                $(slides).eq(nextpos).addClass("top");
                $(slides).eq((nextpos+1)).addClass("mid");
                $(slides).eq((nextpos+2)).addClass("btm");
            }
            break;
        case "down":
            if(curBtm != ($(slides).length-1)){
                nextpos = ((curTop-1) < $(slides).length) ? curBtm+1 : ($(slides).length-1);
                $(slides).eq((nextpos-1)).removeClass("btm");
                $(slides).eq((nextpos-2)).removeClass("mid");
                $(slides).eq((nextpos-3)).removeClass("top");
                $(slides).eq(nextpos).addClass("btm");
                $(slides).eq((nextpos-1)).addClass("mid");
                $(slides).eq((nextpos-2)).addClass("top");
            }
            break;
        default:
        
    }
    
            buttonCheck(".feat_vid_slider li");
}

function buttonCheck(slides){
    if($(slides).index($(slides+".top")) == 0){
        $(".up").css("visibility", "hidden");
    }
    else{
        $(".up").css("visibility", "visible");
    }
    if($(slides).index($(slides+".btm")) == ($(slides).length-1)){
        $(".down").css("visibility", "hidden");
    }
    else{
        $(".down").css("visibility", "visible");
    }
}

function carouselInfoSetup(pagClass, infoClass, picClass){
    var information = $("."+infoClass+" .carousel_vid");
    var pagination = $("."+pagClass+" .pag");
    var picture = $("."+picClass+" .large_img");
    
    var num = 0;
    for(var i=0; i<($(pagination).length); i++){
        num = i + 1;
        $(pagination).eq(i).find("a").html(num);
    }
    $(information).eq(0).addClass("act");
    $(pagination).eq(0).addClass("act");
    $(picture).eq(0).addClass("act");
}

function setCarouselTimer(pagClass, infoClass, picClass){
    var information = $("."+infoClass+" .carousel_vid");
    var pagination = $("."+pagClass+" .pag");
    var picture = $("."+picClass+" .large_img");
    var cur = $("."+infoClass + " .act");
    var pos = $(information).index(cur);
    var length = $(information).length;
	var nextpos = ((pos+1) < length) ? pos+1 : 0;
    
    $(information).eq(pos).removeClass("act");
    $(pagination).eq(pos).removeClass("act");
    $(picture).eq(pos).fadeOut("slow").removeClass("act");
    $(information).eq(nextpos).addClass("act");
    $(pagination).eq(nextpos).addClass("act");
    $(picture).eq(nextpos).fadeIn("slow").addClass("act");
	
	return false;
}

function comboShow(action){
    switch(action){
        case "show":
            $(".video_bar .combo_box_list").css("visibility", "visible");
            break;
        case "hide":
            $(".video_bar .combo_box_list").css("visibility", "hidden");
            break;
        default:
    }
}

function comboHover(current, action){
    switch(action){
        case "hover":
            $(current).addClass("hover");
            break;
        case "off":
            $(current).removeClass("hover");
            break;
        default:
        
    }
}

function comboSetup(){
    var selected = $(".combo_box p").text();
    var compare = "";
    var length = $(".combo_box_list li").length;
    
    for(var i=0; i < length; i++){
        compare = $(".combo_box_list li").eq(i).text();
        if(selected == compare){
            $(".combo_box_list li").eq(i).addClass("act");
        }
    }
}

function comboSelect(clicked){
    var active = $(".combo_box_list .combo_item");
    var cur = $(".combo_box_list .act");
    var pos = $(active).index(cur);
    var newText = $(clicked).text();
    $(".combo_box_list li").eq(pos).removeClass("act");
    $(clicked).addClass("act");
    $(".combo_box p").text(newText);
    $(".video_bar .combo_box_list").css("visibility", "hidden");
    ddResults(newText.toLowerCase());
	$(".combo_box").toggle( function() {comboShow("show");}, function() {comboShow("hide");});
}

function videoCounter(totalCount, pageNum){
    
    var start = (pageNum * 8) - 7;
    var end = ((pageNum*8) > totalCount)? totalCount:(pageNum*8);
    
    var inner = "("+start+"-"+end+" of "+ totalCount +")";
    
    $(".video_bar .count").html(inner);
    
}

function modifyResults(curClass){
	var otherClass = $(".combo_box p").text().toLowerCase();

    if(otherClass.search("all") >= 0){
        otherClass = "all";
    }
    else if(otherClass.search("training") >=0){
        otherClass = "training";
    }
	
	if(curClass == "most popular"){
        curClass = "popular";
    }
	if(curClass == "all videos"){
        curClass = "all";
    }
	if(curClass == "most recent"){
		curClass = "recent";
	}
	
    var videoList = $(".results_wrapper ul li");
    var totalCount = $(videoList).length;
    
    for(var i=0; i<totalCount; i++){
        $(".results_wrapper ul li").eq(i).css("display","none");
		$(".results_wrapper ul li").eq(i).removeClass("act");
    }
    
    var j=0;
    for(var i=0; i<totalCount; i++){
        if($(".results_wrapper ul li").eq(i).attr("class").search(curClass) >= 0 && $(".results_wrapper ul li").eq(i).attr("class").search(otherClass) >= 0){
            $(".results_wrapper ul li").eq(i).addClass("act");
            j++;
            $(".results_wrapper ul li").eq(i).attr("id", j);
        }
		else if(otherClass == "all"){
			if($(".results_wrapper ul li").eq(i).attr("class").search(curClass) >= 0){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
			else if(curClass == "all"){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
		}
		else if(curClass == "all"){
			if($(".results_wrapper ul li").eq(i).attr("class").search(otherClass) >= 0){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
			else if(otherClass == "all"){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
		}
        else{
            $(".results_wrapper ul li").eq(i).removeClass("act");
            $(".results_wrapper ul li").eq(i).attr("id", "");
        }
    }
    j=0;
    for(var i=0; i<totalCount; i++){
        if($(".results_wrapper ul li").eq(i).hasClass("act") == true){
            $(".results_wrapper ul li").eq(i).css("display","block");
            j++;
        }
        else{
            $(".results_wrapper ul li").eq(i).css("display","none");
        }
        if(j==8){break;}
    }
    
    resultsPag(curClass, otherClass);
}

function sortLink(clicked){
    var newText = $(clicked).text();
    $(".video_bar a.act").removeClass("act");
    $(clicked).addClass("act");
    
    modifyResults(newText.toLowerCase());
}

function resultsPag(curClass, otherClass){
    $(".results_pag").text("");
    
    if(curClass == "all" && otherClass == "all"){
        var videoList = $(".results_wrapper ul li");
        var totalCount = $(videoList).length;
    }
	else if(curClass == "all"){
		var videoList = $(".results_wrapper ul li."+otherClass);
        var totalCount = $(videoList).length;
	}
	else if(otherClass == "all"){
		var videoList = $(".results_wrapper ul li."+curClass);
        var totalCount = $(videoList).length;
	}
    else{
        var videoList = $(".results_wrapper ul li."+curClass+"."+otherClass);
        var totalCount = $(videoList).length;
    }
    
    var pagNum = Math.ceil(totalCount/8);
    
	if(pagNum > 1){
		$(".results_pag").append("<a class='back'>&lt;</a>");
		
		for(var i=1; i<=pagNum; i++){
			if(i==1){
				$(".results_pag").append("<a class='page act'>"+i+"</a>");
			}
			else{
				$(".results_pag").append("<a class='page'>"+i+"</a>");
			}
		}
    
		$(".results_pag").append("<a class='next'>&gt;</a>");
	}
	
	if($(".results_pag a.act").prev().text() == "<"){
		$(".results_pag .back").css("display","none");
	}
	
	checkVersion();
	
    videoCounter(totalCount, 1);
	
    $(".results_pag .page").click( function() {moveResults($(this));});
	$(".results_pag .next").click( function() {moveResults($(this));});
	$(".results_pag .back").click( function() {moveResults($(this));});
}

function moveResults(clicked){

    for(var i=0; i<$(".results_wrapper ul li").length; i++){
        $(".results_wrapper ul li").eq(i).css("display","none");
    }
    
    var newNum = $(clicked).text();
	
	
	if(newNum != ">" && newNum != "<"){
		newNum = parseInt(newNum)*8;
	}
	else if(newNum == ">"){
		newNum = (parseInt($(".results_pag a.act").text()) + 1)*8;
	}
	else{
		newNum = (parseInt($(".results_pag a.act").text()) - 1)*8;
	}

    var j=newNum-7;

    for(var i=0; i<$(".results_wrapper ul li").length; i++){
        if($(".results_wrapper ul li").eq(i).hasClass("act") == true && $(".results_wrapper ul li").eq(i).attr("id")==j){
            $(".results_wrapper ul li").eq(i).css("display","block");
            j++;
        }
        else{
            $(".results_wrapper ul li").eq(i).css("display","none");
        }
        if(j==newNum+1){break;}
    }
    
    $(".results_pag a.act").removeClass("act");
    $(".results_pag a:contains('"+(newNum/8)+"')").addClass("act");
	
    if($(".results_pag a.act").next().text() == ">"){
		$(".results_pag .next").css("display","none");
		$(".results_pag .back").css("display","inline");
	}
	if($(".results_pag a.act").prev().text() == "<"){
		$(".results_pag .back").css("display","none");
		$(".results_pag .next").css("display","inline");
	}
	if($(".results_pag a.act").prev().text() != "<" && $(".results_pag a.act").next().text() != ">"){
		$(".results_pag .back").css("display","inline");
		$(".results_pag .next").css("display","inline");
	}
    

    videoCounter($(".results_wrapper ul li.act").length, (newNum/8));
    
}

function getInternetExplorerVersion(){
	var rv = -1;
	
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null)
		  rv = parseFloat( RegExp.$1 );
	}
	
	return rv;
	
}

function checkVersion(){
	var ver = getInternetExplorerVersion();

	if ( ver > -1 ){
		if ( ver < 8.0){
			var wrapWidth = parseInt($(".results_pag_wrapper").width());
			var divWidth = parseInt($(".results_pag").width());
			var margin = (wrapWidth/2) - (divWidth/2);
			$(".results_pag").css("margin-left", margin);
			//$(".results_pag")
		}
	}
}

function ddResults(curClass){
    if(curClass.search("all") >= 0){
        curClass = "all";
    }
    else if(curClass.search("training") >=0){
        curClass = "training";
    }
	
	var otherClass = $(".video_bar a.act").text().toLowerCase();
	
	if(otherClass == "most popular"){
        otherClass = "popular";
    }
	if(otherClass == "all videos"){
        otherClass = "all";
    }
	if(otherClass == "most recent"){
        otherClass = "recent";
    }
    
    var videoList = $(".results_wrapper ul li");
    var totalCount = $(videoList).length;
    
	
    for(var i=0; i<totalCount; i++){
        $(".results_wrapper ul li").eq(i).css("display","none");
		$(".results_wrapper ul li").eq(i).removeClass("act");
    }
    
    var j=0;
    for(var i=0; i<totalCount; i++){
        if($(".results_wrapper ul li").eq(i).attr("class").search(curClass) >= 0 && $(".results_wrapper ul li").eq(i).attr("class").search(otherClass) >= 0){
            $(".results_wrapper ul li").eq(i).addClass("act");
            j++;
            $(".results_wrapper ul li").eq(i).attr("id", j);
        }
		else if(otherClass == "all"){
			if($(".results_wrapper ul li").eq(i).attr("class").search(curClass) >= 0){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
			else if(curClass == "all"){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
		}
		else if(curClass == "all"){
			if($(".results_wrapper ul li").eq(i).attr("class").search(otherClass) >= 0){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
			else if(otherClass == "all"){
				$(".results_wrapper ul li").eq(i).addClass("act");
				j++;
				$(".results_wrapper ul li").eq(i).attr("id", j);
			}
		}
        else{
            $(".results_wrapper ul li").eq(i).removeClass("act");
            $(".results_wrapper ul li").eq(i).attr("id", "");
        }
    }
    j=0;
    for(var i=0; i<totalCount; i++){
        if($(".results_wrapper ul li").eq(i).hasClass("act") == true){
            $(".results_wrapper ul li").eq(i).css("display","block");
            j++;
        }
        else{
            $(".results_wrapper ul li").eq(i).css("display","none");
        }
        if(j==8){break;}
    }
    
    resultsPag(curClass, otherClass);
}

function featuredTextLimiter(curList){
	var length = $(curList).length;
	var text = "";
	
	for(var i=0; i<length; i++){
		text = $(curList).eq(i).children("div.VideoCarousel").children("div.vid_information").children(".description").text();
		$(curList).eq(i).children("div.VideoCarousel").children("div.vid_information").children(".description").after('<p class="feat_short">'+text.substring(0,75)+'...</p>');
	}
}

function recentTag(){
	var videoList = $(".results_wrapper ul li");
    var totalCount = $(videoList).length;
	var curDate = new Date();
	
	for(var i=0; i<totalCount; i++){
		var vidDate = new Date($(".results_wrapper ul li").eq(i).children(".vid_info_lower").children(".upload_date").text().substring(0,9));
		var monthDiff = ((curDate.getMonth()+1) + (curDate.getFullYear()*12)) - ((vidDate.getMonth()+1) + (vidDate.getFullYear()*12));
		if(monthDiff <= 6){
			$(".results_wrapper ul li").eq(i).addClass("recent");
		}
	}
}

function sortAlpha(a, b) {
    return $(a).children(".vid_info_lower").children("h3").children("a").text().toLowerCase() > $(b).children(".vid_info_lower").children("h3").children("a").text().toLowerCase() ? 1 : -1;
};

function sortDate(a, b) {
    var aDate = new Date($(a).children(".vid_info_lower").children(".upload_date").text().substring(0,9));
	var bDate = new Date($(b).children(".vid_info_lower").children(".upload_date").text().substring(0,9));
	return  aDate < bDate ? 1 : -1;
}; 

