Cufon.replace('h1.c, h2.c, h3.c');

$(document).ready(function() {
	$('#globalSearch').defaultVal('Search this Site');
	$('#opportunitySearch').defaultVal();
	
	if(document.getElementById('primaryMenu')) {
		var pm = new primaryMenu();
	}
	if(document.getElementById('loginForm')) {
		loginForm();
	}
	if(document.getElementById('searchResult_tabs')) {
		var tm = new tabMenu();
	}
	if(document.getElementById('homeBannerImage')) {
		var hbi = new homeBanner();
	}
	if(document.getElementById('sponsorSlide')) {
		var hbi = new sponsorSlide();
	}
	
	if(document.getElementById('lboardTabs')) {
		var lbt = new lboardTabs();
	}
	
	$('input.defaultValue').defaultVal();

    // Temporary Javascript for Debugging
	//if(window.location.href.substr(7,9)=="localhost") {
    //    $('img').each(function(index) {
    //        var src = $(this).attr('src');
    //        $(this).attr('src','http://dev.juniorlinks.com'+src);
    //    });
   // }
});

function lboardTabs() {
	var current = "#lboardTab1";
	var $a = $('#lboardTabs a')
	
	$a.click(function(e) {
		e.preventDefault();
		$a.removeClass('selected');
		$(current).hide();
		$(current+"More").hide();
		current = $(this).addClass('selected').attr('href');
		$(current).show();
		$(current+"More").show();
	});
}

function SetFacilityStateValue(state) {
    var ss = document.getElementById('facility_state');
    ss.value = state;
}

function FacilityStateChange() {
    var ss = document.getElementById('facility_state');
    var sv = ss.options[ss.selectedIndex].value;
    UpdateFacilityList(sv);
}

function UpdateFacilityList(state)
{
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/FacilitiesService.asmx/GetFacilities",
        data: "{'state':'"+state+"'}",
        dataType: "json",
        success: function(result, textStatus) {
            $('#facility_name').html(result.d);
        },
        error: function(request, status, err) {
            alert("Error: "+pid+status+err);
        },
        complete: function (XMLHttpRequest, textStatus) {
           ;
        }
    });
}
function isNumber(field) {
    var re = /^[0-9-'-']*$/;
    if (!re.test(field.value)) {
        alert('Value must be all numbers or - !');
        field.value = field.value.replace(/[^0-9-'-']/g, "");
    }

}
function FacilityNameChange() {
    var fs = document.getElementById('facility_name');
    var fv = fs.options[fs.selectedIndex].value;
    var facilityHider = $('#body .facilityhider');
    if(fv!='')
    {
        facilityHider.hide();
        $('#facility_state').addClass('required');
        $('#facility_name').addClass('required');
        $('#body .facilityhider input').removeClass('required');
    } else
    {
        facilityHider.show();
        $('#facility_state').removeClass('required');
        $('#facility_name').removeClass('required');
        $('#body .facilityhider input').addClass('required');
    }
}

//function FacilityStateChange() {
//    var ss = document.getElementById('facility_state');
//    var sv = ss.options[ss.selectedIndex].value;
//    var facilityName = $('#facility_name');
//    facilityName.find('option').hide();
//    if(sv!=''){
//        facilityName.find('option.'+sv+'').show();
//    }
//    facilityName.find('option.master').show();
//}

//function FacilityNameChange() {
//    var fs = document.getElementById('facility_name');
//    var fv = fs.options[fs.selectedIndex].value;
//    var facilityHider = $('#body .facilityhider');
//    if(fv!='')
//    {
//         facilityHider.hide();
//    } else
//    {
//        facilityHider.show();
//    }
//}

function PrimaryContactClick() {
    var ischecked = document.getElementById('contact_primarycontact').checked;
    if(ischecked)
    {
        $('#body .contacthider').hide();
        $('#body .contacthider input').removeClass('required');
    }
    else
    {
        $('#body .contacthider').show();
        $('#body .contacthider input').addClass('required');
    }
}

function loginForm() {
	$('#loginEmail').defaultVal('Email');
	$('#loginPasswordLabel').focus(function() {
		$(this).addClass('hide');
		$('#loginPassword').removeClass('hide').blur(function() {
			$(this).addClass('hide');
			$('#loginPasswordLabel').removeClass('hide');
		}).focus();
	});
}

