function openWindow(theURL,winName,width,height,parms)
{
    var left = Math.floor( (screen.width - width) / 2);
    var top = Math.floor( (screen.height - height) / 2);
    var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
    if (parms) { winParms += "," + parms; }
    window.open(theURL, winName, winParms);
}

function checkedBoxes(url, frm, e, errMsg, confirmMsg)
{
    var sizeOfBoxes = e.length;
    var selectedEntity = false;
    if(sizeOfBoxes > 0)
    {	
    	for ( var i=0; i < sizeOfBoxes; i++)
    	{
        	if(e[i].checked == true)
        	{
			selectedEntity = true;
        	}
    	}
    }
    else
    {
      if(e.checked == true)
      {
      	selectedEntity = true;
      }
    }
    if(selectedEntity == false)
    {
        alert(errMsg);
        return;
    }

    var con = true;
    if(confirmMsg != '')
    {
        con = confirm(confirmMsg);
    }
    if ( con != true)
    {
        return;
    }
    else
    {
	/*
        url = url + selectedEntity;
        //eval("parent.location");
        location.href = url;
	*/
	frm.action=url;
	frm.submit();
    }
}    


function alternateRows(id,evenClass,oddClass)
{
      var even = false;
      var table = document.getElementById(id);
      if (! table) { return; }
      var tbodies = table.getElementsByTagName("tbody");
      for (var h = 0; h < tbodies.length; h++)
			{
		       var trs = tbodies[h].getElementsByTagName("tr");
		       for (var i = 0; i < trs.length; i++)
					 {
					     var tds = trs[i].getElementsByTagName("td");
					     for (var j = 0; j < tds.length; j++)
							 {
							    var mytd = tds[j];
							    //mytd.setAttribute("class",even ? evenClass : oddClass);
							    mytd.ClassName=(even ? evenClass : oddClass);
							 }
							 even =  ! even;
					 }
			}
}

function IsNumeric(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;
}

if (!document.layers&&!document.all&&!document.getElementById)
{
				event="test"
}

function showtip(current,e,text)
{
				if (document.all||document.getElementById)
				{
							thetitle=text.split('<br>')
							if (thetitle.length>1)
							{
								thetitles=''
								for (i=0;i<thetitle.length;i++)
								{
									thetitles+=thetitle[i]
								}
								current.title=thetitles
							}
							else
							{
								current.title=text
							}
				}
				else if (document.layers)
				{
			      document.tooltip.document.write('<layer bgColor="#FFFFE7" style="border:1px solid black;font-size:12px;">'+text+'</layer>')
										document.tooltip.document.close()
										document.tooltip.left=e.pageX+5
										document.tooltip.top=e.pageY+5
										document.tooltip.visibility="show"
				}
}

function hidetip()
{
    if (document.layers)
		{
												document.tooltip.visibility="hidden"
		}
}

// For the Progress Bar Stuff
function setElementValue(elementID , v)
{       
    var obj = document.getElementById(elementID);
    if(obj)
    obj.value = v;
}

// To check the time format
function checkForTimeFormat(timeVal)
{
    var regex = new RegExp("(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])");
    if (timeVal.match(regex))
    { 
        return true;
    } else 
    {
        alert("Please enter the correct time."); 
        return false;
    } 
    
}

function emailvalidate(addrVal) 
{
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(addrVal))
  {
		  return true;
  }
  alert("Invalid email address! Please re-enter.");
  return false;
}


function trim(inputString) {
  if (typeof inputString != "string") { return inputString; }
  var retValue = inputString;
  var ch = retValue.substring(0, 1);
  while (ch == " ") {
     retValue = retValue.substring(1, retValue.length);
     ch = retValue.substring(0, 1);
  }
  ch = retValue.substring(retValue.length-1, retValue.length);
  while (ch == " ") {
     retValue = retValue.substring(0, retValue.length-1);
     ch = retValue.substring(retValue.length-1, retValue.length);
  }
  while (retValue.indexOf("  ") != -1) {
     retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
  }
  return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function

 function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
function openPrintWindow(title, width, height, params) {
 var url = window.location.href;   
    var url_toadd="&PRINTER_FRIENDLY=true";
    var form_obj;
    if(document.forms[1] && document.forms[1].currentPage){
      form_obj=document.forms[1];
    }else if(document.forms[0] && document.forms[0].currentPage){
      form_obj=document.forms[0];
    }
    
    
    if(form_obj)
    {
      for (var i=0; i<form_obj.length; i++) { 
        var e = form_obj.elements[i];
        url_toadd += "&" + e.name+"="+e.value; 
      }
/*
      url_toadd = url_toadd + "&currentPage="+form_obj.currentPage.value +
            "&noRows="+form_obj.noRows.value;
      var searchoption_obj=MM_findObj('searchOption');
      if(searchoption_obj != null )
      {
      url_toadd = url_toadd + "&searchOption="+form_obj.searchOption.value + "&search="+form_obj.search.value+ "&searchText="+form_obj.searchText.value+ "&searchHidden="+form_obj.searchHidden.value;
      }
      var retail_obj=MM_findObj('retail');
      if(retail_obj != null )
      {
      url_toadd = url_toadd + "&retail="+form_obj.retail.value;
      }

      var fromdate_obj=MM_findObj('fromdate');
      if(fromdate_obj != null){
      url_toadd = url_toadd + "&fromdate="+form_obj.fromdate.value;
      }
      var todate_obj=MM_findObj('todate');
      if(todate_obj != null){
      url_toadd = url_toadd + "&todate="+form_obj.todate.value;
      }
*/
   }
   
   if (window.localPrintExtraParam){
        url_toadd=url_toadd + "&" + localPrintExtraParam();
   }
   
     if (url.indexOf("?") != -1) {
                url=url + "&";
            } else {
                url=url + "?";
            }
            url=url+url_toadd;

        var newwindow = getNewWindow(url,title,width,height,params);
        return newwindow;
  }
function getNewWindow(url, title, width, height, params) {
        var left = Math.floor( (screen.width - width) / 2);
        var top = Math.floor( (screen.height - height) / 2);
        var winParms = "name=mprinter," + "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
        if (params) { winParms += "," + params; }
        try {
            newwindow = window.open(url, title, winParms);
            return newwindow;
        } catch(e) {
            newwindow = window.open(url, 'ww', winParms);
            return newwindow;
        }
}

function demoAlert(){
  alert("This feature is disabled in Online Demo.");
}


function popUp_3(URL,width,height) {
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width="+width + ",height="+height+",left = 262,top = 80');");
}

function printer_friendly(status){
	var pf= document.getElementById("printer_friendly");
      if (!pf) {
       return; 
      }
      if(status){
       pf.style.display="block";
      }else{
       pf.style.display="none";
      }
}

function getExistingValuesArrayFromCheckBox(ename){
	var existing_values=new Array(); //2 dimentional
    var sh=document.getElementsByName(ename);		 
	var t=sh.length;
	var sel=0;
	for(var k=0;k<t;k++){
           var temp= sh[k].value;               
            existing_values.push(new Array(temp,sh[k].checked));
   	}
   	
   	return existing_values;
}
   	    
function checkCheckBoxValueModified(ename,existing_values){
    obj=document.getElementsByName(ename);
    var t=obj.length;

    for(k=0;k<t;k++){
      	 if(obj[k].value==existing_values[k][0]){
		   if(existing_values[k][1]!=obj[k].checked){     			   
   			     return false; //means one modifation done here user should save the modif
		   }
	   	 } 
   	}
   	return true;
}
   	    
