var tm = 0;

(function () {
    YAHOO.namespace('optionistics');

    var Event = YAHOO.util.Event,
        Dom   = YAHOO.util.Dom,
        lang  = YAHOO.lang,
        spread_slider, 
        bg="slider_bg",
        thumb="slider-thumb", 
	textfield="spread_slider_value";

    var numTicks         = 9;
    var topConstraint    = 0;
    var bottomConstraint = 160;
    var scaleFactor      = 1;
    var keyIncrement     = 1;
    var tickOffset       = -5;
    var tickSize         = bottomConstraint/(numTicks-1);
    var sliderStart      = bottomConstraint/2;

    var steps = numstrikes-1;
    var mn1_ticks = parseInt(160/steps);
    var mn1_range = mn1_ticks * steps;

    YAHOO.util.Event.onDOMReady(function () {

        spread_slider = YAHOO.widget.Slider.getHorizSlider(bg, 
                         thumb, topConstraint, bottomConstraint, tickSize);

        spread_slider.animate = false;

        spread_slider.getRealValue = function() {
            return Math.round(((this.getValue() * scaleFactor) - sliderStart)/20);
        }

        spread_slider.subscribe("change", function(offsetFromStart) {

            var fld = Dom.get(textfield);
            var actualValue = spread_slider.getRealValue();

            fld.innerHTML = actualValue;
            Dom.get(bg).title = actualValue;

        });

        Event.on("putval", "click", function(e) {
            spread_slider.setValue(sliderStart, true);
        });
        
        Event.on("getval", "click", function(e) {
            YAHOO.log("Current value: "   + spread_slider.getValue() + "\n" + 
                      "Converted value: " + spread_slider.getRealValue(), "info", "example"); 
        });
        spread_slider.setValue(80, true);


        var mn1_slider = YAHOO.widget.Slider.getHorizDualSlider("mn1_tickmarks",
								"mn1_min_thumb", 
								"mn1_max_thumb",
								mn1_range, mn1_ticks);

        var mn1_values = new Array();

        mn1_values[0] = 'ITM';

	if (symlen == 0) {
	  for (i=1; i<steps;i++) {mn1_values[i] = -parseInt(steps/2) + i}
        } else {
	  for (i=1; i<mn1values.length;i++) {mn1_values[i] = mn1values[i]}
        }
        mn1_values[steps] = 'OTM';

	//	mn1_slider.minRange = mn1_ticks*(mn1_spread-2);
	mn1_slider.minRange = mn1_ticks*(mn1_spread-2);

        YAHOO.lang.augmentObject(mn1_slider, {
            _status : 'ok',
            _highlight : Dom.get("mn1_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var mn1_ready = function () {
	   mn1_slider.setValues((mn1min)*mn1_ticks, (mn1max)*mn1_ticks);
	}

        var mn1_change = function () {
            Dom.get('mn1min_d').value = mn1_values[parseInt(mn1_slider.minVal/mn1_ticks)];
            Dom.get('mn1max_d').value = mn1_values[parseInt(mn1_slider.maxVal/mn1_ticks)];
            Dom.get('mn1min').value = parseInt(mn1_slider.minVal/mn1_ticks);
            Dom.get('mn1max').value = parseInt(mn1_slider.maxVal/mn1_ticks);
        };

        mn1_slider.subscribe('change', mn1_slider.updateHighlight, mn1_slider, true);
        mn1_slider.subscribe('ready', mn1_slider.updateHighlight, mn1_slider, true);
        mn1_slider.subscribe('change', mn1_change);
        mn1_slider.subscribe('ready', mn1_ready);
        mn1_slider.subscribe('ready', mn1_change);
        YAHOO.optionistics.mn1_slider = mn1_slider;


        var mn2_ticks = parseInt(160/steps);
        var mn2_range = mn2_ticks * steps;

        var mn2_slider = YAHOO.widget.Slider.getHorizDualSlider("mn2_tickmarks",
								"mn2_min_thumb", 
								"mn2_max_thumb",
								mn2_range, mn2_ticks);

        var mn2_values = new Array();

        mn2_values[0] = 'ITM';

	if (symlen == 0) {
	  for (i=1; i<steps;i++) {mn2_values[i] = -parseInt(steps/2) + i}
        } else {
	  for (i=1; i<mn1values.length;i++) {mn2_values[i] = mn1values[i]}
        }
        mn2_values[steps] = 'OTM';

	mn2_slider.minRange = -mn2_ticks*2;

        YAHOO.lang.augmentObject(mn2_slider, {
            _status : 'ok',
            _highlight : Dom.get("mn2_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var mn2_ready = function () {
	   mn2_slider.setValues((mn2min)*mn2_ticks, (mn2max)*mn2_ticks);
	   set_mn2_title(Dom.get('mn2_title'));
	}

        var mn2_change = function () {
            Dom.get('mn2min_d').value = mn2_values[parseInt(mn2_slider.minVal/mn2_ticks)];
            Dom.get('mn2max_d').value = mn2_values[parseInt(mn2_slider.maxVal/mn2_ticks)];
            Dom.get('mn2min').value = parseInt(mn2_slider.minVal/mn2_ticks);
            Dom.get('mn2max').value = parseInt(mn2_slider.maxVal/mn2_ticks);
        };

        mn2_slider.subscribe('change', mn2_slider.updateHighlight, mn2_slider, true);
        mn2_slider.subscribe('ready', mn2_slider.updateHighlight, mn2_slider, true);
        mn2_slider.subscribe('change', mn2_change);
        mn2_slider.subscribe('ready', mn2_ready);
        mn2_slider.subscribe('ready', mn2_change);
        YAHOO.optionistics.mn2_slider = mn2_slider;


        var cnt_steps = 10;
        var cnt_ticks = parseInt(160/cnt_steps);
        var cnt_range = cnt_ticks * cnt_steps;

        var cnt_slider = YAHOO.widget.Slider.getHorizDualSlider("cnt_tickmarks",
								"cnt_min_thumb", 
								"cnt_max_thumb",
								cnt_range, cnt_ticks);

        var cnt_values = new Array();
	for (i=0; i<cnt_steps;i++) {cnt_values[i] = i+1}
        cnt_values[cnt_steps] = 'OTM';

	cnt_slider.minRange = -cnt_ticks*2;

        YAHOO.lang.augmentObject(cnt_slider, {
            _status : 'ok',
            _highlight : Dom.get("cnt_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var cnt_ready = function () {
	   cnt_slider.setValues((cntmin)*cnt_ticks, (cntmax)*cnt_ticks);
	   // set_cnt_title(Dom.get('cnt_title'));
	}

        var cnt_change = function () {
            Dom.get('cntmin_d').value = cnt_values[parseInt(cnt_slider.minVal/cnt_ticks)];
            Dom.get('cntmax_d').value = cnt_values[parseInt(cnt_slider.maxVal/cnt_ticks)];
            Dom.get('cntmin').value = parseInt(cnt_slider.minVal/cnt_ticks);
            Dom.get('cntmax').value = parseInt(cnt_slider.maxVal/cnt_ticks);
        };

        cnt_slider.subscribe('change', cnt_slider.updateHighlight, cnt_slider, true);
        cnt_slider.subscribe('ready', cnt_slider.updateHighlight, cnt_slider, true);
        cnt_slider.subscribe('change', cnt_change);
        cnt_slider.subscribe('ready', cnt_ready);
        cnt_slider.subscribe('ready', cnt_change);
        YAHOO.optionistics.cnt_slider = cnt_slider;



        var cnt2_steps = 10;
        var cnt2_ticks = parseInt(160/cnt2_steps);
        var cnt2_range = cnt2_ticks * cnt2_steps;

        var cnt2_slider = YAHOO.widget.Slider.getHorizDualSlider("cnt2_tickmarks",
								 "cnt2_min_thumb", 
								 "cnt2_max_thumb",
								  cnt2_range, cnt2_ticks);
        var cnt2_values = new Array();
	for (i=0; i<cnt2_steps;i++) {cnt2_values[i] = i+1}
        cnt2_values[cnt2_steps] = 'FAR';

	cnt2_slider.minRange = -cnt2_ticks*2;

        YAHOO.lang.augmentObject(cnt2_slider, {
            _status : 'ok',
            _highlight : Dom.get("cnt2_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var cnt2_ready = function () {
	   cnt2_slider.setValues((cnt2min)*cnt2_ticks, (cnt2max)*cnt2_ticks);
	   // set_cnt2_title(Dom.get('cnt2_title'));
	}

        var cnt2_change = function () {
            Dom.get('cnt2min_d').value = cnt2_values[parseInt(cnt2_slider.minVal/cnt2_ticks)];
            Dom.get('cnt2max_d').value = cnt2_values[parseInt(cnt2_slider.maxVal/cnt2_ticks)];
            Dom.get('cnt2min').value = parseInt(cnt2_slider.minVal/cnt2_ticks);
            Dom.get('cnt2max').value = parseInt(cnt2_slider.maxVal/cnt2_ticks);
        };

        cnt2_slider.subscribe('change', cnt2_slider.updateHighlight, cnt2_slider, true);
        cnt2_slider.subscribe('ready', cnt2_slider.updateHighlight, cnt2_slider, true);
        cnt2_slider.subscribe('change', cnt2_change);
        cnt2_slider.subscribe('ready', cnt2_ready);
        cnt2_slider.subscribe('ready', cnt2_change);
        YAHOO.optionistics.cnt2_slider = cnt2_slider;


        var sv_range = 160;
        var sv_ticks = parseInt(sv_range/5);

        var sv_values = new Array();
        sv_values[0] = '1';
        sv_values[1] = '200K';
        sv_values[2] = '1M';
        sv_values[3] = '5M';
        sv_values[4] = '20M';
        sv_values[5] = 'MAX';

        var sv_slider = YAHOO.widget.Slider.getHorizDualSlider("sv_tickmarks",
							       "sv_min_thumb", 
							       "sv_max_thumb",
							       sv_range, sv_ticks);
        YAHOO.lang.augmentObject(sv_slider, {
            _status : 'ok',
            _highlight : Dom.get("sv_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var sv_ready = function () {
	   sv_slider.setValues(svmin*sv_ticks, svmax*sv_ticks);
	}

        var sv_change = function () {
            Dom.get('svmin_d').value = sv_values[parseInt(sv_slider.minVal/sv_ticks)];
            Dom.get('svmax_d').value = sv_values[parseInt(sv_slider.maxVal/sv_ticks)];
            Dom.get('svmin').value  = parseInt(sv_slider.minVal/sv_ticks);
            Dom.get('svmax').value  = parseInt(sv_slider.maxVal/sv_ticks);
        };

        sv_slider.subscribe('change', sv_slider.updateHighlight, sv_slider, true);
        sv_slider.subscribe('ready', sv_slider.updateHighlight, sv_slider, true);
        sv_slider.subscribe('change', sv_change);
        sv_slider.subscribe('ready', sv_ready);
        sv_slider.subscribe('ready', sv_change);
        YAHOO.optionistics.sv_slider = sv_slider;


        var ov_range = 155;
        var ov_ticks = parseInt(ov_range/6);

        var ov_values = new Array();
        ov_values[0] = '0';
        ov_values[1] = '1';
        ov_values[2] = '40';
        ov_values[3] = '200';
        ov_values[4] = '1K';
        ov_values[5] = '5K';
        ov_values[6] = 'MAX';

        var ov_slider = YAHOO.widget.Slider.getHorizDualSlider("ov_tickmarks",
							       "ov_min_thumb", 
							       "ov_max_thumb",
							       ov_range, ov_ticks);
        YAHOO.lang.augmentObject(ov_slider, {
            _status : 'ok',
            _highlight : Dom.get("ov_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var ov_ready = function () {
	   ov_slider.setValues(ovmin*ov_ticks, ovmax*ov_ticks);
	}

        var ov_change = function () {
            Dom.get('ovmin_d').value = ov_values[parseInt(ov_slider.minVal/ov_ticks)];
            Dom.get('ovmax_d').value = ov_values[parseInt(ov_slider.maxVal/ov_ticks)];
            Dom.get('ovmin').value  = parseInt(ov_slider.minVal/ov_ticks);
            Dom.get('ovmax').value  = parseInt(ov_slider.maxVal/ov_ticks);
        };

        ov_slider.subscribe('change', ov_slider.updateHighlight, ov_slider, true);
        ov_slider.subscribe('ready', ov_slider.updateHighlight, ov_slider, true);
        ov_slider.subscribe('change', ov_change);
        ov_slider.subscribe('ready', ov_ready);
        ov_slider.subscribe('ready', ov_change);
        YAHOO.optionistics.ov_slider = ov_slider;



        var ov2_range = 155;
        var ov2_ticks = parseInt(ov2_range/6);

        var ov2_values = new Array();
        ov2_values[0] = '0';
        ov2_values[1] = '1';
        ov2_values[2] = '40';
        ov2_values[3] = '200';
        ov2_values[4] = '1K';
        ov2_values[5] = '5K';
        ov2_values[6] = 'MAX';

        var ov2_slider = YAHOO.widget.Slider.getHorizDualSlider("ov2_tickmarks",
							       "ov2_min_thumb", 
							       "ov2_max_thumb",
							       ov2_range, ov2_ticks);
        YAHOO.lang.augmentObject(ov2_slider, {
            _status : 'ok',
            _highlight : Dom.get("ov2_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight,'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var ov2_ready = function () {
	   ov2_slider.setValues(ov2min*ov2_ticks, ov2max*ov2_ticks);
	}

        var ov2_change = function () {
            Dom.get('ov2min_d').value = ov2_values[parseInt(ov2_slider.minVal/ov2_ticks)];
            Dom.get('ov2max_d').value = ov2_values[parseInt(ov2_slider.maxVal/ov2_ticks)];
            Dom.get('ov2min').value  = parseInt(ov2_slider.minVal/ov2_ticks);
            Dom.get('ov2max').value  = parseInt(ov2_slider.maxVal/ov2_ticks);
        };

        ov2_slider.subscribe('change', ov2_slider.updateHighlight, ov2_slider, true);
        ov2_slider.subscribe('ready', ov2_slider.updateHighlight, ov2_slider, true);
        ov2_slider.subscribe('change', ov2_change);
        ov2_slider.subscribe('ready', ov2_ready);
        ov2_slider.subscribe('ready', ov2_change);
        YAHOO.optionistics.ov2_slider = ov2_slider;


        var iv_steps = 5;
        var iv_ticks = parseInt(160/iv_steps);
        var iv_range = iv_ticks*iv_steps;
        var iv_slider = YAHOO.widget.Slider.getHorizDualSlider("iv_tickmarks",
							       "iv_min_thumb", 
							       "iv_max_thumb",
							       iv_range, iv_ticks);
        var iv_values = new Array();
        iv_values[0] = '0';
        iv_values[1] = '0.3';
        iv_values[2] = '0.6';
        iv_values[3] = '1';
        iv_values[4] = '2';
        iv_values[5] = 'MAX';

        YAHOO.lang.augmentObject(iv_slider, {
            _status : 'ok',
            _highlight : Dom.get("iv_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight, 'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var iv_ready = function () {
	   iv_slider.setValues(ivmin*iv_ticks, ivmax*iv_ticks);
       };

        var iv_change = function () {
            Dom.get('ivmin_d').value = iv_values[parseInt(iv_slider.minVal/iv_ticks)];
            Dom.get('ivmax_d').value = iv_values[parseInt(iv_slider.maxVal/iv_ticks)];
            Dom.get('ivmin').value = parseInt(iv_slider.minVal/iv_ticks);
            Dom.get('ivmax').value = parseInt(iv_slider.maxVal/iv_ticks);
        };

        iv_slider.subscribe('change', iv_slider.updateHighlight,iv_slider,true);
        iv_slider.subscribe('ready', iv_slider.updateHighlight,iv_slider,true);
        iv_slider.subscribe('change', iv_change);
        iv_slider.subscribe('ready', iv_ready);
        iv_slider.subscribe('ready', iv_change);
        YAHOO.optionistics.iv_slider = iv_slider;



        var px_steps = 6;
        var px_ticks = parseInt(160/px_steps);
        var px_range = px_ticks*px_steps;
        var px_slider = YAHOO.widget.Slider.getHorizDualSlider("px_tickmarks",
							       "px_min_thumb", 
							       "px_max_thumb",
							       px_range, px_ticks);
        var px_values = new Array();
        px_values[0] = '0';
        px_values[1] = '2';
        px_values[2] = '10';
        px_values[3] = '25';
        px_values[4] = '40';
        px_values[5] = '80';
        px_values[6] = 'MAX';

        YAHOO.lang.augmentObject(px_slider, {
            _status : 'ok',
            _highlight : Dom.get("px_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight, 'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var px_ready = function () {
	   px_slider.setValues(pxmin*px_ticks, pxmax*px_ticks);
       };

        var px_change = function () {
            Dom.get('pxmin_d').value = px_values[parseInt(px_slider.minVal/px_ticks)];
            Dom.get('pxmax_d').value = px_values[parseInt(px_slider.maxVal/px_ticks)];
            Dom.get('pxmin').value = parseInt(px_slider.minVal/px_ticks);
            Dom.get('pxmax').value = parseInt(px_slider.maxVal/px_ticks);
        };

        px_slider.subscribe('change', px_slider.updateHighlight,px_slider,true);
        px_slider.subscribe('ready', px_slider.updateHighlight,px_slider,true);
        px_slider.subscribe('change', px_change);
        px_slider.subscribe('ready', px_ready);
        px_slider.subscribe('ready', px_change);
        YAHOO.optionistics.px_slider = px_slider;


        var exp_steps = exp_values.length - 1;
        var exp_ticks = parseInt(160/exp_steps);
        var exp_range = exp_ticks*exp_steps;
        var exp_slider = YAHOO.widget.Slider.getHorizDualSlider("exp_tickmarks",
							        "exp_min_thumb", 
							        "exp_max_thumb",
							        exp_range,
	                                                         exp_ticks);
	exp_slider.minRange = -exp_ticks;

        YAHOO.lang.augmentObject(exp_slider, {
            _status : 'ok',
            _highlight : Dom.get("exp_highlight"),

            getStatus : function () { return this._status; },

            updateHighlight : function () {
                var delta = this.maxVal - this.minVal,
                newStatus = 'ok';
                
                if (this._status != newStatus) {
                    Dom.replaceClass(this._highlight,this._status,newStatus);
                    this._status = newStatus;
                }
                if (this.activeSlider == this.minSlider) {
                    Dom.setStyle(this._highlight,'left', (this.minVal + 12) + 'px');
                }
                Dom.setStyle(this._highlight, 'width', Math.max(delta - 12,0) + 'px');
            }
        },true);

        var exp_ready = function () {
	   exp_slider.setValues(expmin*exp_ticks, expmax*exp_ticks);
       };

        var exp_change = function () {
            Dom.get('expmin_d').value = exp_values[parseInt(exp_slider.minVal/exp_ticks)];
            Dom.get('expmax_d').value = exp_values[parseInt(exp_slider.maxVal/exp_ticks)];
            Dom.get('expmin').value = parseInt(exp_slider.minVal/exp_ticks);
            Dom.get('expmax').value = parseInt(exp_slider.maxVal/exp_ticks);
        };

        exp_slider.subscribe('change', exp_slider.updateHighlight,exp_slider,true);
        exp_slider.subscribe('ready', exp_slider.updateHighlight,exp_slider,true);
        exp_slider.subscribe('change', exp_change);
        exp_slider.subscribe('ready', exp_ready);
        exp_slider.subscribe('ready', exp_change);
        YAHOO.optionistics.exp_slider = exp_slider;

        // report();

    });

})();

function def(o) {return (typeof o!="undefined");}

function addClass(o,name) {
    var c = o.className || "";
    if (def(c) && !hasClass(o,name)) {
	o.className += (c?" ":"") + name;
    }
}

function removeClass(o,name) {
    var c = o.className || "";
    o.className = o.className.replace(" " + name,"");
}


function showdlg(op) {
  document.getElementById('savedlg').style.display = 'none';
  document.getElementById('opendlg').style.display = 'none';
  document.getElementById('deldlg' ).style.display = 'none';
  document.getElementById('msg'    ).style.display = 'none';

  if (document.getElementById(op)) document.getElementById(op).style.display = '';
  if (tm) clearTimeout(tm);
  tm = 0;

  return false;
}

function report() {
  var xmlHttp;

  try {
    xmlHttp=new XMLHttpRequest();
  }

  catch (e) {
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
	alert("Upgrade your browser");
	return false;
      }
    }
  }

  var res = document.getElementById('results'); 
  var url = document.location.href;

  xmlHttp.onreadystatechange=function() {
      if(res && xmlHttp.readyState==4) {      
	  res.innerHTML = xmlHttp.responseText;
      } else {
	  res.innerHTML = '<div class=wait>Please wait...</div>';
      }
  };

  var params = 'jx=1' + qstr();
  // alert(params);
  xmlHttp.open("POST",url,true);

  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", params.length);
  xmlHttp.setRequestHeader("Connection", "close");

  xmlHttp.send(params);
  res.innerHTML = '<div class=wait>Please wait...</div>';
}

function save(op) {

  var xmlHttp;

  try {
    xmlHttp=new XMLHttpRequest();
  }

  catch (e) {
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
	alert("Upgrade your browser");
	return false;
      }
    }
  }

  var res = document.getElementById('msg'); 
  var url = document.location.href;

  xmlHttp.onreadystatechange=function() {
      if(res && xmlHttp.readyState==4) {      
	  res.innerHTML = xmlHttp.responseText;
          if (tm) clearTimeout(tm);
          tm = setTimeout('showdlg()', 10000);
      }
  };

  var params = op + '=1&ax=1' + qstr();
  // alert(params);
  xmlHttp.open("POST",url,true);

  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", params.length);
  xmlHttp.setRequestHeader("Connection", "close");

  xmlHttp.send(params);
  res.innerHTML = '<div class=savemsg>Please wait...</div>';
  showdlg('msg');
  if (tm) clearTimeout(tm);
  tm = setTimeout('showdlg()', 5000);

  return false;
}

function qstr() {
    var query = "";

    var frm = document.getElementById('frm');
    for (var i=0; i<frm.elements.length;i++) {
	if (frm.elements[i].name.length > 1) {
	    if (frm.elements[i].type == "checkbox") {
		if (frm.elements[i].checked) {
		    query += ('&' + frm.elements[i].name + "=1");
		}
	    } else {
		query += ('&' + frm.elements[i].name + "=" + frm.elements[i].value);
	    }
	}
    }
    return query;
}

function pager(page, tname) {
	var t = document.getElementById(tname);
	var res;
	if (page=="previous") {
		res=Table.pagePrevious(t);
	}
	else if (page=="next") {
		res=Table.pageNext(t);
	}
	else {
		res=Table.page(t,page);
	}

	var currentPage = res.page+1;
	$('.pagelink').removeClass('currentpage');
	$('#page'+currentPage).addClass('currentpage');

        var pprev = document.getElementById('pager_prev');
        if(pprev) {
           if(res.page == 0) {
              pprev.style.display = 'none';
           } else {
              pprev.style.display = '';
           }
        }

        var pnext = document.getElementById('pager_next');
        if(pnext) {
           if (res.page == 3) {
              pnext.style.display = 'none';
           } else {
              pnext.style.display = '';
           }
        }
}
