/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
// $Id: general.js 344 2008-04-27 13:26:47Z mittermeyer $

/**
 * <head>
 * <meta http-equiv="Content-Sctipt-Type" content="text/javascript">
 * <script type="text/javascript" src="general.js"></script>
 * </head>
 */


/**
 * ブラウザ
 *
 * @var object
 * @access public
 */
var myBrowser = new getMyBrowser;


/**
 * イベント登録
 */
if(myBrowser.ns4){
    window.captureEvents(Event.RESIZE);
    window.onresize = new Function('window.location.reload()');
}


/**
 * getMyBrowser
 *
 * <script type="text/javascript">
 * var myBrowser = new getMyBrowser;
 * document.write(myBrowser);
 * </script>
 *
 * @param void
 * @return object
 * @access public
 */
function getMyBrowser(){
    this.agent = navigator.userAgent;
    this.ver   = parseFloat(navigator.appVersion);
    this.dom   = document.getElementById? 1 : 0;

    this.mac   = (this.agent.indexOf('Mac') > -1)?   1 : 0;
    this.gecko = (this.agent.indexOf('Gecko') > -1)? 1 : 0;

    this.ie    = (window.ActiveXObject || document.all)?  1 : 0;    // IE
    this.ff    = window.addEventListener?                 1 : 0;    // Firefox
    this.op    = window.opera?                            1 : 0;    // Opera
    this.sf3   = window.getMatchedCSSRules?               1 : 0;    // Safari3

    this.op6   = (this.dom && this.op)?                   1 : 0;

    this.ns6   = (this.dom && !this.ff && this.ver >= 5)? 1 : 0;
    this.ns4   = (document.layers && !this.dom)?          1 : 0;
    this.ns    = (this.ns4 || this.ns6)?                  1 : 0;  // Netscape

    this.ie7   = (this.ie && isset(document.documentElement.style.msInterpolationMode))?      1 : 0;
    this.ie6s  = (this.ie && this.dom && document.compatMode == 'CSS1Compat')?                1 : 0;
    this.ie6r  = (this.ie && this.dom && document.compatMode == 'BackCompat' && !this.ie7)?   1 : 0;
    this.ie5   = (this.ie && this.dom && !this.op6 && !this.ie6s && !this.ie6r && !this.ie7)? 1 : 0;
    this.ie4   = (this.ie && !this.dom)?                                                      1 : 0;

    this.bw5   = (this.ie5  || this.ie6r)?                       1 : 0;
    this.bw6   = (this.ie6s || this.ns6 || this.op6)?            1 : 0;
    this.bw7   = (this.ie7)?                                     1 : 0;
    this.bw    = (this.bw5  || this.bw6 || this.ie7 || this.ff)? 1 : 0;

    this.toString = function(){
        return ('agent: ' + myBrowser.agent + "\n"
              + 'ver:   ' + myBrowser.ver   + "\n"
              + 'dom:   ' + myBrowser.dom   + "\n"

              + 'mac:   ' + myBrowser.mac   + "\n"
              + 'gecko: ' + myBrowser.gecko + "\n"

              + 'ie:    ' + myBrowser.ie    + "\n"
              + 'ff:    ' + myBrowser.ff    + "\n"
              + 'op:    ' + myBrowser.op    + "\n"
              + 'sf3:   ' + myBrowser.sf3   + "\n"

              + 'op6:   ' + myBrowser.op6   + "\n"
              + 'ns6:   ' + myBrowser.ns6   + "\n"
              + 'ns4:   ' + myBrowser.ns4   + "\n"
              + 'ns:    ' + myBrowser.ns    + "\n"

              + 'ie7:   ' + myBrowser.ie7   + "\n"
              + 'ie6s:  ' + myBrowser.ie6s  + "\n"
              + 'ie6r:  ' + myBrowser.ie6r  + "\n"
              + 'ie5:   ' + myBrowser.ie5   + "\n"
              + 'ie4:   ' + myBrowser.ie4   + "\n"

              + 'bw5:   ' + myBrowser.bw5   + "\n"
              + 'bw6:   ' + myBrowser.bw6   + "\n"
              + 'bw7:   ' + myBrowser.bw7   + "\n"
              + 'bw:    ' + myBrowser.bw    + "\n"
        );
    }
}

