function e(id){return document.getElementById(id);}


var active_location_tab = "";

function switchMarina(id) {
	var button_id = Number(id) + 1;
	if (e('weather-feed-' + id)) {
		
		//hide all divs
		for (i = 0; i < 4; i++) {
			if 	(e('weather-feed-' + i)) {	
				e('weather-feed-' + i).className = 'hidden';
				e('weather-feed-' + i).style.zIndex = (i * 10);
				
				if (active_location_tab.length > 0) {
					e(active_location_tab).src = e(active_location_tab).src.split("-on").join("-off");
				}
				//alert("LOW IS " + e('weather-feed-' + i).style.zIndex);
			}
		}
		
		//now show the selected div  
		if 	(e('weather-feed-' + id).className == 'hidden') {
			e('weather-feed-' + id).style.zIndex = 1000;
			//alert( "ACTIVE IS " + e('weather-feed-' + id).style.zIndex);
			e('weather-feed-' + id).className = 'visible';
			//alert('img-tab-' + button_id);
			e('img-tab-' + button_id).src = e('img-tab-' + button_id).src.split("-off").join("-on");
			active_location_tab = 'img-tab-' + button_id;
			
		}
		else {
			e('weather-feed-' + id).className = 'hidden';
		}
	}
}



function onLocationOver(img_obj){
	//alert('image id: ' + img_obj.id + ' active location tab: ' + active_location_tab);
	//img_obj.src = img_obj.src.split("-off").join("-on");
}

function onLocationOut(img_obj){
	//alert('image id: ' + img_obj.id + ' active location tab: ' + active_location_tab);
	if (img_obj.id != active_location_tab) {
		img_obj.src = img_obj.src.split("-on").join("-off");
	}
} 





function doLoadDate() {
	var thisDate = new Date();
	var dayOfWeek = getDayOfWeek(thisDate.getDay());
	var dateOfMonth = getDateOfMonth(thisDate.getDate());
	var monthOfYear = getMonthOfYear(thisDate.getMonth());
	
	for (i = 1; i < 4; i++) {
		var datePanel = document.getElementById("currentDate" + i);
		if (datePanel) {
			datePanel.innerHTML =  "<div id=\"date-first" + i + "\">" + dateOfMonth + " " + monthOfYear + " " + thisDate.getFullYear() + "</div><div id=\"date-second" + i + "\">" + dayOfWeek + "</div>";
		}
	}
}

function getDayOfWeek(theDay) {
	switch (theDay) {
		case 0: return "Sunday";
		case 1: return "Monday";
		case 2: return "Tuesday";
		case 3: return "Wednesday";
		case 4: return "Thursday";
		case 5: return "Friday";
		case 6: return "Saturday";
	}
}

function getDateOfMonth(theDate) {
	if (theDate == 1) {
		return theDate + "st";
	} else if (theDate < 3) {
		return theDate + "nd";
	} else {
		return theDate + "th";
	}
}

function getMonthOfYear(theMonth) {
	switch (theMonth) {
		case 0: return "January";
		case 1: return "February";
		case 2: return "March";
		case 3: return "April";
		case 4: return "May";
		case 5: return "June";
		case 6: return "July";
		case 7: return "August";
		case 8: return "September";
		case 9: return "October";
		case 10: return "November";
		case 11: return "December";
	}
}  


function hideDate() {
	for (i = 1; i < 4; i++) {
		if(e("currentDate" + i)) {
			e("currentDate" + i).style.display = "none";
		}
		if(e("weather-filler" + i)) {
			e("weather-filler" + i).style.display = "block";
		}
	}
	
}

function unhideDate() {
	for (i = 1; i < 4; i++) {
		if(e("currentDate" + i)) {
			e("currentDate" + i).style.display = "block";
		}
		if(e("weather-filler" + i)) {
			e("weather-filler" + i).style.display = "none";
		}
	}
}


  
function onRollOver(img_obj){
	img_obj.src = img_obj.src.split("-off").join("-on");
}

function onRollOut(img_obj){
	img_obj.src = img_obj.src.split("-on").join("-off");	
} 


function onBtnOver(id) {
	e(id).className = "visible";
}

function onBtnOut(id) {
	e(id).className = "hidden";
}


  
//FUNCTION FOR THE MAIL FIELD CHECKER

function validate_form(obj,field_array)
{
	//alert('validating form');
	var field_len = field_array.length;
	for(var i=0;i<field_len;i++)
	{
		var field_info = field_array[i];
		var field_id = field_info[0];
		var field_title = field_info[1];
		var field_datatype = field_info[2];
		
		if(field_datatype=='email')
		{
			if(!testEmail(obj,field_id))
			{
				showEmailError(field_title);
				fieldFocus(obj, field_id);
				return false;
			}
		}else if(field_datatype=='string')
		{		
			field_minlength = field_info[3];
			if(!testString(obj,field_id,field_minlength))
			{
				showStringError(field_title, field_minlength);
				fieldFocus(obj, field_id);
				return false;
			}			
		}else if(field_datatype=='combo')
		{
			if(!testCombo(obj,field_id))
			{
				showComboError(field_title);
				fieldFocus(obj, field_id);
				return false;
			}			
		}		
	}
	return true;
}

function fieldFocus(obj, field)
{
	obj[field].focus();
	//obj[field].style.border="1px solid red";
}

function testString(obj,field,minLen)
{
	var val = obj[field].value;
	if(val.length < minLen)
	{
		return false;
	}else{
		return true;
	}
}

function testCombo(obj,field)
{
	var val = obj[field].value;
	if(val=='')
	{
		return false;
	}else{
		return true;
	}
}
function testEmail(obj,field)
{

	var val = obj[field].value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(val))
	{
		return true;
	}else{
		return false;
	}
}

function showEmailError(field)
{
	alert("Invalid email in '" + field + "' field, please fix and re-submit.");
	return false;
}
function showStringError(field,minLen)
{
	alert("Invalid entry in '" + field + "' field, must be at least "+ minLen+" characters in length, please fix and re-submit.");
	return false;
}
function showComboError(field)
{
	alert("Please select item in '" + field + "'.");
	return false;
}
function showError(field)
{
	alert("Invalid entry in '" + field + "' field, please fix and re-submit.");
	return false;
}



var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
