
function disable_etudiant_etranger(val) {
	var statut_etudiant_p = document.getElementById('statut_etudiant_p');
	var statut_etudiant_e = document.getElementById('statut_etudiant_e');
	var statut_etudiant_a = document.getElementById('statut_etudiant_a');
	var statut_etudiant_autre = document.getElementById('statut_etudiant_autre');
	
	if (val == 'canadien') {
		statut_etudiant_p.checked = false;
		statut_etudiant_e.checked = false;
		statut_etudiant_a.checked = false;
		statut_etudiant_autre.value = '';
		
		statut_etudiant_p.disabled = true;
		statut_etudiant_e.disabled = true;
		statut_etudiant_a.disabled = true;
		statut_etudiant_autre.disabled = true;
	}
	else {
		statut_etudiant_p.disabled = false;
		statut_etudiant_e.disabled = false;
		statut_etudiant_a.disabled = false;
		statut_etudiant_autre.disabled = false;
	}
}

function activate_naissance_lieu(val) {
	var naissance_municipalite = document.getElementById('naissance_municipalite');
	var naissance_province = document.getElementById('naissance_province');
	var naissance_pays = document.getElementById('naissance_pays');
	var naissance_ville = document.getElementById('naissance_ville');
	
	if (val == 'qc') {
		naissance_municipalite.disabled = false;
		naissance_province.disabled = true;
		naissance_pays.disabled = true;
		naissance_ville.disabled = true;
	}
	else if (val == 'ca') {
		naissance_municipalite.disabled = true;
		naissance_province.disabled = false;
		naissance_pays.disabled = true;
		naissance_ville.disabled = true;
	}
	else if (val == 'zz') {
		naissance_municipalite.disabled = true;
		naissance_province.disabled = true;
		naissance_pays.disabled = false;
		naissance_ville.disabled = false;
	}
	
	naissance_municipalite.value = '';
	naissance_province.value = '';
	naissance_pays.value = '';
	naissance_ville.value = '';
}

function activate_etudes_univ(val) {
	var etabl_freq_univ_nom = document.getElementById('etabl_freq_univ_nom');
	var actuellement_inscrit_univ_oui = document.getElementById('actuellement_inscrit_univ_oui');
	var actuellement_inscrit_univ_non = document.getElementById('actuellement_inscrit_univ_non');
	
	if (val == '1') {
		etabl_freq_univ_nom.disabled = false;
		actuellement_inscrit_univ_oui.disabled = false;
		actuellement_inscrit_univ_non.disabled = false;
	}
	else {
		etabl_freq_univ_nom.disabled = true;
		actuellement_inscrit_univ_oui.disabled = true;
		actuellement_inscrit_univ_non.disabled = true;
	}
	
	etabl_freq_univ_nom.value = '';
	actuellement_inscrit_univ_oui.checked = false;
	actuellement_inscrit_univ_non.checked = false;
}

function activate_etudes_coll(val) {
	var etabl_freq_coll_nom = document.getElementById('etabl_freq_coll_nom');
	var actuellement_inscrit_coll_oui = document.getElementById('actuellement_inscrit_coll_oui');
	var actuellement_inscrit_coll_non = document.getElementById('actuellement_inscrit_coll_non');
	
	if (val == '1') {
		etabl_freq_coll_nom.disabled = false;
		actuellement_inscrit_coll_oui.disabled = false;
		actuellement_inscrit_coll_non.disabled = false;
	}
	else {
		etabl_freq_coll_nom.disabled = true;
		actuellement_inscrit_coll_oui.disabled = true;
		actuellement_inscrit_coll_non.disabled = true;
	}
	
	etabl_freq_coll_nom.value = '';
	actuellement_inscrit_coll_oui.checked = false;
	actuellement_inscrit_coll_non.checked = false;
}

function activate_statut_etudiant(val) {
	var statut_etudiant_p = document.getElementById('statut_etudiant_p');
	var statut_etudiant_e = document.getElementById('statut_etudiant_e');
	var statut_etudiant_a = document.getElementById('statut_etudiant_a');
	var statut_etudiant_autre = document.getElementById('statut_etudiant_autre');
	
	if (val == 'resident_permanent') {
		statut_etudiant_autre.disabled = true;
	}
	else if (val == 'etudiant_etranger') {
		statut_etudiant_autre.disabled = true;
	}
	else if (val == 'autre') {
		statut_etudiant_autre.disabled = false;
	}
	
	statut_etudiant_autre.value = '';
}

