/* 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';
}

/* select option jumpTo link target method */
function MM_jumpMenu(targ,selObj,restore) {	
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  	if (restore) selObj.selectedIndex=0;
}

function popImgWin(img) {
	/*if(imgWin) {
		imgWin.close();	
	}*/
   big_win = window.open(img, "imgWin", "width=400,height=300,left=0,top=20"); 
}

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"); 
}

/* check valid Email address  */
function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

/* 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];
	field = form.field_name;
   	
	/* set field value to opposite of existing value */
	if(field.value == 1) { 
		field.value = 0; 
	}
	else { 
		field.value = 1; 
	} 
	//alert(field.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 == required[loop]) {
				field_name = required[loop];
				
				/* target required field is blank; alert user and highlight the field */
				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;
}

/* check if field value is numeric */
function chk_numeric(form_name, field_name) {
	    		
	doc = document.forms[form_name];
	doc = doc.elements[field_name];
	//alert(doc.value);
	
	/* set msg & allowed chars based on field */
	if(field_name == "itemid") {
		var strValidChars = "0123456789.-";
		msg = "eBay itemID must contain only Numbers.";
	}	
	else {
		var strValidChars = "0123456789+()-.";
		msg = "Phone number fields can only contain numbers: 0-9, and these characters: +,-";
	}
	
   	var strChar;
   	var isNum = true;

   	if (doc.value.length == 0) return false;

  	//  test strString consists of valid characters listed above
  	for (i = 0; i < doc.value.length && isNum == true; i++) {
      
		strChar = doc.value.charAt(i);
      	if (strValidChars.indexOf(strChar) == -1) {
        	isNum = false;
        }
    }
	//alert(isNum);
	
	if(isNum == false) {
		alert(msg);
		doc.style.background="#FFFF99";
		doc.focus();
	}
   	return isNum;
}

/* check if field value is numeric */
function validate_field(form_name, field_name) {
	    		
	doc = document.forms[form_name];
	doc = doc.elements[field_name];
	//alert(doc.value);

   	if(doc.value.length == 0) {
		return false;
	}
	
	/* set msg & allowed chars based on field */
	if(field_name == "profilename") {
		var strValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-., ";
		msg = "Profile Name can only contain letters (A-Z), numbers (0-9), dashes (-), underscores (_), periods (.), commas (,) and spaces ( ).";
	}	
	
   	var strChar;
   	var isValid = true;

  	//  test strString consists of valid characters listed above
  	for (i = 0; i < doc.value.length && isValid == true; i++) { 
		strChar = doc.value.charAt(i);
      	if(strValidChars.indexOf(strChar) == -1) {
        	isValid = false;
        }
    }
	//alert(isValid);
	
	if(isValid == false) {
		alert(msg);
		doc.style.background="#FFFF99";
		doc.focus();
	}
   	return isValid;
}

/* determine screen width */
function get_screen_width() {
	sw = window.innerWidth != null? window.innerWidth: document.body != null? document.body.clientWidth:null;
	//alert(sw);
	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';
	}
}

/* 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'; 
	}	
}

/* resize supplied image */
function resizeImage(originalImage, expectWidth, expectHeight) {
	var imageObj = new Image();
	imageObj.src = originalImage.src;
	var originalWideth = imageObj.width;
	var originalHeight = imageObj.height;

	var rate = Math.min(expectWidth / originalWideth, expectHeight / originalHeight);

	if (rate < 1) {
		originalImage.width = originalWideth * rate;
		originalImage.height = originalHeight * rate;
	} else {
		originalImage.width = originalWideth;
		originalImage.height = originalHeight;
	}
}
