QLife.BPPreview={colHash:null,idHtmlCode:'',init:function(idHtmlCode){this.colHash=new Hash();this.idHtmlCode=idHtmlCode;var suffixes=['title','text','bg','border','url'];for(var i=0,length=suffixes.length;i<length;i++){var suffix=suffixes[i],col=$F('txt_'+suffix);this.colHash.set(suffix,col);this._observeTextbox(suffix)}},_observeTextbox:function(suffix){$('txt_'+suffix).observe('keyup',function(){QLife.BPPreview.preview(suffix,this.value)})},preview:function(target,col){if((col.length!=3&&col.length!=6)||col==this.colHash.get(target)){return}this.colHash.set(target,col);var objects=null;var htmlcode=$F(this.idHtmlCode);if(target=='title'){objects=$$('div.bppreview *.qlifebp-title');$(this.idHtmlCode).value=htmlcode.replace(/(QLife_Title_Color\s*=\s*')[^']+/,'$1'+col)}else if(target=='text'){objects=$$('div.bppreview *.qlifebp-text');$(this.idHtmlCode).value=htmlcode.replace(/(QLife_Text_Color\s*=\s*')[^']+/,'$1'+col)}else if(target=='bg'){objects=$$('div.bppreview *.qlifebp-bg');$(this.idHtmlCode).value=htmlcode.replace(/(QLife_Background_Color\s*=\s*')[^']+/,'$1'+col)}else if(target=='border'){objects=$$('div.bppreview *.qlifebp-border');$(this.idHtmlCode).value=htmlcode.replace(/(QLife_Border_Color\s*=\s*')[^']+/,'$1'+col)}else if(target=='url'){objects=$$('div.bppreview a, div.bppreview span.qlifebp-btn');htmlcode=htmlcode.replace(/(QLife_URL_Color\s*=\s*')[^']+/,'$1'+col);$(this.idHtmlCode).value=htmlcode.replace(/(<a\s+style="color\s*:\s*#)[0-9a-fA-F]+/g,'$1'+col);QLife_URL_Color=col}else{return}for(var i=0,length=objects.length;i<length;i++){var obj=objects[i],tagName=obj.tagName.toLowerCase();if(target=='title'||target=='text'){obj.setStyle({color:'#'+col})}else if(target=='url'){if(tagName=='a'&&!obj.hasClassName('qlifebp-title')||(obj.hasClassName('qlifebp-btn')&&obj.getStyle('font-weight')!='bold')){obj.setStyle({color:'#'+col})}}else if(target=='bg'){obj.setStyle({backgroundColor:'#'+col})}else if(target=='border'){if(tagName=='hr'){obj.setStyle({color:'#'+col});obj.setStyle({backgroundColor:'#'+col})}else if(tagName=='div'){obj.setStyle({borderColor:'#'+col})}}}},changeByColorset:function(divId){var spanCol=$$('div#'+divId+' span.colorset');var spanTitle=$$('div#'+divId+' span.title');var spanText=$$('div#'+divId+' span.text');var spanUrl=$$('div#'+divId+' span.url');if(spanCol==null||spanTitle==null||spanText==null||spanUrl==null){return}var colTitle=this._hexColor(spanTitle[0].getStyle('color'));var colText=this._hexColor(spanText[0].getStyle('color'));var colBg=this._hexColor(spanCol[0].getStyle('background-color'));var colBorder=this._hexColor(spanCol[0].getStyle('border-top-color'));var colUrl=this._hexColor(spanUrl[0].getStyle('color'));this.preview('title',colTitle);this.preview('text',colText);this.preview('bg',colBg);this.preview('border',colBorder);this.preview('url',colUrl);$('txt_title').value=colTitle;$('txt_text').value=colText;$('txt_bg').value=colBg;$('txt_border').value=colBorder;$('txt_url').value=colUrl},_hexColor:function(col){if(typeof(col)=='undefined'){return''}else if(col.match(/^#*[0-9a-f]{3,6}$/i)){return col.replace(/#/,'')}var cols=col.replace(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/,"$1 $2 $3").split(' ');for(var i=0,length=cols.length;i<length;i++){cols[i]=String(parseInt(cols[i]).toString(16));if(cols[i].length==1){cols[i]='0'+cols[i]}}return cols.join('')},currentColorTextbox:null,pickerTarget:'',showPicker:function(event,idTextbox,target){this.currentColorTextbox=$(idTextbox);this.pickerTarget=target;var y=event.screenY;var x=event.screenX;window.open('gadget_picker.php','gadget_picker','screenX='+x+',screenY='+y+',width=480,height=320,menubar=no,toolbar=no,location=yes,resizable=yes,scrollbars=yes')},setColor:function(hexColor){this.currentColorTextbox.value=hexColor;this.preview(this.pickerTarget,hexColor)}}
