
var is_msie = (navigator.appName == "Microsoft Internet Explorer") ? true : false;


// global variables 



function opacity(id, opacStart, opacEnd, millisec) { 
//speed for each frame 
var speed = Math.round(millisec / 85); 
var timer = 0; 
show_div(id);

	if (opacStart < opacEnd) { 
		for(i = opacStart; i <= opacEnd; i++) {
		setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
		timer++;
		} 
	} 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
var object = get_el(id).style; 
object.opacity = (opacity / 100); 
object.MozOpacity = (opacity / 100); 
object.KhtmlOpacity = (opacity / 100); 
object.filter = "alpha(opacity=" + opacity + ")";
}




function val_form_simple(formname) {
filled = true;
	for(i=0;i<document[formname].elements.length-1;i++) {
		if(!document[formname].elements[i].value && document[formname].elements[i].name != 'othertext') {
		alert('You must fill out the form completely.');
		filled = false;
		break;
		}
	}
	if (filled) {
	document[formname].submit();
	}
}




function go_page(page_name) {
top.window.location.href=page_name;
}

function go_page_replace(page_name) {
top.window.location.replace(page_name);
}


var cases_ids = ['cases_challenge','cases_solution','cases_results'];

function show_cases(case_num) {

	for(i=0;i<cases_ids.length;i++) {
	get_el(cases_ids[i]).style.display = 'none';
	get_el(cases_ids[i]+'_link').className = 'nav_off';
	}
get_el(cases_ids[case_num]).style.display = 'block';
get_el(cases_ids[case_num]+'_link').className = 'nav_on';

}


var locstr = String(top.window.location);
var q_preview = (locstr.search('previewpage') != -1 || locstr.search('previewcategory') != -1 || locstr.search('previewsection') != -1) ? true : false;

var dir_img = (local_dev) ? '/~asmoller/cms_master/img' : '/img';

function get_el(d) {
	return document.getElementById(d);
}

function hide_div(d) {
	document.getElementById(d).style.display = "none";
}

function show_div(d) {
	document.getElementById(d).style.display = "block";
}


function show_hide_div(id,zindex) {
var el = document.getElementById(id);
	if (el.style.display != "none") {
	el.style.display = "none";
		if (zindex) {
		el.style.zIndex = "0";
		}
	}
	else {
	el.style.display = "";
		if (zindex) {
		el.style.zIndex = zindex;
		}
	}
}


function make_page_title(common_page_title,page_title) {
page_title = (page_title) ? ' :: '+page_title : '';
document.title = (common_page_title+page_title);
}


function preload_img(img_path) {
var img_file = new Image();
img_file.src = img_path;
}




var fade_timer;
var div_fadeamt = 0;
var fade_div_name;

function fade_div(div_name,direction,max_opacity) {
	max_opacity = (!max_opacity) ? 10 : max_opacity;
	if (!is_msie) {
	fade_div_name = div_name;
var divobj = document.all ? document.all[div_name] : document.getElementById ? document.getElementById(div_name) : "";
	//clearTimeout(fade_timer);
	if (direction == 'in') {
		divobj.style.display = "";
		//show_hide_div(fade_div_name,'1000');
		if(div_fadeamt < max_opacity) {
		div_fadeamt++;
		divobj.style.filter = "alpha(opacity="+div_fadeamt*10+")";
		divobj.style.opacity = div_fadeamt/10;
		fade_timer = setTimeout("fade_div('"+fade_div_name+"','in',"+max_opacity+")",15);
		} else {
		clearTimeout(fade_timer);
		}
	} else if (direction == 'out') {
		if(div_fadeamt > 0) {
		div_fadeamt--;
		divobj.style.filter = "alpha(opacity="+div_fadeamt*10+")";
		divobj.style.opacity = div_fadeamt/10;
		fade_timer = setTimeout("fade_div('"+fade_div_name+"','out')",20);
		} else {
		clearTimeout(fade_timer);
		//show_hide_div(fade_div_name,'0');
		divobj.style.display = "none";
		div_fadeamt = 0;
		}
	}
	} else {
		show_hide_div(div_name,'100');
	}
}



/*
map_latitude
map_longitude
*/

function load_map() {
	
	if (GBrowserIsCompatible()) {

	map_address_link = map_address.replace(/ /g,'+');
	map_address_link = map_address_link.replace(/,/g,'');
	
	var map = new GMap2(document.getElementById('map_canvas'));
	var marker = new GMarker(new GLatLng(map_latitude,map_longitude));
	var infowin_content = '<span class="map_bubble">'+common_page_title+'<br>'+(map_address.replace(', New York','<br>New York'))+'<br><a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q='+common_page_title+'+'+map_address_link+'&sll='+map_latitude+','+map_longitude+'&sspn=0.010229,0.022724&ie=UTF8&hq=&hnear='+map_address_link+'&ll='+map_latitude+','+map_longitude+'&spn=0.01023,0.022724&z=16&iwloc=A&iwstate1=dir" target="_blank">directions</a></span>';
	
	map.setCenter(new GLatLng(parseFloat(map_latitude)+.0015,parseFloat(map_longitude)+.0009), 16);
		if (is_msie) {
		map.addControl(new GSmallMapControl());
		} else {
		map.addControl(new GSmallZoomControl3D()); 
		}
	map.enableScrollWheelZoom();
	
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(infowin_content);
	});
	map.addOverlay(marker);
	}

marker.openInfoWindowHtml(infowin_content);
}


function createMarker(latlng, imageURL, imageSize) {  
var marker = new GIcon(G_DEFAULT_ICON, imageURL);  
marker.iconSize = imageSize;  
return new GMarker(latlng, { icon: marker });  
}  



function esc_close_window(evt) {
	if (evt.keyCode == 27) {
	}
}


function capture_key(evt) {
	if (evt.keyCode == 37) {
	go_page(prev);
	} else if (evt.keyCode == 39) {
	go_page(next);
	}
}




function womOn(){
window.onload = womGo;
}

function womGo(){
	for(var i = 0;i < woms.length;i++)
	eval(woms[i]);
}

function womAdd(func){
woms[woms.length] = func;
}

var woms = new Array();



