
var one_day_seconds=86400;
var one_day_milliseconds=one_day_seconds*1000;

if(currentPage && currentPage.length >= 1){
	if(currentPage === "console" ){
		//YAHOO.namespace("example.calendar");
	}
	else if(currentPage === "energy_planner" ){
		
	}
	else if(currentPage === "holiday" ){
		
	}
	else if(currentPage === "home" ){
		
	}
	else if(currentPage === "mapping" ){
		
	}
	else if(currentPage === "time_period" ){
		
	}
	else if(currentPage === "verification" ){
		
	}
	else{
		//Invalid
		alert("Invalid page specified (currentPage="+currentPage+")");
	}
}
else{
	//No page specified
	alert("No page specified");
}


function initYCalendar(name,title,minDate,maxDate,calMY) {

	//Make sure a name is set
	if(!name){
		//No name is set
		alert("initYCalendar: No name is set for this calendar so we cannot set it");
		return;
	}
	else if(name.length >= 1){
		//Looks valid
	}
	else{
		//Not a valid name
		alert("initYCalendar: A name is set ("+name+") but it appears to be empty");
		return;
	}
	
	//Set title
	if(title && title.length >= 1){
		//It it set already so we are good
	}
	else{
		//Not set or empty so we will set it to
		title="Generic";
	}
	calTitle=title;
	
	if(!minDate){
		//Not set
		alert("No min set");
		minDate="01/01/2007";
	}
	if(!maxDate){
		//Not set
		alert("No max set");
		maxDate="01/01/2007";
	}
	
	if(calMY && calMY.length >= 1){
		use_date=calMY;
	}
	else{
		var cur_yyyymmdd=$('#animation_date').val();
		var cur_yyyy=cur_yyyymmdd.substring(0,4);
		var cur_mm=cur_yyyymmdd.substring(4,6);
		var cur_dd=cur_yyyymmdd.substring(6,8);
		if(cur_mm.substring(0,1) == "0"){
			cur_m=cur_mm.substring(1,2);
		}
		else{
			cur_m=cur_mm;
		}

		if(cur_dd.substring(0,1) == "0"){
			cur_d=cur_dd.substring(1,2);
		}
		else{
			cur_d=cur_dd;
		}
		
		use_date=cur_m+"/"+cur_d+"/"+cur_yyyy;
		use_date=cur_m+"/"+cur_yyyy;
	}
	
	
	var cal1= new YAHOO.widget.Calendar(
	    name,name+"Container",
	    { title:calTitle+":", navigator:true,close:true,	pagedate:use_date, mindate:minDate, maxdate:maxDate }
	);
	//cal1.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.name, true);
	//cal1.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.name, true);
	cal1.selectEvent.subscribe(handleSelect, cal1, true);


	start_exists=0;
	if(start_exists==1){
		updateCal();
	}
	/*
	*/
	
	var customMouseOver = function(e, cal) {
		var elem = YAHOO.util.Event.getTarget(e);
		while (elem.tagName != "TR") {
			elem = elem.parentNode;
		}
		if((data_type == "historical" || data_type == "long_range") && dynPeriod == "weekly"){
			//
			YAHOO.util.Dom.addClass(elem, "hilite-row");
			//alert(elem);
		}
		//YAHOO.util.Dom.addClass(elem, "hilite-row");
	};

	var customMouseOut = function(e, cal) {
		var elem = YAHOO.util.Event.getTarget(e);
		while (elem.tagName != "TR") {
			elem = elem.parentNode;
		}
		if((data_type == "historical" || data_type == "long_range") && dynPeriod == "weekly"){
			YAHOO.util.Dom.removeClass(elem, "hilite-row");
		}
		//YAHOO.util.Dom.removeClass(elem, "hilite-row");
	};
	
	cal1.domEventMap = {};
	cal1.domEventMap[cal1.Style.CSS_CELL_SELECTABLE] = [
	  {tag:null, event:"mouseout", handler: customMouseOut, scope:cal1, correct:false },
	  {tag:null, event:"mouseover", handler: customMouseOver, scope:cal1, correct:false }
	];
	

	//YAHOO.example.calendar.name.render();
	cal1.render();


	YAHOO.util.Event.addListener("update", "click", updateCal);
	YAHOO.util.Event.addListener("ver_graph", "submit", handleSubmit);
	//YAHOO.util.Event.addListener("show_start", "click", YAHOO.example.calendar.name.show, YAHOO.example.calendar.name, true);
	YAHOO.util.Event.addListener("show_"+name, "click", cal1.show, cal1, true);
}

