// JavaScript Document

	// filling submenu with Array argument
	function fillSubMenu(aItems, aHrefs, initVal){
		var n_to_display = max_length
		if(is.ns){
			initVal=0;
			n_to_display=aItems.length;
		}
		var n = aItems.length-initVal
		if(n_to_display>n){
		n_to_display=n
		}
		else{
			n_to_display=max_length+initVal;
			if(is.ns)
			n_to_display=n
		}
		var aHr = new Array();
		if (aHrefs=="" || aHrefs==null){
			for(var k=initVal; k<n_to_display; k++){
			aHr[k] = "#";
			}
		}
		else
		aHr=aHrefs
		var ss = "";
			for(var i=initVal; i<n_to_display; i++){
				ss+='<a href="'+aHr[i]+'">'
				ss+=aItems[i]+'</a>'+"<br>"
			}
			//document.forms[0].textfield.value = ss		// for test
			return ss;
	}
	//changing image
function swapim(im, im_to_change){
if(document.images)
document.images[im].src = im_to_change.src
}

//arguments:array of elements, koef of height, maximum number of elements to show
function setheight(aItems,     h_koef,         mn){
	var aa =0;
	var h=0;
	aa=aItems.length;
	if(is.ns)
	return aa*h_koef;
	if(mn<aa)
	h=mn*h_koef
	else
	h=aa*h_koef
	return h;
}
//The largest member of Array
	function getLargestElement(arr){	//returns length of the largest member of Array
	var n_length = arr.length;
	var curr_member;
	var largestmember=arr[0].length;
		for(var i=0; i<n_length; i++){
			curr_member=arr[i];
			if(largestmember<curr_member.length){
			largestmember=curr_member.length;
			}
		}
		return largestmember
	}
	
	function setwidth(LLL, ww, hh){
		LLL.css.width = ww
		LLL.css.height = hh
	}
	function show_hide_arrows(L_arrow, x_ar, y_ar){
		L_arrow.show()
		L_arrow.setX(x_ar)
		L_arrow.setY(y_ar)
	}
	
	function mouseDown(e){
		var ev = is.ns ? e : event
		var count = 0
		var s ='¸áõñë ¿ µ»ñí³Í ÙÏÝÇÏÇ Çñ³¹³ñÓáõÃÛáõÝÝ»ñÁ.:\n'
		for (var i in ev) {
			s+=i+'='+ev[i]+' | '
			if (count % 2 == 3) s+='\n'
			count++
		}
		//document.forms[0].tf.value = s
		return true
	}
	
	//*****************************************************************************************************************
	function show_hide_submenu(mlayer, sblayer, shadow_L, xxx, yyy){
		var is_higher = false
		var visiblenum = -1;
		var visSubNum=0;			//numeric part of SM_1, SM_2, .... SM_xx 	// number of visible sublayer
		if(getVisibleLayerNum()>=0){
		visiblenum=getVisibleLayerNum();
		visSubNum=parseInt(visiblenum)+1;
			if(eval("aSMitems_"+(parseInt(visiblenum)+1)).length>max_length){
			is_higher=true;
			}
		}
		//	Variables for defining scroll zones
		var scrX=0;		// X coord of UP andDOWN arrows (scrolling up or down)
		var scrYup=0;	// Y coord. of DOWN arrow (scrolling up)
		var scrYdown=0;	// Y coord. of UP arrow (scrolling down)
		if(sblayer.getVisibility()=='visible'){
			if(yyy<parseInt(mlayer.getY()+mlayer.h-document.body.scrollTop)){				//IF  ** 1
				if(xxx>mlayer.getX() && 
					xxx<(mlayer.getX()+mlayer.w) && 
					yyy>(mlayer.getY()-document.body.scrollTop)){
				sblayer.show()
				shadow_L.show()
				setwidth(shadow_L, sblayer.w+1, sblayer.h+1)
				sblayer.setX(mlayer.getX()+1)
				sblayer.setY(mlayer.getY()+mlayer.h)
				shadow_L.setX(mlayer.getX()+2)
				shadow_L.setY(mlayer.getY()+mlayer.h+1)
					// setting Arrows
					if(is_higher && is.ie){
						SM_Arrow_Up.show()
						SM_Arrow_Up.setX(mlayer.getX()+sblayer.w-40)
						SM_Arrow_Down.show()
						SM_Arrow_Down.setX(mlayer.getX()+sblayer.w-40)
						SM_Arrow_Down.setY(sblayer.getY()+max_height-25)
						// end scrolling
						}
					else{
					SM_Arrow_Up.hide()
					SM_Arrow_Down.hide()
					}
				}
				else{
				sblayer.hide()
				//scrolled=false
				shadow_L.hide()
				SM_Arrow_Up.hide()
				SM_Arrow_Down.hide()
				}
			}					//END IF ** 1		
			else{	//ELSE  ** 1
				if(xxx>sblayer.getX() && 
					xxx<(sblayer.getX()+sblayer.w) && 
					yyy<(sblayer.getY()-document.body.scrollTop+sblayer.h)){
					sblayer.show()
					shadow_L.show()
					setwidth(shadow_L, sblayer.w+1, sblayer.h+1)
					sblayer.setX(mlayer.getX()+1)
					sblayer.setY(mlayer.getY()+mlayer.h)
					shadow_L.setX(mlayer.getX()+2)
					shadow_L.setY(mlayer.getY()+mlayer.h+1)
						//setting up arrows
						if(is_higher && is.ie){
							SM_Arrow_Up.show()
							SM_Arrow_Up.setX(mlayer.getX()+sblayer.w-40)
							SM_Arrow_Down.show()
							SM_Arrow_Down.setX(mlayer.getX()+sblayer.w-40)
							SM_Arrow_Down.setY(sblayer.getY()+max_height-25)
							//scrolling
							scrX=SM_Arrow_Up.getX();
							scrYup=SM_Arrow_Up.getY();
							scrYdown=SM_Arrow_Down.getY();
							sblayer.show();
								if(xxx>scrX && xxx<(scrX+SM_Arrow_Up.w) && yyy>scrYdown-document.body.scrollTop && 
										yyy<(scrYdown+SM_Arrow_Down.h-document.body.scrollTop)){
									clearInterval(stmt);
-									scroll_down(visSubNum);
								}
								else if(xxx>scrX && xxx<(scrX+SM_Arrow_Up.w) && yyy>scrYup-document.body.scrollTop && 
										yyy<(scrYup+SM_Arrow_Up.h-document.body.scrollTop)){
									clearInterval(stmt);
									scroll_up(visSubNum);
								}
								else
									clearInterval(stmt);
							}
						else{
							SM_Arrow_Up.hide()
							SM_Arrow_Down.hide()
						}

					//document.forms[0].tf_width.value=sblayer.w;				//for test only
					//document.forms[0].tf_height.value=sblayer.h;			//for test only
					}
				else{
					sblayer.hide()
					//scrolled=false
					shadow_L.hide()
					SM_Arrow_Up.hide()
					SM_Arrow_Down.hide()
					if(stmt){
						clearInterval(stmt);
					}
				}
			}	//END ELSE  ** 1
		}	// end of if getVisibility()
		else{		//sblayer.getVisibility()=='hidden'
			if(xxx>mlayer.getX() && xxx<(mlayer.getX()+mlayer.w) && yyy<(mlayer.getY()+mlayer.h-document.body.scrollTop) && yyy>(mlayer.getY()-document.body.scrollTop)){
			sblayer.show()
			shadow_L.show()
			sblayer.setX(mlayer.getX()+1)
			sblayer.setY(mlayer.getY()+mlayer.h)
			setwidth(shadow_L, sblayer.w+1, sblayer.h+1)
			shadow_L.setX(mlayer.getX()+2)
			shadow_L.setY(mlayer.getY()+mlayer.h+1)
			}
			else{
			sblayer.hide();
			shadow_L.hide();
			}

		}// end of else getVisibility()
	return false
	}
