var v_span_in = 0;
var v_box_in = 0;
var v_closing = 0;
var var_nav_in = 0;

var mouse_x = 0;
var mouse_y = 0;

var myTimer;

document.getElementsByClassName = function(eleClassName) {
    var results  = [];
    var myclass  = new RegExp("\\b"+eleClassName+"\\b");
    var elements = this.getElementsByTagName("*");

    for(var i=0; i<elements.length; i++) {
        var classes = elements[i].className;
        if (myclass.test(classes))
            results.push(elements[i]);
    }
    return results;
}


function remote_subpoints(obj){
	obj = this;
    v_span_in = 1 ;
	if (!$(obj).temp) {
	    id = $(obj).getProperty("sid");
	    $('tips_div').innerHTML = '<img src="/images/ajax-loading.gif" alt="loading" />';
	    ajax_get_contents_tip( 'tips_div' , '/point/subpoints/pid/'+id ,obj);
	    show_tips( obj );
	}else{
		$('tips_div').innerHTML = $(obj).temp;
		show_tips( obj );
	}
}

function show_tips( obj ){
    obj.info = getPositions(obj);
    $('tips_div').style.left=obj.info['x']+2+'px';
    $('tips_div').style.top=obj.info['y']+15+'px';
    $('tips_div').style.display = 'block';
}

function close_tips(){
    if( var_nav_in == -1 ){
        $('tips_div').style.display = 'none';
    }
}

function tips_init(){
    $('tips_div').onmouseover = function(){ v_box_in =1; };
    $('tips_div').onmouseout  = function(){ v_box_in =0; };

    var objs = document.getElementsByClassName("dtips");
    if( objs.length ){
        for( var i=0 ; i < objs.length ; i++ ) {
            objs[i].onmouseover = show_remote.bindWithEvent(objs[i]); 
            objs[i].onmouseout = clean_remote.bindWithEvent(objs[i]);
            objs[i].onclick = clean_remote.bindWithEvent(objs[i]);
        }
    }

    setInterval('tips_close()',500);
}


function tips_in_box(){
    v_box_in = 0;
}


function tips_hidden(t){
    (function(){
    if( v_box_in != 1 && v_span_in != 1 ){
        $('tips_div').style.display = 'none';
    }}).delay(t);
}

function tips_close(){
    if( v_box_in != 1 && v_span_in != 1 ){
        $('tips_div').style.display = 'none';
    }
}

function clean_remote(){
    v_span_in = 0;
    myTimer =$clear(myTimer)
}

function show_remote(){
    myTimer = remote_subpoints.delay(500,this);
}

function ajax_get_contents_tip(to , from  ,obj){
    var myAjax = new Ajax(from, {
        update: to,
        onComplete: function(res) {
    						$(obj).temp =res;
    						if(($('tips_div').getStyle('width').toInt()+obj.info.x)>get_win_size().width){
    							$('tips_div').style.right='30px';
    						}
    				},
        evalScripts: true
     }).request();
}