// Common function for opening windows
// url : Url page
function openWindow(url) {
	winPrint = window.open(url, '', 'status=0, scrollbars=1, menubar=0, resizable=1');
	winPrint.focus();
}

function openWindowScoresheet(url) {
	winPrint = window.open(url, '', 'status=0, scrollbars=1, menubar=1, resizable=1');
	winPrint.focus();
}

// Write a message in the status bar
function writeStatusMsg(msg) {
	window.defaultStatus = msg;
}

// Hightlight row
// state : IN(onmouseover) or OUT(onMouseout)
// rowId : Row ID
function hightlightRow(state, rowId) {	

	obj = eval("document.all." + rowId);
	if (state == "OVER"){
		for (var i = 0; obj.cells[i]; i++) {
			// No effect when using CSS, will be corrected in far future
			//obj.cells[i].style.color = '#FFFF10';
			//obj.cells[i].style.backgroundColor = '#1004B0';
			obj.cells[i].style.backgroundColor = '#E4E4F1';
		}
	}
	else{
		for (var i = 0; obj.cells[i]; i++) {
			// No effect when using CSS
			//obj.cells[i].style.color = '#000066';
			if (i % 2) {
				obj.cells[i].style.backgroundColor = '#E4E4F1';
			}
			else {
				obj.cells[i].style.backgroundColor = '#FFFFFF';
			}
		}
	}
}

// Script function utils
//

function format_number(pnumber,decimals) 
{  
  if (isNaN(pnumber)) { return 0};  
  if (pnumber=='')    { return 0};  
   
  var IsNegative=(parseInt(pnumber)<0); 
  if(IsNegative) pnumber=-pnumber; 

  var snum = new String(pnumber);  
  var sec = snum.split('.');  
  var whole = parseInt(sec[0]);  
  var result = '';  
  
  if(sec.length > 1) {  
    var dec = new String(sec[1]);  
    dec = parseInt(dec)/Math.pow(10,parseInt(dec.length-decimals-1)); 
    Math.round(dec); 
    dec = parseInt(dec)/10; 

    if(IsNegative) { 
      var x = 0-dec; 
      x = Math.round(x); 
      dec = - x; 
    } else { 
      dec = Math.round(dec); 
    } 

    /* 
     * If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
     * then we need to add 1 to the 'whole' and set the dec to 0. 
     */ 
    if(dec==Math.pow(10, parseInt(decimals))) { 
      whole+=1; 
      dec="0"; 
    } 

    dec = String(whole) + "." + String(dec);  
    var dot = dec.indexOf('.');  
    if(dot == -1){  
      dec += '.';  
      dot = dec.indexOf('.');  
    }
     
    var l=parseInt(dot)+parseInt(decimals); 
    while(dec.length <= l) { dec += '0'; }  
    result = dec;  
  } else{  
    var dot;  
    var dec = new String(whole);  
    dec += '.';  
    dot = dec.indexOf('.');  
    var l=parseInt(dot)+parseInt(decimals); 
    while(dec.length <= l) { dec += '0'; }  
    result = dec;  
  }
    
  if(IsNegative)result="-"+result; 
  
  return result;  
}  

function checkTimeInput(currElement)
{
currString = currElement.value;
pos = currString.indexOf(":");
valid = true;
if (pos==1 || pos==2) {
  min = currString.substring(0,pos);
  sec = currString.substring(pos+1,currString.length);
  if (!IsNumeric(min) || !IsNumeric(sec)) {
     valid = false;
  }
  if (valid && !(min <= 60 && sec < 60)) {
     valid = false;
  }
} else {
  valid = false;
}

if (!valid) {
 alert('format = mm:ss');
 currElement.value = "";
}

if (valid && min.length==1) {
 min = '0' + min;
}

if (valid && sec.length==1) {
 sec = '0' + sec;
}

if (valid) {
 currElement.value = min+":"+sec;
}
}

function checkHourInput(currElement)
{
currString = currElement.value;
pos = currString.indexOf("h");
valid = true;
if (pos==1 || pos==2) {
  hour = currString.substring(0,pos);
  min = currString.substring(pos+1,currString.length);
  if (!IsNumeric(hour) || !IsNumeric(min)) {
     valid = false;
  }
  if (valid && !(hour < 24 && min < 60)) {
     valid = false;
  }
} else {
  valid = false;
}

if (!valid) {
 alert('format = HHhMM');
 currElement.value = "";
}

if (valid && hour.length==1) {
 hour = '0' + hour;
}

if (valid && min.length==1) {
 min = '0' + min;
}

if (valid) {
 currElement.value = hour+"h"+min;
}
}


//  check for valid numeric strings
function IsNumeric(strString) {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++) {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1) {
         blnResult = false;
      }
   }
   
   return blnResult;
}

function typeNavigateur()  {
  browserName = navigator.appName;
  browserVer = parseInt(navigator.appVersion);
  if (browserName == "Netscape")
      version = "n";
  else
      version = "e";

  version += browserVer;

  return version;
}


