var jsfunctions_included=true;
var flyid=1;
var cookieRoot = "";

/**
 * reset RTE fields
 */
function resetEditors(){
	for (rteInd in window.rteIdArr){
		var rte = window.rteIdArr[rteInd];
		
		if (rte[0] == 'INNOVA'){
			resetInnova(rte[1]);
		}else if(rte[0] == 'FCK'){
			resetFCKE(rte[1]);
		}
	}
}
/**
 * Reseting changes for Innova editor
 * @param {string} id
 */
function resetInnova(id){
	
	var textAreaIdHead = 'value_';
	var iframeIdHead = 'idContentoEdit';
	
	// main iframe of the control have the same id
	var textAreaId = textAreaIdHead+id;
	var iframeId = iframeIdHead+id;
	// value of textarea - default value
	var textAreaVal = $('#'+textAreaId).contents().find('#'+textAreaId).val();	
	var iframeBody = $('#'+textAreaId).contents().find('#'+iframeId).contents().find('body');
	//reseting changes
	iframeBody.text(textAreaVal);
}
/**
 * Reseting changes for FCK editor
 * @param {string} id
 */
function resetFCKE(id){
	var inputHiddenHead = 'value_';
	var iframeIdHead = 'value_';
	var iframeIdTail = '___Frame';
	// inputHiddenId - id of DOM element which stored default value
	var inputHiddenId = inputHiddenHead+id;
	var iframeId = iframeIdHead+id+iframeIdTail;
	// value of inputHidden - default value
	var inputHiddenVal = $('#'+inputHiddenId).val();
	var iframeBody = $('#'+iframeId).contents().find('body').find('iframe').contents().find('body');
	//reseting changes
	iframeBody.text(inputHiddenVal);
}


function findCookieRoot()
{
	var cutFrom = document.location['pathname'].indexOf('/', 1);
	cookieRoot = document.location['pathname'].substr(0,(cutFrom+1));
}

// add opened menu id to cookie
function addOpenMenuItemIdToCookie(menuItemId)
{
	var openMenuItemIds = get_cookie('openMenuItemIds');
	if (openMenuItemIds)
	{
		if (openMenuItemIds.indexOf(menuItemId) == -1)
			openMenuItemIds += ";"+menuItemId;	
				
	}
	else
		openMenuItemIds = menuItemId;
	set_cookie('openMenuItemIds', openMenuItemIds, '', cookieRoot, '', '' );
	toggleExpandCollapse();
}
// remove opened menu id from cookie
function removeOpenMenuFromCookie(menuItemId)
{
	var openMenuItemIds = get_cookie('openMenuItemIds');
	if (openMenuItemIds)
	{
		openMenuItemIds = openMenuItemIds.replace((";"+menuItemId), "");
		openMenuItemIds = openMenuItemIds.replace(menuItemId, "");
		if(openMenuItemIds.indexOf(';')==0)
			openMenuItemIds = openMenuItemIds.substr(1,openMenuItemIds.length);
		set_cookie('openMenuItemIds', openMenuItemIds, '', cookieRoot, '', '' );
	}
	setTimeout("toggleExpandCollapse()",500);
}

// expand/collapse button control
function toggleExpandCollapse()
{
	var visibleLength = $("#mainmenu_block").find("ul[@id^=u]:visible").length,
	hiddenLength = $("#mainmenu_block").find("ul[@id^=u]:hidden").length;
	if (visibleLength == 0 && hiddenLength > 0 && $("img.pmimg").attr("src")=="include/img/plus.gif")
	{
		$('a.plus_minus').empty();
		$('img.pmimg').attr('src','include/img/plus.gif');
		$('a.plus_minus').append('<img src=\"include/img/plus.gif\" border=0> &nbsp;&nbsp;expand all');	
	}
	else if (visibleLength != 0 && hiddenLength == 0 && $("img.pmimg").attr("src")=="include/img/minus.gif")
	{
		$('a.plus_minus').empty();
		$('img.pmimg').attr('src','include/img/minus.gif');
		$('a.plus_minus').append('<img src=\"include/img/minus.gif\" border=0> &nbsp;&nbsp;collapse all');
	}
}

