var ftcEnabled=new Array();
var disableInput=new Array();
var galWidth=new Array();
var galHeight=new Array();
var insMode=new Array();
var selectedImage; //for many operations with image, gets filled by  markSelectedElement(), contains reference to selected image object...
var dcMax=new Array();
var workingDiv; //contains id of working div
var pop = window.createPopup(); //not implemented yet...
var fieldVisible=new Array(); //gets filled by insPic(), 0-no pic, 1-new pic, 2-replace local pic, 3-replace remote pic
var htmlOn=new Array(); // Gets filled by showHtml(), contains 0 or 1...
var ne=new Array(); // Gets filled by buttons_dis(), contains array with background style properties for buttons to enable them back later...
var fields=new Array(); // This array contains id's of all instances of buttoned fields present on page...
var fieldCount=0; // variable contains total number of buttoned fields on page...
var freeFields=new Array();
var curFF=new Array();
var picClass='myinsertion';

function setFtc(el,n,s,u,p,pt){
	var e=el+'_ftc';
	if(!ge(e))w('<span id='+e+'></span>');
	var f=ge(e); 
	if (f.Version&&ge('Di')){
	f.Passive=true;
	f.Timeout=600;
		ftcEnabled[el]=new Array();
		ftcEnabled[el][0]=n;
		ftcEnabled[el][1]=s;
		ftcEnabled[el][2]=u;
		ftcEnabled[el][3]=p;
		ftcEnabled[el][4]=pt;
		Di.DialogTitle='Укажите файл';
		Di.CancelError=false;
		dcMax[el]=(dcMax[el]*3);
	}else{
	;
	}
}

function insPicFol(el){
	if(checkMode(el,'html')) return false;  
	if(checkMode(el,'pic')) return false;  
	if(!ftcEnabled[el]){
		alert("Эта функция требует наличия\nэлемента ActiveX,\nкоторый у вас отсутствует.\n\nВ дальнейшем эта нопка \nбудет отключена\n\nДля установки необходимого елемента\noбращайтесь в Aves-Design-Studio\nwww.aves.ru");
		var b=ge(el+'_butt_folder');
		b.onclick='event.returnValue=false';
	}else{
		Di.DialogTitle='Укажите любой файл для загрузки всей папки';
		Di.ShowOpen();
		if(!Di.fileName) return false;
		ge(el).focus();
		markPoint(el);
		var fso, f, fc, s;
		fso = new ActiveXObject("Scripting.FileSystemObject");
		f = fso.GetFolder(fso.GetParentFolderName(Di.fileName));
		fc = new Enumerator(f.files);
		for (; !fc.atEnd(); fc.moveNext())
		{
			var num=getFF(el);
			if(num=='end') return;
			insPic1(el,num,fc.item());
		}
	}
}


function ShowFolderFileList(f)
{
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(fso.GetParentFolderName(f));
fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext())
{
    var num=getFF(el);
    if(num=='end') return;
s += fc.item();
}
return(s);
}

function correctSize(el){
	if(el.tagName!='SPAN') return;
	w=el.children[1].width;
	h=el.children[1].height;
	el.style.width=w;
	el.style.height=h;
	el.children[0].style.width=w;
}


function selectImage(el){
    correctSize(el);
    var s=event.srcElement
    var t=s.tagName
    if(s.contentEditable=='true') return;
    if(t!='DIV'&&t!='IMG') return;
    var oControlRange = document.body.createControlRange();
    oControlRange.add(el);
    oControlRange.select();
}

function getFF(el){
if(freeFields[el].length>0){
curFF[el]=freeFields[el].shift();
return curFF[el];
}else{
return mes();
}
}

function putFF(el,num){
freeFields[el].unshift(num);
}

// Utility function to make script shorter...
function ge(el)
{
    return document.getElementById(el);
}

//test function...
function test(el1){
el=workingDiv;
var a="selectedImage = "+selectedImage+"\ndcMax = "+dcMax[el]+"\nel = "+el1+"\nworkingDiv = "+el+"\ndc = "+dc[el]+"\nfieldVisible = "+fieldVisible[el]+"\nhtmlOn = "+htmlOn[el]+"\nne = "+ne[el]+"\nfields = "+fields[el]+"\nfieldCount = "+fieldCount;
alert(a);
}

