$(document).ready(function(){
	$(".page_selector").setPageSelector();
	$(".footer_icon_xhtml span, .footer_icon_css span").setValidator("active");
	$("#top_search_center_r").setSearchButton("active");

	$("form#gid_search").submit(function() {
		if ($("form#gid_search input").val().length > 0) {
			return true;
		} else {
			return false;
		}
	});
});

jQuery.preloadImages = function() {
	for(var i = 0, len = arguments.length; i < len; i++) {
		jQuery("<img>").attr("src", arguments[i]);
	}
};

jQuery.showSetPage = function(pageClass) {
	$(".pageset").removeClass("page_active");
	$("."+pageClass).addClass("page_active");
};

$.fn.setPageSelector = function() {
	return this.each(function() {
		$(this).mouseover(function(){
			$(".page_selector").removeClass("page_selector_active");
			$(this).addClass("page_selector_active");
			$.showSetPage('page'+$(this).attr("id").split('ps')[1]);
			//alert($(this).attr("id").split('ps')[1]);
		});
	});
};

$.fn.setValidator = function(hoverClass) {
	return this.each(function() {
		$(this).hover(
			function() {
				$(this).addClass(hoverClass);
			},
			function() {
				$(this).removeClass(hoverClass);
			}
		);
		$(this).click(
			function() {
				if($(this).parent().hasClass("footer_icon_xhtml")) {
					window.open("http://validator.w3.org/check?uri="+document.location.href);
				} else if($(this).parent().hasClass("footer_icon_css")) {
					window.open("http://qa-dev.w3.org:8001/css-validator/validator?uri="+document.location.href);
				}
				return false;
			}
		);
	});
};


$.fn.setSearchButton = function(hoverClass) {
	return this.each(function() {
		if ($.browser.msie && $.browser.version == 6){ 
			$(this).hover(
				function() {
					$(this).addClass(hoverClass);
				},
				function() {
					$(this).removeClass(hoverClass);
				}
			);
		}
		$(this).click(
			function() {
				$("form#gid_search").submit();
			}
		);
	});
};




/*
$.fn.setHovers = function(hoverClass) {
	if(!hoverClass) { hoverClass = "hover"; }
	return this.each(function() {
		$(this).hover(
			function() {
				$(this).addClass(hoverClass);
			},
			function() {
				$(this).removeClass(hoverClass);
			}
		);
	});
};


jQuery.getNodeDataById = function(nid) {
	var nodeData = null;
	for(var i=0, len=schemaData.nodes.length; i<len; i++) {
		if(schemaData.nodes[i].id == nid) {
			nodeData = schemaData.nodes[i];
			break;
		}
	}
	return nodeData;
};

jQuery.isNodeRoot = function(nid) {
	var isRootValue = false;
	var nodeData = $.getNodeDataById(nid);
	if(!nodeData.parent && nodeData.parent!==0) {
		isRootValue = true;
	}
	return isRootValue;
};

jQuery.getNodeIdsByParentId = function(nid) {
	var nodeIdList = [];
	for(var i=0, len=schemaData.nodes.length; i<len; i++) {
		if(nid === null) {
			if((!schemaData.nodes[i].parent) && (schemaData.nodes[i].parent !== 0)) {
				nodeIdList.push(schemaData.nodes[i].id);
				break;
			}
		} else {
			if(schemaData.nodes[i].parent == nid) {
				nodeIdList.push(schemaData.nodes[i].id);
			}
		}
	}
	return nodeIdList;
};

jQuery.getBreadCrumbs = function(nid) {
	var crumbs = [];
	
	if(!$.isNodeRoot(nid)) {
		var currentData = $.getNodeDataById(nid);
		while(currentData.parent || currentData.parent === 0) {
			crumbs.push(currentData.id);
			currentData = $.getNodeDataById(currentData.parent);
		}
	}
	crumbs.push($.getNodeIdsByParentId(null)[0]);
	//alert(crumbs.toString());
	return crumbs;
};

jQuery.updatePage = function(nid, updateSchema) {
	//alert('updatePage nid:'+nid+', updateSchema:'+updateSchema);
	if(updateSchema) {
		$.getSchemaMovie().hitSchemaNode(nid);
	}
	$.updatePagePath(nid);
	$.updatePageTitle(nid);
	//$.get('test.html', '', $.updatePageHTML, "html");
	//$("#page_main").load("test.html");
};

jQuery.getSchemaMovie = function() {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window['est_app_01'];
	} else {
		return document['est_app_01'];
	}
};

jQuery.updatePageHTML = function(htmlText) {
	//alert(htmlText);
};

jQuery.updatePagePath = function(nid) {
	var crumbs = $.getBreadCrumbs(nid);
	var class = '';
	$('#header_path').html('');
	for(var i=0, len=crumbs.length; i<len; i++) {
		if(i == (crumbs.length-1)) { class = " class=\"first\""; }
		$('#header_path').append("<a"+class+" href=\"javascript:$.updatePage("+crumbs[i]+", true);\">"+$.getNodeDataById(crumbs[i]).title+"</a>");
	}
};

jQuery.updatePageTitle = function(nid) {
	document.title = $.getNodeDataById(nid).title;
};


*/