// open menus on page load
function openMenuItemsOnLoad()
{
	findCookieRoot();
	var openMenuItemIds = get_cookie('openMenuItemIds');
	if (openMenuItemIds) 
	{
		var itemForOpenArr = openMenuItemIds.split(";");
		for (var i = 0; i < itemForOpenArr.length; i++) 
		{
			var itemId = itemForOpenArr[i];
			// show sometimes conficts with slideDown in Vmenu2()
			$("#"+itemId).slideDown(1);
			$("#"+itemId).parent().find('img:first').attr("src", "include/img/minus.gif");		
		}
	}
	toggleExpandCollapse();
}

//	For vertical menu on page
function Vmenu1()
{
	$('.Vmenu1 ul li').hover(
	function()
	{
		flag=1;
		var left=1;
		if($(this).attr('class')!='hr')
			$(this).addClass('menu_active');
		ul = $(this).find('ul:first');
		$(ul).css('display','block');
		window.Max=$(this)[0].offsetWidth;
		$(ul).css('left',''+(window.Max-10)+'px');
		if(IsIE6())
			left=-8;
		$(ul).dropShadow({left: left, top: 2, blur: 2, opacity: 0.4})
		setTimeout('if(flag) $(ul).redrawShadow()',150);
		if($(this).find('ul:first').length)
			addiframe($(this));
	},
	function()
	{            
		flag=0;
		if($(this).attr('class')!='hr')
			$(this).removeClass('menu_active'); 
		$(this).find('ul:first').css('display','none'); 
		$(this).find('ul:first').removeShadow();
		var id = $(this).attr('id');
		id = id.substr(2);
		if($('#ul'+id).length)
			$("#frame_menu"+id).remove();
	});    
	$('.Vmenu1 li:has(ul:has(li))').find('a:first').each(function()
	{
		if(!$('b',this).length)
		{
			$(this).after('<b class="bmenu bmenu_simple">&nbsp;&raquo;</b>');
			$("b.bmenu_simple").css("color",$(this).css("color"));
		}	
	});
	$('.Vmenu1 li[@view=topitem]:has(ul:has(a.current))').find("b:first").append("&nbsp;<b class='bmenu_current'>"+$("a.current").attr('title')+"</b>");
	$("b.bmenu_current").css("color",$("a.current").css("color"));
	$('.Vmenu1 ul li ul').addClass('submenu');
}
//	For vertical tree-like menu on page
function Vmenu2()
{
	$('.Vmenu2 ul li a').hover(
	function()
	{
		if($(this).parent().attr('class')!='hr')
			$(this).addClass('menu_active');
	},
	function()
	{
		if($(this).parent().attr('class')!='hr')
			$(this).removeClass('menu_active'); 
	}); 
	$('.Vmenu2 ul li ul').hide();
	$('li[@view=topitem]:has(ul:has(a.current))').find('a:first').css('color',$("a.current").css("color"));
	$('.Vmenu2 ul li:has(ul) span').bind('click',function()
	{
		var par = $(this).parent();
		$(par).find('ul:first').slideToggle(); 
		if ($(this).find('img.pmimg').attr('src') == 'include/img/plus.gif') 
		{
			// add to cookie opened menu
			addOpenMenuItemIdToCookie($(par).find('ul:first').attr("id"));
			$(this).find('img.pmimg').attr('src', 'include/img/minus.gif');
			if($('a.current',par).length)
				$(par).find('a:first').css('color',$("a.tablelinkssearch").css("color"));
		}
		else{
				// remove from cookie opened menu
				removeOpenMenuFromCookie($(par).find('ul:first').attr("id"));
				// remove all children from cookie
				$(par).find('ul').each(function()
				{
					removeOpenMenuFromCookie($(this).attr("id"));
				});
				$(this).find('img.pmimg').attr('src', 'include/img/plus.gif');
				if($('a.current',par).length)
					$(par).find('a:first').css('color',$("a.current").css("color"));
			}
		return false;      
	});
	$('a.plus_minus').click(function()
	{
		var cur = $(this).parent().parent().find('li[@view=topitem]:has(ul:has(a.current))');
	   if(flag)
	   {
			$(this).parent().parent().find('ul li ul').slideUp('slow');
			$('a.plus_minus').empty();
			$('img.pmimg').attr('src','include/img/plus.gif');
			$('a.plus_minus').append('<img src=\"include/img/plus.gif\" border=0> &nbsp;&nbsp;expand all');
			flag = 0;
			// on collapse all, remove all ids from cookie
			delete_cookie('openMenuItemIds', cookieRoot, '');
			if($(cur).length)
				$(cur).find('a:first').css('color',$("a.current").css("color"));
		}
	   else{
				$(this).parent().parent().find('ul li ul').slideDown('slow');
				$('a.plus_minus').empty();
				$('img.pmimg').attr('src','include/img/minus.gif');
				$('a.plus_minus').append('<img src=\"include/img/minus.gif\" border=0> &nbsp;&nbsp;collapse all');
				flag = 1;
				// on expand all add all ids to cookie
			    $(this).parent().parent().find('ul li ul').each(function()
				{									
					addOpenMenuItemIdToCookie($(this).attr("id"));	
				});
				if($(cur).length)
					$(cur).find('a:first').css('color',$("a.tablelinkssearch").css("color"));
			}
		return false; 
	});
	if($.browser.msie)
		$('.Vmenu2 ul li').css('padding','5px 0');	
}
//	For gorizonal menu on page	
function Gmenu()
{
	window.Max=0; 
	window.UlMax=0;
	window.LiMax=0;
	window.first=0;
	$('.Gmenu ul li').hover(
	function()
	{
		flag=1;
		if($(this).attr('view')=='topitem')
		{
			window.LiMax=$(this)[0].offsetWidth;
			window.first=0;
		}
		if(!$(this).find('.main_item').length)
			$(this).addClass('menu_active');
		ul = $(this).find('ul:first');
		$(ul).css('display','block');
		if($(ul).length)
		{
			window.UlMax=0;
			$(ul).find('li[@parent='+($(ul).attr('id'))+'] a').each(function()
			{
				if(window.UlMax<$(this)[0].offsetWidth)
					window.UlMax=$(this)[0].offsetWidth
			});
		}
		if(!window.first && window.UlMax < window.LiMax)
			window.Max=window.LiMax;
		else
			window.Max=window.UlMax;
		if($(ul).length)
		{
			$(ul).css('width',''+(window.Max+20)+'px');
			$(ul).find('li').css('width',''+(window.Max+20)+'px');
			$(ul).find('ul:first').css('left',''+(window.Max+10)+'px');
			window.first=1;
		}	
		$(ul).dropShadow({left: 1, top: 2, blur: 2, opacity: 0.4});
		setTimeout('if(flag) $(ul).redrawShadow()',150);
		if($(this).find('ul:first').length)
			addiframe($(this));
	},
	function() 
	{
		flag=0;
		if(!$(this).find('.main_item').length)
			$(this).removeClass('menu_active'); 
		$(this).find('ul:first').css('display','none'); 
		$(this).find('ul:first').removeShadow();
		var id = $(this).attr('id');
		id = id.substr(2);
		if($('#ul'+id).length)
			$("#frame_menu"+id).remove();
	});	
	$('.Gmenu li:has(ul:has(li))').find('a:first').each(function()
	{
		if(!$('b',this).length)
		{	
			$(this).after('<b class="bmenu bmenu_simple">&nbsp;&raquo;</b>');
			$("b.bmenu_simple").css("color",$(this).css("color"));
		}
	});
	$('.Gmenu li[@view=topitem]:has(ul:has(a.current))').find("b.bmenu:first").append("&nbsp;<b class='bmenu_current'>"+$("a.current").attr('title')+"</b>");
	$("b.bmenu_current").css("color",$("a.current").css("color"));
	$('.Gmenu ul li ul').css('top',''+($('.Gmenu li[@view=topitem]')[0].offsetHeight-1)+'px');
	if($(".Madrid").length)
	{
		if(IsIE6())
		{
			$('.Madrid b.xtop').each(function()
			{
				$(this).attr("style","height:1px;width:"+($(this).parent()[0].offsetWidth)+"px");
			});
		}
	}
	else if($(".Paris").length)
		$('.Gmenu').parent().css('height','1px');
	$('.Gmenu ul li ul li ul').css('top','0px');
}
//for add iframe for menu for IE6
function addiframe(elem)
{
	var id = $(elem).attr('id');
	id = id.substr(2);
	if($('#ul'+id).length)
	{
		if(IsIE6() || $(document.body).find('embed').length)
		{
			var w = $('#ul'+id)[0].offsetWidth;
			var h = $('#ul'+id)[0].offsetHeight;
			var l = $('#ul'+id)[0].offsetLeft;
			var t = $('#ul'+id)[0].offsetTop;
			$(elem).append('<iframe id="frame_menu'+id+'" frameborder="1" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="left:'+l+'px;top:'+t+'px;width:'+w+'px;height:'+h+'px;background:white;position:absolute;display:block;opacity:0;filter:alpha(opacity=0);" > </iframe>');
		}
	}		
}
function IsIE6()
{
	var browserName=navigator.appName;
	var browserVer=parseInt(navigator.appVersion); 
	if (browserName=="Microsoft Internet Explorer" && browserVer<7)
		return true;
	return false;
}
//	To load js files or css files
function ScriptLoader(id)
{
	this.id=id;
	this.jsFiles=new Array();
	this.jsRequirements=new Array();

	this.loadCSS  = function (file)
	{
		if(window[file+'_loadedcss'])
			return;
		window[file+'_loaded_css']=true;
		var html_doc = document.getElementsByTagName('head')[0];
		var css = document.createElement('link');
		css.setAttribute('rel', 'stylesheet');
		css.setAttribute('type', 'text/css');
		css.setAttribute('href', "include/"+file+".css");
		html_doc.appendChild(css);
	}

	this.addJS = function(file,require)
	{
		var idx=this.jsFiles.length;
		this.jsFiles[idx]=file;
		var i;
//	add requirements
		var req=new Array();
		for(i=1;i<arguments.length;i++)
			req[req.length]=arguments[i];
		this.jsRequirements[idx]=req;
	};
	this.load = function()
	{
		var i;
		for(i=0;i<this.jsFiles.length;i++)
			this.loadJS(i);		
		if(!this.jsFiles.length)
			this.postLoadAll();
	};
	this.loadJS=function(idx)
	{
//	check requirements
		for(i=0;i<this.jsRequirements[idx].length;i++)
		{
			if(!window[this.jsRequirements[idx][i]+'_loadedjs'])
				return;
		}
//	check if file loaded already
		if(window[this.jsFiles[idx]+'_loadedjs'])
		{
			this.postLoad(idx);
			return;
		}
//	load file		
		var js = document.createElement('script');
		js.setAttribute('type', 'text/javascript');
		js.setAttribute('src', "include/"+this.jsFiles[idx]+".js");
		var sl = this;
//	add onload handler
		if($.browser.msie)
			js.onreadystatechange = function()	{
			
				if (js.readyState == 'complete' || js.readyState == 'loaded') 
				{
					sl.postLoad(idx); 
				}
			};
		else
				js.onload = function() {	
					sl.postLoad(idx);	
				};
		document.getElementsByTagName('HEAD')[0].appendChild(js);	
	}
	this.postLoad = function(idx)
	{
//	set postload variable
		window[this.jsFiles[idx]+'_loadedjs']=true;
//	exit if page postload function warked already
		if(window["postloadstep"+(this.id ? "_"+this.id : "")+"_worked"])
			return;
//	run dependent loads
		var i,j;
		for(i=0;i<this.jsRequirements.length;i++)
		{
			for(j=0;j<this.jsRequirements[i].length;j++)
			{
				if(this.jsRequirements[i][j]==this.jsFiles[idx])
				{
					this.loadJS(i);
					break;
				}
			}
		}
		this.postLoadAll();
	};
	this.postLoadAll = function()
	{
//	check if all files loaded 
		for(i=0;i<this.jsFiles.length;i++)
			if(!window[this.jsFiles[i]+'_loadedjs'])
				return;
		window["postloadstep"+(this.id ? "_"+this.id : "")+"_worked"]=true;
//	run postload function if it exists 
		if(window["postloadstep"+(this.id ? "_"+this.id : "")])
			eval("postloadstep"+(this.id ? "_"+this.id : "")+"();");
//	run added functions
		if(window["postloadpool"+this.id]!=undefined)
		{
			var pool=window["postloadpool"+this.id];
			for(i=0;i<pool.length;i++)
				pool[i]();
			window["postloadpool"+this.id]=undefined;
		}
	};
}

