/********************* Sub Menu *************************/

function subMenu(subMenuName, onSubMenu, currentMenu, totalSubMenu, defaultMenu){

	clearTimeout(document.hidetimer); //Quita la opcion del temporizador, es decir, mantiene los submenus abiertos, no los cierra al cabo de un tiempo
	hideSubMenu(subMenuName, onSubMenu, currentMenu, totalSubMenu, defaultMenu);
	/*highlightMenu = "menu"+currentMenu;*/

}

function outSubMenu (subMenuName, onSubMenu, currentMenu, totalSubMenu, defaultMenu){

	document.hidetimer=setTimeout(function(){hideSubMenu(subMenuName, onSubMenu, currentMenu,totalSubMenu, defaultMenu)}, 500);

}

function hideSubMenu(subMenuName, onSubMenu, currentMenu, totalSubMenu, defaultMenu){

	for (var i=1; i<=totalSubMenu; i++){

		allSubMenu = subMenuName+i;
		document.getElementById(allSubMenu).style.display = "none";
		onMenu = "menu"+currentMenu;
	}

	onSubMenu = subMenuName+onSubMenu;
	document.getElementById(onSubMenu).style.display = "";

}

/***********************************************************/


jQuery.preloadCssImages = function(settings){
	var settings = jQuery.extend({
		statusTextEl: null,
		statusBarEl: null
	}, settings);
	
	var allImgs = [];//new array for all the image urls  
	var k = 0; //iterator for adding images
	var sheets = document.styleSheets;//array of stylesheets
	
	for(var i = 0; i<sheets.length; i++){//loop through each stylesheet
		var cssPile = '';//create large string of all css rules in sheet
		var csshref = (sheets[i].href) ? sheets[i].href : 'window.location.href';
		var baseURLarr = csshref.split('/');//split href at / to make array
		baseURLarr.pop();//remove file path from baseURL array
		var baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
		if(baseURL!="") baseURL+='/'; //tack on a / if needed
		if(document.styleSheets[i].cssRules){//w3
			var thisSheetRules = document.styleSheets[i].cssRules; //w3
			for(var j = 0; j<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[j].cssText;
			}
		}
		else {
			cssPile+= document.styleSheets[i].cssText;
		}
		
		//parse cssPile for image urls and load them into the DOM
		var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename"
		var loaded = 0; //number of images loaded
		if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){//loop array\
			var arr = jQuery.makeArray(imgUrls);//create array from regex obj	 
			jQuery(arr).each(function(){
				allImgs[k] = new Image(); //new img obj
				allImgs[k].src = (this.charAt(0) == '/' || this.match('http://')) ? this : baseURL + this;	//set src either absolute or rel to css dir
				
				$(allImgs[k]).load(function(){
						loaded++;
						//send updates to status elements if applicable
						if(settings.statusTextEl) {$(settings.statusTextEl).html('<span class="numLoaded">'+loaded+'</span> of <span class="numTotal">'+allImgs.length+'</span> loaded (<span class="percentLoaded">'+(loaded/allImgs.length*100).toFixed(0)+'%</span>) <span class="currentImg">Now Loading: <span>'+allImgs[loaded-1].src.split('/')[allImgs[loaded-1].src.split('/').length-1]+'</span></span>');
					}
					if(settings.statusBarEl) {
						var barWidth = $(settings.statusBarEl).width();
						$(settings.statusBarEl).css('background-position', -(barWidth-(barWidth*loaded/allImgs.length).toFixed(0))+'px 50%');
					}
				});
				k++;
			});
		}
	}//loop
	return allImgs;
}				
		