/**
 * is_null
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_null(myTOF){
    var mySTR = myTOF + '';
    return typeof(myTOF) == 'object' && mySTR == 'null';
}

/**
 * is_bool
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_bool(myTOF){
    return typeof(myTOF) == 'boolean';
}

/**
 * is_string
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_string(myTOF){
    return typeof(myTOF) == 'string';
}

/**
 * is_numeric
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_numeric(myTOF){
    return typeof(myTOF) == 'number';
}

/**
 * is_int
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_int(myTOF){
    return is_numeric(myTOF) && myTOF == parseInt(myTOF);
}

/**
 * is_float
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_float(myTOF){
    var mySTR = myTOF + '';
    return is_numeric(myTOF) && myTOF == parseFloat(myTOF) && mySTR.indexOf('.') > -1;
}

/**
 * is_array
 *
 * @param mixed myTOF
 * @param bool  myAssoc
 * @return bool
 * @access public
 */
function is_array(myTOF, myAssoc){
    if(typeof(myTOF) == 'object' && !is_object(myTOF)){
        var mySTR = myTOF + '';
        return myAssoc? !mySTR : true;
    }
    return false;
}

/**
 * is_object
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function is_object(myTOF){
    var mySTR = myTOF + '';
    return typeof(myTOF) == 'object' && mySTR.match(/^\[object( Object| HTML.+Element)?\]$/);
}

/**
 * isset
 *
 * @param mixed myTOF
 * @return bool
 * @access public
 */
function isset(myTOF){
    return typeof(myTOF) != 'undefined' && !is_null(myTOF);
}

/**
 * getType
 *
 * @param mixed myTOF
 * @return string
 * @access public
 */
function getType(myTOF){
    switch(true){
        case is_null(myTOF):  return 'null';
        case is_bool(myTOF):  return 'bool';
        case is_array(myTOF): return 'array';
        case is_int(myTOF):   return 'integer';
        case is_float(myTOF): return 'float';
        default:               return typeof(myTOF);
    }
}

/**
 * getMyPropertys
 *
 * <span id="p1">value1</span>
 * <input type="text" id="p2" name="name2" value="value2">
 * <script language="JavaScript">
 * <!--
 * document.write(getMyPropertys('p1') + "\n");
 * document.write(getMyPropertys('p2') + "\n");
 * //-->
 * </script>
 *
 * @param mixed myID string or object
 * @param int   myLevel
 * @return string
 * @access public
 */
function getMyPropertys(myID, myLevel){
    myLevel = myLevel? myLevel : 0;
    var mySTR   = '';
    var myAssoc = true;
    var myType  = getType(myID);
    switch(myType){
        case 'array':
            myAssoc = is_array(myID, 1);
        case 'object':
            mySTR = myType + "(\n";
            if(!myAssoc){
                for(var i = 0; i < myID.length; i++)
                    mySTR += '    ' + i + ': ' + myID[i] + "\n";
            }else{
                for(var i in myID)
                    mySTR += '    ' + i + ': ' + eval('myID.' + i) + "\n";
            }
            mySTR += ")\n";
            break;
        default:
            mySTR = myType + ': ' + myID + "\n";
    }
    return mySTR;
}

/**
 * getMyObject
 *
 * @param mixed myID string or object
 * @param bool  myStyle
 * @return void
 * @access public
 */
function getMyObject(myID, myStyle){
    if(is_object(myID)){
        if(myBrowser.ns4){                    // NS4
            return myID;
        }else{
            return myStyle? myID.style : myID;
        }
    }else{
        if(myBrowser.ns4){                    // NS4
            return document.layers[myID];
        }else if(myBrowser.ie4 || myBrowser.bw5 || myBrowser.ie7){  // IE4 IE5 IE6R IE7
            return myStyle? document.all[myID].style : document.all[myID];
        }else{
            return myStyle? document.getElementById(myID).style : document.getElementById(myID);
        }
    }
}

/**
 * getMyClientSize
 *
 * var client = new getMyClientSize;
 *
 * @param void
 * @return object
 * @access public
 */
