// start - for mouse over functions

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_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_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 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];}
}

// end - for mouse over functions

// 10.12.5; wiseobject
function wz_getObj( id, doc ) {
	if ( !doc )
		doc = document;
	if ( doc.all && !doc.getElementById ) {
		return doc.all[id];
	} 
	return doc.getElementById(id);
}

/**
 * wz_getVar() - parse a variable from the current URL 
 *
 * @author: wiseobject
 * @date: 11/7/5
 */
function wz_getVar( key, url ) {
	if ( url == undefined )
		url = location.href;
	var k = key+"=";
	var n = url.indexOf(k);
	if ( n == -1 ) 
   		return "";
	var e;
	for ( e = n+k.length; e < url.length; e ++ ) {
		if ( url.charAt(e) == '&' ) break;
	}
	return unescape(url.substring(n+k.length,e));
}

/**
 * wz_setVar()
 *
 * @author: wiseobject
 * @date: 10/16/6
 */
function wz_setVar( key, val, url ) {
	if ( !url )
		url = location.href;
	var k = key+"=";
	var n = url.indexOf(k);
	if ( n == -1 )
   		return wz_urlConcat(url,key+"="+escape(val));
	var e;
	for ( e = n+k.length; e < url.length; e ++ ) {
		if ( url.charAt(e) == '&' ) break;
	}
	url = url.substring(0,n)+url.substring(e+1,url.length);
  	return wz_urlConcat(url,key+"="+escape(val));
}

/**
 * wz_urlConcat()
 *
 * @author: wiseobject
 * @date: 10/16/6
 */
function wz_urlConcat( url, params ) {
	if ( url.indexOf("?") == -1 )
		return (url+"?"+params);
	var ch = url.charAt(url.length-1);	
	if ( ch && ch != '&' && ch != '?' )
		params = "&"+params;
	return (url+params);
}	

/**
 * wz_autoSubmit() - auto click's submit_btn if ENTER key is pressed
 *
 * @author: wiseobject
 * @date: 11/8/5
 */
function wz_autoSubmit( key_code, submit_btn ) {
	if ( !key_code )
		key_code = event.keyCode;
	if( key_code == 13 )
		submit_btn.click();	
}			

/**
 * wz_setFocus() - sets focus to a user control
 *
 * @author: wiseobject
 * @date: 12/5/5
 */
function wz_setFocus( _this ) {
	_this.focus();
	_this.select();
}

/* use for filter input characters */

function filter_input_keypress(e,allowed)
	{
		var key;
		var keychar;
		if (window.event)
	 		key = window.event.keyCode;
		else if (e)
	 		key = e.which;
		else
	 		return true;

	 	//alert(e.Which);
		keychar = String.fromCharCode(key);
		keychar = keychar.toLowerCase();
		// control keys
		if ((key==null) || (key==0) || (key==8) || 
 		(key==9) || (key==27) || (key==13))
 		return true;
		// alphas and numbers
		else if (((allowed).indexOf(keychar) > -1))	
 			return true;
		else
 	  	return false;
	}

function filter_input_includeexclude_keypress(e,allowed)
	{
		var key;
		var keychar;
		if (window.event)
	 		key = window.event.keyCode;
		else if (e)
	 		key = e.which;
		else
	 		return true;

	 	//alert(e.Which);
		keychar = String.fromCharCode(key);
		keychar = keychar.toLowerCase();
		// control keys
		if ((key==null) || (key==0) || (key==8) || 
 		(key==9) || (key==27))
 		return true;
		// alphas and numbers
		else if (((allowed).indexOf(keychar) > -1))	
 			return true;
		else
 	  	return false;
	}

function filter_input_keyup( textbox, allowed )
	{
		BadString = checkNotAllowedIsPresent( textbox.value, allowed )
		if (BadString == true)
		{
			// alert('BadCharacter');
			textbox.value=returnAllowedString( textbox.value, allowed);
		}
	}

function RemoveBadCharacters(strTemp) { 
    strTemp = strTemp.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,""); 
    return strTemp;
} 

var kb_Allowed_Alpha = 	'abcdefghijklmnopqurstuvwxyz ';
var kb_Allowed_AlphaNumeric = 'abcdefghijklmnopqurstuvwxyz01234567890 ';
//var kb_Allowed_AlphaNumeric_global_mtd = 'abcdefghijklmnopqurstuvwxyz01234567890 \'"';
var kb_Allowed_AlphaNumeric_global_mtd = '-&abcdefghijklmnopqurstuvwxyz01234567890 \'"'; // added hyphen and &
var kb_Allowed_Decimal = '01234567890.';
var kb_Allowed_Date = '01234567890/';
var kb_Allowed_Numeric = '01234567890';