//For add script code to function postloadstep, that performed after loading all files
function AddScript2Postload(func,id)
{
	if(window["postloadstep"+(id ? "_"+id : "")+"_worked"])
	{
		func();
		return;
	}
	if(window["postloadpool"+id]==undefined)
		window["postloadpool"+id]=new Array();
	var pool = window["postloadpool"+id];
	pool[pool.length]=func;
}

//	To get data from RTEBasic or InnovaEditor  for save it to base
function getDataFromRTEInnova(elem,useRTE,form,name,id)
{
	var doc;
	if(!name)
		iframe = $("iframe",elem);
	else
		iframe = elem;
	if($.browser.msie)
	{
		doc = window.frames[$(iframe)[0].name].document;
		if(doc.forms[0].onsubmit!=null)
			doc.forms[0].onsubmit();
		var txtarea;
		if(useRTE=="RTE" || useRTE=="RTE_FLY")
			txtarea = $("input[@type=hidden]",doc)[0];
		else
			txtarea = $("textarea",doc)[0];
		if(!name)
			name = txtarea.name.substr(0,txtarea.name.length-1-(new String(id)).length);	
		$('<input type="text" name="' + name + '">').appendTo(form);
		if(useRTE=="RTE" || useRTE=="RTE_FLY")
			$("[@name="+name+"]",form).val($(txtarea).val());
		else
			$("[@name="+name+"]",form).val($(txtarea).text());
	}
	else
		{
			doc = $(iframe)[0].contentDocument;
			var txt=doc.forms[0].onsubmit();
			if(!name)
				name = "value_" + elem.id.substr(5+(new String(id)).length);
			$('<input type="hidden" name="' + name + '">').appendTo(form);
			$("[@name="+name+"]",form).val(txt);
		}
	return;
}
//	To set my added function on event \"onChange\" on the first place
jQuery.fn.bindFirst = function(evt, fn)
{
	var events = $(this).data('events');
	var handlers = [];
	for(var type in events) 
	{
		if(type == evt) 
		{
			for(var guid in events[type])
				handlers.push(events[type][guid]);
			$(this).unbind(evt);
			$(this).bind(evt,function()
			{
				fn();
				for(var i = 0; i < handlers.length; i++)
					handlers[i]();
			});
			break;
		}
	}
	return $(this);
}
// For add function on event onchange and on keypress
function change()
{
	$('#editform :input').each(function()
	{
		var type = $(this).attr('type');
		if(type=='checkbox' || type=='radio')
			$(this).bind('click',click);
		else if(type=='text' || type=='password')
		{
			$(this).parent().append('<input type="hidden" id="change_'+$(this).attr('name')+'" >');
			$('#change_'+$(this).attr('name')).val($(this).val());
			$(this).bind('keyup',keyup);
		}
		else 
			$(this).bind('change',disbutton);
	});
}
function click()
{
	if($(this).attr('checked'))
		disbutton();
}
function keyup()
{
	var name = $(this).attr('name');
	var val_el = $(this).val();
	var val_ch = $('#change_'+name).val();
	if(val_el!=val_ch)
		disbutton();
}
function disbutton()
{
	if(flag_but==0)
	{
		attr();
		flag_but=1;
	}
}
//	For style disabled button prev and next
function attr()
{
	var prev = $('#prev')[0];
	var next = $('#next')[0];
	if(prev)
	{
		$(prev).css('background','#dcdcdc url(\"images/sortprev.gif\") center no-repeat');
		$(prev).css('color','#dcdcdc');
		$(prev).css('cursor','default');
		$(prev).attr('disabled','disabled');
	}
	if(next)
	{
		$(next).css('background','#dcdcdc url(\"images/sortnext.gif\") center no-repeat');
		$(next).css('color','#dcdcdc');
		$(next).css('cursor','default');
		$(next).attr('disabled','disabled');
	}
}
//	For multiple sorting 
function sort(e,url)
{
	var ctrlPressed = 0;
	if(parseInt(navigator.appVersion) > 3)
	{
		if (navigator.appName == "Netscape")
		{
			var ua = navigator.userAgent;
			var isFirefox = (ua != null && (ua.indexOf("Firefox/") != -1 || ua.indexOf("Chrome/") != -1));
			if ((!isFirefox && getNNVersionNumber() >= 6) || isFirefox) 
				ctrlPressed = e.ctrlKey;
			else ctrlPressed = ((e.modifiers+32).toString(2).substring(3,6).charAt(1)=="1");
		}
		else ctrlPressed = event.ctrlKey;
		if (ctrlPressed) 
		{
			var newPage = "<scr" + "ipt language=\"JavaScript\">setTimeout(\'window.location.href=\"" + url + "&ctrl=1\"\', 10);</scr" + "ipt>";
			document.write(newPage);
			document.close();
			return false;
		}
	}
	return true;
}