function activate_scolarite(val) {
	var scolarite_13_plus = document.getElementById('scolarite_13_plus');
	
	if (val == '13_plus') {
		scolarite_13_plus.disabled = false;
	}
	else {
		scolarite_13_plus.disabled = true;
	}
	
	scolarite_13_plus.value = '';
}

function NewWindow(mypage,myname,w,h,scroll) {
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	var settings ='height='+h+',';

	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='left='+winl+',';
	settings +='scrollbars='+scroll+',';
	settings +='resizable=0';
	win=window.open(mypage,myname,settings);

	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

function showhide(id) {
	if (document.getElementById) {
		obj = document.getElementById(id);
		if (obj.style.display == "none") {
			obj.style.display = "";
		} else {
			obj.style.display = "none";
		}
	}
}

function PreviousPage() {
	history.back(1);
}

/*
var rolloverInitialized = false;

function rolloverInit() {
	if (!rolloverInitialized && isDefined(document.images)) {
		var bodyId = document.body.id;    // ID of the BODY tag

	  // get all images (including all <input type="image">s)
	  // use getElementsByTagName() if supported
	  var images = new Array();
	  if (isDefined(document.getElementsByTagName)) {
		 images = document.getElementsByTagName('img');
		 var inputs = document.getElementsByTagName('input');
		 for (var i = 0; i < inputs.length; i++) {
			if (inputs[i].type == 'image') {
			   images[images.length] = inputs[i];
			}
		 }
	  }

	  // otherwise, use document.images and document.forms collections
	  // remove if not supporting IE4, Opera 4-5
	  else {
		 images = document.images;
		 inputs = new Array();
		 for (var formIndex = 0; formIndex < document.forms.length; formIndex++) {
			for (var elementIndex = 0; elementIndex < document.forms.elements.length; elementIndex++) {
			   if (isDefined(document.forms.elements[i].src)) {
				  inputs[inputs.length] = document.forms.elements[i];
			   }
			}
		 }
	  }

	  // get all images with '_off.' in src value excepting the one that is for the BODY

	  for (var i = 0; i < images.length; i++) {
		 if (images[i].src.indexOf('_off.') != -1) {

			// check for BODY image, and turn it 'on' if found
			if (images[i].src.indexOf(bodyId) != -1)
			   images[i].src = images[i].src.replace(/_off\./, '_on.');
			else {

			var image = images[i];

			// store the off state filename in a property of the image object
			image.offImage = new Image();
			image.offImage.src = image.src;

			// store the on state filename in a property of the image object
			// (also preloads the on state image)
			image.onImage = new Image();
			image.onImage.imageElement = image;

			// add onmouseover and onmouseout event handlers once the on state image has loaded
			// Safari's onload is screwed up for off-screen images; temporary fix
			if (navigator.userAgent.toLowerCase().indexOf('safari') != - 1) {
			   image.onmouseover = function() {
				  this.src = this.onImage.src;
			   };
			   image.onmouseout = function() {
				  this.src = this.offImage.src;
			   };
			}
			else {
			   image.onImage.onload = function() {
				  this.imageElement.onmouseover = function() {
					 this.src = this.onImage.src;
				  };
				  this.imageElement.onmouseout = function() {
					 this.src = this.offImage.src;
				  };
			   };
			}

			// set src of on state image after defining onload event handler
			// so cached images (that load instantly in IE) will trigger onload
			image.onImage.src = image.src.replace(/_off\./, '_on.');

		   }
		 }
	  }
   }

   rolloverInitialized = true;
}

function isDefined(property) {
	return (typeof property != 'undefined');
}

// call rolloverInit when document finishes loading
if (isDefined(window.addEventListener)) {
	window.addEventListener('load', rolloverInit, false);
}
else if (isDefined(window.attachEvent)) {
	window.attachEvent('onload', rolloverInit);
}
*/

function showHide(shID) {
	if (document.getElementById(shID)) {
		if (document.getElementById(shID+'-show').style.display != 'none') {
			document.getElementById(shID+'-show').style.display = 'none';
			document.getElementById(shID).style.display = 'block';
		}
		else {
			document.getElementById(shID+'-show').style.display = 'inline';
			document.getElementById(shID).style.display = 'none';
		}
	}
}

/* FAQ */
function open_faq_category(div_id) {
	for (i = 1; i <= 60; i++) {
		jQuery('#category_' + i).slideUp();
		jQuery('#category_' + i + '_arrow').attr('src', 'http://www.institut-grasset.qc.ca/skins/default/media/images/arrow_right.png');
	}
	
	slide_faq_div(div_id);
}

function slide_faq_div(div_id) {
	// Open
	if (document.getElementById(div_id).style.display == 'none') {
		jQuery('#' + div_id).slideDown();
		jQuery('#' + div_id + '_arrow').attr('src', 'http://www.institut-grasset.qc.ca/skins/default/media/images/arrow_bottom.png');
	}

	// Close
	else {
		jQuery('#' + div_id).slideUp();
		jQuery('#' + div_id + '_arrow').attr('src', 'http://www.institut-grasset.qc.ca/skins/default/media/images/arrow_right.png');
	}
}

function explode(item, delimiter) {
	tmp_array = new Array(1);
	var count = 0;
	var tempstring = new String(item);

	while (tempstring.indexOf(delimiter) > 0) {
		tmp_array[count] = tempstring.substr(0, tempstring.indexOf(delimiter));
		tempstring = tempstring.substr(tempstring.indexOf(delimiter) + 1, tempstring.length - tempstring.indexOf(delimiter) + 1);
		count = count + 1;
	}

	tmp_array[count] = tempstring;
	return tmp_array;
}

function in_array(what, where) {
	var out = false;

	for (i=0; i < where.length; i++) {
		if (what == where[i]) {
			out = true;
			break;
		}
	}

	return out;
}

function print_1d_array(array) {
	document.write("<table border=1>");
	document.write("<tr>");
	for (row=0; row < array.length; row++) {
		document.write("<td>" + array[row] + "</td>");
	}
	document.write("</tr>");
	document.write("</table>");
}

function print_2d_array(array) {
	document.write("<table border=1>");
	for (row=0; row < array.length; row++) {
		document.write("<tr>");
		for (col=0; col < array[row].length; col++) {
			document.write("<td>" + array[row][col] + "</td>");
		}
		document.write("</tr>");
	}
	document.write("</table>");
}

function is_array(obj) {
	return obj && !(obj.propertyIsEnumerable('length')) && typeof obj === 'object' && typeof obj.length === 'number';
}

function round_decimals(original_number, decimals) {
	var result1 = original_number * Math.pow(10, decimals);
	var result2 = Math.round(result1);
	var result3 = result2 / Math.pow(10, decimals);

	return pad_with_zeros(result3, decimals);
}

function pad_with_zeros(rounded_value, decimal_places) {
	// Convert the number to a string
	var value_string = rounded_value.toString();

	// Locate the decimal point
	var decimal_location = value_string.indexOf('.');

	// Is there a decimal point?
	if (decimal_location == -1) {
		// If no, then all decimal places will be padded with 0s
		decimal_part_length = 0;

		// If decimal_places is greater than zero, tack on a decimal point
		value_string += decimal_places > 0 ? '.' : '';
	}
	else {
		// If yes, then only the extra decimal places will be padded with 0s
		decimal_part_length = value_string.length - decimal_location - 1;
	}

	// Calculate the number of decimal places that need to be padded with 0s
	var pad_total = decimal_places - decimal_part_length;

	if (pad_total > 0) {
		// Pad the string with 0s
		for (var counter = 1; counter <= pad_total; counter++) {
			value_string += '0';
		}
	}

	return value_string;
}

function format_float(obj) {
	var o = document.getElementById(obj);
	var oo = o.value.replace(',', '.');

	if (isFloat(oo)) {
		o.value = round_decimals(oo, 2);
	}
	else {
		o.value = '';
	}
}

function toInt(n) {
	return n * 1;
}

function isFloat(n) {
	if (n == 0 || n == 0.00) {
		return false;
	}

	// Test for integer
	if ((n.length > 0) && !(/[^0-9]/).test(n)) {
		return true;
	}
	else {
		// Test for float
		if ((n.length > 0) && !(/[^0-9.]/).test(n) && (/\.\d/).test(n)) {
			return true;
		}
		else {
			return false;
		}
	}
}

function left(str, n) {
	if (n <= 0) {
		return '';
	} else if (n > String(str).length) {
		return str;
	} else {
		return String(str).substring(0,n);
	}
}

function right(str, n) {
	if (n <= 0) {
		return '';
	} else if (n > String(str).length) {
		return str;
	} else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}

function mid(str, start, len) {
	// Make sure start and len are within proper bounds
	if (start < 0 || len < 0) {
		return '';
	}

	var iEnd, iLen = String(str).length;

	if (start + len > iLen) {
		iEnd = iLen;
	} else {
		iEnd = start + len;
	}

	return String(str).substring(start,iEnd);
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function check_email(email) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	if (filter.test(email)) {
		return true;
	}

	return false;
}


