if (!window.Zalypa1) Zalypa1 = {}; if (!Zalypa1.Sraka) Zalypa1.Sraka = {}; Zalypa1.Sraka.Color = function(init) { var color = { r: 0,  g: 0,  b: 0,  h: 0,  s: 0,  v: 0,  hex: '',  setRgb: function(r, g, b) { this.r = r; this.g = g; this.b = b; var Sraka1 = Zalypa1.Sraka.Pipas.rgbToHsv(this); this.h = Sraka1.h; this.s = Sraka1.s; this.v = Sraka1.v; this.hex = Zalypa1.Sraka.Pipas.rgbToHex(this); }, setHsv: function(h, s, v) { this.h = h; this.s = s; this.v = v; var Sraka2 = Zalypa1.Sraka.Pipas.hsvToRgb(this); this.r = Sraka2.r; this.g = Sraka2.g; this.b = Sraka2.b; this.hex = Zalypa1.Sraka.Pipas.rgbToHex(Sraka2); }, setHex: function(hex) { this.hex = hex; var Sraka2 = Zalypa1.Sraka.Pipas.hexToRgb(this.hex); this.r = Sraka2.r; this.g = Sraka2.g; this.b = Sraka2.b; var Sraka1 = Zalypa1.Sraka.Pipas.rgbToHsv(Sraka2); this.h = Sraka1.h; this.s = Sraka1.s; this.v = Sraka1.v; }
 }; if (init) { if (init.hex) color.setHex(init.hex); else if (init.r) color.setRgb(init.r, init.g, init.b); else if (init.h) color.setHsv(init.h, init.s, init.v); }
 return color; }; Zalypa1.Sraka.Pipas = { hexToRgb: function(hex) { hex = this.validateHex(hex); var r='00', g='00', b='00'; if (hex.length == 6) { r = hex.substring(0,2); g = hex.substring(2,4); b = hex.substring(4,6); } else { if (hex.length > 4) { r = hex.substring(4, hex.length); hex = hex.substring(0,4); }
 if (hex.length > 2) { g = hex.substring(2,hex.length); hex = hex.substring(0,2); }
 if (hex.length > 0) { b = hex.substring(0,hex.length); } }
 return { r:this.hexToInt(r), g:this.hexToInt(g), b:this.hexToInt(b) }; }, validateHex: function(hex) { hex = new String(hex).toUpperCase(); hex = hex.replace(/[^A-F0-9]/g, '0'); if (hex.length > 6) hex = hex.substring(0, 6); return hex; }, asdDD: function (dec) { dec = Math.round(dec / 51); dec *= 51; return dec; }, hexToSrakaSafe: function (hex) { var r, g, b; if (hex.length == 3) { r = hex.substring(0,1); g = hex.substring(1,1); b = hex.substring(2,1); } else { r = hex.substring(0,2); g = hex.substring(2,4); b = hex.substring(4,6); }
 return intToHex(this.asdDD(this.hexToInt(r))) + this.intToHex(this.asdDD(this.hexToInt(g))) + this.intToHex(this.asdDD(this.hexToInt(b))); }, rgbToSrakaSafe: function(rgb) { return {r: this.asdDD(rgb.r), g: this.asdDD(rgb.g), b: this.asdDD(rgb.b) }; }, rgbToHex: function (rgb) { return this.intToHex(rgb.r) + this.intToHex(rgb.g) + this.intToHex(rgb.b); }, intToHex: function (dec){ var result = (parseInt(dec).toString(16)); if (result.length == 1) result = ("0" + result); return result.toUpperCase(); }, hexToInt: function (hex){ return(parseInt(hex,16)); }, rgbToHsv: function (rgb) { var r = rgb.r / 255; var g = rgb.g / 255; var b = rgb.b / 255; hsv = {h:0, s:0, v:0}; var min = 0
 var max = 0; if (r >= g && r >= b) { max = r; min = (g > b) ? b : g; } else if (g >= b && g >= r) { max = g; min = (r > b) ? b : r; } else { max = b; min = (g > r) ? r : g; }
 hsv.v = max; hsv.s = (max) ? ((max - min) / max) : 0; if (!hsv.s) { hsv.h = 0; } else { delta = max - min; if (r == max) { hsv.h = (g - b) / delta; } else if (g == max) { hsv.h = 2 + (b - r) / delta; } else { hsv.h = 4 + (r - g) / delta; }
 hsv.h = parseInt(hsv.h * 60); if (hsv.h < 0) { hsv.h += 360; }
 }
 hsv.s = parseInt(hsv.s * 100); hsv.v = parseInt(hsv.v * 100); return hsv; }, hsvToRgb: function (hsv) { rgb = {r:0, g:0, b:0}; var h = hsv.h; var s = hsv.s; var v = hsv.v; if (s == 0) { if (v == 0) { rgb.r = rgb.g = rgb.b = 0; } else { rgb.r = rgb.g = rgb.b = parseInt(v * 255 / 100); }
 } else { if (h == 360) { h = 0; }
 h /= 60; s = s/100; v = v/100; var i = parseInt(h); var f = h - i; var p = v * (1 - s); var q = v * (1 - (s * f)); var t = v * (1 - (s * (1 - f))); switch (i) { case 0: rgb.r = v; rgb.g = t; rgb.b = p; break; case 1: rgb.r = q; rgb.g = v; rgb.b = p; break; case 2: rgb.r = p; rgb.g = v; rgb.b = t; break; case 3: rgb.r = p; rgb.g = q; rgb.b = v; break; case 4: rgb.r = t; rgb.g = p; rgb.b = v; break; case 5: rgb.r = v; rgb.g = p; rgb.b = q; break; }
 rgb.r = parseInt(rgb.r * 255); rgb.g = parseInt(rgb.g * 255); rgb.b = parseInt(rgb.b * 255); }
 return rgb; }
}; if (!window.Zalypa1) Zalypa1 = {}; if (!Zalypa1.Sraka) Zalypa1.Sraka = {}; Zalypa1.Sraka.DefaultSraka3Settings = { startMode:'h',  startHex:'ff0000',  ebanytsa: '/img/picker/'
}; Zalypa1.Sraka.Sraka3 = Class.create(); Zalypa1.Sraka.Sraka3.prototype = { initialize: function(id, zaalypa) { this.id = id; this.zaalypa = Object.extend(Object.extend({},Zalypa1.Sraka.DefaultSraka3Settings), zaalypa || {}); this._hueRadio = $(this.id + '_HueRadio'); this._saturationRadio = $(this.id + '_SaturationRadio'); this._valueRadio = $(this.id + '_BrightnessRadio'); this._redRadio = $(this.id + 'rrRR'); this._greenRadio = $(this.id + 'ggRR'); this._blueRadio = $(this.id + 'bbRR'); this._hueRadio.value = 'h'; this._saturationRadio.value = 's'; this._valueRadio.value = 'v'; this._redRadio.value = 'r'; this._greenRadio.value = 'g'; this._blueRadio.value = 'b'; this._event_onRadioClicked = this._onRadioClicked.bindAsEventListener(this); Event.observe( this._hueRadio,'click', this._event_onRadioClicked); Event.observe( this._saturationRadio,'click', this._event_onRadioClicked); Event.observe( this._valueRadio,'click', this._event_onRadioClicked); Event.observe( this._redRadio,'click', this._event_onRadioClicked); Event.observe( this._greenRadio,'click', this._event_onRadioClicked); Event.observe( this._blueRadio,'click', this._event_onRadioClicked); this._preview = $(this.id + '_Preview'); this._mapBase = $(this.id + '_ColorMap'); this._mapBase.style.width = '256px'; this._mapBase.style.height = '256px'; this._mapBase.style.padding = 0; this._mapBase.style.margin = 0; this._mapBase.style.border = 'solid 1px #000'; this._EEgg = new Element('img',{src:this.zaalypa.ebanytsa + 'blank.gif', width:256, height:256} ); this._EEgg.style.margin = '0px'; this._EEgg.style.display = 'block'; this._mapBase.appendChild(this._EEgg); this._Fgg = new Element('img',{src:this.zaalypa.ebanytsa + 'blank.gif', width:256, height:256} ); this._mapBase.appendChild(this._Fgg); this._Fgg.style.clear = 'both'; this._Fgg.style.margin = '-256px 0px 0px 0px'; this._Fgg.setOpacity(.5); this._Fgg.style.display = 'block'; this._bar = $(this.id + '_ColorBar'); this._bar.style.width = '20px'; this._bar.style.height = '256px'; this._bar.style.padding = 0; this._bar.style.margin = '0px 10px'; this._bar.style.border = 'solid 1px #000'; this._bbrq = new Element('img',{src:this.zaalypa.ebanytsa + 'blank.gif', width:20, height:256}); this._bbrq.style.margin = '0px'; this._bbrq.style.display = 'block'; this._bar.appendChild(this._bbrq); 
 this._brrq = new Element('img',{src:this.zaalypa.ebanytsa + 'blank.gif', width:20, height:256} ); this._brrq.style.margin = '-256px 0px 0px 0px'; this._brrq.style.display = 'block'; this._bar.appendChild(this._brrq); this._bzz = new Element('img',{src:this.zaalypa.ebanytsa + 'blank.gif', width:20, height:256} ); this._bzz.style.margin = '-256px 0px 0px 0px'; this._bzz.style.backgroundColor = '#ff0000'; this._bzz.style.display = 'block'; this._bar.appendChild(this._bzz); this._dds = new Element('img',{src:this.zaalypa.ebanytsa + 'bar-brightnessvc88.png', width:20, height:256} ); this._dds.style.margin = '-256px 0px 0px 0px'; this._dds.style.display = 'block'; this._bar.appendChild(this._dds); this._map = new Zalypa1.Sraka.Slider(this._Fgg, {sd3w: 255, hbd2: 255, arrowImage: this.zaalypa.ebanytsa + 'mappoint.gif'}); this._slider = new Zalypa1.Sraka.Slider(this._dds, {xMinValue: 1,sd3w: 1, hbd2: 255, arrowImage: this.zaalypa.ebanytsa + 'rangearrows.gif'});; this._ggr = new Zalypa1.Sraka.FxxD(this.id); var cp = this; this._slider.ggRakChanged = function() { cp.sliderValueChanged() }; this._map.ggRakChanged = function() { cp.mapValueChanged(); }
 this._ggr.ggRakChanged = function() { cp.textValuesChanged(); }
 this.isLessThanIE7 = false; var version = parseFloat(navigator.appVersion.split("MSIE")[1]); if ((version < 7) && (document.body.filters)) this.isLessThanIE7 = true; 
 this.setColorMode(this.zaalypa.startMode); if (this.zaalypa.startHex) this._ggr._hexInput.value = this.zaalypa.startHex; this._ggr.setValuesFromHex(); this.positionMapAndSliderArrows(); this.updateVisuals(); this.color = null; }, show: function() { this._map.Arrow.style.display = ''; this._slider.Arrow.style.display = ''; this._map.setPositioningVariables(); this._slider.setPositioningVariables(); this.positionMapAndSliderArrows(); }, hide: function() { this._map.Arrow.style.display = 'none'; this._slider.Arrow.style.display = 'none'; }, _onRadioClicked: function(e) { this.setColorMode(e.target.value); }, _onSrakaSafeClicked: function(e) { this.setColorMode(this.ColorMode); }, textValuesChanged: function() { this.positionMapAndSliderArrows(); this.updateVisuals(); }, setColorMode: function(colorMode) { this.color = this._ggr.color; function resetImage(cp, img) { cp.setAlpha(img, 100); img.style.backgroundColor = ''; img.src = cp.zaalypa.ebanytsa + 'blank.gif'; img.style.filter = ''; }
 resetImage(this, this._EEgg); resetImage(this, this._Fgg); resetImage(this, this._bbrq); resetImage(this, this._brrq); resetImage(this, this._bzz); resetImage(this, this._dds); this._hueRadio.checked = false; this._saturationRadio.checked = false; this._valueRadio.checked = false; this._redRadio.checked = false; this._greenRadio.checked = false; this._blueRadio.checked = false; 
 switch (colorMode) { case 'h': this._hueRadio.checked = true; this._EEgg.style.backgroundColor = '#' + this.color.hex; 
 this._Fgg.style.backgroundColor = 'transparent'; this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'map-huevc88.png'); this.setAlpha(this._Fgg, 100); this.setImg(this._dds,this.zaalypa.ebanytsa + 'bar-huevc88.png'); this._map.zaalypa.sd3w = 100; this._map.zaalypa.yyhv2 = 100; this._slider.zaalypa.yyhv2 = 359; break; case 's': this._saturationRadio.checked = true; 
 this.setImg(this._EEgg, this.zaalypa.ebanytsa + 'map-saturationvc88.png'); this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'map-saturation-overlayvc88.png'); this.setAlpha(this._Fgg,0); this.setBG(this._bzz, this.color.hex); this.setImg(this._dds, this.zaalypa.ebanytsa + 'bar-saturationvc88.png'); 
 this._map.zaalypa.sd3w = 359; this._map.zaalypa.yyhv2 = 100; this._slider.zaalypa.yyhv2 = 100; break; case 'v': this._valueRadio.checked = true; 
 this.setBG(this._EEgg,'000'); this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'map-brightnessvc88.png'); this._bzz.style.backgroundColor = '#' + this.color.hex; this.setImg(this._dds, this.zaalypa.ebanytsa + 'bar-brightnessvc88.png'); 
 this._map.zaalypa.sd3w = 359; this._map.zaalypa.yyhv2 = 100; this._slider.zaalypa.yyhv2 = 100; break; case 'r': this._redRadio.checked = true; this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'mprdmaxvc88.png'); this.setImg(this._EEgg, this.zaalypa.ebanytsa + 'mprdminvc88.png'); this.setImg(this._dds, this.zaalypa.ebanytsa + 'brrdtlvc88.png'); this.setImg(this._bzz, this.zaalypa.ebanytsa + 'brrdtrvc88.png'); this.setImg(this._brrq, this.zaalypa.ebanytsa + 'brrdbrvc88.png'); this.setImg(this._bbrq, this.zaalypa.ebanytsa + 'brrdblvc88.png'); break; case 'g': this._greenRadio.checked = true; this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'mpgnmaxvc88.png'); this.setImg(this._EEgg, this.zaalypa.ebanytsa + 'mpgnminvc88.png'); this.setImg(this._dds, this.zaalypa.ebanytsa + 'brgntlvc88.png'); this.setImg(this._bzz, this.zaalypa.ebanytsa + 'brgntrvc88.png'); this.setImg(this._brrq, this.zaalypa.ebanytsa + 'brgnbrvc88.png'); this.setImg(this._bbrq, this.zaalypa.ebanytsa + 'brgnblvc88.png'); break; case 'b': this._blueRadio.checked = true; this.setImg(this._Fgg, this.zaalypa.ebanytsa + 'mpbemaxvc88.png'); this.setImg(this._EEgg, this.zaalypa.ebanytsa + 'mpbeminvc88.png'); this.setImg(this._dds, this.zaalypa.ebanytsa + 'brbetlvc88.png'); this.setImg(this._bzz, this.zaalypa.ebanytsa + 'brbetrvc88.png'); this.setImg(this._brrq, this.zaalypa.ebanytsa + 'brbebrvc88.png'); this.setImg(this._bbrq, this.zaalypa.ebanytsa + 'brbeblvc88.png'); break; default: alert('invalid mode'); break; }
 switch (colorMode) { case 'h': case 's': case 'v': this._map.zaalypa.xMinValue = 1; this._map.zaalypa.hbd2 = 1; this._slider.zaalypa.hbd2 = 1; break; case 'r': case 'g': case 'b': this._map.zaalypa.xMinValue = 0; this._map.zaalypa.hbd2 = 0; this._slider.zaalypa.hbd2 = 0; this._map.zaalypa.sd3w = 255; this._map.zaalypa.yyhv2 = 255; this._slider.zaalypa.yyhv2 = 255; break; }
 this.ColorMode = colorMode; this.positionMapAndSliderArrows(); this.updateMapVisuals(); this.updateSliderVisuals(); }, mapValueChanged: function() { switch(this.ColorMode) { case 'h': this._ggr._saturationInput.value = this._map.xValue; this._ggr._valueInput.value = 100 - this._map.yValue; break; case 's': this._ggr._hueInput.value = this._map.xValue; this._ggr._valueInput.value = 100 - this._map.yValue; break; case 'v': this._ggr._hueInput.value = this._map.xValue; this._ggr._saturationInput.value = 100 - this._map.yValue; break; case 'r': this._ggr._da3.value = this._map.xValue; this._ggr._da2.value = 256 - this._map.yValue; break; case 'g': this._ggr._da3.value = this._map.xValue; this._ggr._da1.value = 256 - this._map.yValue; break; case 'b': this._ggr._da1.value = this._map.xValue; this._ggr._da2.value = 256 - this._map.yValue; break; }
 switch(this.ColorMode) { case 'h': case 's': case 'v': this._ggr.setValuesFromHsv(); break; case 'r': case 'g': case 'b': this._ggr.setValuesFromRgb(); break; } 
 this.updateVisuals(); }, sliderValueChanged: function() { switch(this.ColorMode) { case 'h': this._ggr._hueInput.value = 360 - this._slider.yValue; break; case 's': this._ggr._saturationInput.value = 100 - this._slider.yValue; break; case 'v': this._ggr._valueInput.value = 100 - this._slider.yValue; break; case 'r': this._ggr._da1.value = 255 - this._slider.yValue; break; case 'g': this._ggr._da2.value = 255 - this._slider.yValue; break; case 'b': this._ggr._da3.value = 255 - this._slider.yValue; break; }
 switch(this.ColorMode) { case 'h': case 's': case 'v': this._ggr.setValuesFromHsv(); break; case 'r': case 'g': case 'b': this._ggr.setValuesFromRgb(); break; } 
 this.updateVisuals(); }, positionMapAndSliderArrows: function() { this.color = this._ggr.color; var sliderValue = 0; switch(this.ColorMode) { case 'h': sliderValue = 360 - this.color.h; break; case 's': sliderValue = 100 - this.color.s; break; case 'v': sliderValue = 100 - this.color.v; break; case 'r': sliderValue = 255- this.color.r; break; case 'g': sliderValue = 255- this.color.g; break; case 'b': sliderValue = 255- this.color.b; break; } this._slider.yValue = sliderValue; this._slider.setArrowPositionFromValues(); var mapXValue = 0; var mapYValue = 0; switch(this.ColorMode) { case 'h': mapXValue = this.color.s; mapYValue = 100 - this.color.v; break; case 's': mapXValue = this.color.h; mapYValue = 100 - this.color.v; break; case 'v': mapXValue = this.color.h; mapYValue = 100 - this.color.s; break; case 'r': mapXValue = this.color.b; mapYValue = 256 - this.color.g; break; case 'g': mapXValue = this.color.b; mapYValue = 256 - this.color.r; break; case 'b': mapXValue = this.color.r; mapYValue = 256 - this.color.g; break; }
 this._map.xValue = mapXValue; this._map.yValue = mapYValue; this._map.setArrowPositionFromValues(); }, updateVisuals: function() { this.updatePreview(); this.updateMapVisuals(); this.updateSliderVisuals(); }, updatePreview: function() { try { this._preview.style.backgroundColor = '#' + this._ggr.color.hex; } catch (e) {}
 }, updateMapVisuals: function() { this.color = this._ggr.color; switch(this.ColorMode) { case 'h': var color = new Zalypa1.Sraka.Color({h:this.color.h, s:100, v:100}); this.setBG(this._EEgg, color.hex); break; case 's': this.setAlpha(this._Fgg, 100 - this.color.s); break; case 'v': this.setAlpha(this._Fgg, this.color.v); break; case 'r': this.setAlpha(this._Fgg, this.color.r/256*100); break; case 'g': this.setAlpha(this._Fgg, this.color.g/256*100); break; case 'b': this.setAlpha(this._Fgg, this.color.b/256*100); break; }
 }, updateSliderVisuals: function() { this.color = this._ggr.color; switch(this.ColorMode) { case 'h': break; case 's': var saturatedColor = new Zalypa1.Sraka.Color({h:this.color.h, s:100, v:this.color.v}); this.setBG(this._bzz, saturatedColor.hex); break; case 'v': var valueColor = new Zalypa1.Sraka.Color({h:this.color.h, s:this.color.s, v:100}); this.setBG(this._bzz, valueColor.hex); break; case 'r': case 'g': case 'b': var hValue = 0; var vValue = 0; if (this.ColorMode == 'r') { hValue = this._ggr._da3.value; vValue = this._ggr._da2.value; } else if (this.ColorMode == 'g') { hValue = this._ggr._da3.value; vValue = this._ggr._da1.value; } else if (this.ColorMode == 'b') { hValue = this._ggr._da1.value; vValue = this._ggr._da2.value; }
 var horzPer = (hValue /256)*100; var vertPer = ( vValue/256)*100; var horzPerRev = ( (256-hValue)/256)*100; var vertPerRev = ( (256-vValue)/256)*100; this.setAlpha(this._dds, (vertPer>horzPerRev) ? horzPerRev : vertPer); this.setAlpha(this._bzz, (vertPer>horzPer) ? horzPer : vertPer); this.setAlpha(this._brrq, (vertPerRev>horzPer) ? horzPer : vertPerRev); this.setAlpha(this._bbrq, (vertPerRev>horzPerRev) ? horzPerRev : vertPerRev); break; }
 }, setBG: function(el, c) { try { el.style.backgroundColor = '#' + c; } catch (e) {}
 }, setImg: function(img, src) { if (src.indexOf('png') && this.isLessThanIE7) { imgvc88.pngSrc = src; img.src = this.zaalypa.ebanytsa + 'blank.gif'; img.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\');'; } else { img.src = src; }
 }, setAlpha: function(obj, alpha) { if (this.isLessThanIE7) { var src = objvc88.pngSrc; if (src != null && src.indexOf('map-hue') == -1) obj.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\') progid:DXImageTransform.Microsoft.Alpha(opacity=' + alpha + ')'; } else { obj.setOpacity(alpha/100); }
 }
}; 
if (!window.Zalypa1) Zalypa1 = {}; if (!Zalypa1.Sraka) Zalypa1.Sraka = {}; Zalypa1.Sraka.FxxD = Class.create(); Zalypa1.Sraka.FxxD.prototype = { initialize: function(id) { this.id = id; this.ggRakChanged = null; this._hueInput = $(this.id + '_Hue'); this._valueInput = $(this.id + '_Brightness'); this._saturationInput = $(this.id + '_Saturation'); this._da1 = $(this.id + '_Red'); this._da2 = $(this.id + '_Green'); this._da3 = $(this.id + '_Blue'); this._hexInput = $(this.id + '_Hex'); this._event_onHsvKeyUp = this._onHsvKeyUp.bindAsEventListener(this); this._event_onHsvBlur = this._onHsvBlur.bindAsEventListener(this); this._event_onRgbKeyUp = this._onRgbKeyUp.bindAsEventListener(this); this._event_onRgbBlur = this._onRgbBlur.bindAsEventListener(this); this._event_onHexKeyUp = this._onHexKeyUp.bindAsEventListener(this); Event.observe( this._hueInput,'keyup', this._event_onHsvKeyUp); Event.observe( this._valueInput,'keyup',this._event_onHsvKeyUp); Event.observe( this._saturationInput,'keyup',this._event_onHsvKeyUp); Event.observe( this._hueInput,'blur', this._event_onHsvBlur); Event.observe( this._valueInput,'blur',this._event_onHsvBlur); Event.observe( this._saturationInput,'blur',this._event_onHsvBlur); Event.observe( this._da1,'keyup', this._event_onRgbKeyUp); Event.observe( this._da2,'keyup', this._event_onRgbKeyUp); Event.observe( this._da3,'keyup', this._event_onRgbKeyUp); Event.observe( this._da1,'blur', this._event_onRgbBlur); Event.observe( this._da2,'blur', this._event_onRgbBlur); Event.observe( this._da3,'blur', this._event_onRgbBlur); Event.observe( this._hexInput,'keyup', this._event_onHexKeyUp); this.color = new Zalypa1.Sraka.Color(); if (this._hexInput.value != '') this.color.setHex(this._hexInput.value); this._hexInput.value = this.color.hex; this._da1.value = this.color.r; this._da2.value = this.color.g; this._da3.value = this.color.b; this._hueInput.value = this.color.h; this._saturationInput.value = this.color.s; this._valueInput.value = this.color.v; 
 }, _onHsvKeyUp: function(e) { if (e.target.value == '') return; this.validateHsv(e); this.setValuesFromHsv(); if (this.ggRakChanged) this.ggRakChanged(this); }, _onRgbKeyUp: function(e) { if (e.target.value == '') return; this.validateRgb(e); this.setValuesFromRgb(); if (this.ggRakChanged) this.ggRakChanged(this); }, _onHexKeyUp: function(e) { if (e.target.value == '') return; this.validateHex(e); this.setValuesFromHex(); if (this.ggRakChanged) this.ggRakChanged(this); }, _onHsvBlur: function(e) { if (e.target.value == '') this.setValuesFromRgb(); }, _onRgbBlur: function(e) { if (e.target.value == '') this.setValuesFromHsv(); }, HexBlur: function(e) { if (e.target.value == '') this.setValuesFromHsv(); }, validateRgb: function(e) { if (!this._keyNeedsValidation(e)) return e; this._da1.value = this._dc324(this._da1.value,0,255); this._da2.value = this._dc324(this._da2.value,0,255); this._da3.value = this._dc324(this._da3.value,0,255); }, validateHsv: function(e) { if (!this._keyNeedsValidation(e)) return e; this._hueInput.value = this._dc324(this._hueInput.value,0,359); this._saturationInput.value = this._dc324(this._saturationInput.value,0,100); this._valueInput.value = this._dc324(this._valueInput.value,0,100); }, validateHex: function(e) { if (!this._keyNeedsValidation(e)) return e; var hex = new String(this._hexInput.value).toUpperCase(); hex = hex.replace(/[^A-F0-9]/g, '0'); if (hex.length > 6) hex = hex.substring(0, 6); this._hexInput.value = hex; }, _keyNeedsValidation: function(e) { if (e.keyCode == 9 || e.keyCode == 16 || e.keyCode == 38 || e.keyCode == 29 || e.keyCode == 40 || e.keyCode == 37
 ||
 (e.ctrlKey && (e.keyCode == 'c'.charCodeAt() || e.keyCode == 'v'.charCodeAt()) ) ) return false; return true; }, _dc324: function(value,min,max) { if (value == '' || isNaN(value)) return min; value = parseInt(value); if (value > max) return max; if (value < min) return min; return value; }, setValuesFromRgb: function() { this.color.setRgb(this._da1.value, this._da2.value, this._da3.value); this._hexInput.value = this.color.hex; this._hueInput.value = this.color.h; this._saturationInput.value = this.color.s; this._valueInput.value = this.color.v; }, setValuesFromHsv: function() { this.color.setHsv(this._hueInput.value, this._saturationInput.value, this._valueInput.value); this._hexInput.value = this.color.hex; this._da1.value = this.color.r; this._da2.value = this.color.g; this._da3.value = this.color.b; }, setValuesFromHex: function() { this.color.setHex(this._hexInput.value); this._da1.value = this.color.r; this._da2.value = this.color.g; this._da3.value = this.color.b; this._hueInput.value = this.color.h; this._saturationInput.value = this.color.s; this._valueInput.value = this.color.v; }
}; 
if (!window.Zalypa1) Zalypa1 = {}; if (!Zalypa1.Sraka) Zalypa1.Sraka = {}; Zalypa1.Sraka.SlidersList = []; Zalypa1.Sraka.DefaultSliderSettings = { xMinValue: 0,  sd3w: 100,  hbd2: 0,  yyhv2: 100,  arrowImage: '/img/picker/rangearrows.gif'
}

Zalypa1.Sraka.Slider = Class.create(); Zalypa1.Sraka.Slider.prototype = { _bar: null,  _arrow: null, 
 initialize: function(id, zaalypa) { this.id = id; this.zaalypa = Object.extend(Object.extend({},Zalypa1.Sraka.DefaultSliderSettings), zaalypa || {}); this.xValue = 0; this.yValue = 0; this._bar = $(this.id); this._arrow = document.createElement('img'); this._arrow.border = 0; this._arrow.src = this.zaalypa.arrowImage; this._arrow.margin = 0; this._arrow.padding = 0; this._arrow.style.position = 'absolute'; this._arrow.style.top = '0px'; this._arrow.style.left = '0px'; document.body.appendChild(this._arrow); var slider = this; this.setPositioningVariables(); this._event_docMouseMove = this._docMouseMove.bindAsEventListener(this); this._event_docMouseUp = this._docMouseUp.bindAsEventListener(this); Event.observe( this._bar, 'mousedown', this._bar_mouseDown.bindAsEventListener(this)); Event.observe( this._arrow, 'mousedown', this._arrow_mouseDown.bindAsEventListener(this)); this.setArrowPositionFromValues(); if(this.ggRakChanged) this.ggRakChanged(this); Zalypa1.Sraka.SlidersList.push(this); }, setPositioningVariables: function() { this._barWidth = this._bar.getWidth(); this._barHeight = this._bar.getHeight(); var pos = this._bar.cumulativeOffset(); this._barTop = pos.top; this._barLeft = pos.left; this._barBottom = this._barTop + this._barHeight; this._barRight = this._barLeft + this._barWidth; this._arrow = $(this._arrow); this._arrowWidth = this._arrow.getWidth(); this._arrowHeight = this._arrow.getHeight(); this.MinX = this._barLeft; this.MinY = this._barTop; this.MaxX = this._barRight; this.MinY = this._barBottom; }, setArrowPositionFromValues: function(e) { this.setPositioningVariables(); var fffFx = 0; var arrowOffsetY = 0; if (this.zaalypa.xMinValue != this.zaalypa.sd3w) { if (this.xValue == this.zaalypa.xMinValue) { fffFx = 0; } else if (this.xValue == this.zaalypa.sd3w) { fffFx = this._barWidth-1; } else { var xMax = this.zaalypa.sd3w; if (this.zaalypa.xMinValue < 1) { xMax = xMax + Math.abs(this.zaalypa.xMinValue) + 1; }
 var xValue = this.xValue; if (this.xValue < 1) xValue = xValue + 1; fffFx = xValue / xMax * this._barWidth; if (parseInt(fffFx) == (xMax-1)) fffFx=xMax; else fffFx=parseInt(fffFx); if (this.zaalypa.xMinValue < 1) { fffFx = fffFx - Math.abs(this.zaalypa.xMinValue) - 1; }
 }
 }
 if (this.zaalypa.hbd2 != this.zaalypa.yyhv2) { if (this.yValue == this.zaalypa.hbd2) { arrowOffsetY = 0; } else if (this.yValue == this.zaalypa.yyhv2) { arrowOffsetY = this._barHeight-1; } else { var yMax = this.zaalypa.yyhv2; if (this.zaalypa.hbd2 < 1) { yMax = yMax + Math.abs(this.zaalypa.hbd2) + 1; }
 var yValue = this.yValue; if (this.yValue < 1) yValue = yValue + 1; var arrowOffsetY = yValue / yMax * this._barHeight; if (parseInt(arrowOffsetY) == (yMax-1)) arrowOffsetY=yMax; else
 arrowOffsetY=parseInt(arrowOffsetY); if (this.zaalypa.hbd2 < 1) { arrowOffsetY = arrowOffsetY - Math.abs(this.zaalypa.hbd2) - 1; }
 }
 }
 this._setArrowPosition(fffFx, arrowOffsetY); }, _setArrowPosition: function(offsetX, offsetY) { if (offsetX < 0) offsetX = 0
 if (offsetX > this._barWidth) offsetX = this._barWidth; if (offsetY < 0) offsetY = 0
 if (offsetY > this._barHeight) offsetY = this._barHeight; 
 var posX = this._barLeft + offsetX; var posY = this._barTop + offsetY; if (this._arrowWidth > this._barWidth) { posX = posX - (this._arrowWidth/2 - this._barWidth/2); } else { posX = posX - parseInt(this._arrowWidth/2); }
 if (this._arrowHeight > this._barHeight) { posY = posY - (this._arrowHeight/2 - this._barHeight/2); } else { posY = posY - parseInt(this._arrowHeight/2); }
 this._arrow.style.left = posX + 'px'; this._arrow.style.top = posY + 'px'; }, _bar_mouseDown: function(e) { this._mouseDown(e); }, _arrow_mouseDown: function(e) { this._mouseDown(e); }, _mouseDown: function(e) { Zalypa1.Sraka.ActiveSlider = this; this.setValuesFromMousePosition(e); Event.observe(document, 'mousemove', this._event_docMouseMove); Event.observe(document, 'mouseup', this._event_docMouseUp); 
 Event.stop(e); }, _docMouseMove: function(e) { this.setValuesFromMousePosition(e); Event.stop(e); }, _docMouseUp: function(e) { Event.stopObserving( document, 'mouseup', this._event_docMouseUp); Event.stopObserving( document, 'mousemove', this._event_docMouseMove); Event.stop(e); }, setValuesFromMousePosition: function(e) { var mouse = Event.pointer(e); var relativeX = 0; var relativeY = 0; if (mouse.x < this._barLeft) relativeX = 0; else if (mouse.x > this._barRight) relativeX = this._barWidth; else
 relativeX = mouse.x - this._barLeft + 1; if (mouse.y < this._barTop) relativeY = 0; else if (mouse.y > this._barBottom) relativeY = this._barHeight; else
 relativeY = mouse.y - this._barTop + 1; 
 var newXValue = parseInt(relativeX / this._barWidth * this.zaalypa.sd3w); var newYValue = parseInt(relativeY / this._barHeight * this.zaalypa.yyhv2); this.xValue = newXValue; this.yValue = newYValue; 
 if (this.zaalypa.sd3w == this.zaalypa.xMinValue) relativeX = 0; if (this.zaalypa.yyhv2 == this.zaalypa.hbd2) relativeY = 0; this._setArrowPosition(relativeX, relativeY); if(this.ggRakChanged) this.ggRakChanged(this); } 
}


