function toggle(obj){
    obj = document.getElementById(obj);
    
    if(obj.style.display==''){
        obj.style.display = 'none';
    }else if(obj.style.display=='none'){
        obj.style.display = '';
    }
}

function selectedAny(form){
    checked = false;

    inputs = form.elements;
    for(i=0; i<inputs.length;i++){
        el = inputs[i];
        if ((el.type=='checkbox')&&(el.name!='checkall'))
            if(el.checked){
                checked = true;
            }

    }

    if(!checked){
        alert('You must select an element');
        return false;
    }

    return true;
}

function selectedOnlyOne(form){
    checked = false;
    number = -1;
    inputs = form.elements;
    for(i=0; i<inputs.length;i++){
        el = inputs[i];
        if(el.type=='checkbox')
            if(el.checked){
                if(checked){
                    alert('Select only one element');
                    return false;
                }else if (el.name!='checkall'){
                    checked = true;
                    number = i;
                }
            }

    }

    if(!checked){
        alert('You must select an element');
        return false;
    }
    if(checked){
        form.pk.value = inputs[number].value;
        return true;
    }
}

function edit(form){
    if(selectedOnlyOne(form)){
        form.choice.value = 'edit';
        form.submit();
    }
}

function associate(form) {
    if(selectedOnlyOne(form)){
        form.choice.value = 'associate';
        form.submit();
    }
}

function changeStream(form) {
    if (selectedOnlyOne(form)) {
        form.choice.value = 'changeStream';
        form.submit();
    }
}

function move(form,where){
    if(selectedOnlyOne(form)){
        form.choice.value = 'move';
        form.arg1.value = where;
        form.submit();
    }
}

function free(form){
    if(selectedOnlyOne(form)){
        form.choice.value = 'move';
        form.submit();
    }
}

function streams(form){
    if(selectedOnlyOne(form)){
        form.choice.value = 'streams';
        form.submit();
    }
}

function remove(form){
    if(selectedAny(form)){
        if(window.confirm("Selected object(s) will be deleted. Are you sure?")){
            form.choice.value = 'remove';
            form.submit();
        }
    }
}

function answer(form){
    if(selectedOnlyOne(form)){
        form.parent.value = form.pk.value;
        form.choice.value = "answer";
        form.submit();
    }
}

function pass(form){
    if(selectedOnlyOne(form)){
        form.choice.value = "pass";
        form.submit();
    }
}

function courses(form){
    if(selectedOnlyOne(form)){
        form.choice.value = 'courses';
        form.submit();
    }
}

function _export(form){
    if(selectedAny(form)){
        form.choice.value = 'export';
        form.submit();
    }
}

function _import(form){
    form.choice.value = 'import';
    form.submit();
}

function SelectAll(form,mark,name) {
  for (i = 0; i < form.elements.length; i++)
     {
         var item = form.elements[i];
	     if ((item.name == name)&&(!item.disabled))  {
		     item.checked = mark;
		 };
	 }
}

function comboGo(obj, url){
    if(obj.value!=-1)
        document.location.href = url + obj.value;
}

function submitForm(form){
    if(form.onsubmit!=null)
        form.onsubmit();
    form.submit();
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	return curtop;
}

var tooltipshowhandler=null;
var tooltiphidehandler=null;
var tooltipowner=null;
var tooltipcustomer;
var tooltipcontent;

function ordertooltip(object,content) {
    if(object!=null) {
        if(tooltipowner==object) {
            clearTimeout(tooltiphidehandler);
        } else {
            tooltipcustomer=object;
            tooltipcontent=content;
            clearTimeout(tooltipshowhandler);
            tooltipshowhandler=setTimeout("showtooltip()",300);
        }
    } else {
        clearTimeout(tooltiphidehandler);
    }
}

function unordertooltip(object) {
    if(object!=null) {
        if(object==tooltipowner) {
            clearTimeout(tooltiphidehandler);
            tooltiphidehandler=setTimeout("hidetooltip()",500);
        }
        else if(object==tooltipcustomer) {
            tooltipcustomer=null;
            clearTimeout(tooltipshowhandler);
        }
    } else {
            clearTimeout(tooltiphidehandler);
            tooltiphidehandler=setTimeout("hidetooltip()",500);
    }
}

function showtooltip() {
    var tooltipref=document.getElementById('tooltip');
    tooltipref.style.display='block';
    clearTimeout(tooltiphidehandler);
    object=tooltipcustomer;
    content=tooltipcontent;
    tooltipcustomer=null;
    tooltipowner=object;
    var maintable=document.getElementById('maintable');
//    tooltipref.innerHTML="<div class=grey align=right>Подсказка:</div>"+content;
    tooltipref.innerHTML=content;
    var left=findPosX(object)+(object.scrollWidth)/2 - 5;
    //alert('left = ' + left + '\n tooltipref.scrollWidth = ' + tooltipref.scrollWidth + '\n maintable.body.scrollwidth = ' + maintable.scrollWidth);
    if(left+tooltipref.scrollWidth>maintable.scrollWidth) left=maintable.scrollWidth-tooltipref.scrollWidth-15;
    tooltipref.style.left=left;
    tooltipref.style.top=findPosY(object)-tooltipref.scrollHeight-0; //-5;
}

function hidetooltip() {
    var tooltipref=document.getElementById('tooltip');
    tooltipowner=null;
    tooltipref.style.display='none';
}