var flag_hint=0;
var hspan = false;
//	To add hints for multiple sorting
function addspan(e)
{
	if($.browser.msie)
	{
		y_ = e.y;
		x_ = e.x;
	}
	else
	{
		y_ = e.clientY;
		x_ = e.clientX;
	}
	flag_hint=1;	
	hspan = $(document.body).find("span.hover_span")[0];
	timespan(x_,y_);
}	
//	To  show hints it may take some time
function timespan(x_,y_)
{
	if(!hspan) 
	{
		$(document.body).append('<span class=\'hover_span\' style=\'position:absolute;display:none;font-size:9px;border:solid 1px #747474;background-color:#ffffe1;color:#000;white-space:pre;padding:2px;width:170;z-Index:1000;\'><b>'+TEXT_CTRL_CLICK+'</b></span>');
		hspan = $("span.hover_span")[0];
	}
	if ($.browser.mozilla)
	{
		clientHeight=window.innerHeight;
		clientWidth=window.innerWidth;
	}
	else{
			clientHeight=document.body.clientHeight;
			clientWidth=document.body.clientWidth;
		}
	left=false;
	right=false;
	w_ = hspan.offsetWidth;
	h_ = hspan.offsetHeight; 
	if(x_ + w_ > clientWidth)
	{
		x_ = clientWidth - w_;
		left=true;
	}
	if(y_ + h_ > clientHeight)
	{
		y_ = clientHeight - h_;
		right=true;
	}
	if(left&&right)
		y_ = clientHeight - h_;
	x_ = x_ + document.body.scrollLeft;
	y_ = y_ + document.body.scrollTop + 20;
	$(hspan).css("left", "" + x_ + "px");
	$(hspan).css("top", "" + y_ + "px");
	if(flag_hint) $(hspan).css("display", "inline");
}
//	To del hints for multiple sorting
function delspan()
{
	if(hspan)
	{
		$(hspan).css("display","none");
		flag_hint=0;
	}	
}
//	To moving hints for multiple sorting
function movespan(e)
{	
	if(hspan)
	{
		if( hspan.style.display != "inline" )
			return false;
		hspan.style.left = ( e.clientX || e.x ) + document.body.scrollLeft;
		hspan.style.top  = ( e.clientY || e.y ) + 20 + document.body.scrollTop;
	}
}