function returnAllowedString( str, allowed )
{
	var 	resultStr = "";

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";
	// make all lowercase
	allowed = allowed.toLowerCase();
	// str = str.toLowerCase();

	// Loop through entire string, adding each character from the original
	// string if it is a number
	for (var i=0; i <str.length; i++)
	{
		char_code = str.charAt(i).toLowerCase();
   		present = allowed.indexOf( char_code );
   		if (present > -1)
   		{
			resultStr = resultStr + str.charAt(i);
		}
 
   } // end for loop      

   return resultStr;

}

function checkNotAllowedIsPresent( str, allowed )
{
	var 	resultStr = "";

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	// str += "";

	// Loop through entire string, adding each character from the original
	// string if it is a number
	str = str.toLowerCase();
	present=0;
	for (var i=0; i < str.length; i++)
	{
		char_code = str.charAt(i);
   		present = allowed.indexOf( char_code );
		
  		if (present < 0)
   			{
   				// alert( char_code + " " + present );
				//resultStr = resultStr + str.charAt(i);
				return true;
			}
	} // end for loop      


   return false;
}


/*
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}*/


function trim(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}


function alternate_table(id){ 
 if(document.getElementsByTagName){  
   var table = document.getElementById(id);   
   
   //var tbody = table.getElementsByTagName("tbody"); 
   //var rows = table.getElementsByTagName("tr");   
   //alert( table.rows.length );
   if (table!=null)
   {
       var rows = table.rows;
       for(i = 0; i < rows.length; i++){           
	    //alert(i);
     //manipulate rows 
         if(i % 2 == 0){ 
           rows[i].className = "itemtemplate"; 
         }else{ 
           rows[i].className = "alternatingitemtemplate"; 
         }       
       } 
   }    
 } 
}


function CblClick(sThis, e)
{
	var sItems = sThis.getElementsByTagName("input");
	var sItemLen = sItems.length;
	
	if (!document.all) {
		if (!e) e=window.event;
		var sCheckedItem = e.target.id.substring(e.target.id.lastIndexOf("_")+1, e.target.id.length);	
		e.cancelBubble;
		}
	else
	{
		
		var sCheckedItem = e.srcElement.id.substring(e.srcElement.id.lastIndexOf("_")+1, e.srcElement.id.length);
		e.cancelBubble;
	}
	
	if(sCheckedItem == "0")
	{	
		
		if(sItems.item(0).checked)
		{
			for(var i=1; i < sItemLen; i++)
			{
				sItems.item(i).checked = false;
			}
		}	
	}
	else
	{
		sItems.item(0).checked = false;
	}		
}


function mbook_selectItem( item_id, item_name, item_desc, period_id, price, comment ) 
{
	wz_getObj("item_name").innerHTML = '<strong>'+item_name+'($'+price+')'+'</strong>';
	wz_getObj("item_desc").innerHTML = item_desc;
	
	if (wz_getObj("ctl00_Body_PageBody_item_id")!=null)
	{
	    wz_getObj("ctl00_Body_PageBody_item_id").value = item_id;
    	wz_getObj("ctl00_Body_PageBody_period_id").value = period_id;
	    wz_getObj("ctl00_Body_PageBody_comment").value = comment;
	    wz_getObj("ctl00_Body_PageBody_comment").focus();
	}
	else
	{
	    wz_getObj("ctl00_Body_item_id").value = item_id;
    	wz_getObj("ctl00_Body_period_id").value = period_id;
	    wz_getObj("ctl00_Body_comment").value = comment;
	    wz_getObj("ctl00_Body_comment").focus();
	}
	
	
	
}	

/**
 * wz_setFocus() - sets focus to a user control
 *
 * @author: wiseobject
 * @date: 12/5/5
 */
function wz_setFocus( _this ) {
	_this.focus();
	_this.select();
}

/**
 * wz_ensureNumber() - accept's only digit and period
 *
 * @author: wiseobject
 * @date: 12/5/5
 */
function wz_ensureNumber( key_code, _this, allow_dec ) {
	// check for next char if valid
	if ( !key_code )
		key_code = event.keyCode;
	//alert(key_code);	
	if (allow_dec==null) allow_dec=false;
	if (!allow_dec && key_code == 46) //period
	{
	    return false;
	}
	if( !((key_code >= 48 && key_code <= 57) || key_code == 190 || key_code == 45) ) {
		return false;
	}	
	return true;
}			

function wz_ensureDecimalCount( _this, dec_cnt ) {
	if ( !dec_cnt )
		dec_cnt = 0;
	//alert(dec_cnt);
	var i = _this.value.indexOf(".");
	if ( i >= 0 ) {
		if ( (_this.value.length - i - 1) > dec_cnt ) {
			alert("Must NOT have more than "+dec_cnt+" decimal place(s).");
			return false;
		}	
	}
	return true;
}
function return_rowcount_table(tableName) {
    var obj = document.getElementById(tableName);
    if (obj == null) return 0;
    var rowcount = obj.getElementsByTagName("TR").length;
    return rowcount;
}
