var b_color="#333333";
var g_color="#FFFFFF";
var f_size="10";     
var f_color="#333333";
var set_x=10;
var set_y=20;
//--------------------------------------
document.write("<div ID='tiptext'STYLE='position:absolute;border:1px solid;padding:5px;");
document.write("border-color:"+b_color+";font-size:"+f_size+"pt;background-color:"+g_color+";");
document.write("color:"+f_color+";");
document.write("display:none'></div>");
function opentext(settxt){
divid="tiptext";
if(document.all){
     d_div=document.all(divid);
     rx = event.clientX + document.body.scrollLeft +set_x;
     ry = event.clientY + document.body.scrollTop +set_y;
}else{
     d_div=document.getElementById(divid);
     rx = NNX  + set_x;
     ry = NNY + set_y;
}
if(settxt){
     d_div.style.display="block";
     d_div.style.left = rx +"px";
     d_div.style.top = ry +"px";
     d_div.innerHTML = settxt; 
}else{
     d_div.style.display="none"; 
     d_div.innerHTML = ""; }
}
function MouseXY(NNevent){
	NNX = NNevent.pageX;
	NNY = NNevent.pageY;
}
window.onmousemove = MouseXY;



function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_openBrWindow(theURL,winName,features)
{ //v2.0
  window.open(theURL,winName,features);
}


function swImg(iName,str)
{
        document.images[iName].src = str;
}


function setSubmitTrue(element) { window.setTimeout(function() { element.disabled = true; }, 1) }
function setSubmitFalse(element) { window.setTimeout(function() { element.disabled = false; }, 5000) }
function setDisable(elements) {
    for (var i=0; i< elements.length; i++) {
        var element = elements[i];
        if (element.type == 'submit') {
            setSubmitTrue(element);
            setSubmitFalse(element);
        }
    }
}
function disableSubmit(elements) {
    for (var i=0; i<document.forms.length; ++i) {
        if (document.forms[i].onsubmit) continue;
        document.forms[i].onsubmit = function() {
            setDisable(this.elements);
        }
    }
}
window.onload = function() { disableSubmit() };

function fetch(type, u) {
    switch(type){
        case 'twitter':
            q = "/status.py/twit";
            break;
            
        case 'lastfm':
            q = "/status.py/lastfm";
            break;       
        default:
            return false;
            break;   

    }
    $.ajax({
        type: "GET",
        url: q,
        data: 'u=' + u + '&' + Math.random(),
        scusess: display,
        dataType :"jsonp"
    });
}

function display(result) {
    $('#' + result[0]['type']).hide();
    if(result[0]['item']){
        switch(result[0]['type']){
            case 'twitter':
                $('#' + result[0]['type']).append('<table><tr><td><img src="/img/' + result[0]['type'] + '.png" class="item" /></td><td><a href="/@/http://twitter.com/' + 
                                                        result[0]['name'] + '/status/' + result[0]['id'] + '" target="_blank">' + 
                                                        result[0]['item'] + 
                                                        '</a> … ' + result[0]['date'] + 
														' <a href="/@/http://twitter.com/' + result[0]['name'] + 
                                                        '" target="_blank"><img src="' +
                                                        result[0]['image'] +
                                                        '" class="item" /></a></td></tr></table>');
				$('#' + result[0]['type']).after('<img src="/img/dot0.gif" height="5" width="1"><br />');								
				$('#' + result[0]['type']).fadeTo(2000, 1);
                break;
            case 'lastfm':
                $('#' + result[0]['type']).append('<table><tr><td><img src="/img/' + result[0]['type'] + '.png" class=item" /></td><td>' + result[0]['item'] + ' … ' + result[0]['date'] +'</td></tr></table>');
				$('#' + result[0]['type']).after('<img src="/img/dot0.gif" height="5" width="1"><br />');	
                $('#' + result[0]['type']).fadeTo(2000, 1);
                break;       
            default:
                return false;
                break;   
        }
    }else{
        $('#' + result[0]['type']).remove();
    }
}

var sel_length, end_length=0, start_length=0;
var type=0;
var el=null;
function get_pos(d){
if( d ) el=d;
 var ret=0;
 if( type==1 ) {
   var sel=document.selection.createRange();
   sel_length = sel.text.length;
   var r=d.createTextRange();
   var all=r.text.length;
   r.moveToPoint(sel.offsetLeft,sel.offsetTop);
   r.moveEnd("textedit");

   end_length=r.text.length;
   start_length=all-end_length;
 } else if( type==2 ) {
     start_length=d.selectionStart;
     end_length=d.value.length - d.selectionEnd;
     sel_length=d.selectionEnd-start_length;
 } else if( type==3 ){
     var ln=new String(d.value);
     start_length=ln.length;
     end_length=start_length;
     sel_length=0;
 }

}

function atach_focus(ln){
  if( type == 1 ){
    var e=el.createTextRange();
    var tx=el.value.substr(0, ln);
    var pl=tx.split(/\n/);
    e.collapse(true);
    e.moveStart("character",ln-pl.length+1);
    e.text=e.text+"";
    e.collapse(false);
    e.select();
  } else if( type == 2 ){
    el.setSelectionRange(ln, ln);
  } else if( type == 3 ){
//
  }
  el.focus();
}

function insertTag(s, e){
  if( !el) return;
  var itext=el.value;

  if( type == 4 ){
    el.value = itext + s + e;
  } else if( type ){
    var click_s=itext.substr(0, start_length);
    var click_m=itext.substr(start_length, sel_length);
    var click_e=itext.substr(start_length+sel_length, end_length);
    el.value=click_s + s + click_m + e + click_e;
  }

  atach_focus(s.length+e.length+start_length+sel_length);
}

function font_size(size_num){
  if( !size_num ) return;
  if( !el) return;
  var itext=el.value;
  
  s = '{SIZE:' + size_num + '}';
  e = '{/SIZE}';
  
  if( type == 4 ){
    el.value = itext + s + e;
  } else if( type ){
    var click_s=itext.substr(0, start_length);
    var click_m=itext.substr(start_length, sel_length);
    var click_e=itext.substr(start_length+sel_length, end_length);
    el.value=click_s + s + click_m + e + click_e;
  }

  atach_focus(s.length+e.length+start_length+sel_length);
}

function initTag(){
	if( String("jadge") ){
	 type=3;
	} else if( document.getElementById ){
	 type=4;
	}
	if( document.getElementById("body").setSelectionRange ){
	  type=2;
	} else if( document.selection.createRange ){
	  type=1;
	}
}

$(document).ready(function(){
	$('#dialog').dialog({
		autoOpen: false,
		width: 226,
		buttons: {
			"決定": function() { 
					
				insertTag('{COLOR:' + $("#color").attr("value") + '}', '{/COLOR}');
				$(this).dialog("close"); 
			}, 
			"キャンセル": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	$("#picker").click(function () {
	  		$("#dialog").dialog("open");
			$('#colorpicker').farbtastic('#color');
	});
});