function handleSubmit(e) {
	//updateCal();
	YAHOO.util.Event.preventDefault(e);
}

function updateCal() {
	
}

function handleSelect(type,args,obj) {
	var dates = args[0];

	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];
	if(month<10){
		month="0"+month;
	}
	if(day<10){
		day="0"+day;
	}

	//var txtDate1 = document.getElementById("start_date");
	var txtDate1 = document.getElementById(obj.id);

	txtDate1.value = month + "/" + day + "/" + year;

	//document.getElementById("start_date_Container").style.display="none";
	document.getElementById(obj.id+"Container").style.display="none";

}

function makeWeekly(calID){
	/*
	calObj=YAHOO.widget.calendar.calID;
	var customMouseOver = function(e, cal) {
		var elem = YAHOO.util.Event.getTarget(e);
		while (elem.tagName != "TR") {
			elem = elem.parentNode;
		}
		YAHOO.util.Dom.addClass(elem, "hilite-row");
	};

	var customMouseOut = function(e, cal) {
		var elem = YAHOO.util.Event.getTarget(e);
		while (elem.tagName != "TR") {
			elem = elem.parentNode;
		}
		YAHOO.util.Dom.removeClass(elem, "hilite-row");
	};
	
	calObj.domEventMap = {};
	calObj.domEventMap[calID.Style.CSS_CELL_SELECTABLE] = [
	{tag:null, event:"mouseout", handler: customMouseOut, scope:calObj, correct:false },
	{tag:null, event:"mouseover", handler: customMouseOver, scope:calObj, correct:false }
	];

	calObj.render();
	*/


}

function loadTopo(){
	$('#underlay').html("<div class='underlay' id='overlay_world_borders'><img src='http://map.myskeye.com/grads_images/overlays/africa/africa_topography_background_850x600_transparent.gif'></div>");
	$('#underlay').css("visibility","visible");
	//alert("load");
	return;
}

function isChecked(elemType,elem){
	var flag=0;
	
	//Was a type set?
	if(elemType){
		//Yes
		if(elemType == "id"){
			//An ID was provided so we need to set the object
			obj=document.getElementById(id);
		}
		else if(elemType == "elem"){
			//It is the element itself
			obj=elem;
		}
		else{
			alert("Invalid elemType ("+elemType+") supplied to isChecked");
			flag=-1;
			return flag;
		}
	}
	
	if(obj && obj.checked){
		flag=1;
	}
	
	return flag;
}

function hideLoading(id,msg){
	if(!id){
		//No ID is set
		return;
	}
	if(!msg){
		//No message is set
		msg="";
	}
	
	//Show the loading image/msg if the element exists
	if(document.getElementById(id)){
		elemHTML="";
		document.getElementById(id).innerHTML = elemHTML;
	}
	
	return;
}

function showLoading(id,msg){
	if(!id){
		//No ID is set
		return;
	}
	if(!msg){
		//No message is set
		msg="";
	}
	
	//Show the loading image/msg if the element exists
	if(document.getElementById(id)){
		elemHTML="<div id='loadingImage'><img src=/images/loading.gif><br />"+msg+"</div>";
		document.getElementById(id).innerHTML = elemHTML;
	}
	
	return;
}

