// Original Author: Matthew Cassella

//Common Functions
function activeSign() {
if ($(".sign").hasClass("active")) {$(".sign").removeClass("active")} else {$(".sign").addClass("active")}	
}

function defaultFlyouts() {
	$(".flyout, #changer, #schoolPick").fadeOut('fast');
	if ($("#change").hasClass("active")) {$("#change").removeClass('active');}
	
	//reset school picker
	if ($("#sPick").hasClass("active")) {
		$("#sPick").removeClass('active');
		
		$("#schoolPickerTerm").val("");
		$("#schoolPickerRegion option[value=]").attr("selected", "selected");
		
		$("#schoolPickerTerm").trigger("blur");
		$("#schoolPickerRegion").trigger("change");
		
		$("#selectedSchoolUrl").val("");
	}
	
	if ($("#nav a").hasClass("active")) {$("#nav a").removeClass('active');}
	if ($(".sign").hasClass("active")) {$('.sign').trigger('click');}
	
}
function getVideoUrl(url){
	var pid = getUrlParam(url, "pid");
	if(pid != null){
		return "http://release.theplatform.com/release/content.mp4?pid=" + pid + "&Metafile=false";
	}else{
		return url;
	}
}

function formValidate(formInput, errorElement){
	var message = "";
	
	for(var i = 0; i < formInput.length; i++){
		if(formInput[i].input == ""){
			if(message == ""){
				message += formInput[i].label;
			}else{
				message += ", " + formInput[i].label;
			}
		}
	}
	
	if(message == ""){
		errorElement.html("");
		return true;
	}else{
		errorElement.html("Required fields: <em>" + message + "</em>");
		return false;
	}
}

function getPremiumServiceUrl(contentId){
	var url = "";
	 $.ajax({
		url : "/optimum/RetrievePremiumURL",
		data : {id : contentId},
		async :  false,
		success : function(value){
			url = value;
		}
	});
	return url;
}

function changeUserSchool(obj, successMethod){
	var userData = getJsonCookie("msgvarsity-user");
	
	if(polopoly.user.isLoggedIn() && userData != null){
		if(obj["regionId"] != "" && obj["schoolId"] != ""){
			$.ajax({
				url : userData.usernamepath,
				data : {
					"action" : "changeRegionAndSchool",
					"newRegionCategoryId" : obj["regionId"],
					"newSchoolCategoryId" : obj["schoolId"]
				},
				success : successMethod(obj)
			});
		}
	}
}

function getUrlParam(url, param)
{
  param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+param+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec(url);
  if(results == null)
    return "";
  else
    return results[1];
}

function getJsonCookie(name){
    var data = polopoly.cookie.get(name);
    var obj = null;
    if(data){
    	obj = $.parseJSON(polopoly.base64.decode(data));
    }
    return obj;
}