function RunSearch(pid)
{
	var form,id='';
	if(pid)
	{
		id=pid;
		form=document.forms['frmSearch'+id];
	}
	else
		form=document.forms.frmSearch;
	
	form.a.value = 'search'; 
	form.SearchFor.value = document.getElementById('ctlSearchFor'+id).value; 
	if(document.getElementById('ctlSearchField'+id)!=undefined)
		form.SearchField.value = $('#ctlSearchField'+id).val(); 
	if(document.getElementById('ctlSearchOption'+id)!=undefined)
		form.SearchOption.value = $('#ctlSearchOption'+id).val(); 
	else
		form.SearchOption.value = "Contains"; 
	form.submit();
}


function GetGotoPageUrlString (nPageNumber,sUrlText)
{
	return "<a href='JavaScript:GotoPage(" + nPageNumber + ");' style='TEXT-DECORATION: none;'>" + sUrlText 
	+ "</a>";
}

function WritePagination(mypage,maxpages)
{
	if (maxpages > 1 && mypage <= maxpages)
	{
			document.write("<table rows='1' cols='1' align='center' width='95%' border='0'>"); 
			document.write("<tr valign='center'><td align='center'>"); 
			var counterstart = mypage - 9; 
			if (mypage%10) counterstart = mypage - (mypage%10) + 1; 
 
			var counterend = counterstart + 9; 
			if (counterend > maxpages) counterend = maxpages; 
 
			if (counterstart != 1) document.write(GetGotoPageUrlString(1,TEXT_FIRST)+"&nbsp;:&nbsp;"+GetGotoPageUrlString(counterstart - 1,TEXT_PREVIOUS)+"&nbsp;"); 
 
			document.write("<b>[</b>"); 
		
		var pad="";
		var counter	= counterstart;
		for(;counter<=counterend;counter++)
		{
			if (counter != mypage) document.write("&nbsp;" + GetGotoPageUrlString(counter,pad + counter));
			else document.write("&nbsp;<b>" + pad + counter + "</b>");
		}
		document.write("&nbsp;<b>]</b>");
		if (counterend != maxpages) document.write("&nbsp;" + GetGotoPageUrlString (counterend + 1,TEXT_NEXT) + "&nbsp;:&nbsp;" + GetGotoPageUrlString(maxpages,TEXT_LAST))
			
		document.write("</td></tr></table>");		
	}
}


    var rowWithMouse = null;

    function gGetElementById(s) {
      var o = (document.getElementById ? document.getElementById(s) : document.all[s]);
      return o == null ? false : o;
    }

    function rowUpdateBg(row, myId) 
    {
        row.className = (row == rowWithMouse) ? 'rowselected' : ( (myId&1) ? '' : 'shade' );
    }

    function rowRollover(myId, isInRow) {
      // myId is our own integer id, not the DOM id
      // isInRow is 1 for onmouseover, 0 for onmouseout
      var row = document.getElementById('tr_' + myId);
      rowWithMouse = (isInRow) ? row : null;
      rowUpdateBg(row, myId);
    }



