/* kick user to new mind source code browser upgrade page if using outdated browser */
if (!document.getElementById) {
	window.location.href='http://source.newmind.ca/browserupgrade.php';
}

/* set today's date; output in template pages with: document.write(print_date); */
var d = new Date();
var weekday = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var monthname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
print_date = weekday[d.getDay()] + " " + monthname[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear();

function big_win(url) {
   big_win = window.open(url, "big_win", "width=790,height=470,dependent,scrollbars=1,toolbar=0,menubar=0,location=0,status=0,resizable,alwaysRaised,left=0,top=20"); 
}

function small_win(url) {
   small_win = window.open(url, "small_win", "width=451,height=438,dependent,scrollbars=0,toolbar=0,menubar=0,location=0,status=0,resizable,alwaysRaised,left=136,top=250"); 
}

/* sets focus on specified formfield */
function do_focus(form_name,field_name) {
   doc = document.forms[form_name];
   doc = doc.elements[field_name];
   doc.focus();
}

/* sets value of radio and/or checkbox field */
function set_value(form_name,field_name) {
	    		
	form = document.forms[form_name];
	doc = form.elements[field_name];
   		
	if(doc.value == 1) { 
		doc.value = 0; 
	}
	else { 
		doc.value = 1; 
	} 
	//alert(doc.value);	
}

function check_form(passed_form_name, required_fields) { 

	form_name = passed_form_name;
	form = document.forms[form_name];
	required = required_fields.split(',');
	count = required.length;
	loop = 0;
	
	for (var j = 0; j < count; j++) { 
	
		for (var i = 0; i < form.elements.length; i++) {
	
			//if (form.elements[i].name.indexOf(required[loop])!=-1) {
			if (form.elements[i].name == required[loop]) {
				field_name = required[loop];
		
				if (form.elements[i].value == "") {
				
					field_name = field_name.replace("_", " ");
					field_name = field_name.toUpperCase( );
				
					alert("The " + field_name + " field has been left blank.\n\nThis is a required field -- it cannot be left blank.");
					
					form.elements[i].focus();
					form.elements[i].style.background="#FFFF99";
			    	return false;
				}
			}
		}
		
		loop++;	
	}
	
	return true;
}

function add_bookmark(url) { 
			
	title = document.title;

	if (window.sidebar) { window.sidebar.addPanel(title, url,""); }
				
	else if( document.all ) { window.external.AddFavorite(url, title); }
				
	else if( window.opera && window.print ) { return true; }
}

function MM_jumpMenu(targ,selObj,restore) {
  		
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  	if (restore) selObj.selectedIndex=0;
}	 

function check_login(form_name) {
	 
	doc = document.forms[form_name];
	
	// Check username entry
	usr = doc.username.value; 
	
   	if (usr.length < 4) {
		alert('USERNAME must be at least 4 characters long'); 
		doc.username.focus();
		doc.username.style.background="#FFFF99";
		return false;
	}
	
	// Check password entry
	pass = doc.password.value; 
	
   	if (pass.length < 4) {
		alert('PASSWORD must be at least 4 characters long'); 
		doc.password.focus();
		doc.password.style.background="#FFFF99";
		return false;
	}
		 
  	// Check if password entry = passwordAgain entry
	if (doc.password.value != doc.confirm_pass.value) {
		doc.confirm_pass.focus();
		doc.confirm_pass.style.background="#FFFF99";
		alert('Please be sure the "password" and "confirm password" fields are identical'); 
		return false;
	} 		
}

/* Flash 8 and higher plugin detection */
flashinstalled = 0;
flashversion = 0;

/* Mozilla flash detection */
if (navigator.plugins && navigator.plugins.length)
{
	x = navigator.plugins["Shockwave Flash"];
	if (x)
	{
		flashinstalled = 2;
		if (x.description)
		{
			y = x.description;
			flashversion = y.charAt(y.indexOf('.')-1);
		}
	}
	else
		flashinstalled = 1;
	if (navigator.plugins["Shockwave Flash 2.0"])
	{
		flashinstalled = 2;
		flashversion = 2;
	}
}
else if (navigator.mimeTypes && navigator.mimeTypes.length)
{
	x = navigator.mimeTypes['application/x-shockwave-flash'];
	if (x && x.enabledPlugin)
		flashinstalled = 2;
	else
		flashinstalled = 1;
}

/* Internet Explorer flash detection */
else {
	
	for(var i=9; i>0; i--){
		flashversion = 0;
		try {
			var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
			flashversion = i;
			break;
		}
		catch(e) {
		}
	}

	/* set Flash installed to true if flash version >= 8 */
	if(flashversion >= 8) {
		flashinstalled = 2;
	}
}

/* initialize global last layer shown var -- use to hide the last layer  */
last_layer = "";

/* hide currently displayed nav layer on window resize */
window.onresize = hide_layer;

/* hide layer function; calls show_layer() with hide layer params */
function hide_layer() {
	
	/* hide layer if nav_layers exists; i.e. no nav layers in site tree page */
	if(document.getElementById('nav_layer1')) {
		show_layer('nav_layer1', 0, 0);
	}
}
	
/* shows & hides nav layers; note: type var used to display custom (e.g. Summer ProgrAirbag Resources) or standard menu in main site AND admin center */
function show_layer(l_name, img_name, l_display, num, type) { //alert(l_name);

	/* set last layer = to layer name if not yet set */
	if(last_layer=="") {
		last_layer = l_name;
	} 
	
	/* set doc references */	
	doc_last = document.getElementById(last_layer).style;
	doc_cur = document.getElementById(l_name).style;
	
	/* show layer request */
	if(l_display == 1) {
	
		/* set menu x coordinate based on passed border image location (if not hide menu or 1st link request or Summer ProgrAirbag Resources submenu request) */
		if(img_name != "" && img_name != "border1" && type == "standard") {
		
			/* substract 1 from current layer # to align menu with left-edge of link; i.e. right-edge of previous link */
			num = num - 1;
			img_name = "border" + num;
			
			img = document.getElementById(img_name);
			x = img.offsetLeft;
			
			/* loop through image's parent offset x's to determine image position */
			while ((img = img.offsetParent) != null) { 
				x += img.offsetLeft; 
			}
		
			/* set image postion based on calculated image offsetX value */
			if(num == 5) {
				img_pos = x - 62; 
				sw = -12;	
			}
			else {
				img_pos = x; 
				sw = -12;	
			}
		}
		/* set base layer position based on available screen width */
		else {
			sw = get_screen_width() + 118;
			img_pos = 11;	
		}
	
		/* offset screen width base layer by passed link text length */
		sw = sw + img_pos;
		sw = sw + 12;
		
		doc_last.display = 'none';
		
		/* display requested dropdown */
		doc_cur.display = 'block'; 
		
		doc_cur.top = 176 + 'px';
		doc_cur.left= sw + 'px'; 
	}
	/* hide layer request */
	else {
		doc_last.display = 'none';
	}

	/* set last_layer for next user click */
	last_layer = l_name; 
} 

HideLayerTimer = null;

/* clear hide menu timer */
function clearTimer() {

	if(HideLayerTimer) {
		clearTimeout(HideLayerTimer);
	}
	HideLayerTimer = null;
}

/* start hide menu timer */
function startTimer() {
	HideLayerTimer = setTimeout("hide_layer()", 4000); /* 1500 */
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/* determine nav layer offset based on screen width */
function get_screen_width() {

	/* set screen width */
	sw = window.innerWidth != null? window.innerWidth: document.body != null? document.body.clientWidth:null;
	//alert(sw);
	
	if(sw <= 780) {
		sw = 2;
	}
	else {
		sw = (sw - 780) / 2 + 6;
	}
	
	return sw;
}

function show_hide(layer_name) {

	if(document.getElementById(layer_name).style.display=='block') {
		document.getElementById(layer_name).style.display='none';
	}
	else {
		document.getElementById(layer_name).style.display='block';
	}
}

/* set left column img = to right column text (where hidden image [txt_img var] is) */
function set_img_pos(txt_img, targ_img) {
			
	img = document.getElementById(txt_img);
	y = findPosY(img);
	x = get_screen_width();
	//alert(document.getElementById(targ_img).style.top);
			
	//img.style.top = y;
	//y = document.getElementById(img_name).style.top = y + 100 + 'px';
	//alert(y);
	document.getElementById(targ_img).style.top = y + 20 + 'px';
	document.getElementById(targ_img).style.left = x + 'px';
}

/* remove DOM element */
function remove_element(arr) {
	
	len = arr.length;
	
	/* remove each element in passed array */
	for (x = 0; x < len; x++) {
		var t = document.getElementById(arr[x]);
		//alert(arr[x]); break;
		t.parentNode.removeChild(t);
	}	
}

/* hide DOM element */
function hide_element(arr) {
	
	len = arr.length;
	
	/* remove each element in passed array */
	for (x = 0; x < len; x++) {
		var t = document.getElementById(arr[x]);
		//alert(arr[x]); break;
		t.style.display='none';
	}	
}

/* show DOM element */
function show_element(arr) {
	
	len = arr.length;
	
	/* remove each element in passed array */
	for (x = 0; x < len; x++) {
		var t = document.getElementById(arr[x]);
		//alert(arr[x]); break;
		t.style.display='block';
	}	
}

/* shows or hides DOM layer */
function switch_layer(layer_name, btn_name, btn_txt) {
	
	button = document.getElementById(btn_name);
	layer = document.getElementById(layer_name);
	
	if(layer.style.display == 'block') { 
		layer.style.display='none'; 
		button.value=btn_txt; 
	} 
	else { 
		layer.style.display='block'; 
		button.value='Close Layer'; 
	}	
}

function is_numeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }



