<!--
        function findNodePrevious(startNode,strNodeName){
           if (startNode!=null && startNode!='undefined'){
            while (startNode!=null){
              if (startNode.nodeName==strNodeName){
                 return startNode;
              }
              startNode=startNode.previousSibling;
            }
           }
        }
        var objOldHighLight;
        var strOldHighLightColor;
        var strOldTempColor;
        var objOldClass;
        var strOldClass;
        function assignClass(obj,strClass,strOldClassP){
           if (objOldClass!=null && objOldClass!='undefined'){
              objOldClass.attributes['class'].value=strOldClass;
           }
           if (obj!=null && obj!='undefined'){
              if (strOldClassP!=''){
                 strOldClass=strOldClassP
              }
              else{
                 strOldClass=obj.attributes['class'].value;
              }
              obj.attributes['class'].value=strClass;
              objOldClass=obj;              
           }           
        }
        function increaseSection(sectionName,currentIndex){
           var objLength;           
           eval('objLength=window.'+sectionName+'.length');
           if (objLength-1>currentIndex){
              currentIndex=currentIndex+1;
              eval('window.'+sectionName+'[currentIndex].style.display="block"');
              eval('window.'+sectionName+'[currentIndex].disabled=false');
           }
           return currentIndex;
        }
        function decreaseSection(sectionName,currentIndex){
           var objLength;           
           eval('objLength=window.'+sectionName+'.length');
           if (currentIndex>0){
              eval('window.'+sectionName+'[currentIndex].style.display="none"');
              eval('window.'+sectionName+'[currentIndex].disabled=true');
              currentIndex=currentIndex-1;
           }
           return currentIndex;
        }
		function highLightObj(objHighLight,strColor,booKeepOld){
		  if (objHighLight!=null && objHighLight!='undefined'){		    
		    if (!booKeepOld && objOldHighLight!=null && objOldHighLight!='undefined'){
		        if (strOldHighLightColor=='undefined' || strOldHighLightColor==null){
		           strOldHighLightColor='';
		        }
		        objOldHighLight.style.backgroundColor=strOldHighLightColor;
		    }
		    if (!booKeepOld){
		       // replace old value
		       objOldHighLight=objHighLight;
		       strOldHighLightcolor=objHighLight.style.backgroundColor;
		       strOldTempColor=strColor;
		    }
		    else{
		       strOldTempColor=objHighLight.style.backgroundColor;
		    }
		    if (strColor=='undefined' || strColor==null){strColor='';}
		    objHighLight.style.backgroundColor=strColor;
		  }
		}

		
		function showhide(obj){		
		  if (obj!=null){
				if (obj.style.display=='none'){
					obj.style.display='block';
					return 1;  //show
				}
				else{
					obj.style.display='none';
					return 0;  // hide
				}
		  }
 		  else{ 
 		      return 2;   // not known
 		  }
		}
		function getLastArray(strObjName,objHost,objForm){
	     var obj1;
	     var obj;
	     var objLength;
	     var objResult;
	     if (objHost=='[object]'){     
		   obj1=objHost.document.getElementById(strObjName);
	       if (obj1=='[object]'){
	          if (objForm!=''){
	             eval('obj=objForm.'+strObjName);
	             objHost=objForm;
	          }
	          else{
			     eval('obj=objHost.'+strObjName);
			  }
		      objLength=obj.length;
	          if (!checknumtype(objLength)){
			     return obj1;
		      }
	          else{
				 eval('objResult=objHost.'+strObjName+'[objLength-1]');
			  }
		      return objResult;
	       }
		 }
		 return null;
		}

		function hideArray(hideId){
		      var i=0;
			  var hide1=window.parent.document.getElementById(hideId);
			  if (hide1!='undefined' && hide1!=null){
			    var hideParent=hide1.parentNode;
                eval('var hideLength=window.'+hideId+'.length');
				if (!(checknumtype(hideLength))){
					eval('window.'+hideId+'.style.display="none"');
				}
				else{
 				  for (i=0;i<hideLength;i++){
					eval('window.'+hideId+'['+i+'].style.display="none"');
				  }
			    }
		      }		
		}
		function clearFormArrayValue(hideId,formName){
		      var i=0;
			  var hide1=window.parent.document.getElementById(hideId);
			  if (hide1!='undefined' && hide1!=null){
			    var hideParent=hide1.parentNode;
                eval('var hideLength=window.parent.document.'+formName+'.'+hideId+'.length');
				if (!(checknumtype(hideLength))){
					eval('window.parent.document.'+formName+'.'+hideId+'.value=""');
				}
				else{
 				  for (i=0;i<hideLength;i++){
					eval('window.parent.document.'+formName+'.'+hideId+'['+i+'].value=""');
				  }
			    }
		      }		
		}
		function showArray(hideId){
		      var i=0;
			  var hide1=window.parent.document.getElementById(hideId);
			  if (hide1!='undefined' && hide1!=null){
			    var hideParent=hide1.parentNode;
                eval('var hideLength=window.'+hideId+'.length');
				if (!(checknumtype(hideLength))){
					eval('window.'+hideId+'.style.display="block"');
				}
				else{
 				  for (i=0;i<hideLength;i++){
					eval('window.'+hideId+'['+i+'].style.display="block"');
				  }
			    }
		      }		
		}
		function collectValue(objId,objForm){
		      var hideId=objId;
		      var i=0;
		      var delim=String.fromCharCode(28);
                                                 var testCheck;
		      var resultList=new Array();
		      if (objForm=='' || objForm==null){
		         objForm=window;
		      }
			  var hide1=window.parent.document.getElementById(hideId);
			  if (hide1!='undefined' && hide1!=null){
			    var hideParent=hide1.parentNode;
                eval('var hideLength=objForm.'+hideId+'.length');
				if (!(checknumtype(hideLength))){
                  				            eval('testCheck=(objForm.'+hideId+'.checked || !((objForm.'+hideId+'.type)=="checkbox"))');
                                  			            if (testCheck==true){
					eval('resultList[0]=objForm.'+hideId+'.value');
 				            }
				}
				else{
 				  for (i=0;i<hideLength;i++){
                  				           eval('testCheck=(objForm.'+hideId+'['+i+'].checked || !((objForm.'+hideId+'['+i+'].type)=="checkbox"))');
                                  			            if (testCheck==true){
					eval('resultList['+i+']=objForm.'+hideId+'['+i+'].value');
				            }
				  }
			    }
		      }				
  		      return resultList;
		}
		function showhideOnCheck(objCheck,objAppend){
		 	if (objCheck==true){
		  		objAppend.style.display="block";
			}else{
				objAppend.style.display="none"
		  	}
		}
		function showhideInline(objCheck,objAppend){
		if (objCheck==true){
		  		objAppend.style.display="inline";
			}else{
				objAppend.style.display="none";
				objAppend.value="";
		  	}
		}
		function showobj(obj){
					obj.style.display='block';
		}
		function showobjWithVisibility(obj){
					obj.style.visibility='visible';
		}
		function hideobj(obj){
					obj.style.display='none';
		}
		function hideobjWithVisibility(obj){
					obj.style.visibility='hidden';
		}
		function showObject(obj){
					obj.style.display='block';
		}
		function showObjectInline(obj){
					obj.style.display="inline";
		}
		function hideObject(obj){
					obj.style.display='none';
		}
		function disabledobj(obj){
					obj.disabled=true;
		}
		function enabledobj(obj){
					obj.disabled=false;
		}
		function swapBGColor(obj,color){
			obj.style.backgroundColor=color;
		}
  function checknumtype(val){
	// var anum=/(\d+$)|(\.\d+$)/
	var anum=/^[+-]?[0-9]*.?[0-9]+$/
	testresult=true;
	if (val!=''){
	 if (!(anum.test(val))){
		testresult=false;
	 }
	}
	else testresult=false;
	 return (testresult);
  }
  function changeCurrentVal(currentVal,inc,lbound,ubound){
	if (inc==1 && currentVal<ubound){
		return ++currentVal;
	}
	else if (inc==0 && currentVal>lbound){
		return --currentVal;
	}
	return currentVal;
  }
  function toggleBGColor(oldobj,obj,color1,color2){
    if (oldobj!=null){
		oldobj.bgColor=color1;
		if (oldobj.name==obj.name){
			oldobj='undefined';
		}
	}  
	if (obj.bgColor==color2){	
			obj.bgColor=color1;
	}
	else {
		 if (obj.bgColor==color1){
			obj.bgColor=color2;
		 }
		 else{
			obj.bgColor=color2;
		 }
	}
  }
  function closewindow(conconfirm,message){
	if (conconfirm){
		if (confirm(message)){
			window.close();
		}
	}
	else{
		alert(message);
		window.close();
	}
  }
  function removeItem(itemToRemove,parentEle){
     parentEle.removeChild(itemToRemove);
  }

  function removeMaterial(formObj,materialTableObject,rowIndexId,icid,taskid){
  
     var rowToDelete=window.document.getElementById('materialRow_'+taskid+'_'+icid+'_'+rowIndexId);
     materialTableObject.deleteRow(rowToDelete.rowIndex);
     //formObj.removeChild(window.document.getElementById('materialQuantity_'+taskid+'_'+icid));
  }
  function checkEnter(){
      return (window.event.keyCode==13);
  }
  function checkTab(){
      return (window.event.keyCode==9);
  }
  function checkEscape(){
      return (window.event.keyCode==27);
  }
  function checkBackSpace(){
	  return (window.event.keyCode==8);	
  }

   var gotoNextObj=true;
   function nextDate(str,len,nextobj){       
       if (str.length>=len && gotoNextObj){
          nextobj.focus();
       }
       //alert(str.length);
       if (str.length<len){
         gotoNextObj=true;
       }
   }
   function selectAll(obj,conSelect){
	  if (obj!=null){
		  if (isNaN(obj.length)){
			obj.checked=conSelect;
		  }else{
			  for (i=0;i<obj.length;i++){ 
				if (typeof(obj(i)=='object'))
				  obj(i).checked=conSelect;
			  }
		  }
	  }
   } 

//---------- P add this code
function dateDiff( start, end, interval, rounding ) {
    var iOut = 0;
    // Create 2 error messages, 1 for each argument. 
    var startMsg = "Check the Start Date and End Date\n"
        startMsg += "must be a valid date format.\n\n"
        startMsg += "Please try again." ;
    var intervalMsg = "Sorry the dateAdd function only accepts\n"
        intervalMsg += "d, h, m OR s intervals.\n\n"
        intervalMsg += "Please try again." ;
    var bufferA = Date.parse( start ) ;
    var bufferB = Date.parse( end ) ;
    // check that the start parameter is a valid Date. 
    if ( isNaN (bufferA) || isNaN (bufferB) ) {
        alert( startMsg ) ;
        return null ;
    }
    // check that an interval parameter was not numeric. 
    if ( interval.charAt == 'undefined' ) {
        // the user specified an incorrect interval, handle the error. 
        alert( intervalMsg ) ;
        return null ;
    }
    var number = bufferB-bufferA ;
    // what kind of add to do? 
    switch (interval.charAt(0))
    {
        case 'd': case 'D': 
            iOut = parseInt(number / 86400000) ;
            if(rounding) iOut += parseInt((number % 86400000)/43200001) ;
            break ;
        case 'h': case 'H':
            iOut = parseInt(number / 3600000 ) ;
            if(rounding) iOut += parseInt((number % 3600000)/1800001) ;
            break ;
        case 'm': case 'M':
            iOut = parseInt(number / 60000 ) ;
            if(rounding) iOut += parseInt((number % 60000)/30001) ;
            break ;
        case 's': case 'S':
            iOut = parseInt(number / 1000 ) ;
            if(rounding) iOut += parseInt((number % 1000)/501) ;
            break ;
        default:
        // If we get to here then the interval parameter
        // didn't meet the d,h,m,s criteria.  Handle
        // the error. 		
        alert(intervalMsg) ;
        return null ;
    }
    return iOut ;
}
function dateAdd( start, interval, number ) {
    // Create 3 error messages, 1 for each argument. 
    var startMsg = "Sorry the start parameter of the dateAdd function\n"
        startMsg += "must be a valid date format.\n\n"
        startMsg += "Please try again." ;
    var intervalMsg = "Sorry the dateAdd function only accepts\n"
        intervalMsg += "d, h, m OR s intervals.\n\n"
        intervalMsg += "Please try again." ;
    var numberMsg = "Sorry the number parameter of the dateAdd function\n"
        numberMsg += "must be numeric.\n\n"
        numberMsg += "Please try again." ;
    // get the milliseconds for this Date object. 
    var buffer = Date.parse( start ) ;
    // check that the start parameter is a valid Date. 
    if ( isNaN (buffer) ) {
        alert( startMsg ) ;
        return null ;
    }
    // check that an interval parameter was not numeric. 
    if ( interval.charAt == 'undefined' ) {
        // the user specified an incorrect interval, handle the error. 
        alert( intervalMsg ) ;
        return null ;
    }
    // check that the number parameter is numeric. 
    if ( isNaN ( number ) )	{
        alert( numberMsg ) ;
        return null ;
    }
    // so far, so good...
    //
    // what kind of add to do? 
    switch (interval.charAt(0))
    {
        case 'd': case 'D': 
            number *= 24 ; // days to hours
            // fall through! 
        case 'h': case 'H':
            number *= 60 ; // hours to minutes
            // fall through! 
        case 'm': case 'M':
            number *= 60 ; // minutes to seconds
            // fall through! 
        case 's': case 'S':
            number *= 1000 ; // seconds to milliseconds
            break ;
        default:
        // If we get to here then the interval parameter
        // didn't meet the d,h,m,s criteria.  Handle
        // the error. 		
        alert(intervalMsg) ;
        return null ;
    }
    return new Date( buffer + number ) ;
}

// Start of String Function
var keyShift=16;
var keyCtrl=17;
var keyAlt=18;
var keyPause=19;
var keyCapsLock=20;
var keyEsc=27;
var keyPageUp=33;
var keyPageDown=34;
var keyEnd=35;
var keyHome=36;
var keyLeft=37;
var keyUp=38;
var keyRight=39;
var keyDown=40;
var keyWindows=91;
var keyF1=112;
var keyF2=113;
var keyF3=114;
var keyF4=115;
var keyF5=116;
var keyF6=117;
var keyF7=118;
var keyF8=119;
var keyF9=120;
var keyF10=121;
var keyF11=122;
var keyF12=123;
var keyNumLock=144;
var keyScrollLock =145;

function LTrim(str){
	if (str==null){return null;}
	for(var i=0;str.charAt(i)==" ";i++);
	return str.substring(i,str.length);
	}
function RTrim(str){
	if (str==null){return null;}
	for(var i=str.length-1;str.charAt(i)==" ";i--);
	return str.substring(0,i+1);
	}
function Trim(str){return LTrim(RTrim(str));}
function LTrimAll(str) {
	if (str==null){return str;}
	for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
	return str.substring(i,str.length);
	}
function RTrimAll(str) {
	if (str==null){return str;}
	for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
	return str.substring(0,i+1);
	}
function TrimAll(str) {
	return LTrimAll(RTrimAll(str));
	}
function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function

   function chr(){
   }
   
   function asc(){
   }
   function decodeTextAreaForInput(strToDecode){
      if (strToDecode!=null && strToDecode!=''){
         return strToDecode.replace(/\*\<\#/g,'<').replace(/\<vbcrlf\>/g,'\n');
      }
      else{
         return '';
      }
   }
   function checkCity(selValue,strOldObj,strNewObj,checkValue){
      if (selValue!=checkValue){
           window.document.getElementById(strOldObj).style.display='none';
           window.document.getElementById(strOldObj).options[0].selected=true;
           window.parent.document.getElementById(strNewObj).style.display='block';
      }
      else{
           window.document.getElementById(strOldObj).style.display='block';
           window.document.getElementById(strNewObj).style.display='none';
      }
   }
   function checkChangeTab(obj){
	  var key = (document.all) ? event.keyCode : e.which;
	  if (key==9){ 
       obj.focus();
      }
   }
   function tabInTextBox(obj) {
	var tabKeyCode = 9;
    if (event.keyCode == tabKeyCode && event.srcElement == obj) {
      obj.selection = document.selection.createRange();
      obj.selection.text = String.fromCharCode(tabKeyCode);
      event.returnValue = false;
    }
   }
   function checkTextChange(funcToDo){
	var booTextChange=false;
	booTextChange=booTextChange || (event.keyCode==keyShift);
	booTextChange=booTextChange || (event.keyCode==keyAlt);
	booTextChange=booTextChange || (event.keyCode==keyCtrl);
	booTextChange=booTextChange || (event.keyCode==keyPause);
	booTextChange=booTextChange || (event.keyCode==keyCapsLock);
	booTextChange=booTextChange || (event.keyCode==keyEsc);
	booTextChange=booTextChange || (event.keyCode==keyPageUp);
	booTextChange=booTextChange || (event.keyCode==keyPageDown);
	booTextChange=booTextChange || (event.keyCode==keyEnd);
	booTextChange=booTextChange || (event.keyCode==keyHome);
	booTextChange=booTextChange || (event.keyCode==keyLeft);
	booTextChange=booTextChange || (event.keyCode==keyUp);
	booTextChange=booTextChange || (event.keyCode==keyRight);
	booTextChange=booTextChange || (event.keyCode==keyDown);
	booTextChange=booTextChange || (event.keyCode==keyWindows);
	booTextChange=booTextChange || (event.keyCode==keyF1);
	booTextChange=booTextChange || (event.keyCode==keyF2);
	booTextChange=booTextChange || (event.keyCode==keyF3);
	booTextChange=booTextChange || (event.keyCode==keyF4);
	booTextChange=booTextChange || (event.keyCode==keyF5);
	booTextChange=booTextChange || (event.keyCode==keyF6);
	booTextChange=booTextChange || (event.keyCode==keyF7);
	booTextChange=booTextChange || (event.keyCode==keyF8);
	booTextChange=booTextChange || (event.keyCode==keyF9);
	booTextChange=booTextChange || (event.keyCode==keyF10);
	booTextChange=booTextChange || (event.keyCode==keyF11);
	booTextChange=booTextChange || (event.keyCode==keyF12);
	booTextChange=booTextChange || (event.keyCode==keyNumLock);
	booTextChange=booTextChange || (event.keyCode==keyScrollLock);  
	booTextChange=!(booTextChange);
	if (booTextChange){
       funcToDo();
    }
   }
// End of String function

function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.
 
	RETVAL:
		The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number
	
	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	
	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
		if (num > 0)
			tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
		else
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		
	// See if we need to put in the commas
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0){
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";
	}
	if (decimalNum>0 && tmpNumStr!=''){
		idx=tmpNumStr.indexOf(".")
		strZero="";
		if(idx<0){
			for(z=1;z<=decimalNum;z++){
				strZero=strZero.concat("0");
			}
			tmpNumStr=tmpNumStr.concat("."+strZero);
		}else{
			lenStr=tmpNumStr.length;
			diff=lenStr-idx;
			for(z=diff;z<=decimalNum;z++){
				strZero=strZero.concat("0");
			}
			tmpNumStr=tmpNumStr.concat(strZero);
		}
	}
	
	return tmpNumStr;		// Return our formatted string!
}

function checkTextPattern(obj,strPattern){
  			if (obj!=''){
				  var str = strPattern
				  var s,r; 
					 for (i=0;i<obj.length;i++){ 
						 s=obj.charAt(i)
					     r =str.indexOf(s);      //Search the string.
						 //alert(str+' : '+s+' '+r);
							if (r<0) {
								return false;
							}
						}
			 }
//Return the int result
//true= +int
//false= - int
return true;
}
function emailCheck(str){
	//alert("jfjfjosglsgdlkgskl");
	var s = str.value;
	var p = /.+@.+\..+/ig; 
	//alert(s);
	//alert(s.match(p));
	if (s.match(p)) {
		return true;
	}else{
		return  false;
	}
}

function isObject(obj){
   return obj=='[object]';
}

// Drag Drop Object
   var dragStart=false;
   var dragObj='';
   var dragX=0;
   var dragY=0;
   var dragToX=0;
   var dragToY=0;
   var startX=0;
   var startY=0;

   function startDragDrop(objSource,objDisplayMove,strCursorType){
      // startEvent
      if (isObject(objSource)){
          objSource.style.cursor=strCursorType;
	      dragStart=true;
		  dragObj=objDisplayMove;
	      startY=parseInt(obj.style.top);
		  startX=parseInt(obj.style.left);
	      dragFromX=event.screenX;
	      dragFromY=event.screenY;
	      document.onmousemove=moveDragObject;
	      document.onmouseup=stopDragDrop;
	  }
      return false;
   }
   function stopDragDrop(e){
      // endEvent
      dragStart=false;
      document.onmousemove='';
      document.onmouseup='';
      return false;
   }

   function moveDragObject(e){
      if (dragStart){
        // move object
        dragToX=event.screenX;
        dragToY=event.screenY;    
        dragObj.style.left=(startX+(dragToX-dragFromX))+'px';
        dragObj.style.top=(startY+(dragToY-dragFromY))+'px';
      }
      return false;
   }

   function startDrag(obj,strCursorType){
      // startEvent
      if (isObject(obj)){
          obj.style.cursor=strCursorType;
	      dragStart=true;
		  dragObj=obj;
	      startY=parseInt(obj.style.top);
		  startX=parseInt(obj.style.left);
	      dragFromX=event.screenX;
	      dragFromY=event.screenY;
	      document.onmousemove=moveDragObject;
	      document.onmouseup=stopDrag;
	  }
      return false;
   }
  
   function stopDrag(e){
      // endEvent
      dragStart=false;
      document.onmousemove='';
      document.onmouseup='';
      return false;
   }
// end drag drop object   

// Page Redirect Function
    function reloadPage(strURL,strTarget){
      if (strURL!=''){
         window.open(strURL,strTarget);
      }
      else{
         window.location.reload();
      }
    }
// End Page Redirect

// Tree
// Tree property
   if (typeof(strTreeBodyId)=='undefined'){
     var objReference=new Array();  // next sibling in the same level -- use in modTree.asp
     var queueFileLink=new Array();
     var intLastObjReferenceIndex=new Array();
     var intCurrentObjReferenceIndex=new Array();
     var intMaxObjReferenceIndex=49;
     var booClickEvent;
     var objHost;  // parent node of added object.
     objReference[0]=''; // initial value
     var strTreeFilename='';
     var strOverRideActionSubmit='';
     //var strFilename='';
     var strTreeBodyId=new Array();
     var strTreeRowId=new Array();
     var strPlusImg=new Array();
     var strMinusImg=new Array();
     var strNoChildImg=new Array();
     var strQueryString=new Array();
     var intInputNum=new Array();
     var loadTime=new Array();
     var queryString=new Array();
     var strCollectionName='';
     var intSuffixIndex=-1;
     var arrSuffix=new Array();
     var objSubTree=new Array();
     var arrBooProcess=new Array();
     var strOldTreeId='';
     var objOldHost='';
     var dynamicIsLoading=new Array();
     var wait_response=false;
     // change page
     var strChangePageFile='';
     var strRequestVar='';
     var intCurrentPage=0;
     // dialog
     var dialogName='';
     var dialogValue=new Array();
     var dialogParamNameList=new Array();
     var dialogObjForm='';
   }
   if (strFilename=='undefined'){
      var strFilename='';
   }
   if (!checknumtype(intCurrentObjReferenceIndex[strFilename])){intCurrentObjReferenceIndex[strFilename]=0;intLastObjReferenceIndex[strFilename]=0;}
       	     
//   strFilename=getFilename();
   //intLastObjReferenceIndex=intLastObjReferenceIndex+1;
   booClickEvent=false;
// end tree property
    // this function will clear data of tree
    function clearTreeData(){
       objHost=null;
       booClickEvent=false;
    }
    // this function create sub tree under itself
	function createTreeChild(objOrigin,thisfilename,arrInput,booOverrideAutoInput){       
	 if (arrBooProcess[thisfilename]!='1'){
	   arrBooProcess[thisfilename]='1';
	   // Queue   
	   if (intLastObjReferenceIndex[thisfilename]<intMaxObjReferenceIndex){
	      intLastObjReferenceIndex[thisfilename]=intLastObjReferenceIndex[thisfilename]+1;	   
	   }
	   else{
	      intLastObjReferenceIndex[thisfilename]=0;
	   }
	   objReference[thisfilename+intLastObjReferenceIndex[thisfilename]]='';
	   // End Queue
	   //objHost=objParent;
	   if (objOrigin){
	      if (objOrigin.nextSibling){
       	     objReference[thisfilename+intLastObjReferenceIndex[thisfilename]]=objOrigin.nextSibling;
//       	     alert(objReference[thisfilename+intLastObjReferenceIndex[thisfilename]]);
//       	     alert(intLastObjReferenceIndex[thisfilename]);
//       	     alert(intCurrentObjReferenceIndex[thisfilename]);
//       	     alert(intCurrentObjReferenceIndex[thisfilename]);
//	         objParent.insertBefore(objChild,objOrigin.nextSibling);
	      }
	      else{
//	         objParent.appendChild(objChild);
	      }	      
	   }
	   else{
//	      //objReference=objOrigin;
//	      objParent.appendChild(objChild);
	   }
//	   alert(thisfilename+'&queueIndex='+intLastObjReferenceIndex);
	   booClickEvent=true;
//	   if (window.wait_response!=true){
//	      window.wait_response=true;
//"iframe/"+strTreeFilename+strFileSuffix[1]+".asp?"+strQueryString[strTreeFilename]+"intTreeLevel="+(parseInt(this.parentNode.parentNode.treeLevel)+1)+&inputNum="+intInputNum[strTreeFilename]+"&loadTime="+window.loadTime[strTreeFilename]
    	  var objIframeProcess=window.document.getElementById(thisfilename+strFileSuffix[1]);
//   	      objIframeProcess.src=thisfilename+'&queueIndex='+intLastObjReferenceIndex+'&booClickEvent=true';
   	      //thisfilename,arrInput
   	      if (strQueryString[thisfilename]=='undefined' || strQueryString[thisfilename]==null){
   	         strQueryString[thisfilename]='';
   	      }
   	      var treeRefValue='';
   	      var treeId='';
   	      var treeLevel='';
   	      if (objOrigin=='[object]'){
   	          treeRefValue=objOrigin.treeRefValue;
   	          treeId=objOrigin.treeId;
   	          treeLevel=objOrigin.treeLevel;
   	      }
   	      if (!booOverrideAutoInput){
   	          objIframeProcess.src='iframe/'+thisfilename+strFileSuffix[1]+'.asp?'+strQueryString[thisfilename]+'m_load=true&parentRefValue='+treeRefValue+'_'+treeId+'&intTreeLevel='+(parseInt(treeLevel)+1)+arrInput+'&loadTime='+window.loadTime[thisfilename]+'&queueIndex='+intLastObjReferenceIndex[thisfilename]+'&booClickEvent=true&testTime='+Date();
   	      }
   	      else{
   	          objIframeProcess.src='iframe/'+thisfilename+strFileSuffix[1]+'.asp?'+arrInput+'&testTime='+Date();
   	      }
//	   }
	   //alert(window.temp[0].childNodes[0].childNodes[0].onclick);
	 } // end if arrBooProcess!='1'
	} // end function 
	
	// this function change image of object
	function changeImg(objImg,strNewSrc){
	   if (objImg!=null && objImg!='undefined' && objImg!=''){
	    objImg.src=strNewSrc;
	   }
	}
	
	// this function show or hide sub tree; dependent on function createTreeChild -- same property
	function sht(objOrigin,thisfilename,arrInput,objSourceClick,strShowImgSrc,strHideImgSrc,strNoChildImgSrc){
	  var strSubTreeName=objOrigin.treeName+'_'+(parseInt(objOrigin.treeLevel)+1)+'_'+objOrigin.treeRefValue+'_'+objOrigin.treeId;
	  var intSubTreeLength=-1;
	  var intSubTreeCount=-1;
	  var intMeTreeLevel=objOrigin.treeLevel;
	  var booActionInheritSubTreeStart=0;
	  var timeout=0;
	  var intFirstAction=3;  // not know that object show or hide ,0=hide,1=show,2=no child
	  var strOldImgSrc;
	  var intOldImgWidth;
	  var intOldImgHeight;

 	   if (objSourceClick!=null && objSourceClick!='undefined' && objSourceClick!=''){
 	       if (objSourceClick.nodeName=="IMG"){
 	           strOldImgSrc=objSourceClick.src;
 	           intOldImgWidth=objSourceClick.width;
 	           intOldImgHeight=objSourceClick.height;
 	           objSourceClick.src=strNoChildImgSrc
 	           if (objSourceClick.src==strOldImgSrc){
 	              return null;
 	           }
 	           else{
 	              objSourceClick.src==strOldImgSrc;
 	           }
 	       }
	   }
	   if (window.document.getElementById(strSubTreeName)=='[object]'){
	       objSubTree[strSubTreeName]=window.document.getElementById(strSubTreeName);
	   }
	   if (objSubTree[strSubTreeName]=='undefined' || objSubTree[strSubTreeName]==null || objSubTree[strSubTreeName]=='test'){
	     if (objSubTree[strSubTreeName]!='test'){
	        objSubTree[strSubTreeName]='test';   	     
	 	    createTreeChild(objOrigin,thisfilename,arrInput);
//	 	    objSubTree=window.document.getElementById(strSubTreeName);
//w	 	    if (objSubTree=='undefined' || objSubTree==null){
//w	 	       intFirstAction=2;  // no child
//w	 	    }
//w	 	    else{
	 	       intFirstAction=1;
//w	 	    }
         }
	   }
	   else{
	     while (objSubTree[strSubTreeName]!=null && timeout<100000){
	        timeout++;
            if (objSubTree[strSubTreeName].id==strSubTreeName || (booActionInheritSubTreeStart==1 && objSubTree[strSubTreeName].treeLevel>intMeTreeLevel)){
                   if (intFirstAction==3){ //not known have child or not
	                  intFirstAction=showhide(objSubTree[strSubTreeName]);
                      objSubTree[strSubTreeName].treeShow=intFirstAction;
	               }
	               else{
	                  if (intFirstAction==0){  // hide all and set treeShow property to 0 (set treeShow only subTree lv.0)
	                     hideobj(objSubTree[strSubTreeName]);
	                     if (objSubTree[strSubTreeName].treeLevel==(parseInt(intMeTreeLevel)+1)){
	                         objSubTree[strSubTreeName].treeShow=intFirstAction;
	                     }
	                  }
	                  else{ 
	                     if (intFirstAction==1){  // show subTree lv.0 and other lv. which have property treeShow==1
	                         if (objSubTree[strSubTreeName].treeLevel==(parseInt(intMeTreeLevel)+1)){
	                            objSubTree[strSubTreeName].treeShow=intFirstAction;
	                         }
	                         if (objSubTree[strSubTreeName].treeShow==intFirstAction){
	                            showobj(objSubTree[strSubTreeName]);
	                         }
	                     }
	                  }
	               }
	               booActionInheritSubTreeStart=1;
	        }
	        else{
				if (booActionInheritSubTreeStart==1 && objSubTree[strSubTreeName].treeLevel<=intMeTreeLevel){
				   booActionInheritSubTreeStart=0;
				}
	        }
	        if (objSubTree[strSubTreeName].nextSibling!=null && objSubTree[strSubTreeName].nextSibling!='undefined'){
                objSubTree[strSubTreeName]=objSubTree[strSubTreeName].nextSibling;
	        }
	        else{
	            objSubTree[strSubTreeName]=null;
	        }
	     } // end while   	     
	   } // end else from if objSubTree[strSubTreeName]=='undefined' || objSubTree[strSubTreeName]==null
       // change Image
       if (objSourceClick=='[object]'){
          if (objSourceClick.nodeName=='IMG'){
            switch (intFirstAction){
              case 0: 
                  objSourceClick.src=strShowImgSrc; 
                  break;
              case 1: 
                  objSourceClick.src=strHideImgSrc; 
                  break;
              case 2: 
                  objSourceClick.src=strNoChildImgSrc;
                  break;
            }
          }
        }
        // end change Image
	   return objSubTree[strSubTreeName];
	}