function BuildSecondDropDown(arr, SecondField, FirstValue)
{
	document.forms.editform.elements[SecondField].selectedIndex=0;

	document.forms.editform.elements[SecondField].options[0]=new Option(TEXT_PLEASE_SELECT,'');

	var i=1;
	for(ctr=0;ctr<arr.length;ctr+=3)
	{
		if (FirstValue.toLowerCase() == arr[ctr+2].toLowerCase())
		{
			document.forms.editform.elements[SecondField].options[i]=new Option(arr[ctr+1],arr[ctr]);
			i++;
		}
	}
	document.forms.editform.elements[SecondField].length=i;
	if(i<3 && i>1 && !bLoading)
		document.forms.editform.elements[SecondField].selectedIndex=1;
	else
		document.forms.editform.elements[SecondField].selectedIndex=0;
}

function SetSelection(FirstField, SecondField, FirstValue, SecondValue, arr)
{
	var ctr;

	BuildSecondDropDown(arr, SecondField, FirstValue);	 
	if(SecondValue=="" && document.forms.editform.elements[SecondField].length<3)
		return;
	for (ctr=0; ctr<document.forms.editform.elements[SecondField].length; ctr++)
	 if (document.forms.editform.elements[SecondField].options[ctr].value.toLowerCase() == SecondValue.toLowerCase() )
	 	 {
		  document.forms.editform.elements[SecondField].selectedIndex = ctr;
		  break;
		 }
}
function padDateValue(value,threedigits)
{
	if(!threedigits)
	{
		if(value>9)
			return ''+value;
		return '0'+value;
	}
	if(value>9)
	{
		if(value>99)
			return ''+value;
		return '0'+value;
	}
	return '00'+value;
}

