// $Header: /home/cvs/medekit/medekit_new/web/static/scriptv10.js,v 1.2 2008/08/08 10:23:14 tamsin Exp $

var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

function printPage(frm,action) {
   //always returns false, otherwise browser does HREF action instead
   if (ns6) {
      self.print();
   } else {
      window.print();
   }
   return false;
}

function toggleShowHide(id){
	sidebar = document.getElementById('sidebar.' + id);
	img = document.getElementById('img.' + id);
	if (sidebar.style.display == 'none'){
		sidebar.style.display = 'block';
		img.src='/static/btr_close.gif';
	} else {
		sidebar.style.display = 'none'
		img.src='/static/btr_open.gif';
	}
}

function doPopup(url) {
   if(url.indexOf("?")==0)
      url = url + "?popup=true";
   else
      url = url + "&popup=true";
   window.open(url,'popup','toolbar=no,width=600,height=400,left=50,top=50,status=no,scrollbars=yes,resizeable=yes');
   return false;
}

function checkAll(frm, prefix) {

   l = prefix.length;
   f=document.forms[frm];
   for(i=0;i<f.length;i++) {
   //alert(f.elements[i].name.substr(0,l));
   if(f.elements[i].type=="checkbox" && f.elements[i].name.substr(0,l) == prefix)
      f.elements[i].checked=true;
  }
}

function uncheckAll(frm, prefix) {

   l = prefix.length;
   f=document.forms[frm];
   for(i=0;i<f.length;i++) {
   //alert(f.elements[i].name.substr(0,l));
   if(f.elements[i].type=="checkbox" && f.elements[i].name.substr(0,l) == prefix)
      f.elements[i].checked=false;
  }
}

function focusFirst() {
	if (document.forms[0].elements[0]) {
		f = document.forms[0];
		for(i=0;i<f.length;i++) {
   
   			if(f.elements[i].type=="text") {
				f.elements[i].focus();
				break;
			}
		  }
	}
}


function checkMinLength(itm, len, rqd) {
   if ((rqd && itm.value.length < len) || ((!rqd) && itm.value.length < len && itm.value.length > 0)) {
         alert ("Please enter at least " + len + " characters!");
         itm.focus();
         return false;
   } else {
      return true;
   }
}

function checkInt(inp) {
   if (inp.value != "") {
  
   iVal = parseInt(inp.value,10);
   
      if (isNaN(iVal)) 
      {
         inp.focus();
         alert("Please enter a whole number");
         return false;
      } 
      else if (iVal > 999999999) 
      {
         inp.focus();
         alert("The quantity entered is too large");
         return false;
      }
      else
      { 
         inp.value = iVal; 
         return true; 
      }
   } else { return true; }
}

function checkFloat(inp) {
   
   fVal = parseFloat(inp.value);
   if (isNaN(fVal)) 
   {
      inp.focus();
      alert("Please enter a number");
      return false;
   } 
   else 
   { 
      inp.value = fVal; 
      return true; 
   }
   return true;
}

function checkEmail(inp) {

    string = inp.value;
    if (string.search('@') != -1)
        return true;
    else
    {    
         inp.focus();
         alert("Please enter a valid email address.");
         return false;
    }
}


function checkFormDate(frm, node, rqd, future) {
   //nodeDay = node + ".day";
   //d = frm[nodeDay].value;                                                                                        http://news.bbc.co.uk/
   //nodeMonth = node + ".month";
   //m = frm[nodeMonth].value;
   //nodeYear = node + ".year";
   //y = frm[nodeYear].value;

   
   //y = (y != "" && y < 1000) ? y + 1900 : y; 
   theDate = new Date(frm[node].value);
   
   d = theDate.getDate();
   y = theDate.getFullYear();
   m = theDate.getMonth();
   
   if ((frm[node].value != "") || rqd) {
      ok = checkDate(d,m,y, future);
      if (ok) { return true; } 
      else { frm[node].focus(); return false; }
   } else { return true; }
}

