
// for edittags.bml
function edit_tagselect(list, tgfld, edt_tgfrm)
{
	var cur_taglist = '';
    if (! list) return;

    var selected = new Array();  // tagnames, for display
    selected_num = 0;

    for ( $i = 0; $i < list.options.length; $i++ ) {
        if (list.options[$i].selected) {
            selected[selected_num] = list.options[$i].value;
            selected_num++;
        }
    }

    var form = document.getElementById(edt_tgfrm);
    if (! form) return;

    var tagfield = form.elements[ tgfld ];
    if (! tagfield ) return;

    // merge selected and current tags into new array
    var cur_tags = new Array();
    cur_tags = cur_taglist.split(", ");

    var taglist = new Array();

    for ( $i = 0; $i < selected.length; $i++ ) {
        var sel_tag = selected[$i];
        var seen = 0;
        for ( $j = 0; $j < cur_tags.length; $j++ ) {
            if (sel_tag == cur_tags[$j]) seen = 1;
        }
        if (seen == 0) taglist.push(sel_tag);
    }

    if (taglist.length) {
        if (cur_taglist.length > 0) {
            tagfield.value = cur_taglist + ", " + taglist.join(", ");
        } else {
            tagfield.value = taglist.join(", ");
        }
    } else {
        tagfield.value = cur_taglist;
    }

    return;
}

function multi_page_jump(var_pg, url_bit, pages) {

	msg = "Введите номер страницы" + " (всего " + pages + ")";
	
	userPage = prompt(msg, "");
	
	if ( userPage > 0  ) {
		if ( userPage < 1 )
			userPage = 1;
		if ( userPage > pages ) 
			userPage = pages;
			
		var r = new RegExp('(\/index)?\.html\&st=([0-9]+)\s*$','i'),
		s = url_bit + "&" + var_pg + "=" + userPage + "#comments";
		window.location = s.replace(r, "/$2.html");
	}
} 

function DisableAll(Element, Name) {
	var DOM = (typeof(document.getElementById) != 'undefined');

	if (DOM) {
		thisCheckBoxes = Element.parentNode.parentNode.parentNode.getElementsByTagName('input');
		for (i = 1; i < thisCheckBoxes.length; i++) {
			if (thisCheckBoxes[i].name == Name) 
				if(thisCheckBoxes[0].checked) {
					thisCheckBoxes[i].disabled = true;
					thisCheckBoxes[i].checked = false
				}	else {
					thisCheckBoxes[i].disabled = false;
				}
		}
	}
}

function CheckAll(Element, Name) {
	var DOM = (typeof(document.getElementById) != 'undefined');

	if (DOM) {
		thisCheckBoxes = Element.parentNode.parentNode.parentNode.getElementsByTagName('input');
		for (i = 2; i < thisCheckBoxes.length; i++) {
			if (thisCheckBoxes[i].name == Name)
				thisCheckBoxes[i].checked = Element.checked;
		}
	}
}


function UnCheckAll(Element, Name, ind) {
	var DOM = (typeof(document.getElementById) != 'undefined');

	if (DOM) {
		thisCheckBoxes = Element.parentNode.parentNode.parentNode.getElementsByTagName('input');
		if (thisCheckBoxes[ind].name == Name)
			thisCheckBoxes[ind].checked = false;
	}	
}

function ClearSel(elem) {
	document.getElementById(elem).selectedIndex  = 0;	
}

function ClearField(elem) {
	document.getElementById(elem).value = '';
}

function CheckAll(Element,Name) {
	var DOM = (typeof(document.getElementById) != 'undefined');

	if (DOM) {
		thisCheckBoxes = Element.parentNode.parentNode.parentNode.getElementsByTagName('input');
		for (i = 1; i < thisCheckBoxes.length; i++) {
			if (thisCheckBoxes[i].name == Name)
				thisCheckBoxes[i].checked = Element.checked;
		}
	}
}



/*********************** For dropdown menu *******************/
var menuwidth='265px' //default menu width
var menubgcolor='lightblue'  //menu bgcolor
var disappeardelay=1000  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
	document.write('<div id="dropmenudiv" style="visibility:hidden; width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype) {
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null) {
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth)	{
	if (ie4||ns6)
		dropmenuobj.style.left=dropmenuobj.style.top=-500
	if (menuwidth!=""){
		dropmenuobj.widthobj=dropmenuobj.style
		dropmenuobj.widthobj.width=menuwidth
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility=visible
	else if (e.type=="click")
		obj.visibility=hidden
}

function iecompattest()	{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge)	{
	var edgeoffset=0
	if (whichedge=="rightedge"){
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
	} else {
		var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) { //move up?
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
			if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
				edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
		}
	}
	return edgeoffset
}

function populatemenu(menunum, id) {
	var menu=new Array()
	switch(menunum) {
		case 1 :
			menu[0]='<a href="handler.php?handle=photo_mod&val=2&id_photo='+id+'" class=link>Убрать с главной</a>'
			menu[1]='<a href="handler.php?handle=photo_mod&val=1&id_photo='+id+'" class=link>Убрать с главной и из общих разделов</a>'
		break;
		
		case 2 :
			menu[0]='<a href="handler.php?handle=photo_mod&val=3&id_photo='+id+'" class=link>Поместить на главную</a>'
			menu[1]='<a href="handler.php?handle=photo_mod&val=1&id_photo='+id+'" class=link>Убрать из общих разделов</a>'	
		break;
		
		case 3 :
			menu[0]='<a href="handler.php?handle=photo_mod&val=3&id_photo='+id+'" class=link>Поместить на главную</a>'
			menu[1]='<a href="handler.php?handle=photo_mod&val=2&id_photo='+id+'" class=link>Поместить в общие разделы</a>'
		break;	
	}
	
	if (ie4||ns6)
		dropmenuobj.innerHTML=menu.join("")

}


function dropdownmenu(obj, e, menunum, id, menuwidth) {
	if (window.event) 
		event.cancelBubble=true
	else if (e.stopPropagation) 
		e.stopPropagation()
	
	clearhidemenu()
	dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
	populatemenu(menunum, id)

	if (ie4||ns6){
		showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
		dropmenuobj.x=getposOffset(obj, "left")
		dropmenuobj.y=getposOffset(obj, "top")
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
	}
	return clickreturnvalue()
}

function clickreturnvalue() {
	if (ie4||ns6) return false
	else return true
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	
	return false;
}

function dynamichide(e) {
	if (ie4&&!dropmenuobj.contains(e.toElement))
		delayhidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		delayhidemenu()
}

function hidemenu(e) {
	if (typeof dropmenuobj!="undefined") {
		if (ie4||ns6)
			dropmenuobj.style.visibility="hidden"
	}
}

function delayhidemenu() {
	if (ie4||ns6)
		delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu() {
	if (typeof delayhide!="undefined")
		clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
	document.onclick=hidemenu
