function setObjAble(objId, enabled)
{
    $(objId).disabled =  enabled ? "" : "disabled";
}
function alertObj(o)
{
    var t = "";
    for(var p in o)
    {
        t += p + "=" + o[p] + "\n";
    }
    alert(t);
}
function isIn(val)
{var r=0;for(var x=1;x<isIn.arguments.length;x++)
{r=(val==isIn.arguments[x]);if(r){return 1;}}
return 0;}
function pageWidth()
{return(window.innerWidth!==null)?window.innerWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:document.body!=null?document.body.clientWidth:null;}
function pageHeight()
{return(window.innerHeight!==null)?window.innerHeight:document.documentElement&&document.documentElement.clientHeight?document.documentElement.clientHeight:document.body!=null?document.body.clientHeight:null;}
function posLeft()
{return typeof window.pageXOffset?window.pageXOffset:document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft?document.body.scrollLeft:0;}
function posTop()
{return typeof window.pageYOffset?window.pageYOffset:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop?document.body.scrollTop:0;}
function posRight()
{return posLeft()+pageWidth();}
function posBottom()
{return posTop()+pageHeight();}
function purge(d)
{if(!d){return;}
var a=d.attributes,i,l,n;if(a)
{l=a.length;for(i=0;i<l;i+=1)
{n=a[i].name;if(typeof d[n]==='function')
{d[n]=null;}}}
a=d.childNodes;if(a)
{l=a.length;for(i=0;i<l;i+=1)
{purge(d.childNodes[i]);}}}
function createCookie(name,value,days)
{var expires="";if(days)
{var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}
document.cookie=[name,"=",value,expires,"; path=/"].join("");}
function readCookie(name)
{var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++)
{var c=ca[i];while(c.charAt(0)===' '){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)===0){return c.substring(nameEQ.length,c.length);}}
return null;}
function eraseCookie(name)
{createCookie(name,"",-1);}
function getSimpleDate(date)
{var y=date.getFullYear();var m=date.getMonth()+1;var d=date.getDate();var result=m+"/"+d+"/"+y;return result;}
Date.ONE_SECOND=1000;Date.ONE_MINUTE=Date.ONE_SECOND*60;Date.ONE_HOUR=Date.ONE_MINUTE*60;Date.ONE_DAY=Date.ONE_HOUR*24;Date.prototype.getDateInDays=function(d)
{return new Date(this.getTime()+d*Date.ONE_DAY);};function addDays(date,days)
{return date.getDateInDays(days);}
function rTrim(STRING)
{while(STRING.charAt((STRING.length-1))==" ")
{STRING=STRING.substring(0,STRING.length-1);}
return STRING;}
function lTrim(STRING)
{while(STRING.charAt(0)==" ")
{STRING=STRING.replace(STRING.charAt(0),"");}
return STRING;}
function trim(STRING)
{STRING=lTrim(STRING);return rTrim(STRING);}
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };
var dragbyclass=function(e)
{var ie=document.all;var ns=document.getElementById&&!ie;var fobj=ns?e.target:event.srcElement;if(fobj.tagName=="DIV"&&fobj.className=="draggable")
{var ev=e||event;var offsetx=ev.clientX-fobj.offsetLeft;var offsety=ev.clientY-fobj.offsetTop;document.onmousemove=function()
{fobj.style.left=ev.clientX-offsetx;fobj.style.top=ev.clientY-offsety;return false;};fobj.onmouseup=function()
{document.onmousemove=null;};}};function setDragging()
{document.onmousedown=dragbyclass;}
var Globales={Usuario:{idUsuario:-1,Nombre:"Default",Rol:"",HoraLogeado:new Date()},Admin_Mode:0,NO_DATOS_WINDOW:"<strong style='cursor: hand; color:Red;' onclick='closeWindow();'>No datos para mostrar. Haga click aqui para cerrar.</strong>"};function StringBuffer()
{this.__strings__=[];}
StringBuffer.prototype.append=function(str)
{this.__strings__.push(str);};StringBuffer.prototype.toString=function(sep)
{if(!sep)sep='';return this.__strings__.join(sep);};function getURLParam(strParamName,defVal)
{var strReturn="";var strHref=window.location.href;if(strHref.indexOf("?")>-1)
{var strQueryString=strHref.substr(strHref.indexOf("?")+1).toLowerCase();var aQueryString=strQueryString.split("&");for(var iParam=0;iParam<aQueryString.length;iParam++)
{if(aQueryString[iParam].indexOf(strParamName.toLowerCase()+"=")>-1)
{var aParam=aQueryString[iParam].split("=");strReturn=aParam[1];break;}}}
if(defVal)
{if(!strReturn){strReturn=defVal;}}
return strReturn;}
var _SERVER_="apWSvr.aspx";var _NO_DATA_="<strong>No datos encontrados</strong>";function fillObject(url,params,obj,afterComplete)
{var idUsuario="&idUsr="+Globales.Usuario.idUsuario;var rp=getRandParam()+params+idUsuario;purge($(obj));$(obj).innerHTML="<IMG SRC='images/indicator.gif' /><strong> Cargando...</strong> ";function fill(originalRequest)
{$(obj).innerHTML=originalRequest.responseText;if(afterComplete){afterComplete();}}
var myAjax=new Ajax.Request(url,{parameters:rp,onComplete:fill});}
function getRandParam()
{return"";}
function fillObjectValue(url,params,obj)
{var idUsuario="&idUsr="+Globales.Usuario.idUsuario;var rp=getRandParam()+params+idUsuario;var myAjax=new Ajax.Updater(obj,url,{parameters:rp,asynchronous:false});}
function getDataSync(url,params)
{workingIcon(1);var idUsuario="&idUsr="+((Globales.Usuario.idUsuario)?Globales.Usuario.idUsuario:"");var rp=getRandParam()+params+idUsuario;var myAjax=new Ajax.Request(url,{parameters:rp,asynchronous:false});var result=myAjax.transport.responseText;workingIcon(0);return result;}
function getGridXMLFile(url,params)
{workingIcon(1);var idUsuario="&idUsr="+Globales.Usuario.idUsuario;var rp=getRandParam()+params+idUsuario+"&gridXML=1";var myAjax=new Ajax.Request(url,{parameters:rp,asynchronous:false});var result=myAjax.transport.responseText;workingIcon(0);return result;}
function chkError(obj)
{try
{if(obj.length>0)
{if(obj[0].Error)
{return obj[0].Mensaje;}}}
catch(err)
{return"Error!!"+err.description;}}
function HandleError(result)
{var error=chkError(result);if(error)
{if(error!==""){alert("Error Procesando: "+error);}
return false;}
return true;}
function fillSelect(selectObj,data,valueField,textField,optgroupField)
{var sObj=$(selectObj);for(var i=0;i<sObj.length;i++)
{sObj.options[i]=null;}
for(var i=0;i<data.length;i++)
{var val=data[i][valueField];var text=data[i][textField];sObj.options[i]=new Option(text,val);}}
function openForm(iForm,keepHist)
{if(!keepHist)
{if(window.location.replace)
{window.location.replace(iForm);}
else
{window.location.href=iForm;}}
else
{window.location=iForm;}}
var rw;
function openFormModal(iForm,iWidth,iHeight,vArguments,useOpener)
{
    if(useOpener)
    {
        iForm = iForm.replace("?", "*");
        iForm = "modalOpener.aspx?p=" + iForm;
    }
    if(!iWidth){iWidth="300";}
    if(!iHeight){iHeight="250";}
    var sFeatures="status:no;";
    sFeatures+="dialogWidth:"+iWidth+"px;";
    sFeatures+="dialogHeight: "+iHeight+"px;";
    var result=""
    if(window.showModalDialog)
    {  
       result = window.showModalDialog(iForm,vArguments,sFeatures)
       return result;
    }
    else
    {
       if(rw == null || rw.closed)
        {
            sFeatures = sFeatures.replace(/dialog/gi, "").replace(/:/gi, "=").replace(/;/gi,",")+"modal=yes";
            rw = window.open(iForm, "Dialogo", sFeatures);
            rw.onunload = function(){result = rw.returnValue;return result;};
        }
       else
        {
            rw.focus();
        } 
    }
}function recargarPagina()
{var win=top;win.opener=top;win.location.reload(true);}
function closeWindow(result)
{var win=top;win.opener=top;window.returnValue=result;win.close();}
var __HOME__="default.aspx";
function goHome()
{ openForm(__HOME__);} //var win=top;win.opener=top;win.location=__HOME__;}
function isNumeric(value)
{var r=new RegExp("[a-z, ' ', '&', '%', '$', '#', '@', '*', '^']","gi");return!r.exec(value);}
function showInfDiv(text,refObj)
{var dv=document.createElement("div");dv.setAttribute('id',"_dInf");dv.className="topDiv";dv.style.position="absolute";if(!refObj)
{dv.style.pixelLeft=pageWidth()-250;dv.style.pixelTop=posTop;}
else
{dv.style.pixelLeft=refObj.offsetLeft;dv.style.pixelTop=refObj.offsetTop;}
dv.innerHTML=text;document.body.appendChild(dv);}
function hideInfDiv()
{var dv=document.getElementById("_dInf");document.body.removeChild(dv);}
function putInSession(sessionKey,value)
{var params='option=putInSession';params+='&sKey='+sessionKey+'&sValue='+value;var resultText=getDataSync(_SERVER_,params);var result=eval(resultText);if(!(new HandleError(result))){return 0;}
return result;}
function getFromSession(sessionKey)
{var params='option=getFromSession';params+='&sKey='+sessionKey;var resultText=getDataSync(_SERVER_,params);if(!startsWith(resultText,'['))
{resultText="[{Error:true, Mensaje:''}]";}
var result=eval(resultText);if(!(new HandleError(result))){return 0;}
return result[0][sessionKey];}
function startsWith(str,token)
{var l=token.length;var holder=str.slice(0,l);return(holder==token);}
function execute(option, parameters)
{
      var params = 'option=' + option;
      if(parameters)	  
	  {
		if(typeof(parameters) == "object")
		{
			for(var p in parameters)
			{
				params += "&" + p + "=" + parameters[p];
			}
		}
		else
		{
			params += parameters;
		}
	  }
      var resultText = getDataSync(_SERVER_, params);
      if(!startsWith(resultText, '['))
      {
       resultText = "[{Error:true, Mensaje:'"+resultText+"'}]";
      }
      var result = eval(resultText);  
      if (! (new HandleError(result))){ return false;}
      return result;
}
var _imgLoading_="images/loading.gif";
function executeAsync(option, parameters, onComplete)
{
      var params = 'option=' + option;
      if(parameters)	  
	  {
		if(typeof(parameters) == "object")
		{
			for(var p in parameters)
			{
				params += "&" + p + "=" + parameters[p];
			}
		}
		else
		{
			params += parameters;
		}
	  }
      var myAjax = new Ajax.Request(_SERVER_, {parameters:params, onLoading:wait, onComplete:doComplete});    

      function wait()
      {
        showInfDiv("<IMG SRC='"+_imgLoading_+"' /><strong> Cargando...</strong>");    
      }
      function doComplete(originalRequest)
      {    
        hideInfDiv();
        var responseText = originalRequest.responseText;
        if(!startsWith(responseText, '['))
          {
           originalRequest = "[{Error:true, Mensaje:'"+responseText+"'}]";
          }        
        var result = eval(responseText);  
        if (! (new HandleError(result))){ return false;}
        if(onComplete){onComplete(result);}
      }
}
function inform(text)
{var dInf=$("divInfo");if(dInf)
{dInf.innerHTML=text;}
else
{alert(text);}}
function showHint(hint)
{window.status=hint;}
function formatCurrency(num,curr,currSimb)
{if(!num){num='0.00';}
if(!currSimb){currSimb="RD$";}
num=num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num="0";}
var sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);var cents=num%100;num=Math.floor(num/100).toString();if(cents<10){cents="0"+cents;}
for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)
{num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));}
return(((sign)?'':'-')+(curr?currSimb+' ':'')+num+'.'+cents);}
function leadingZeroes(number,length)
{}
function isDefined(o)
{return((typeof o)!=="undefined");}
function setHighLighting()
{var elements=document.getElementsByClassName("clickableItem");var over=' onmouseover=\'this.style.background="#8c8ad0"; this.style.cursor = "hand"; showHint(this.hint); this.style.color="white";\'';var out=' onmouseout=\'this.style.background=""; this.style.color="black"\'';for(x=0;x<elements.length;x++)
{var html='';html=$(elements[x]).outerHTML;var p=html.indexOf("clickableItem");var n=html.toLowerCase().indexOf("onmouseover");var r=html;if(n==-1)
{var e=p+13;r=html.slice(0,e)+over+out+html.slice(e+1);}
else
{var over1=' onmouseover=\'this.style.background="#8c8ad0"; this.style.color="white"; showHint(this.hint);';var reg=new RegExp("onmouseover[ ]*=[ ]*['|\"]","i");var s=reg.exec(html);r=html.replace(s,out+over1);}
$(elements[x]).outerHTML=r;}}
function genDateEntry(id,date)
{if(!isDefined(date)){date=new Date();}
var y=date.getFullYear();var m=date.getMonth()+1;var d=date.getDate();var result=["<table class='dateEntryTable' with='80px' cellpadding='0' cellspacing='0' id='",id,"'>","<tr>","<td><input type='text' class='dateEntryField' style='width=20px' maxlength='2' id= '",id,"_DIA' value='",d,"' onchange='return dateEntryOnChange(this)' onkeydown='return dateEntryBeforeChange(event);'/></td>","<td>/</td>","<td><input type='text' class='dateEntryField' style='width=20px' maxlength='2' id= '",id,"_MES' value='",m,"' onchange='return dateEntryOnChange(this)' onkeydown='return dateEntryBeforeChange(event);'/></td>","<td>/</td>","<td><input type='text' class='dateEntryField' style='width=40px' maxlength='4' id= '",id,"_ANO' value='",y,"' onchange='return dateEntryOnChange(this)' onkeydown='return dateEntryBeforeChange(event);'/></td>","</tr></table>"];var holder=result.join("");return holder;}
function dateEntryBeforeChange(e)
{return true;}
function dateEntryOnChange(dateField)
{var text=dateField.value;var datePart=dateField.id.substring(dateField.id.length-4);var maxLen=(datePart=="_ANO")?4:2;var today=new Date();var value=dateField.value;if(text.length<maxLen)
{if(datePart!="_ANO")
{value='0'+value;if(text<=0)
{value='01';}}
else
{if((value>49)&&(value<=99))
{value=1900+(value-0);}
else
{value=2000+(value-0);}
if(value>today.getFullYear())
{value=today.getFullYear();}}}
dateField.value=value;}
function noLettersEvent(e)
{var keynum;var keychar;var numcheck;if(window.event)
{keynum=e.keyCode;}
else
if(e.which)
{keynum=e.which;}
keychar=String.fromCharCode(keynum);numcheck=/\d/;return numcheck.test(keychar);}
function noNumbersEvent(e)
{var keynum;var keychar;var numcheck;if(window.event)
{keynum=e.keyCode;}
else
if(e.which)
{keynum=e.which;}
keychar=String.fromCharCode(keynum);numcheck=/\d/;return!numcheck.test(keychar);}
function convert(sValue,sDataType)
{switch(sDataType)
{case"int":return parseInt(sValue,10);case"float":return parseFloat(sValue);case"date":return new Date(Date.parse(sValue));default:return sValue.toString();}}
function generateCompareTRs(iCol,sDataType)
{return function compareTRs(oTR1,oTR2)
{var vValue1=convert(oTR1.cells[iCol].firstChild.nodeValue,sDataType);var vValue2=convert(oTR2.cells[iCol].firstChild.nodeValue,sDataType);if(vValue1<vValue2)
{return-1;}
else
if(vValue1>vValue2)
{return 1;}
else
{return 0;}};}
function sortTable(sTableID,iCol,sDataType)
{var oTable=document.getElementById(sTableID);var oTBody=oTable.tBodies[0];var colDataRows=oTBody.rows;var aTRs=[];for(var i=0;i<colDataRows.length;i++)
{aTRs[i]=colDataRows[i];}
if(oTable.sortCol==iCol)
{aTRs.reverse();}
else
{aTRs.sort(generateCompareTRs(iCol,sDataType));}
var oFragment=document.createDocumentFragment();for(var t=0;t<aTRs.length;t++)
{oFragment.appendChild(aTRs[t]);}
oTBody.appendChild(oFragment);oTable.sortCol=iCol;}
function setElementVisible(elementId,indicator){var e=$(elementId);if(e){e.style.display = indicator ? 'block':'none';}}
function setElementDisabled(elementId,indicator)
{var e=$(elementId);if(e)
{if(indicator)
{e.disabled="disabled";}
else
{e.disabled="";}}}
function hideElement(elementId){setElementVisible(elementId,false);}
function showElement(elementId){setElementVisible(elementId,true);}
function workingIcon(show)
{var d=$("divLoading");if(d)
{if(show)
{showElement("divLoading");$("divLoading").innerHTML='<img alt="Trabajando" src="'+_imgLoading_+'" /><small>Trabajando..</small>';}
else
{$("divLoading").innerHTML='';hideElement($("divLoading"));}}
else
{if(show){showHint("Trabajando...");}else{showHint("Completado...");}}}
var _MSIE="Microsoft Internet Explorer";var mask_dontDoIt;var mask_isTab;function initMask(field,Mask){if(field.disabled)
{return;}
var mask=mask;var val=field.value;if(!val){val=displayMask(mask);field.value=displayMask(mask);}
var div=document.createElement("div");purge(div);div.style.backgroundColor="white";for(var i=0;i<mask.length;i++){var ds=document.createElement("SPAN");var v=val.substr(i,1);var m=mask.substr(i,1);if(v==" "){v="&nbsp;";}
ds.innerHTML=v;ds.index=i;ds.mask=m;ds.div=div;if(isEditChar(m)){var es=document.createElement("INPUT");es.style.width="1px";es.style.border="0px";es.index=i;es.field=field;es.mask=m;es.display=ds;ds.editField=es;es.div=div;div.appendChild(es);if(navigator.appName==_MSIE){addEvent("keypress",es,changeBitIE);}else{addEvent("keypress",es,changeBitNS);}
addEvent("keydown",es,specialKey);addEvent("click",ds,click);}
div.appendChild(ds);}
var es=document.createElement("INPUT");es.style.width="1px";es.style.border="0px";es.div=div;div.appendChild(es);if(navigator.appName==_MSIE){addEvent("keypress",es,changeBitIE);}else{addEvent("keypress",es,changeBitNS);}
addEvent("keydown",es,specialKey);div.noWrap=true;formatDiv(div,field);field.style.display='none';field.parentNode.insertBefore(div,field);addEvent("click",div,divClick);}
function formatDiv(div,field){if(navigator.appName==_MSIE){div.style.fontFamily="courier";div.style.fontSize="10pt";div.style.width=field.offsetWidth;div.style.height=field.offsetHeight;if(navigator.appVersion.match(/6.0/)){div.style.border="1px solid #7F9DB9";}else{div.style.borderLeft="2px solid #606060";div.style.borderTop="2px solid #606060";div.style.borderRight="1px solid #aaaaaa";div.style.borderBottom="1px solid #aaaaaa";}}else{div.style.fontFamily="courier";div.style.fontSize="10pt";div.style.border="2px inset #cccccc";if(field.size){div.style.width=13*field.size;}else{div.style.width="130px";}}}
function isEditChar(c){switch(c){case"_":case"#":case"a":case"A":case"l":case"L":return true;default:return false;}
return false;}
function displayMaskChar(c){if(isEditChar(c)){return"_";}else{return c;}}
function displayMask(mask){var d="";for(var i=0;i<mask.length;i++){d+=displayMaskChar(mask.substr(i,1));}
return d;}
function divClick(e){var d=getEventObject(e);if(d&&d.lastChild){try{d.lastChild.focus();}catch(e){}}}
function specialKey(e){var s=getEventObject(e);var code=e.keyCode;mask_dontDoIt=true;mask_isTab=false;switch(code){case 8:var b=getPrevEdit(s);if(b){b.display.innerHTML=displayMaskChar(b.mask);var i=b.index;b.field.value=b.field.value.substr(0,i)+
displayMaskChar(b.mask)+b.field.value.substr(i+1,b.field.value.length-i);b.focus();}
cancelEvent(e);return false;case 46:if(s.display){s.display.innerHTML=displayMaskChar(s.mask);var i=s.index;s.field.value=s.field.value.substr(0,i)+displayMaskChar(s.mask)+
s.field.value.substr(i+1,s.field.value.length-i);}
cancelEvent(e);return false;case 37:var p=getPrevEdit(s);if(p){p.focus();}
cancelEvent(e);return false;case 39:var n=getNextEdit(s);if(n){n.focus();}
cancelEvent(e);return false;case 36:s.div.firstChild.focus();cancelEvent(e);return false;case 35:s.div.lastChild.focus();cancelEvent(e);return false;case 9:if(navigator.appName==_MSIE){if(!e.shiftKey){s.div.lastChild.focus();}else{s.div.firstChild.focus();}
return;}else{mask_isTab=true;}
break;}
mask_dontDoIt=false;}
function moveForward(s){var b=getNextEdit(s);if(b){b.focus();}}
function moveBackward(s){var b=getPrevEdit(s);if(b){b.focus();}}
function isInsertOK(code,s){var mchar=s.mask;switch(mchar){case"_":return true;break;case"#":return checkDigit(code);break;case"a":return checkAlphaNumeric(code);break;case"A":return checkUpCaseAlphaNumeric(code);break;case"l":return checkAlpha(code);break;case"L":return checkUpCaseAlpha(code);break;}
return false;}
function checkDigit(code){if((code>=48)&&(code<=57)){return code;}else{return null;}}
function checkAlpha(code){if(((code>=65)&&(code<=90))||((code>=97)&&(code<=122))){return code;}else{return null;}}
function checkUpCaseAlpha(code){if((code>=65)&&(code<=90)){return code;}else if((code>=97)&&(code<=122)){return code-32;}else{return null;}}
function checkAlphaNumeric(code){if(((code>=65)&&(code<=90))||((code>=97)&&(code<=122))||((code>=48)&&(code<=57))){return code;}else{return null;}}
function checkUpCaseAlphaNumeric(code){if((code>=65)&&(code<=90)){return code;}else if((code>=97)&&(code<=122)){return code-32;}else if((code>=48)&&(code<=57)){return code;}else{return null;}}
function changeBitNS(e){var es=getEventObject(e);if(!mask_isTab){if(es.display){if(!mask_dontDoIt){var code=e.charCode;if(code==isInsertOK(code,es)){var c=String.fromCharCode(code);es.display.innerHTML=c;var i=es.index;es.field.value=es.field.value.substr(0,i)+c+es.field.value.substr(i+1,es.field.value.length-i);moveForward(es);}}
es.value="";cancelEvent(e);}
return false;}}
function changeBitIE(e){var es=getEventObject(e);if(es.display){var code=e.keyCode;if(code==isInsertOK(code,es)){var c=String.fromCharCode(code);es.display.innerHTML=c;var i=es.index;es.field.value=es.field.value.substr(0,i)+c+es.field.value.substr(i+1,es.field.value.length-i);moveForward(es);es.value="";}}
cancelEvent(e);return false;}
function click(e){var s=getEventObject(e);s.editField.focus();cancelEvent(e);return false;}
function getPrevEdit(s){var b=s.previousSibling;while(b&&(b.tagName!="INPUT")){b=b.previousSibling;}
return b;}
function getNextEdit(s){var b=s.nextSibling;while(b&&(b.tagName!="INPUT")){b=b.nextSibling;}
return b;}
function cancelEvent(e){e.cancelBubble=true;e.cancel=true;if(navigator.appName!=_MSIE){e.stopPropagation();e.preventDefault();}}
function getEventObject(e){if(navigator.appName==_MSIE){return e.srcElement;}else{var o=e.target;while(!o.tagName){o=o.parentNode;}
return o;}}
function addEvent(name,obj,funct){if(navigator.appName==_MSIE){obj.attachEvent("on"+name,funct);}else{obj.addEventListener(name,funct,false);}}
function deleteEvent(name,obj,funct){if(navigator.appName==_MSIE){obj.detachEvent("on"+name,funct);}else{obj.removeEventListener(name,funct,false);}}
var cacheObj={__objs__:[],add:function(obj)
{var r=this.__objs__.push(obj);return r;},set:function(index,value)
{this.__objs__[index]=value;},get:function(index)
{return this.__objs__[index];},clear:function()
{this.__objs__=[];}};
function getSelectText(selObjId)
{
    return $(selObjId).options[$(selObjId).selectedIndex].text;
}
function valEmail(mail)
{
     var holder = (mail.split('@').length == 2); 
	 if(!holder){return false;}

	 holder = mail.indexOf("@");
	 if(mail.indexOf(".", holder + 1) == -1){return false};

	 var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(mail);
  }
  
function selectTextTB(textbox, text)
{
  var oTextbox = $(textbox);
  if(oTextbox.createTextRange)
  {
      var oRange = oTextbox.createTextRange();
      oRange.findText(text);
      oRange.select();
      oTextbox.focus();
  }
  else
  {
    var value = oTextbox.value;
    var start = value.indexOf(text);
    var howMany = text.length;   
    oTextbox.setSelectionRange(start, howMany);
    oTextbox.focus();
  }   
}
function setSelectionRange(textbox, selectionStart, selectionEnd)
{
  var input = $(textbox);
  input.blur();
  if (input.setSelectionRange) 
  {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else
  {
   if (input.createTextRange) 
      {
        var range = input.createTextRange();
        range.collapse(true);
        range.moveStart('character', selectionStart);
        range.moveEnd('character', selectionEnd * -1);        
        range.select();
      }
  }  
}