// Enable buttons...
function buttons_en(el)
{
    var sp=ge(el+'_buttons');
    var spans=sp.children.tags('span');
    for(var ii=0;ii<spans.length;ii++){
        spans[ii].children[0].style.filter='';
        spans[ii].style['background']=ne[el][ii];
    }
}

// disable buttons...
function buttons_dis(el,mode)
{
    var sp=ge(el+'_buttons');
    var spans=sp.children.tags('span');
    ne[el]=new Array();
    for(var ii=0;ii<spans.length;ii++){
        spans[ii].children[0].style.filter='Alpha(Opacity=25) Invert';
        ne[el][ii]=spans[ii].style['background'];
        spans[ii].style['background']='#dddddd';
    }
    if(mode==0&&ge(el+'_butt_html')) ge(el+'_butt_html').style.filter='Invert';
    if(mode==1&&ge(el+'_butt_img')) ge(el+'_butt_img').style.filter='Invert';
}

// Change appearance of button...
function button_over(name)
{
    if (htmlOn[name]==1||fieldVisible[name]>0) return true;
    event.srcElement.style.filter='Alpha(Opacity=0)';
}

// Change appearance of button...
function button_out(name)
{
    if (htmlOn[name]==1||fieldVisible[name]>0) return true;
    event.srcElement.style.filter='';
}

// Change appearance of button...
function button_down(name)
{
    if (htmlOn[name]==1||fieldVisible[name]>0) return true;
    event.srcElement.style.filter='Invert';
}

// Change appearance of button...
function button_up(name)
{
    if (htmlOn[name]==1||fieldVisible[name]>0) return true;
    event.srcElement.style.filter='';
}

// not implemented yet...
function goPop()
{
    var b = pop.document.body;
    getMouse();
    var a=pop.document.all;
    var l= mouseLocation.y -110;
    var t= mouseLocation.x -50;
    b.innerHTML='<DIV style="border:solid 1;padding:10;background:white"><fieldset><label>Свойства рисунка</label><DIV id="tx">Текст для замены</DIV><span contenteditable=true id="alt">here</span></fieldset><fieldset id="fs"><label>Граница</label><DIV>Толщина</DIV><input type="text" id="border"><DIV>Цвет</DIV><input type="text" id="color"></fieldset><span id=oLink  onclick="ge(\'delimage\').submit()">Применить</span> <span id=oLink  onclick="parent.oPopup.hide()">Отмена</span> </DIV> ';
    pop.show(t, l, 200, 300, document.body);
}

// Show picture properties dialog...
function picProp(img)
{
    return window.showModalDialog("pic_prop.html",img,"dialogHeight: 300px; dialogWidth: 200px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: No; resizable: No; status: No;");
}

// Disable <del> and <bkspace> ...
function fnTrapKD(){
    el=workingDiv;
    if(htmlOn[el]!=1){
        if(event.srcElement.className==picClass) return;
        if(disableInput[el]){
            event.returnValue=false;
        }
        if(event.keyCode==8||event.keyCode==46){
            if( checkForSelectedImage()){
                event.returnValue=false;
                delImage();
            }
        }
    }
    if(event.keyCode==255){
        var el=event.srcElement;
        showHtml(el.id); 
    }
    //alert(event.keyCode);

}

// align picture left...
function floatL(){
    selectedImage.align="left";
}

// align picture center...
function floatC(){
    selectedImage.align="";
    selectedImage.style.display="block";
    selectedImage.style['text-align']="center";
}

// align picture right...
function floatR(){
    selectedImage.align="right";
}

// Utility function to make script shorter...
function focus(el){
    ge(el).focus();
}

// Utility function to make script shorter...
function w(what){
    document.write(what);
}

// Draw input=file fields in advance for inserted images...
function drawFileField(name,times){
    var width='150';
    var height='50';
    var left = (screen.width/2) - width/2;
    var top = (screen.height/2) - height/2;
    freeFields[name]=new Array;
    for(var c=0;c<times;c++){
        freeFields[name][c]=c;
        var name1=name+'_hid'+c;
        var name0=name+'_saved'+c;
        w('<input type="hidden" name="'+name+'_hid[]" id="'+name1+'">');
        w('<input type="hidden" name="'+name+'_saved[]" id="'+name0+'">');
        var name2=name+'_pic'+c;
        var name3=name+'_div'+c;
        w('<div id="'+name3+'" style="padding:10px;visibility:hidden;position:absolute;top:'+top+'px;left:'+left+'px;width:'+width+'px;height:'+height+'px;"><div style="font:11px sans-serif"></div><input type="file" onchange="insPic1(\''+name+'\',\''+c+'\')" id="'+name2+'" name="'+name+'_pic[]"><div align="center"></div></div>');
    }
}