function checkDate(d,m,y, future) {
   if (y > 3000) {
      alert("Please enter a valid Date!");
      return false;
   }
   var dChk = new Date(y,m ,d);
   if ((dChk.getDate() != d) || (dChk.getMonth() != m) || (dChk.getFullYear() != y)) {
      alert("Please enter a valid Date!");
      return false;
   } else {
      if (future && (Date.parse(dChk) < Date.parse(Date()))) {
         alert ("Please enter a date in the future!");
         return false;
      } else { return true; }
   } 
}

function setDirty() {
   window.onbeforeunload = unloadMess;
   return true;
}

function setClean() {
   window.onbeforeunload = null;
   return true;
}

function unloadMess() {
   return "You have made changes on the page without saving them.  If you continue the changes will be lost.";
}

function writeMessage(str) {
   if (ie4) {
      document.all["msgdiv"].innerHTML=str;
   } else if (ns4) {
      document.layers["msglayer"].document.open();
      document.layers["msglayer"].document.write("<SPAN class=\"messagetext\">" + str + "</SPAN>");
      document.layers["msglayer"].document.close();
   } else if (ns6) {
      document.getElementById("msgdiv").innerHTML=str;
   } else {
      alert(str);
   }
}

function doSubmenu(submenu) {
  
   if (submenu.options[submenu.selectedIndex].value != "/controller/#" && !formsubmitted) { 
      //window.open(submenu.options[submenu.selectedIndex].value, "_blank");
      //location.href = submenu.options[submenu.selectedIndex].value;
   	  formsubmitted = true;
      document.forms["frmNav"].action=submenu.options[submenu.selectedIndex].value;
      document.forms["frmNav"].submit();
   }
   setTimeout('document.frmSubmenu.submenu.selectedIndex=0; formsubmitted = false;',2000);
   //return false;
}

function setHourglass(delay){
   setPointer('wait');
   setTimeout('setPointer("default")',delay * 1000);
}

function setPointer(style){
   document.all(1).style.cursor = style;
}

function hideHREFS() {
	var links = document.getElementsByTagName("A");
	var numlinks = links.length;
	for(var i = numlinks-1; i >= 0; i--) {
		try {
	    	var node = links[i]      
	    	var bold = document.createElement("b");  
		    var parent = node.parentNode;            
		    parent.replaceChild(bold, node);         
		    
		    var kids = node.childNodes;
	    	var numkids = kids.length;
	    	for(var i = 0; i < numkids; i++) { 
	        	bold.appendChild(kids[i]);       
	    	}
	    } catch(e) {
	    	//do nothing
	    }
	}
}

function addCategory() {
	var allRef = document.forms["product.update"].all_family_id;
	var selRef = document.forms["product.update"].family_id;
	for (var i=allRef.options.length-1; i >= 0;i--) {
		if (allRef.options[i].selected) {
			if (!containsCategory(selRef,allRef.options[i].value)) {
				selRef.options[selRef.length] = new Option(allRef.options[i].text, allRef.options[i].value);
			}
		}
	}
}

function containsCategory(selRef,id) {
	
	for (var i=selRef.options.length-1; i >= 0;i--) {
		if (selRef.options[i].value == id) {
			return true;
		}
	}
	return false;

} 

function removeCategory() {
	var theSel = document.forms["product.update"].family_id;
	
	var selIndex = theSel.selectedIndex;
	if (selIndex != -1) {
		for(i=theSel.length-1; i>=0; i--)
		{
			if(theSel.options[i].selected)
			{
				theSel.options[i] = null;
			}
		}
		if (theSel.length > 0) {
			theSel.selectedIndex = selIndex == 0 ? 0 : selIndex - 1;
		}
	}
}

function selectAllCategories() {
	var selRef = document.forms["product.update"].family_id;
	for (var i=selRef.options.length-1; i >= 0;i--) {
		selRef.options[i].selected= true;
	}
}

