$(document).ready(function(){
	
	$("a.external").attr("target","_blank");
	
	$(".reset").bind("focus",function(){ $(this).val(''); });
  
  	$(".rounded").corner();
	
	$('div.failure div').highlightFade({color:'#700000',end:'#b73e3e',speed:1000,iterator:'sinusoidal'});
	$('div.success div').highlightFade({color:'#000000',end:'#515431',speed:1000,iterator:'sinusoidal'});
	
	var hasBeenChecked = false;
	
	if(jQuery.browser.msie){
		/* Apply actions for IE */
		
		applyIEFormStyles(hasBeenChecked);
		
		/* Apply actions for IE 6 */
		var msie_version = parseInt(jQuery.browser.version);
		//if(msie_version == 6){
			/* Java Hack for Drop Menus */
			$("li.about_us").hover(function(){
				$("ul#aboutus_menu").addClass("msiefix");
				$("ul#aboutus_menu").bgiframe();
			}, function(){
				$("ul#aboutus_menu").removeClass("msiefix");}
			);
			
			$("li.ways_to_give").hover(function(){
				$("ul#ways_to_give_menu").addClass("msiefix");
				$("ul#ways_to_give_menu").bgiframe();
			}, function(){
				$("ul#ways_to_give_menu").removeClass("msiefix");}
			);
			
			$("li.grants_and_scholarships").hover(function(){
				$("ul#grants_and_scholarships_menu").addClass("msiefix");
				$("ul#grants_and_scholarships_menu").bgiframe();
			}, function(){
				$("ul#grants_and_scholarships_menu").removeClass("msiefix");}
			);
			
		//}
	}
	
	/* Form Validation */
	
	var required_bgcolor = "#b73e3e";
	var required_border_color = "#700000";
	var field_bg_color = $(".required_form .required_field").css("background-color");
	var field_border_color = "#636442";
	var firstError = "";
	$(".required_form").submit(function(){
		hasBeenChecked = true;
		$(this).contents().find(".required_field").each(function(){
			if($(this).val() != ""){
				$(this).addClass("filled");
				$(this).animate({ backgroundColor: field_bg_color }, { duration: 1000 }).css({ borderColor: field_border_color });
			}else{
				if(firstError == ""){
					firstError = $(this).attr("id");
				}
				$(this).removeClass("filled");
				$(this).animate({ backgroundColor: required_bgcolor }, { duration: 1000 }).css({ borderColor: required_border_color });
			}
		});
		if($(this).contents().find(".required_field").size() == $(this).contents().find(".filled").size()){
			return true;
		}else{
			//self.scrollTo(0,0);
			scrollToTarget(firstError);
			return false;
		}
	});
	//
	
});

function checkRequiredFields(){
	var required_bgcolor = "#b73e3e";
	var required_border_color = "#700000";
	var field_bg_color = "#515431";
	var field_border_color = "#636442";
	var firstError = "";
	//
	$(".filled").removeClass("filled");
	//
	hasBeenChecked = true;
	$(".required_form").contents().find(".required_field").each(function(){
		if($(this).val() != ""){
			$(this).addClass("filled");
			$(this).animate({ backgroundColor: field_bg_color }, { duration: 1000 }).css({ borderColor: field_border_color });
		}else{
			if(firstError == ""){
				firstError = $(this).attr("id");
			}
			$(this).removeClass("filled");
			$(this).animate({ backgroundColor: required_bgcolor }, { duration: 1000 }).css({ borderColor: required_border_color });
		}
	});
	
	if($(".required_form").contents().find(".required_field").size() == $(".required_form").contents().find(".filled").size()){
		return true;
	}else{
		//self.scrollTo(0,0);
		scrollToTarget(firstError);
		return false;
	}
	
}

function scrollToTarget(target){
	var targetOffset = $("#" + target).offset().top;
	$('html,body').animate({scrollTop: targetOffset}, 1000);
}

function bindDataSources(){
	$(".data_source").each(function(){
			//var source = $(this).attr("rel");
			$(this).html($("#" + $(this).attr("title")).val());
		}
	);
}

function applyIEFormStyles(hasBeenChecked){
	$("#form input, #form select, #form textarea").focus(
			function(){ 
				if($(this).hasClass("required_field") && hasBeenChecked){
					if($(this).hasClass("filled")){
						$(this).css({border:"4px solid #414929",opacity:"0.8"});	
					}else{
						$(this).css({border:"4px solid #700000",opacity:"0.8"});
					}
				}else{
					$(this).css({border:"4px solid #414929",opacity:"0.8"});
				}
			}
	);
	$("#form input, #form select, #form textarea").blur(
			function(){ 
				if($(this).hasClass("required_field") && hasBeenChecked){
					if($(this).hasClass("filled")){
						$(this).css({border:"4px solid #414929",opacity:"0.5"});
					}else{
						$(this).css({border:"4px solid #700000",opacity:"0.5"});
					}
				}else{
					$(this).css({border:"4px solid #414929",opacity:"0.5"});
				}
			}
	);
}

function textCounter(field, countfield, maxlimit) {
	if(typeof field.value == "undefined"){
		if (field.val().length > maxlimit){ 
			field.val(field.val().substring(0, maxlimit));
		}else{
			countfield.val(maxlimit - field.val().length);
		}	
	}else{
		if (field.value.length > maxlimit){ 
			field.value = field.value.substring(0, maxlimit);
		}else{
			countfield.value = maxlimit - field.value.length;
		}
	}
}