// get mouse position...
function getMouse(){
    function Point(x,y) {  this.x = x; this.y = y; }
    mouseLocation = new Point(-500,-500);
    mouseLocation.x = event.x + document.body.scrollLeft;
    mouseLocation.y = event.y + document.body.scrollTop;
}

// Mark point for future insertion...
function markPoint(el){
    ge(el).focus();
    insertionPoint=document.selection.createRange();
}

// For functions, to check quickly mode...
function checkMode(el,type){
    if(type=='html'){
        if(htmlOn[el]==1){
            alert("Выйдите из режима\nпросмотра HTML!");
            return true;
        }
    }if(type=='pic'){
        if(document.selection.type == 'Control'){
            alert("Снимите выделение с картинки!");
            return true;
        }
    }
    return false;
}

//if new pic...
function insPic(el,path){
    if(checkMode(el,'html')) return false;  
    if(checkMode(el,'pic')) return false;  
    if(!fieldVisible[el]||fieldVisible[el]==0){
    var num=getFF(el);
    if(num=='end') return;
    insPic0(el,num,'Укажите файл');
    if(!ftcEnabled[el]) fieldVisible[el]=1;
    }else{
    if(fieldVisible[el]==1) putFF(el,curFF[el]);
        prevDiv.style.visibility='hidden';
        buttons_en(el);
        fieldVisible[el]=0;
    }
}

// Make appear/hide input type=file...
function insPic0(el,num,message){
	//alert('fv='+fieldVisible[el]);
	if(ftcEnabled[el]){
		hideMenu();
		Di.Filter='Файлы рисунков (*.jpg)|*.jpg';
		Di.ShowOpen();
		if(!Di.fileName) return false;
		ge(el).focus();
		markPoint(el);
		var f=Di.fileName;
	var div=ge(el+'_div'+num);
	prevDiv=div;
	buttons_dis(el,1);
		insPic1(el,num,f);
		return;
	}
	ge(el).focus();
	markPoint(el);
	var div=ge(el+'_div'+num);
	//alert(el+'_div'+num);
	getMouse();
	if((mouseLocation.x-document.body.clientWidth+250>0)||(mouseLocation.y-document.body.clientHeight+50>0)){
		div.style.left=mouseLocation.x-244 ;
		div.style.top=mouseLocation.y-30;
	}else{
		div.style.left=mouseLocation.x-10 ;
		div.style.top=mouseLocation.y+18 ;
	}
	if(message!=''){
		div.style.border='1px solid #175194';
		div.style.background='#DAD9D9';
		div.children[0].innerText=message;
		div.children[2].innerHTML='<button onclick="insPic1(\''+el+'\',\''+num+'\')">OK</button><button onclick="ge(\''+el+'_pic'+num+'\').focus();insPic(\''+el+'\',\'\')">Отмена</button>';
	}else{
		div.style.border='';
		div.style.background='';
		div.children[0].innerText='';
	}
	div.style.visibility='visible';
	prevDiv=div;
	buttons_dis(el,1);
}