// End Tree

// Start of Database
	function selectDbCommand(objSelect,objTextarea,booBeforeRecord,booBeforeField,booAfterField,booAfterRecord){
	  switch (objSelect){
	   case "Select":
	      objTextarea.value=""
	      break;
	   case "Insert":
	      objTextarea.value=""
	      break;
	   case "Update":
	      objTextarea.value=""
	      break;	      
	   case "Delete":  
	      objTextarea.value=""
	      break;	      
	  }
	}
// End of Database


// Calculator function
var cal_operatorPattern='+-*/=';
var cal_var1=0;
var cal_var2=0;
var cal_operator1="+";
var cal_showNum=false;
var cal_clear=false;
var cal_tempOper="";
var cal_tempVar2=0;
var cal_resultLength=0;
var cal_prepareClearValue=false;
function clearAllValue(objShow){
		cal_var1=0;
		cal_var2=0;
		cal_operator1="+";
		cal_showNum=false;
		cal_clear=false;
		objShow.value=0;
		cal_tempOper="";
		cal_tempVar2=0;
		cal_resultLength=0;
		//cal_prepareClearValue=false;
		return
}
function getCalculator(txt,objShow){
	if (checkEscape()){
	    return clearAllValue(objShow);
	}
	if (checkBackSpace() && !cal_showNum){
		objShow.value=cal_var2;
		return false;
	}
	if (txt!=""){
		if (checkBackSpace() && !cal_showNum){
			objShow.value=cal_var2;
			return
		}
		if (checkEnter()){
			cal_now_digit="=";
		}else{
			cal_now_digit=txt.charAt((txt.length)-1);
		}
		if (cal_now_digit=="!"){
			return clearAllValue(objShow);
		}
		if (!(checkTextPattern(cal_now_digit,cal_operatorPattern))){
			//not operator
			if (!(checknumtype(cal_now_digit))){
				//not number
				if (cal_now_digit!="."){
					r=replaceSubstring(txt, cal_now_digit, "");
					objShow.value=r;
				}
			}else{
				//is number
				if (cal_clear){
					if (cal_tempOper=="="){
					    cal_prepareClearValue=true;
					}
					cal_now_digit=txt.substring(cal_resultLength,txt.length);
					objShow.value=cal_now_digit;
					cal_clear=false;
					cal_showNum=true;
					cal_var2=cal_now_digit;					
					return
				}
				cal_var2=Number(txt);
				objShow.value=cal_var2;
				cal_clear=false;
				cal_showNum=true;
			}
		}else{
			//is operator
			if (txt.charAt(0)=="-" && cal_now_digit=="-"){
				cal_tmp_oper_multiple=-1;
			}else{
				cal_tmp_oper_multiple=1;
			}
			r=replaceSubstring(txt, cal_now_digit, "");
			r=Number(r)*(cal_tmp_oper_multiple);
			objShow.value=r;
			cal_clear=true;
			if (cal_prepareClearValue && cal_now_digit!="="){
			    cal_var1=0;
				cal_prepareClearValue=false;
			}
			if ((cal_operator1!="")&&((cal_showNum)||(cal_now_digit=="="))){
                // check multiple pressing of "="
				if (cal_now_digit=="=" && cal_now_digit==cal_tempOper){
				    cal_var2=cal_tempVar2;
				}
				// Store old 2nd Operand
				cal_tempVar2=cal_var2;
				// end store
				cal_var1=calProcess(cal_var1,cal_operator1,cal_var2);
				cal_resultLength=cal_var1.toString().length;
				cal_var2=cal_var1;
				objShow.value=cal_var2;
				cal_showNum=false;
				if (cal_now_digit!="="){
					cal_operator1=cal_now_digit;
				}else{
					cal_showNum=false;
				}
			}
			if (cal_now_digit!="="){
			    cal_operator1=cal_now_digit;
			}
			// Store old operator
			cal_tempOper=cal_now_digit;
			// end store
		}
	}
}

