2014年1月14日 星期二

udf2.js 20140120

// _setfocus("object");
// _gentable(tableName,ColNos,RowNos)
// _transform(1234567.890123) = 1,234,567.890123
// _lookup(id)  // return the value from input, radio
// _refresh(id,source) // update id.innerHtml
// _refreshv(id,source) // update id.value
// onkeypress="_getnum(event);"
// document.onkeypress = _stopRkey;
// var browserlevel = _getlevel();
// _VALUES="field1,field2,field3..." ; _toPost =_pack(_VALUES);
// var arr = _dimension(100); arr[50][2] = 5;arr[70][5] = 7454;
// _ip
// _disabled
// padl  e.g. var mm = d.getMonth();mm=padl(mm,2,'0');
// company (857,"NAME:,"CompanyName"); i.e. company(_code,_data,_target)
// setCookie(c_name,value,exdays) e.g. username=prompt("Name: ",""); setCookie("username",username,365);
// getCookie(c_name) e.g. var username=getCookie("username"); if (username!=null && username!=""){}
// check_date e.g. <INPUT type="text" name=testdat size='10' maxlength="10" onblur="check_date(this)">
// SelectAll SelectAll(id){document.getElementById(id).focus();  
// _today

function _refreshv2(v_id,v_value,v_enable)
{
if (document.getElementById(v_id)){
//alert(document.getElementById(v_id).type); //20130829
if (document.getElementById(v_id).type=="textarea"){
//v_value=v_value.replace("<z><z>","\n");
v_value=v_value.replace(/<z><z>/g, '\n');
_refresh(v_id,v_value);

} else {
if (document.getElementById(v_id).type=="radio"){
$( "input" ).each(function (i)
{
if (this.type=="radio"){
if (this.id==v_id && this.value==v_value){this.checked=true;}
}
});
} else {
if (document.getElementById(v_id).type=="checkbox"){
$( "input" ).each(function (i)
{
if (this.type=="checkbox"){
if (this.id==v_id){this.checked=this.value==v_value;}
}
});
}
else {
s=document.getElementById(v_id).type;
if (s=="select-one" || s=="text")
{
document.getElementById(v_id).value=v_value;}
//alert(document.getElementById(v_id).type+" : "+v_id);
}
}
}
}
}

function translate(num,d){
if (d="null") {d=2;}
    return parseFloat(num).toFixed(d);
// e.g. translate("4.2334546",2) // returns 4.23
}


function messagebox(divName,divWidth,divHeight,Button1){
if (Button1==""){
 $(function() {
$(divName).dialog({
modal: true,
minHeight: divHeight,
minWidth: divWidth,
position: ['center', 'top'],
});
});}
else {
  $(function() {
$(divName).dialog({
modal: true,
draggable: true,
resizable: false,
position: ['center', 'top'],
width: 100,
show: 'blind',
hide: 'blind',
minHeight: divHeight,
minWidth: divWidth,
dialogClass: 'ui-dialog-osx',
buttons: {"Close": function()
{$( this ).dialog( 'close'
);
}
}
});
});
}
}

function aname(s0925,k0925){
// e.g. aname("d,draft,s,submit,i,input",'d' )=draft
r0925="";
if (s0925) {
s20925=s0925.split(",");
if (s20925.indexOf(k0925)<0){
r0925=k0925;
} else {
r0925=s20925[s20925.indexOf(k0925)+1];
}
}
return r0925
}


function _columnCount(aTableID){
i=document.getElementById(aTableID).getElementsByTagName('tr')[0].getElementsByTagName('td').length;
return i;
}


function NumInput() {
    var key_code = window.event.keyCode;
    var oElement = window.event.srcElement;
    if (!window.event.shiftKey && !window.event.ctrlKey && !window.event.altKey) {
        if ((key_code > 47 && key_code < 58) ||
            (key_code > 95 && key_code < 106)) {

            if (key_code > 95)
                 key_code -= (95-47);
            oElement.value = oElement.value;
        } else if(key_code == 8) {
            oElement.value = oElement.value;
        } else if(key_code != 9) {
            event.returnValue = false;
        }
    }
}



function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)  {  c_start = c_value.indexOf(c_name + "=");  }
if (c_start == -1)  {  c_value = null;  }
else  {  c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)  {c_end = c_value.length;}
c_value = unescape(c_value.substring(c_start,c_end));}
return c_value;}

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}


function company(_code,_data,_target){
_refreshv(_target,"");
$.ajax({type: "GET",url: "company",dataType: "xml",data: { code:_code }, //xml
async: false,
success: function(data)
{_value=data.getElementsByTagName(_data)[0].childNodes[0].nodeValue;
_refreshv(_target,_value);
}
})
}

function _disabled(v_field_,v_mode_){$(v_field_).each(function() {this.disabled=v_mode_;})}

function _ip(){
var r="";
    $.getJSON( "http://smart-ip.net/geoip-json?callback=?",
    function(data){r=data.host;})
    return r;
}


function _dimension(rows){
  var arr = [];
  for (var i=0;i<rows;i++) {
     arr[i] = [];
  }
  return arr;
}