// Insert image...
function insPic1(el,num,file){
    var div=el+'_div'+num;
    var hid=el+'_hid'+num;
    var picSrc=ge(el+'_pic'+num).value;
    if(file) picSrc=file;
    var picId='autoimage_'+el+(num);
    var spanId='autoimage_block'+el+num;
    var picText='Введите подпись';
    if(fieldVisible[el]==2||fieldVisible[el]==3){
        if(picSrc!=''&&picSrc!=undefined) {
            var s= selectedImage;
            if(s.tagName=="SPAN"){
            insMode[el]='gallery';
            var sp=s;
            s=s.children[1];
            }
            s.src=picSrc;
            s.id=picId;
            if(insMode[el]=='gallery'){
                sp.style.width=ge(picId).width;
                sp.children[0].style.width=ge(picId).width;
            }
            showHtml(el);
            showHtml(el);
        }else{ 
            selectedImage.removeNode(1);
            putFF(el,num);
        }
    }else{
        if(picSrc!=''&&picSrc!=undefined) {
            if(insMode[el]=='gallery'){
                var w=galWidth[el]!='*'?'width="'+galWidth[el]+'" ':'';
                var htmlcode = '\
                <span oncontextmenu="selectImage(this)" onclick="selectImage(this)" class="'+picClass+'" style="width:100px;margin:10;border:solid 1;vertical-align:top" id="'+spanId+'" contenteditable="false">\
                <div class="'+picClass+'" style="border-bottom:solid 1 white;background:#153452;height:9;cursor:default;font:2;width:110%">&nbsp;</div>\
                <img id="'+picId+'" class="'+picClass+'" unselectable="on" '+w+' height="'+galHeight[el]+'" src="'+picSrc+'" alt="">\
                <div align="center" class="'+picClass+'" style="font:11 sans-serif" contenteditable="true" ondrop="window.event.returnValue=false">'+picText+'</div></span>';
            }else{
                var htmlcode = '<img id="'+picId+'" class="'+picClass+'" style="margin:5px" src="'+picSrc+'" alt="">';
            }
        }else{ 
            var htmlcode='';
        }
        var r=insertionPoint;
        ge(el).focus();
        r.pasteHTML(htmlcode);
        r.select();
    if(insMode[el]=='gallery'){
        var sp=ge(spanId);
        correctSize(sp);
    }
    }
    hf=document.all.namedItem(el+'_hid[]');
    var dupl=false;
    for(var i=0;i<hf.length;i++) if(hf[i].value==picSrc) dupl=true;
    if(!dupl) ge(hid).value=picSrc;
    if(!file){
    ge(div).style.visibility='hidden';
    buttons_en(el);
    ge(el+'_butt_img').style.filter='none';
    }
    fieldVisible[el]=0;
    initMenu(el);
}

function selectText(txt){
var el=event.srcElement;
if(el.innerText==txt){
var r = document.selection.createRange();
r.moveToElementText(el);
}
}

function mes(){
el=workingDiv;
alert("Достигнут предел количества \nкартинок, подготовленных к \nзакачке - "+dcMax[el]+"шт.\n\nСохраните результаты,\nпрежде чем добавлять\nновые картинки.");
return 'end';
}

// Check if image is selected...
function checkForSelectedImage(){
    markSelectedElement();
    if(selectedImage){
        return true;
    }
}

function insertHtml(el,w){
    ge(el).focus();
    var sel = document.selection.createRange();
    if(document.selection.type == 'Control') return; 
    sel.pasteHTML(w);
}

function lineBreak2(el){
    if(document.selection.type == 'Control') return; 
    ge(el).focus();
    var r = document.selection.createRange();
    r.select();
    r.pasteHTML("<br>");
}

function save(ac){
	var args = save.arguments;
	for(var i=1; i<args.length; i++)
	{
		var el=args[i];
		if(htmlOn[el]==1){ 
			out = ge(el).innerText;
		}else{
			out = ge(el).innerHTML;
		}
		ge(el+'_txt').value=out;
		//if ftc, upload through it...
		if(!ftcEnabled[el]){
			ge(args[0]).encoding="multipart/form-data";
		}else{
			pop.document.body.innerHTML='<div style="vertical-align:middle;height:100%;width:100%;border:solid 1">Uploading files...</div>';
			
			var w=200;
			var h=150;
			pop.show(screen.width/2-w,screen.height/2-h,w,h);
			var f=ge(el+'_ftc');
			var p=ftcEnabled[el];
			var res=f.Connect(p[0],p[1],p[2],p[3]); 
			if(res!=0) return alert(f.LastErrorString);
			ff=document.all.namedItem(el+'_saved[]');
			hf=document.all.namedItem(el+'_hid[]');
			for(var i=0;i<ff.length;i++){
				var c=Math.round(Math.random()*1000000000)+'.jpg';
				if(hf[i].value){
				res1=f.PutFile(hf[i].value,p[4]+c);
				ff[i].value=c;
				}
			}
			var res=f.Disconnect(); 
			if(res!=0) return alert(f.LastErrorString);
				pop.hide();
		//	return;
		}
		saveGal(el);
	}
	ge(args[0]).submit();
}