function getMyClientSize(){
    if(myBrowser.ie4 || myBrowser.bw5 || myBrowser.ie7){    // IE4 IE5 IE6R IE7
        this.w = document.body.clientWidth;
        this.h = document.body.clientHeight;
    }else if(myBrowser.ie6s){                               // IE6S
        this.w = document.documentElement.clientWidth;
        this.h = document.documentElement.clientHeight;
    }else{
        this.w = window.innerWidth;
        this.h = window.innerHeight;
    }
}

/**
 * getMyElementSize
 *
 * var esize = new getMyElementSize(mixed);
 *
 * @param mixed epID string or object
 * @return object
 * @access public
 */
function getMyElementSize(esID){
    var esOBJ = getMyObject(esID);
    if(myBrowser.ie4){          // IE4
        this.w = esOBJ.style.pixelWidth;
        this.h = esOBJ.style.pixelHeight;
    }else if(myBrowser.ns4){    // NS4
        this.w = esOBJ.clip.width;
        this.h = esOBJ.clip.height;
    }else{
        this.w = esOBJ.offsetWidth;
        this.h = esOBJ.offsetHeight;
    }
}

/**
 * getMyElementPos
 *
 * var epos = new getMyElementPos(mixed);
 *
 * @param mixed epID string or object
 * @return object
 * @access public
 */
function getMyElementPos(epID){
    var epOBJ = getMyObject(epID);
    if(myBrowser.ie4){          // IE4
        this.x = epOBJ.style.posLeft;
        this.y = epOBJ.style.posTop;
    }else if(myBrowser.ns4){    // NS4
        this.x = epOBJ.left;
        this.y = epOBJ.top;
    }else{
        this.y = epOBJ.offsetTop;
        this.x = epOBJ.offsetLeft;
    }
}

/**
 * getMyScroll
 *
 * var scroll = new getMyScroll;
 *
 * @param void
 * @return object
 * @access public
 */
function getMyScroll(){
    if(myBrowser.ie4 || myBrowser.bw5 || myBrowser.ie7){    // IE4 IE5 IE6R IE7
        this.x = document.body.scrollLeft;
        this.y = document.body.scrollTop;
    }else if(myBrowser.ie6s){                   // IE6S
        this.x = document.documentElement.scrollLeft;
        this.y = document.documentElement.scrollTop;
    }else if(myBrowser.ff){                     // FF
        this.x = window.pageXOffset;
        this.y = window.pageYOffset;
    }else{
        this.x = document.pageXOffset;
        this.y = document.pageYOffset;
    }
}

/**
 * myStatus
 *
 * <a onMouseOver="myStatus('文字列');" onMouseOut="myStatus('');">
 *
 * @param string myMsg
 * @return false
 * @access public
 */
function myStatus(myMsg){
    window.status = myMsg;
    return false;
}

/**
 * myConfirm
 *
 * <a href="/path" onClick="return myConfirm('文字列');">
 *
 * @param string myMsg
 * @return bool
 * @access public
 */
function myConfirm(myMsg){
    return confirm(myMsg)? true : false;
}

/**
 * myWrite
 *
 * <a href="" onClick="return myWrite('wt1', '<h2>hoge</h2>');">hoge</a>
 * <a href="" onClick="return myWrite('wt1', ' <h2>fuga</h2>', 1);">fuga</a>
 * <span id="wt1" onClick="return myWrite(this, '');"></span>
 *
 * @param mixed  myID string or object
 * @param string myMsg
 * @param bool   myAppend
 * @return false
 * @access public
 */
function myWrite(myID, myMsg, myAppend){
    var myOBJ = getMyObject(myID);
    if(myBrowser.ff){
        if(myAppend) myOBJ.textContent += myMsg + "\n";
        else         myOBJ.textContent  = myMsg + "\n";
    }else{
        if(myAppend) myOBJ.innerText += myMsg + "\n";
        else         myOBJ.innerText  = myMsg + "\n";
    }
    return false;
}

/**
 * myWriteHTML
 *
 * <a href="" onClick="return myWriteHTML('wh1', '<h2>hoge</h2>');">hoge</a>
 * <a href="" onClick="return myWriteHTML('wh1', ' <h2>fuga</h2>', 1);">fuga</a>
 * <span id="wh1" onClick="return myWriteHTML(this, '');"></span>
 *
 * @param mixed  myID string or object
 * @param string myMsg
 * @param bool   myAppend
 * @return false
 * @access public
 */