function _valid(_p1){
var _b = _p1.split(',');
result=true;
for (a in _b){
_1=_b[a];
if (_lookup(_1)==null || _lookup(_1)=="")
{alert(_1+" must be filled out");  result=false; break;}
}
return result;
}

function _stopRkey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}

function _pack(_p1){
_r=""; delimiter="?";var _b = _p1.split(',');
for (a in _b){
_1=_b[a]; _2=_lookup(_1); _r=_r+delimiter+_1+"="+_2; delimiter="&";
}
return _r;
}


function _getlevel() {
var browserlevel=-1;
if (browserlevel != -1) return browserlevel;
if(navigator.appName.indexOf("Netscape") != -1 || navigator.appName.indexOf("Mozilla") != -1){
if (navigator.userAgent.indexOf("Mozilla/2.0") != -1)
browserlevel = 2;
else if (navigator.userAgent.indexOf("Mozilla/3.0") != -1)
browserlevel = 3;
else if (navigator.userAgent.indexOf("Mozilla/4.") != -1)
browserlevel = 4;
else if (navigator.userAgent.indexOf("Mozilla/5.") != -1)
browserlevel = 5;
else
browserlevel = 1;
} else {
if (navigator.appName.indexOf("Internet Explorer") != -1){
//txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
if (navigator.userAgent.indexOf("Mozilla/4.") != -1)
browserlevel = 4;
else
browserlevel = 1;
} else
browserlevel = 1;
}
return browserlevel;
};



//txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
//txt+= "<p>Browser Name: " + navigator.appName + "</p>";
//txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
//txt+= "<p>Platform: " + navigator.platform + "</p>";
//txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
//txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";


function _getnum(evt) {
// onkeypress="_getnum(event);"
var theEvent = evt || window.event;
var mv_key = theEvent.keyCode || theEvent.which;
if (mv_key!=9 || mv_key!=8) {
key = String.fromCharCode(mv_key);
var regex = /[0-9]|\./;
if( !regex.test(key) ) {
theEvent.returnValue = false ;
if (theEvent.preventDefault)
theEvent.preventDefault();
else if (theEvent.cancelBubble) /* for ie */
theEvent.cancelBubble = true;
/* theEvent.preventDefault(); */
}
}
}


function Validate_Numeric(evt,value) {
if(!isNaN(value)){
/*alert(evt);
alert(isNaN(value));
alert(value);
var num = object.value.replace(/\,/g,''); */
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  var regex = /[0-9]|\./;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
if (theEvent.preventDefault)
    theEvent.preventDefault();
  else if (theEvent.cancelBubble)   /* for ie */
    theEvent.cancelBubble = true;
/*    theEvent.preventDefault(); */
  }}
  else
  {theEvent.returnValue = false;}
}

/* function handleKeyPress(evt) {
  var nbr;
  var nbr = (window.event)?event.keyCode:evt.which;
  alert(nbr);
  return true;
  }  */




function _getNumeric(evt) {
// onkeypress="_getNumeric(event);"
var mv_key = theEvent.keyCode || theEvent.which;
var prevKey = -1, prevControl = '';
if (!(mv_key == 8                                // backspace
|| mv_key == 9                               // tab
|| mv_key == 17                              // ctrl
|| mv_key == 46                              // delete
|| (mv_key >= 35 && mv_key <= 40)     // arrow keys/home/end
|| (mv_key >= 48 && mv_key <= 57)     // numbers on keyboard
|| (mv_key >= 96 && mv_key <= 105)    // number on keypad
|| (mv_key == 65 && prevKey == 17 && prevControl == event.currentTarget.id))          // ctrl + a, on same control
)
{
key = String.fromCharCode(mv_key);
var regex = /[0-9]|\./;
if( !regex.test(key) ) {
theEvent.returnValue = false ;
if (theEvent.preventDefault)
theEvent.preventDefault();
else if (theEvent.cancelBubble) /* for ie */
theEvent.cancelBubble = true;
/* theEvent.preventDefault(); */
}
}
}


function setFocus(oBject){
if (document.getElementById(oBject)){
document.getElementById(oBject).focus();
}}


function _setfocus(oBject){
if (document.getElementById(oBject)){
document.getElementById(oBject).focus();
}}

function _gentable(tableName,ColNos,RowNos,_Align){
if (_Align==null){_Align="center";}
var ThisTable=document.getElementById(tableName);
while(1){
var lastRow = ThisTable.rows.length;
if (lastRow >=2) ThisTable.deleteRow(lastRow - 1);else break;
}
  for (var RowNo=1;RowNo<=RowNos;RowNo++)
{
var ThisRow=ThisTable.insertRow(RowNo);
for (var ColumnNo=0;ColumnNo<ColNos;ColumnNo++)
{
var ThisCell=ThisRow.insertCell(ColumnNo);
  ThisCell.id=tableName+"["+RowNo+"]"+"["+ColumnNo+"]";
  ThisCell.align=_Align;
if(ColumnNo==0){ThisCell.innerHTML=RowNo;}
}
}
   }