function saveGal(el){
    sps=ge(el).children.tags("SPAN");
    for(var i=0;i<sps.length;i++){
        var sp=sps[i];
        if(sp.className==picClass){
            var s=sp.children[1].src;
            var t=sp.children[2].innerHTML;
            var a=sp.children[2].innerText;
            var h=ge(el+'_delautoimage');
            h.innerHTML+='<input type="hidden" value="'+s+'" name="galleryPicSrc[]">';
            h.innerHTML+='<input type="hidden" value=\''+t+'\' name="galleryPicTxt[]">';
            h.innerHTML+='<input type="hidden" value="'+a+'" name="galleryPicAlt[]">';
        }
    }
}

function markSelectedElement(){
hideImgMenu();
    selectedImage = false;
    var r = document.selection.createRange();
    if (document.selection.type != 'Text'){
        if(r.length == 1){
            if(r.item(0).tagName == "SPAN"){
                selectedImage = r.item(0);
                }
            if(r.item(0).tagName == "IMG"){
                selectedImage = r.item(0);
            }
        }
    }
}

// Go to HTML viewing mode...
function showHtml(el){
    var b=ge(el+'_buttons');
    var d=ge(el);
    if(!htmlOn[el]||htmlOn[el]==0){
        if(fieldVisible[el]>0) insPic(el,1);
        d.innerText=d.innerHTML;
        re = /([a-z]+)=(("[^"]+")|([^\s]+))/gi;
        t=d.innerHTML.replace(re,"<span style=\"color:red\">$1</span>=$2");
        re = /(&lt;\/?)([a-z]+)([^&]*)(&gt;)/gi;
        t=t.replace(re,"<span style=\"color:blue\">$1</span><span style=\"color:brown\">$2</span><span style=\"color:blue\">$3</span><span style=\"color:blue\">$4</span>");
        var q='<span style="font:bold 12px courier">'+t+'</span>';
        d.innerHTML=q;
        htmlOn[el]=1;
        buttons_dis(el,0);
        d.focus();
    }else{
        var q=d.innerText;
        d.innerHTML=q;
        htmlOn[el]=0;
        buttons_en(el);
        d.focus();
    }
}

// Show dialog and apply changes...
function editImage(el) {
    s=selectedImage;
    if(s.tagName=="SPAN") s=s.children[1];
    hideImgMenu();
    var imAr=picProp(s);
    if(imAr){
        s.alt=imAr[0];
        s.style.border=imAr[1];
    }
}

function insertLink(el) {
    ge(el).focus();
    document.execCommand('createLink');
}

function insSymbol2(el){
    ge(el).focus();
    strPage = "ins_symbol.html";
    strAttr = "status:no;dialogWidth:306px;dialogHeight:275px;help:no";
    htmlcode = showModalDialog(strPage, window, strAttr);
    if(htmlcode){
        insertHtml(el,htmlcode);
    }
}

function doFormat2(el,formatStyle){
    ge(el).focus();
    document.execCommand(formatStyle, false, null);
}

//context menu
menuobj=false;

function drawMenu(el){
    w('<style>\
            <!--\
            /* Context menu Script- © Dynamic Drive (www.dynamicdrive.com) Last updated: 01/08/22\
               For full source code and Terms Of Use, visit http://www.dynamicdrive.com */\
            .skin0{\
            position:absolute;\
            width:165px;\
            border:1px solid #175194;\
            background-color:#DAD9D9;\
            font-family:Verdana;\
            line-height:20px;\
            cursor:default;\
            font-size:12px;\
            z-index:100;\
            visibility:hidden;\
            }\
            .menuitems{\
            padding-left:10px;\
            padding-right:10px;\
            }\
            -->\
            </style>');
    w('<div id="ie5menu" class="skin0" onMouseover="highlightie5(event)" onMouseout="lowlightie5(event)" onClick="jToMenu(event)" display:none>\
            <div class="menuitems" url="" func="floatL()">Слева</div>\
            <div class="menuitems" url="" func="floatR()">Справа</div>\
            <div class="menuitems" url="" func="floatC()">По центру</div>\
            <hr>\
            <div class="menuitems" url="" func="delImage()">Удалить рисунок</div>\
            <div class="menuitems" url="" func="replPic()">Заменить рисунок</div>\
            <hr>\
            <div class="menuitems" url="" func="editImage(\''+el+'\')">Свойства</div>\
            </div>\
            ');
}

function delImage(){
	el=workingDiv;
	var s=selectedImage;
	var sp=s;
	if(s.className=='myinsertion'){
		if(s.tagName=="SPAN") s=s.children[1];
		var indx=s.id.substr((10+el.length));
		if(s.src.substr(0,5)=='file:'){
			if(ftcEnabled[el]){
				sp.removeNode(1);
				ge(el+'_hid'+indx).value='';
			}else{
				insPic0(el,indx,'Сотрите содержимое поля для удаления рисунка ');
				fieldVisible[el]=2;
			}
		}
		if(s.src.substr(0,5)=='http:') {
			sp.removeNode(1);
			var h=ge(el+'_delautoimage');
			h.innerHTML+='<input type="hidden" value="'+s.src+'" name="delautoimage[]">';
		}
	}
}

function replPic(){
    el=workingDiv;
    var s=selectedImage;
    if(s.tagName=="SPAN") s=s.children[1];
    if(s.attributes.getNamedItem("class").value=='myinsertion'){
        var indx=s.id.substr((10+el.length));
        if(s.src.substr(0,5)=='file:'){
            fieldVisible[el]=2;
            insPic0(el,indx,'Укажите новый файл.');
        }
        if(s.src.substr(0,5)=='http:') {
            if(freeFields[el].length==0){hideImgMenu(); return mes();}
            var h=ge(el+'_delautoimage');
            h.innerHTML+='<input type="hidden" value="'+s.src+'" name="delautoimage[]">';
            fieldVisible[el]=3;
            insPic0(el,getFF(el),'Укажите файл');
        }
    }
}


function messageWindow(width,height,title,msg,action,addInfo)
{
    var left = (screen.width/2) - width/2;
    var top = (screen.height/2) - height/2;
    var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=no,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
    var msgWindow = window.open("","msgWindow", styleStr);
    var head = '<head><title>'+title+'</title></head>';
    var bb = '<body></body>';
    var body = '<div align="center">'+msg+'<br><p><form method="post">';
    body+='<input type="hidden" name="action" value="'+action+'">';
    body+='<input type="hidden" name="path" value="'+addInfo+'">';
    body+='<input type="button" value="   Да   " onClick="document.forms[0].submit()">\
        <input type="button" value="   Нет   " onClick="self.close()"></form></div>';
    msgWindow.document.write(head + bb);
    msgWindow.document.body.innerHTML=body;
    msgWindow.focus();
}

function initMenu(el){
    //set this variable to 1 if you wish the URLs of the highlighted menu to be displayed in the status bar
    display_url=0;
    ie5=document.all&&ge;
    ns6=ge&&!document.all;
    if (ie5||ns6)
        menuobj=ge("ie5menu");
    menuobj.style.display=''
}

function showMenu(e){
    //Find out how close the mouse is to the corner of the window
    var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
        var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
        //if the horizontal distance isn't enough to accomodate the width of the context menu
        if (rightedge<menuobj.offsetWidth)
            //move the horizontal position of the menu to the left by it's width
            menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
        else
            //position the horizontal position of the menu where the mouse was clicked
            menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
                //same concept with the vertical position
                if (bottomedge<menuobj.offsetHeight)
                    menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
                else
                    menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
                        menuobj.style.visibility="visible"
                        return false
}

function hideMenu(e){
    menuobj.style.visibility="hidden"
}

function highlightie5(e){
    var firingobj=ie5? event.srcElement : e.target
        if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
            if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
                firingobj.style.backgroundColor="highlight"
                    firingobj.style.color="white"
                    if (display_url==1)
                        window.status=event.srcElement.url
        }
}

function lowlightie5(e){
    var firingobj=ie5? event.srcElement : e.target
        if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
            if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
                firingobj.style.backgroundColor=""
                    firingobj.style.color="black"
                    window.status=''
        }
}

function jToMenu(e){
    var firingobj=ie5? event.srcElement : e.target
        if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
            if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode
                if (func=firingobj.getAttribute("func")){
                    eval(func);
                }else{
                    if (firingobj.getAttribute("target"))
                        window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"))
                    else
                        window.location=firingobj.getAttribute("url")
                }
        }
}

function showImgMenu(){
    if (menuobj&&checkForSelectedImage()){
        showMenu();
        return false;
    }
}

function hideImgMenu(){
    if (menuobj) hideMenu();
}
document.onclick=hideImgMenu;