function myWriteHTML(myID, myMsg, myAppend){
    var myOBJ = getMyObject(myID);
    if(myAppend) myOBJ.innerHTML += myMsg + "\n";
    else         myOBJ.innerHTML  = myMsg + "\n";
    return false;
}

/**
 * myBGToggle
 *
 * <a onClick="return myBGToggle('id1', 'blue');">blue</a>
 * <span onMouseDown="myBGToggle('id1', '');">none</span>
 * <div id="id1">hoge</div>
 * <div onMouseOver="myBGToggle(this, '色');" onMouseOut="myBGToggle(this, '');">fuga</div>
 *
 * @param mixed myID string or object
 * @param string myColor
 * @return false
 * @access public
 */
function myBGToggle(myID, myColor){
    var myOBJ = getMyObject(myID, true);
    if(myColor && myOBJ.backgroundColor == myColor) myColor = 'transparent';
    myOBJ.backgroundColor = myColor;
    return false;
}

/**
 * myVisibilityToggle
 *
 * <a onClick="return myVisibilityToggle('id1');">hoge</a>
 * <span onMouseDown="myVisibilityToggle('id1');">fuga</span>
 * <div id="id1" style="visibility:hidden;">hoge</div>
 *
 * @param mixed myID string or object
 * @return false
 * @access public
 */
function myVisibilityToggle(myID){
    var myOBJ = getMyObject(myID, true);
    if(!myOBJ.visibility || myOBJ.visibility == 'visible')
        myOBJ.visibility = 'hidden';
    else
        myOBJ.visibility = 'visible';
    return false;
}

/**
 * myDisplayToggle
 *
 * <a onClick="return myDisplayToggle('id1');">hoge</a>
 * <span onMouseDown="myDisplayToggle('id1');">fuga</span>
 * <div id="id1" style="display:none;">hoge</div>
 *
 * @param mixed myID string or object
 * @return false
 * @access public
 */
function myDisplayToggle(myID){
    var myOBJ = getMyObject(myID, true);
    if(!myOBJ.display || myOBJ.display == 'block')
        myOBJ.display = 'none';
    else
        myOBJ.display = 'block';
    return false;
}

/**
 * myJump
 *
 * <form>
 * <select onChange="myJump(this)">
 * <option value="">選択してください</option>
 * <option value="?link=1">Link1</option>
 * <option value="?link=2">Link2</option>
 * </select>
 *
 * <select id="jump">
 * <option value="?link=3">Link1</option>
 * <option value="?link=4">Link2</option>
 * </select>
 * <input type="button" value="JUMP" onClick="myJump('jump', 1)">
 * </form>
 *
 * @param string myID
 * @param bool   mySelf
 * @return void
 * @access public
 */
function myJump(myID, mySelf){
    var myOBJ = getMyObject(myID);
    if(myOBJ.options[myOBJ.selectedIndex].value){
        if(mySelf)
            self.location.href = myOBJ.options[myOBJ.selectedIndex].value;
        else
            top.location.href  = myOBJ.options[myOBJ.selectedIndex].value;
    }
}


/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
// $Id: automove.js 343 2008-04-27 13:24:05Z mittermeyer $

/**
 * <head>
 * <meta http-equiv="Content-Sctipt-Type" content="text/javascript">
 * <script type="text/javascript" src="general.js"></script>
 * <script type="text/javascript" src="automove.js"></script>
 * </head>
 * <body onload="AutoMove('id1', 10, 5, 10, 5, 0, 1)">
 * <a onClick="AutoMove('id2', 10, 10, 10, 10, 1);">id2</a>
 * <a href="" onClick="return AutoMove('id3', 10, 10, 10, 10, 1);">id3</a>
 * <script language="JavaScript">
 * <!--
 * window.onload=AutoMove('id4', 10, 10, 10, 10);
 * -->
 * </script>
 *
 * <div id="id1">メッセージ 1</div>
 * <div id="id2">メッセージ 2</div>
 * <div id="id3">メッセージ 3</div>
 * <div id="id4">メッセージ 4</div>
 */