function openpop(page,hauteur,largeur)  {
  version = typeNavigateur();
  //pour changer la variable popup a chaque click       
  var now = new Date();
  var dimensionFenetre = "height=" + hauteur + ",width=" + largeur + ",scrollbars=1,toolbar=0,status=0,resizable=0,menubar=0";
  popup = now.getTime();

  //determiner le browser avec differentes grandeurs pour chacun
  if (version.charAt(0) != 'n') {
    popupwin=window.open(page, popup,dimensionFenetre);
  } 
  else {
    popupwin=window.open(page, popup,dimensionFenetre);
    if (version.charAt(1) >= '3') {popupwin.focus();}
  }
}

function openpop2(page,hauteur,largeur)  {
  version = typeNavigateur();
  //pour changer la variable popup a chaque click       
  var now = new Date();
  var dimensionFenetre = "height=" + hauteur + ",width=" + largeur + ",scrollbars=1,toolbar=0,status=0,resizable=0,menubar=0";
  popup = now.getTime();

  //determiner le browser avec differentes grandeurs pour chacun
  if (version.charAt(0) != 'n') {
    popupwin=window.open(page, popup,dimensionFenetre);
    return popupwin;
  } 
  else {
    popupwin=window.open(page, popup,dimensionFenetre);
    if (version.charAt(1) >= '3') {popupwin.focus();}
    return popupwin;
  }
}


function redirect(seconde, url) {
  page = url;
  seconde = seconde * 1000;
  timer = setTimeout('window.location = page;',seconde);
}
    

function openpopNoScroll(page,hauteur,largeur)  {
  version = typeNavigateur();
  //pour changer la variable popup a chaque click       
  var now = new Date();
  var dimensionFenetre = "height=" + hauteur + ",width=" + largeur + ",scrollbars=0,toolbar=0,status=0,resizable=0,menubar=0";
  popup = now.getTime();

  //determiner le browser avec differentes grandeurs pour chacun
  if (version.charAt(0) != 'n') {
    popupwin=window.open(page, popup,dimensionFenetre);
  } 
  else {
    popupwin=window.open(page, popup,dimensionFenetre);
    if (version.charAt(1) >= '3') {popupwin.focus();}
  }
}


function getArgument(arg){
  var s=document.location+"";
  var x=s.indexOf("?"+arg+"=");
  if (x>=0){	
    return s.substring(x+arg.length+2, s.length);
  }
  else{
    x=s.indexOf("&"+arg+"=");
    if (x>=0){	
      return s.substring(x+arg.length+2, s.length);
    }
  }	
  return "";
}

function openpopGen(page,hauteur,largeur,barreDefilement,chemin,barreOutils,redim,barreMenu)  {
  version = typeNavigateur();
  //pour changer la variable popup a chaque click       
  var now = new Date();
  var caracteristiques = "height=" + hauteur + ",width=" + largeur + ",scrollbars=" + barreDefilement + ",location=" + chemin + ",toolbar=" + barreOutils + ",status=" + status + ",resizable=" + redim + ",menubar=" + barreMenu;
  popup = now.getTime();

  //determiner le browser avec differentes grandeurs pour chacun
  if (version.charAt(0) != 'n') {
    popupwin=window.open(page, popup,caracteristiques);
  } 
  else {
    popupwin=window.open(page, popup,caracteristiques);
    if (version.charAt(1) >= '3') {popupwin.focus();}
  }
}


function openpopResizable(page,hauteur,largeur)  {
  version = typeNavigateur();
  //pour changer la variable popup a chaque click       
  var now = new Date();
  var dimensionFenetre = "height=" + hauteur + ",width=" + largeur + ",scrollbars=1,toolbar=0,status=0,resizable=1,menubar=0";
  popup = now.getTime();

  //determiner le browser avec differentes grandeurs pour chacun
  if (version.charAt(0) != 'n') {
    popupwin=window.open(page, popup,dimensionFenetre);
  } 
  else {
    popupwin=window.open(page, popup,dimensionFenetre);
    if (version.charAt(1) >= '3') {popupwin.focus();}
  }
}


function setVal(inputSource,inputDestination) {  
inputDestination.value = inputSource.value;
}


function getCookieVal(offset) {  
 var endstr = document.cookie.indexOf (";", offset);  
  if (endstr == -1)    
  endstr = document.cookie.length;  
  return unescape(document.cookie.substring(offset, endstr));
}


function getCookie(name) {  
 var arg = name + "=";  
 var alen = arg.length;  
 var clen = document.cookie.length;  
 var i = 0;  
  while (i < clen) {    
    var j = i + alen;    
    if (document.cookie.substring(i, j) == arg)      
    return getCookieVal (j);    
    i = document.cookie.indexOf(" ", i) + 1;    
    if (i == 0) break;   
  }  
  return null;
}


function setCookie(name, minute) {  

 var exp = new Date();  

 exp.setTime(exp.getTime() + (minute*60*1000));

   document.cookie = name + "=" + escape(exp.toGMTString()) + ";";

}

function isEmpty(unChamps){
  return (unChamps.length == 0);
}