//On Document ready run these functions
$(function() {
// Global navigation flyout script
$(".fly").toggle(
        function(){
			flyout = this;
				//Do the flyouts
				if ($("> a", flyout).hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//default all flyouts an A links
				defaultFlyouts();
                $("div", flyout).fadeIn('fast');
                $("> a", flyout).addClass('active');
				}

        },
        function(){
			flyout = this;
            	//fade out flyout
				//Do the flyouts
				if ($("> a", flyout).hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//default all flyouts an A links
				defaultFlyouts();
                $("div", flyout).fadeIn('fast');
                $("> a", flyout).addClass('active');
				}
        }
    );
// Region flyout
$("#change").toggle(
        function(){
                //default all flyouts an A links
				if ($('#change').hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//Do the flyouts
                $("#changer").fadeIn('fast');
                $("#change").addClass('active'); }

        },
        function(){
            //default all flyouts an A links
				if ($('#change').hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//Do the flyouts
                $("#changer").fadeIn('fast');
                $("#change").addClass('active'); }
        }
    );
// School Header flyout
$("#sPick").toggle(
        function(){
                //default all flyouts an A links
				if ($('#sPick').hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//Do the flyouts
                $("#schoolPick").fadeIn('fast');
                $("#sPick").addClass('active'); }

        },
        function(){
            //default all flyouts an A links
				if ($('#sPick').hasClass('active')) {
				//default all flyouts an A links
				defaultFlyouts();
					}
				else {
				//Do the flyouts
                $("#schoolPick").fadeIn('fast');
                $("#sPick").addClass('active'); }
        }
    );
// Click outside the flyout closes it, might need additional work
$('.fly').mouseleave(function() {defaultFlyouts();});
$('#schoolPick .btn.cancel').click(function() {defaultFlyouts();});

$(function(){
	var selectedSchool = "";
	
	$('#schoolPickerTerm').autocomplete({
		source : function(request, response){
			$.ajax({
				url: "/services/msgschools",
				dataType : "json",
				data : (function(){ 
							var data = {};
							if($("#schoolPickerRegion option:selected").val() != ""){
								data.regionid = $("#schoolPickerRegion option:selected").val(); 
							}
							data.term = $("#schoolPickerTerm").val(); 
							return data;
						})(),
				success : function(data){
					response($.map(data, function(item){
							return {
								 value: item.value,
								 schoolId: item.key,
								 urlPath: item.urlPath
							};
						}));
				}
			});
		},
		minLength: 1,
		select: function(event, ui){
			$("#selectedSchoolUrl").val(ui.item.urlPath);
		},
		change: function(event, ui){
				if(ui.item == null){
					$("#selectedSchoolUrl").val("");
				}
			}
	});
	
	$("#schoolPickerTerm").keypress(function(e){
		if(e.which == 13){
			$("#schoolPickerSubmit").trigger("click");
		}
	});
	
	$("#schoolPickerSubmit").click(function(){
		var selectedSchool = $("#selectedSchoolUrl").val();
		if(selectedSchool != ""){
			$("#schoolPickForm").attr("action", selectedSchool);
			$("#schoolPickForm").submit();
		}
	});
});

//Login Box

$(".sign").toggle(function() {
		$("#logIn").fadeIn("fast"); 
		activeSign();
	},
	function() {
		$("#logIn").fadeOut("fast"); 
		activeSign();
	
	});

$("#logIn .btn").click(function() {
		$(".sign").click();
	});

//Clear field
///input field placeholder text
	$('input.clean').focus(function(){
		if(!$(this).attr('defaultValue')){
			$(this).attr('defaultValue', $(this).val());
		}
	   if($(this).val() === $(this).attr('defaultValue'))
	   	{
		   $(this).val('');
	   	}
	});
$('input.clean').blur(function(){
	if($(this).val() === '')
	{
		$(this).val($(this).attr('defaultValue'));
	}
});


//Sitemap toggle
$(".expand").click(function() {
        if ($(this).hasClass('active')) {
                $(this).next().slideUp();
                $(this).removeClass('active');
            } else {
                $(this).next().slideDown();
                $(this).addClass('active');
            }

    });


if($("#mySchool").length > 0){
	//Schools Sidebar
	var offset = $("#mySchool").offset();
	var topPadding = 15;
	$(window).scroll(function() {
	    if ($(window).scrollTop() > offset.top) {
	        $("#mySchool").stop().animate({
	            marginTop: $(window).scrollTop() - offset.top + topPadding
	        });
	    } else {
	        $("#mySchool").stop().animate({
	            marginTop: 0
	        });
	    };
	});
		
	// Sidebar Toggler
	$('#mySchool .close').click(function() {
		$('#mySchool .canv').trigger('click');			
	});
	
	$('#mySchool .canv').toggle(
	function() {
	  $('#mySchool').animate({
	    width: '256'
	  });
	  
	},
	function() {
	  $('#mySchool').animate({
	    width: '0'
	  });
	  
	}
	
	); 
	
	
	//Temporary Poll Script will need to be adjusted for incorporation into the system
	$(".poll").click(function() {
			$(".ques", this).hide();
			$(".result", this).fadeIn();
		});
	
	// Temp MySchool Display toggle
	$("#mySchool .change").click(function() {
			$("#mySchool .sLinks").hide();
			$("#mySchool form").fadeIn();
		});
}

//Hide schools tab on iDevices
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i) || (navigator.userAgent.match(/iPad/i)))) {
   $("#mySchool").hide();
}

//Hide schools tab on android
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
  $("#mySchool").hide();
}


});