/**
 * オブジェクトリスト
 *
 * @var object
 * @access public
 */
var amARY = new Object();

/**
 * オートムーブ登録数
 *
 * @var int
 * @access public
 */
var amCNT = 0;

/**
 * タイマーID
 *
 * @var int
 * @access public
 */
var amTID;


/**
 * AutoMove
 *
 * @param mixed  amID string or object
 * @param int    amLR Left or Right Margin
 * @param int    amTB Top or Bottom Margin
 * @param int    amPX Position X
 * @param int    amPY Position Y
 * @param bool   amRF Right Flag
 * @param bool   amBF Bottom Flag
 * @return false
 * @access public
 */
function AutoMove(amID, amLR, amTB, amPX, amPY, amRF, amBF){
    var amOBJ = getMyObject(amID, 1);
    if(amOBJ){
        if(amOBJ.visibility == 'visible'){
            amOBJ.visibility = 'hidden';
            amARY[amID] = null;
            amCNT -= 1;
            if(amCNT < 1) clearTimeout(amTID);
        }else{
            amPX = amPX? amPX : 0;
            amPY = amPY? amPY : 0;

            amOBJ.position   = 'absolute';
            amOBJ.left       = amPX + (myBrowser.ns4? 0 : 'px');
            amOBJ.top        = amPY + (myBrowser.ns4? 0 : 'px');
            amOBJ.visibility = 'visible';

            amCNT += 1;
            amARY[amID] = new Object();
            amARY[amID].lrm    = amLR? amLR : 0;
            amARY[amID].tbm    = amTB? amTB : 0;
            amARY[amID].left   = amPX;           // Current X
            amARY[amID].top    = amPY;           // Current Y
            amARY[amID].right  = amRF? 1 : 0;
            amARY[amID].bottom = amBF? 1 : 0;
            AutoMoveMain();
        }
    }
    return false;
}

/**
 * AutoMoveMain
 *
 * @param void
 * @return void
 * @access private
 */
function AutoMoveMain(){
    var scroll = new getMyScroll;
    var client = new getMyClientSize;
    for(var i in amARY){
        if(amARY[i]){
            var amOBJ = getMyObject(i);
            var esize = new getMyElementSize(amOBJ);
            var myPx = scroll.x + (amARY[i].right?  client.w - esize.w : 0);
            var myPy = scroll.y + (amARY[i].bottom? client.h - esize.h : 0);
            if(client.h >= esize.h + amARY[i].tbm){
                if(amARY[i].bottom) myPy -= amARY[i].tbm;
                else                myPy += amARY[i].tbm;
            }else{
                var myMD  = scroll.y + amARY[i].tbm;
                var myMDF = (myMD > amARY[i].top)? 1 : 0;
                var myMU  = scroll.y - (esize.h + amARY[i].tbm - client.h);
                myMU = Math.max(myMU, amARY[i].tbm);
                var myMUF = (myMU < amARY[i].top)? 1 : 0;
                if(myMDF && myMUF) myPy = amARY[i].top;
                else               myPy = myMUF? Math.max(myMD, myMU) : Math.min(myMD, myMU);
            }
            if(myPy != amARY[i].top){
                var myMy = (myPy - amARY[i].top) * 0.25;
                if(Math.abs(myMy) < 1) myMy = (myMy > 0)? 1 : (myMy < 0)? -1 : 0;
                amARY[i].top += Math.round(myMy);

                if(myBrowser.ns4){  // NS4
                    amOBJ.top = amARY[i].top;
                }else{
                    amOBJ.style.top = amARY[i].top + 'px';
                }
            }
        }
    }
    // 0.025秒周期で動かす
    if(amCNT > 0) amTID = setTimeout('AutoMoveMain()', 25);
}


/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
// $Id: form.js 273 2008-03-19 15:40:38Z mittermeyer $

/**
 * <head>
 * <meta http-equiv="Content-Sctipt-Type" content="text/javascript">
 * <script type="text/javascript" src="form.js"></script>
 * </head>
 */