// image swaping
//_______ scroll object

function stopscroll(){
clearInterval(stmt)
}
//------------------------------------------------
function scroll_up(L){
	if(stmt){
	clearInterval(stmt)
	}
	stmt = setInterval("step_up('"+L+"')", t_ms);
}
function scroll_down(L){
	if(stmt){
	clearInterval(stmt)
	}
	if(L){
	stmt = setInterval("step_down('"+L+"')", t_ms);
	}
}
function step_down(L_num){		// L_num is number of submenu item :  "aSMitems_" + L_num
	// L_num must be between 1 and aMenu.length
	var sm_Layer = eval("SM_" + L_num)
	var aSMitems = new Array();
	aSMitems = eval("aSMitems_"+L_num)
	//hrefs								"aHrefItems_" + L_num
	var aHRitems = new Array();
	aHRitems = eval("aHrefItems_"+L_num)
	//End hrefs
	sm_Layer.write(fillSubMenu(aSMitems, aHRitems, aInitSb[L_num-1]))
	if(aInitSb[L_num-1]<aSMitems.length-max_length){
		aInitSb[L_num-1]+=1
		}
}
function step_up(L_num){		// L_num is number of submenu item :  "aSMitems_" + L_num
	// L_num must be between 1 and aMenu.length
	var sm_Layer = eval("SM_" + L_num)
	var aSMitems = new Array();
	aSMitems = eval("aSMitems_"+L_num)
	//hrefs								"aHrefItems_" + L_num
	var aHRitems = new Array();
	aHRitems = eval("aHrefItems_"+L_num)
	//End hrefs
	sm_Layer.write(fillSubMenu(aSMitems, aHRitems, aInitSb[L_num-1]))
	if(aInitSb[L_num-1]>0){
		aInitSb[L_num-1]-=1
		}
}
//___ END of functions with arguments
function getVisibleLayerNum(){
var g = 0;
var viznum = -1;
	for(g=0; g<aSM.length; g++){
		if(aSM[g].css.visibility == 'visible'){
		viznum = g;
		}
	}
	return viznum;
}
//_______ End of scroll object
//___images to preload
var im_up1=new Image();
im_up1.src='arrow_up_1.gif';
var im_up2=new Image();
im_up2.src='arrow_up_2.gif';
var im_down1=new Image();
im_down1.src='arrow_down_1.gif'
var im_down2=new Image();
im_down2.src='arrow_down_2.gif'