function _lookup(v_id,v_value,v_enable)
{
var result="";
if(document.getElementById(v_id))
{
var _o=document.getElementsByName(v_id);
var result="";
if(document.getElementById(v_id).type=="radio") //checkbox,SELECT,INPUT,text
{
for (var i = 0; i < document.getElementsByName(v_id).length; i++) {
if (_o[i].checked) {result= _o[i].value;}
}
}
else {result=document.getElementById(v_id).value;}
}
return result ;
}


function x_lookup(v_id,v_value,v_enable){if(document.getElementById(v_id)){return document.getElementById(v_id).value;}else {return ""}}
 
function _refreshv(v_id,v_value,v_enable){if (document.getElementById(v_id)){document.getElementById(v_id).value=v_value;}}
function _refresh(v_id,v_value,v_enable){if (document.getElementById(v_id)){document.getElementById(v_id).innerHTML=v_value;}}
//function _lookup(v_id,v_value,v_enable){if(document.getElementById(v_id)){return document.getElementById(v_id).value;}else {return ""}}
function _transform(n) {
 var parts=n.toString().split(".");
 return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}




///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function ZapInGrid(tableid)
{var tbl = document.getElementById(tableid);
var lastRow = tbl.rows.length;
if (lastRow >=2) tbl.deleteRow(lastRow - 1);}


function padl(n, width, z) {
  // e.g. var mm = d.getMonth();mm=padl(mm,2,'0');
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

function padleft(input, ch, num) {
var val=input.value;
if (val.length<num) {
if(val){
var re = new RegExp(".{" + num + "}$");
var new_num=num*1-val.length;
var pad = "";
if (!ch) ch = " ";
do {
pad += ch;
}while(pad.length < new_num);
input.value=(pad+val);
}
}
}

function cfm() { if (!confirm("确定(Y/N)嗎?")) { window.event.returnValue = false; }}
function winexit(sid) { $.cookie("example",sid); window.returnValue =sid;window.close();}

function thisrecno(sid) {_refresh("recno",sid*1+1*1);}

// selectOnEntry
 function SelectAll(id){if (document.getElementById(id)){_current_id=id; document.getElementById(id).focus();document.getElementById(id).select();}}

 function poponload()
{
testwindow= window.open ("", "mywindow",
"location=0,status=0,scrollbars=0,width=100,height=100");
testwindow.moveTo(0,0);
}

function ltrim(str){ return str.replace(/^\s+/,'' ); }

function rtrim(str) { return str.replace(/\s+$/, ''); }

function myFocus(){this.focus();}

function mySelect(){this.select();}

function alltrim(str) { return str.replace(/^\s+|\s+$/g, '');}


function NumericFormat(input){

var num = input.value.replace(/\,/g,'');

if(!isNaN(num)){

if(num.indexOf('.') > -1){

num = num.split('.');

num[0] = num[0].toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1,').split('').reverse().join('').replace(/^[\,]/,'');

if(num[1].length > 2){

alert('You may only enter two decimals!');

num[1] = num[1].substring(0,num[1].length-1);

} input.value = num[0]+'.'+num[1];

}

else{ input.value = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1,').split('').reverse().join('').replace(/^[\,]/,'') };

}

else{ alert('You may enter only numbers in this field!');

input.value = input.value.substring(0,input.value.length-1);}}



function check_date(field){
// e.g. <INPUT type="text" name=testdat size='10' maxlength="10" onblur="check_date(this)">
//alert(field.value);
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "-";
var dateFormat='DDMMYYYY'
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
 if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
    DateTemp = DateTemp + DateValue.substr(i,1);
 }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   //alert(dateFormat+DateValue);
   /* year is wrong if year = 0000 */
if(dateFormat='YYYYMMDD') {year=DateValue.substr(0,4);} else {year = DateValue.substr(4,4);}
   //alert(year);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   if(dateFormat='YYYYMMDD'){month = DateValue.substr(4,2);} else {month = DateValue.substr(2,2);}
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
      //alert(month);
   /* Validation of day*/
   if(dateFormat='YYYYMMDD'){day = DateValue.substr(6,2);} else {day = DateValue.substr(0,2);}
//   if(dateFormat='YYYYMMDD'){day = 'testing';}{ day = DateValue.substr(0,2);}
   if (day < 1) {
     err = 22;
   }
      //alert(day);
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
  if(dateFormat='YYYYMMDD'){DateField.value = year  + seperator + month + seperator + day;} else
  {DateField.value = day  + seperator + month + seperator + year;}
//   alert(DateField.value);
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!");
      DateField.select();
 DateField.focus();
   }
 
}


function _today(){
var _today;
dateValue = new Date()
var M = "" + (dateValue.getMonth()+1);
var MM = "0" + M;
MM = MM.substring(MM.length-2, MM.length);
var D = "" + (dateValue.getDate());
var DD = "0" + D;
DD = DD.substring(DD.length-2, DD.length);
var YYYY = "" + (dateValue.getFullYear());
_today=YYYY+'-'+MM+'-'+DD;
return _today}


function SelectAll(id){document.getElementById(id).focus();  
document.getElementById(id).select();}

沒有留言:

張貼留言