function primaryMenu() {
	$pm = $('#primaryMenu');
	var gap = 980 - $pm.find('ul').width();
	$a = $pm.find('a');
	var add = Math.floor(gap / $a.length);
	var rem = gap % $a.length;
	
	$a.each(function(i) {
		$this = $(this);
		var width = $this.outerWidth();
		$this.css('padding','0');
		if(i < rem) {
			width = width + add + 1;
		}
		else {
			width = width + add;
		}
		$this.width(width);
	});
}

function tabMenu() {
	var current = null;
	var $a = $('#searchResult_tabs a');
	
	current = $a.filter('.selected').attr('href');
	$a.click(function(e) {
		e.preventDefault();
		$a.removeClass('selected');
		$(this).addClass('selected');
		$(current).addClass('hide');
		current = $(this).attr('href');
		$(current).removeClass('hide');
	}).each(function() {
		if($(this).height() < 20) {
			$(this).css('paddingTop','13px');
		}
	});
}

function homeBanner() {
	var $images = $('#homeBannerImage li');
	var $links = $('#homeBannerLink li');
	var $stripe = $('#homeBannerStripe');
	var timer = null;
	var current = 0;
	var total = $images.length;
	var stripe = false;
	var speed = 400;
	
	function moveNext() {
		var now = current + 1;
		if(now >= total) {
			now = 0;
		}
		//fade in the new image
		$images.eq(now).css('zIndex','11').fadeIn(speed,function() {
			$images.eq(current).css('display','none');
			$images.eq(now).css('zIndex','10');
			current = now;
		});
		//check if new slide has link
		if($links.eq(now).html().length > 3) {
			if(!stripe) {
				$stripe.fadeIn(speed);
				stripe = true;
			}
			else {
				$links.eq(current).fadeOut(speed);
			}
			$links.eq(now).fadeIn(speed);
		}
		else {
			if(stripe) {
				$stripe.fadeOut(speed);
				stripe = false;
				$links.eq(current).fadeOut(speed);
			}
		}
	}
	
	if($links.eq(0).html().length > 3) {
		$stripe.css('display','block');
		stripe = true;
	}
	
	if($links!=null && $images!=null && 1<$images.length){
	    timer = setInterval(function() { moveNext(); }, 7000);
	}
}

function sponsorSlide() {
	var $ss = $('#sponsorSlide');
	var $li = $ss.find('li');
	var timer = null;
	var left = 0;
	
	var amount = $li.length;
	if(amount < 7) {
		return;
	}
	
	//function slideLeft() {
	//	$ss.css('left','0').animate({ left: -amount*80 },6000*amount,'linear',function() { slideLeft(); });
	//}
	function slideLeft() {
		left--;
		if(left < -amount*80) { left = 0; }
		$ss.css('left',left);
	}
	
	$ss.append($ss.html());
	$ss.width(amount * 2 * 80);
	
	timer = setInterval(function() { slideLeft(); }, 50);
}



(function($) {
    $.fn.Validate = function() {

        var errorFound = false;
        // text boxes
        this.find('input[type=text].required').each(function(index) {

            var field = $(this);
            if (field.val().length == 0) {
                var errorMessage = 'This field is required.';
                $('#error_' + field.attr('name')).html(errorMessage);
                field.addClass('error');
                errorFound = true;
            } else {
                $('#error_' + field.attr('name')).html('');
                field.removeClass('error');
            }
        });

       // var errorFound = false;
        // text area 
        this.find('textarea.required').each(function(index) {

            var field = $(this);
            if (field.val().length == 0) {
                var errorMessage = 'This field is required.';
                $('#error_' + field.attr('name')).html(errorMessage);
                field.addClass('error');
                errorFound = true;
            } else {
                $('#error_' + field.attr('name')).html('');
                field.removeClass('error');
            }
        });

        // dropdown boxes
        this.find('select.required').each(function(index) {
            var field = $(this);
            if (this.selectedIndex == 0) {
                var errorMessage = 'Please select an option.';
                $('#error_' + field.attr('name')).html(errorMessage);
                field.addClass('error');
                errorFound = true;
            } else {
                $('#error_' + field.attr('name')).html('');
                field.removeClass('error');
            }
        });

        // radio buttons
        this.find('input[type=radio].required').each(function(index) {
            var field = $(this);
            var selector = $('input[name=' + field.attr('name') + ']:checked');
            if (selector.length == 0) {
                var errorMessage = 'This field is required.';
                $('#error_' + field.attr('name')).html(errorMessage);
                field.addClass('error');
                errorFound = true;
            } else {
                $('#error_' + field.attr('name')).html('');
                field.removeClass('error');
            }
        });

        return !errorFound;
    };


})(jQuery);