function getTimestamp()
{
	var ts = "";
	var now = new Date();
	ts += now.getFullYear();
	ts+=padDateValue(now.getMonth()+1,false);
	ts+=padDateValue(now.getDate(),false)+'-';
	ts+=padDateValue(now.getHours(),false);
	ts+=padDateValue(now.getMinutes(),false);
	ts+=padDateValue(now.getSeconds(),false);
	return ts;
}

function addTimestamp(filename)
{
	var wpos=filename.lastIndexOf('.');
	if(wpos<0)
		return filename+'-'+getTimestamp();
	return filename.substring(0,wpos)+'-'+getTimestamp()+filename.substring(wpos);
}

function create_option( theselectobj, thetext, thevalue ) 
{
theselectobj.options[theselectobj.options.length]= new Option(thetext,thevalue);
}

function SetToFirstControl(name)
{
try {
	if(name)
	{
	    var form=document.forms[name];
		for(i=0; i < form.elements.length; i++)
		{
			if (form.elements[i].type == "hidden" || form.elements[i].disabled)
		  		continue;
	   	    form.elements[i].focus();
			break;
		}
		return;
	}
	var bFound = false;
	for (f=0; !bFound && f<document.forms.length; f++)
	{
	    var form=document.forms[f];
	    for(i=0; i < form.elements.length; i++)
	    {
			if (form.elements[i].type == "hidden" || form.elements[i].disabled)
		  		continue;
			form.elements[i].focus();
	        var bFound = true;
			break;
		}
    }
} catch(er) {} 
}