function dateConvertm_d_Y_to_Ymd(dateString){
	//Make sure it is set and we have the right number of characters
	var Ymd="";
	if(dateString){
		if(dateString.length == 10){
			Ymd=dateString.substring(6,10)+dateString.substring(0,2)+dateString.substring(3,5);
		}
		else{
			//Not enough characters
			alert("Not enough characters supplied ("+dateString.length+"): dateConvertm_d_Y_to_Ymd("+dateString+")");
		}
		
	}
	else{
		//No string supplied
		alert("No string supplied to dateConvertm_d_Y_to_Ymd()");
	}
	
	return Ymd;
}

function changeElementDisplay(id,display){
	var validID=0;
	var validDisplay=0;
	//Make sure the id is set
	if(id){
		
		if(id.length >= 1){
			//Good
			validID=1;
		}
		else{
			//Empty
			alert("Empty ID passed to changeElementDisplay()");
			return;
		}
	}
	else{
		//No
		alert("No ID passed to changeElementDisplay()");
		return;
	}
	
	//Make sure the display is set
	if(display || display.length == 0){
		
		if(display == "none" || display.length == 0){
			//Good
			validDisplay=1;
		}
		else{
			//Empty
			alert("Invalid Display ("+display+") passed to changeElementDisplay()");
			return;
		}
	}
	else{
		//No
		alert("No display passed to changeElementDisplay()");
		return;
	}
	
	//Make sure the element exist
	if($('#'+id)){
		if(validID == 1 && validDisplay == 1){
			$('#'+id).css('display',display);
		}
		else{
			alert("Valid Flag Issue");
		}
		
	}
	else{
		alert("No element exists w/the id = "+id);
		return;
	}

	
	return;
}

function check_mmdd(element_id){
	
	var valid_mmdd_no_slash_regexp=/^(\d+)(\d{2})$/;
	var valid_mmdd_with_slash_regexp=/^(\d+)\/(\d+)$/;
	var leading_zero_regexp=/^0(\d)$/;
	
	if(element_id && document.getElementById(element_id)){
		var mmdd_val=document.getElementById(element_id).value;
		//alert("ELEMENT ("+element_id+" IS SET ("+mmdd_val+")");
		
	}else{
		alert("ELEMENT ("+element_id+" IS NOT SET");
		return false;
	}
	
	if(valid_mmdd_no_slash_regexp.test(mmdd_val)){
		var mmdd_match=valid_mmdd_no_slash_regexp.exec(mmdd_val);
		var mm=mmdd_match[1];
		var dd=mmdd_match[2];
	}else{
		if(valid_mmdd_with_slash_regexp.test(mmdd_val)){
			var mmdd_match=valid_mmdd_with_slash_regexp.exec(mmdd_val);
			var mm=mmdd_match[1];
			var dd=mmdd_match[2];
		}else{
			//alert("Incorrect date specified ("+mmdd_val+"), please correct");
			return false;
		}
	}
	
	//Check to see how many digits are in the month
	if(mm.length == 1){
		mm="0"+mm;
	}
	
	if(dd.length == 1){
		dd="0"+dd;
	}
	
	var mmdd=mm+dd;
	//return true;
	return mmdd;
	
}

function check_yyyy(element_id){
	
	var min_yyyy=1992;
	var valid_yyyy_no_slash_regexp=/^(\d{4})$/;
	
	if(element_id && document.getElementById(element_id)){
		var yyyy_val=document.getElementById(element_id).value;
		//alert("ELEMENT ("+element_id+" IS SET ("+yyyy_val+")");
		
	}else{
		alert("ELEMENT ("+element_id+" IS NOT SET");
		return false;
	}
	
	if(valid_yyyy_no_slash_regexp.test(yyyy_val)){
		var yyyy_match=valid_yyyy_no_slash_regexp.exec(yyyy_val);
	}else{

		return;
	}
	//Year is valid but lets make sure it is greater than the minimum year
	if(yyyy_val >= 1992){
		//It is large enough
	}
	else{
		//Too small
		alert("Please choose a year that is greater than "+min_yyyy);
		return;
	}

	return yyyy_val;
}

function checkVarIsDefined(value){
	if(typeof value == "undefined"){
		return;
	}
	return 1;
}