/**
 * myFormClear
 *
 * <form name="form_clear">
 * <input id="element_name1" type="text" value="111" onFocus="myFormClear('form_clear', 'element_name1');">
 * <input id="element_name2" type="text" value="222" onFocus="myFormClear('form_clear', 'element_name2', true);">
 * <input type="text" value="333" onFocus="myFormClear(this);">
 * <input type="text" value="444" onFocus="myFormClear(this, true);">
 * </form>
 *
 * @param object myOBJ
 * @param string myForm    フォーム名
 * @param string myElement エレメント名
 * @param bool   myOnce    初回限定フラグ
 * @return false
 * @access public
 */
function myFormClear(){
    var myArgs = myFormClear.arguments;
    var myOBJ  = myForm = myElement = null;
    var myOnce = false;
    for(var i = 0; i < myArgs.length; i++){
        if(is_object(myArgs[i])){
            myOBJ = myArgs[i];
        }else if(is_string(myArgs[i])){
            if(myForm) myElement = myArgs[i];
            else       myForm    = myArgs[i];
        }else if(myArgs[i]){
            myOnce = true;
        }
    }
    if(!myOBJ && myForm && myElement)
        myOBJ = document.forms[myForm].elements[myElement];
    if(myOBJ){
        myOBJ.value = '';
        if(myOnce) myOBJ.onfocus = null;
    }
    return false;
}

/**
 * myCheckboxChecked
 *
 * @param object myOBJ
 * @param string myForm
 * @param string myElement
 * @return bool
 * @access public
 */
function myCheckboxChecked(){
    var myArgs = myCheckboxChecked.arguments;
    var myOBJ  = myForm = myElement = null;
    for(var i = 0; i < myArgs.length; i++){
        if(is_object(myArgs[i])){
            myOBJ = myArgs[i];
        }else if(is_string(myArgs[i])){
            if(myForm) myElement = myArgs[i];
            else       myForm    = myArgs[i];
        }
    }
    if(!myOBJ && myElement) myOBJ = document.forms[myForm].elements[myElement];
    return myOBJ? myOBJ.checked : false;
}

/**
 * myCheckboxToggle
 *
 * <form name="form_check">
 * <input type="checkbox" name="elements_id[]" value=1>
 * <input type="checkbox" name="elements_id[]" value=2 checked>
 * <input type="checkbox" name="elements_id[]" value=3>
 * <a href="" onclick="return myCheckboxToggle('form_check', 'elements_id[]', true);">on</a>
 * <a href="" onclick="return myCheckboxToggle('form_check', 'elements_id[]', false);">off</a>
 * <a href="" onclick="return myCheckboxToggle('form_check', 'elements_id[]');">toggle</a>
 *
 * <input type="checkbox" name="elem1" value=1>
 * <input type="checkbox" name="elem2" value=2 checked>
 * <input type="checkbox" name="elem3" value=3>
 * <a href="" onclick="return myCheckboxToggle('form_check', new Array('elem1', 'elem2', 'elem3'), true);">on</a>
 * <a href="" onclick="return myCheckboxToggle('form_check', new Array('elem1', 'elem2', 'elem3'), false);">off</a>
 * <a href="" onclick="return myCheckboxToggle('form_check', new Array('elem1', 'elem2', 'elem3'));">toggle</a>
 * </form>
 *
 * @param string myForm
 * @param mixed  myElement string or array
 * @param bool   myCheck
 * @return false
 * @access public
 */
function myCheckboxToggle(myForm, myElement, myCheck){
    var myToggle = !isset(myCheck);
    if(!myToggle) myCheck = myCheck? true : false;
    if(is_string(myElement)){
        var myOBJ = document.forms[myForm].elements[myElement];
        var myCNT = isset(myOBJ.length)? myOBJ.length : 0;
        if(myCNT){
            for(var i = 0; i < myCNT; i++)
                myOBJ[i].checked = myToggle? myOBJ[i].checked? false : true : myCheck;
        }else{
            myOBJ.checked = myToggle? myOBJ.checked? false : true : myCheck;
        }
    }else if(is_array(myElement)){
        for(var i = 0; i < myElement.length; i++){
            var myOBJ = document.forms[myForm].elements[myElement[i]];
            myOBJ.checked = myToggle? myOBJ.checked? false : true : myCheck;
        }
    }
    return false;
}