function slashdecode(str)
{
	var out = new String();
	var pos = 0;
	for ( var i = 0; i < str.length - 1; i++ )
	{
		var c = str.charAt(i);
		if( c == '\\' )
		{
			out += str.substr(pos,i-pos);
			pos = i + 2;
			var c1 = str.charAt(i+1);
			i++;
			if ( c1 == '\\' ) {
				out += "\\";
			} else if ( c1 == 'r' ) {
				out += "\r";
			} else if ( c1 == 'n') {
				out += "\n";
			} else {
				i--;
				pos-=2;
			}
		}
	}
	if ( pos < str.length )
		out += str.substr(pos);
	
	return out;
}

var zindex_max=1;

/////////////////////////////////////////////////////////////
function print_time(h, m, s, format, hIsAM, convention, am, pm)
{
	var res = format;
	var isAM = hIsAM;
	
	if(convention == 12 && h > 12)
	{
		h -= 12;
		isAM = false;
	}
	
	var hh = parseInt(h);
	if(isNaN(hh))
		hh = 0;	
	var mm = parseInt(m);
	if(isNaN(mm))
		mm = 0;	
	var ss = parseInt(s);
	if(isNaN(ss))
		ss = 0;
	if(hh < 10)
		hh = "0" + hh.toString();
	if(mm < 10)
		mm = "0" + mm.toString();
	if(ss < 10)
		ss = "0" + ss.toString();
		
	res = res.replace(/mm/, mm);
	res = res.replace(/ss/, ss);
	res = res.replace(/m/, m);
	res = res.replace(/s/, s);
	
	res = res.toLowerCase();
	if(convention == 12)
	{
		var t = isAM ? am : pm;
		res = res.replace(/hh/, hh);
		res = res.replace(/h/, h);
		res = res.replace(/t+/, t);
	}
	else
	{
		res = res.replace(/hh/, hh);
		res = res.replace(/h/, h);
	}
	
	return res;	
}