//////////////////////////////////////////////////
function calProcess(operand1,operator,operand2){
	switch (operator)
	{
		case "+" :
			nowValue=Number(operand1)+Number(operand2);
			break;
		case "-" :
			nowValue=Number(operand1)-Number(operand2);
			break;
		case "*" :
			nowValue=Number(operand1)*Number(operand2);
			break;
		case "/" :
			nowValue=Number(operand1)/Number(operand2);
			break;
		default :
			alert("Error Operator : Available only + - * /");
			break;
	}	//end switch operator
//	alert(operand1+operator+operand2);
	return nowValue;
}
// end Calculator

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++ USER DEFINE JAVA FUNCTION ++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function reSizeWin(){
var x = ((navigator.platform.indexOf('Win') > -1) ? xwin : xmac);
var y = ((navigator.platform.indexOf('Win') > -1) ? ywin : ymac);
window.resizeTo(x,y);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function toggleMenuLeft(objTD,objIMG,objMenuZone){
	if (objMenuZone!=null){
		//objTD=window.menu_left_sub_authorization_td;
		//objIMG=window.frmAdd.menu_left_sub_authorization_img;
		if (objMenuZone.style.display=="none"){
			objTD.background="../../main/html/images/slide_in_over_01.gif";
			objIMG.src="../../main/html/images/slide_in_02.gif";
		}else{
			objTD.background="../../main/html/images/slide_over_01.gif"
			objIMG.src="../../main/html/images/slide_02.gif";
		}
	}
	showhide(objMenuZone);
}
function changebackground(obj,color)
{
	obj.style.backgroundColor=color;
}
function checkConfirm(str){
    return confirm(str);
}
function getFilename(){
      var strTempFilename;
      var booStartGetFilename=false;
      var booEndGetFilename=false;
      var strChar;
      var strResult;
      var dotAspPos=-1;
      strTempFilename=location.href;
      strTempFilename=strTempFilename.toLowerCase();
      strResult='';
      for (i=strTempFilename.length-1;(i>=0 && booEndGetFilename==false);i--){
          strChar=strTempFilename.substring(i,i+1);
          if (strChar=='/'){
			 booStartGetFilename=false;
             booEndGetFilename=true;
          }
          if (booStartGetFilename==true){
             strResult=strChar+strResult;
          }
          if (strChar=='.'){
             booStartGetFilename=true;
          }
      }
      if (strResult!=''){
         dotAspPos=strResult.indexOf('.asp');
         if (dotAspPos>0){
              strResult=strResult.substring(0,dotAspPos);
         }
      }

      return strResult;
}

function defaultResetForm(){
    if (window.document.actionForm=='[object]'){
        //window.document.actionForm.reset();
        window.document.getElementById(strFilename+'_process_request').src='iframe/'+strFilename+'_process_request.asp?m_load=true&loadAll=true&loadTime='+loadTime[strFilename]+'&testDate='+Date();
    }
}
function defaultDeleteForm(){
	if (confirm("Are you sure?")){
		if (window.document.actionForm=='[object]'){
			window.document.actionForm.confirm.value="delete"
			defaultSubmitForm();
			window.document.actionForm.confirm.value="ready"
		}
	}
}
function defaultSubmitForm(booBrowse,booClose,booReverseBrowse,strOpenFileName){
  var countWhile=0;
  if (dynamicIsLoading[strMainFilename]!=false){
    alert("กำลังโหลดข้อมูล กรุณารอสักครู่ค่ะ");
  }
  else{
    if (!booBrowse){
      if (window.document.actionForm=='[object]'){
        window.document.actionForm.submit();
      }
    }
    else{
      for (i=0;i<dialogParamNameList.length;i++){
		dialogValue[dialogParamNameList[i]]='';
		dialogValue[dialogParamNameList[i]]=collectValue(dialogParamNameList[i],dialogObjForm);
      }
	  if (booReverseBrowse){
	  	  newWin=window.open(strOpenFileName,'ReverseBrowseWindow','scrollbars=yes');
		  //countWhile=0;
		  //while (window.newWin.document.onBrowseSubmit!='undefined' && countWhile<50){countWhile++};
		  //window.newWin.document.onBrowseSubmit(window.dialogName,window.dialogValue);

	  }else{
		  window.opener.document.onBrowseSubmit(window.dialogName,window.dialogValue);
	  }
    }
    if (booClose){
       window.close();
    }
  }
 
}
function defaultSetFormAction(strActionTo,strTarget){
    if (window.document.actionForm=='[object]'){    
        window.document.actionForm.action=strActionTo;
        window.document.actionForm.target=strTarget;
    }
}
        function createTree(nodeToCopy,mstrDomCode,mstrLevel,mstrTreeName,whiteSpace,booRemChildNode,mstrSuffix){
         var tempTextNode;
         var attributeNode;
         var objectNode;
         var objHost=null;
         var mstrJavaTreeId="";
         var mstrJavaTreeName="";
         if (objHost!=null || window.document.getElementById(mstrDomCode)!=null && window.document.getElementById(mstrDomCode)!='undefined'){
          if (objHost==null){ 
			objHost=window.document.getElementById(mstrDomCode).parentNode;
          }
          if (objHost=='[object]'){
           objectNode=nodeToCopy;
//        ' add level attribute
           attributeNode=window.document.createAttribute('treeLevel');
           attributeNode.value=mstrLevel;
           objectNode.setAttributeNode(attributeNode);
//'d         alert(objectNode.treeLevel);
//        ' end add level
//        ' add treeName attribute
           attributeNode=window.document.createAttribute('treeName');
           attributeNode.value=mstrTreeName;
           objectNode.setAttributeNode(attributeNode);
//'d         alert(objectNode.treeLevel);
//        ' end add treeName
//        ' add treeShow attribute
           attributeNode=window.document.createAttribute('treeShow');
           attributeNode.value=1;
           objectNode.setAttributeNode(attributeNode);
//'d         alert(objectNode.treeShow);
//        ' end add treeName
//        ' add space
           if (objectNode.childNodes[0]){
               //alert("     "+objectNode.childNodes[0].innerHTML);
               if (objectNode.childNodes[0].childNodes[0]){
                 tempTextNode=window.document.createTextNode();
                 tempTextNode.nodeValue=whiteSpace;
                 objectNode.childNodes[0].innerHTML=whiteSpace+objectNode.childNodes[0].innerHTML;
                 //objectNode.childNodes[0].insertBefore(tempTextNode,objectNode.childNodes[0].childNodes[0]);
               }
        //' end add space
            }
        mstrJavaTreeId = mstrTreeName+"_"+mstrLevel+"_"+mstrSuffix;
        mstrJavaTreeName = mstrJavaTreeId;
        if (booRemChildNode==true){
              window.objOldHost=objHost;
              window.strOldTreeId=mstrJavaTreeId;
        }
           window.nodeManager1.copyNode(objectNode,objHost,window.document,'',mstrJavaTreeId,mstrJavaTreeName,window.objReference[window.intCurrentObjReferenceIndex],true,true,true,false,false,'');
          }
         } // end check parent object is null
         //window.nodeManager1.removeChildWithIndex(objectNode.parentNode.parentNode,objectNode.parentNode,0);
         objectNode=null;attributeNode=null;tempTextNode=null;
        } // end create tree

function changeDivCaption(hideId,strCaption){
		      var i=0;
			  var hide1=window.parent.document.getElementById(hideId);
			  if (hide1!='undefined' && hide1!=null){
			    var hideParent=hide1.parentNode;
                eval('var hideLength=window.'+hideId+'.length');
				if (!(checknumtype(hideLength))){
					eval('window.'+hideId+'.innerHTML=strCaption');
				}
				else{
 				  for (i=0;i<hideLength;i++){
					eval('window.'+hideId+'['+i+'].innerHTML=strCaption');
				  }
			    }
		      }		
}

function createFunction(objHost,objEvent,strFuncDetail){
     eval('objHost.'+objEvent+'=function(e){'+strFuncDetail+'};');
}

function focusFirstObject(strInputType,strNodeName){
	for(iaa=0;iaa<document.all.length;iaa++){
		nowObj=document.all[iaa];
		if (nowObj.nodeName.toLowerCase()==strNodeName.toLowerCase() && nowObj.type.toLowerCase()==strInputType.toLowerCase()){
			//alert(nowObj.name+" : "+nowObj.nodeName+" : "+nowObj.type);
			nowObj.focus();
			break;
		}
	}
}

// FUNCTION FOR WINDOWS MEDIA PLAYER
//alert(obj.currentMedia.name);		Title Name
//player.playlistCollection.newPlaylist(name);		create playlist :: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmplay10/mmp_sdk/playlistcollectionobject.asp

function wmURL(obj,filename) {
	obj.Url=filename;
}
function wmStop(obj){
	obj.controls.stop();
}
function wmPlay(obj){
	obj.controls.play();
}
function wmPause(obj){
	obj.controls.pause();
}
function wmMute(obj){
	obj.settings.mute=!obj.settings.mute;
}
function wmVolum(obj,boo){
	var conVolum=10;
	if (boo){
		obj.settings.volume=obj.settings.volume+conVolum;
	}else{
		obj.settings.volume=obj.settings.volume-conVolum;
	}
}
function wmFullScreen(obj,boo){
	obj.fullScreen=boo;
}
// -->

