var top_frame_loaded 	= true
var bottom_frame_loaded = true

//This function hides the loading cursor
function frame_loaded(which_frame)
{
	//alert('loaded');
}

// This function selects all the option in a certain list box
function selectAllOptions(selectObj)
{
	for (i=0; i<selectObj.options.length; i++)
	{
		selectObj.options(i).selected = true
	}
}

// This function is intended to be used for transffering options from one multiple select to another
function moveOptions(sourceSelectObj, targetSelectObj)
{
	var sourceStartLength = sourceSelectObj.options.length;

	for (i=0; i<sourceStartLength; i++)
	{
		if (sourceSelectObj.options(i).selected)
		{
			var sourceOption = sourceSelectObj.options(i)

			var oOption = document.createElement("OPTION");
			oOption.text=sourceOption.text;
			oOption.value=sourceOption.value;

			targetSelectObj.options.add(oOption)
		}
	}

	for (i=0; i<sourceSelectObj.options.length; i++)
	{
		if (sourceSelectObj.options(i).selected)
		{
			sourceSelectObj.options.remove(i);
			i = -1;
		}
	}
}

//add option
function addOptions( targetSelectObj , value ,text)
{
	var targetStartLength = targetSelectObj.options.length;
	var found = false 
	for (i=0; i<targetStartLength; i++)
		if (targetSelectObj.options(i).value == value ) found = true 
		
		if (found == false)
			{
			var oOption = document.createElement("OPTION");
			oOption.text=text;
			oOption.value=value;

			targetSelectObj.options.add(oOption)
		}
}

//removes option 
function removeOptions( sourceSelectObj )
{
	for (i=0; i<sourceSelectObj.options.length; i++)
		{
			if (sourceSelectObj.options(i).selected)
			{
				sourceSelectObj.options.remove(i);
				i = -1;
			}
		}
}	


//This function is used to navigate the CMS system frames
function navigate_CMS(branch, category_code, status_code)
{
	var url;
	var newf ; 
	newf = 0 ; 
	switch (branch)
	{
		case 'response':
			switch (category_code)
			{
				case 1:
				url = 'response_manager.asp?name=tt';
				break;
				
				case 2:
				url = 'user_list_manager.asp?name=tt';
				break;

			}
			break;
		
		case 'articles':
			url = 'article_managment/list_parent_objects.asp?category_code=' + category_code + '&status_code=' + status_code;
			break;

		case 'media':
			// url = '';	
			break;
			
		case 'moduls':
			 url = 'template_managment/'+category_code;	
			break;
			
		case 'publish':
			switch (category_code)
			{
				case 1:
				document.all.bottom_frame.src = 'empty_frame.html';
				//window.open('toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
				popUp('newsletter_managment.asp','publish',800,600,'scrollbars=yes,resizable=yes')
				return;
				case 2:
				document.all.bottom_frame.src = 'empty_frame.html';
				//window.open('index_managment.asp','moshe','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
				popUp('index_managment.asp','publish',900,600,'scrollbars=yes,resizable=yes')
				return;
			}
			break;
		
		case 'sys_tables':
			var origin;
			switch (category_code)
			{
				case 1:
				origin = "authors";
				break;
				case 2:
				origin = "search_code&table_code=1";
				break;
				case 3:
				origin = "search_code&table_code=2";
				break;
				case 4:
				origin = "search_code&table_code=3";
				break;
				case 5:
				origin = "search_code&table_code=4";
				break;
			}
			url = 'sys_tables.asp?action=details&origin=' + origin;
			break;
		
		case 'statistics':
			url = 'cms_statistics.asp?action=stats';
			break;
			
		case 'search_tree':
			newf = 1 ; 
			url = 'search_tree_insert.asp';
			break;	

	}
	if (newf == 0 )
	{
	document.all.top_frame.src = url + '&rnd=' + Math.random();
	document.all.bottom_frame.src = 'empty_frame.html';		
	}
	else
	{	
	document.all.top_frame.src = 'empty_frame.html';		
	document.all.bottom_frame.src = url 
	}
}

// this function will update an array of order numbers
function SetSequence(elem)
{
	var oldPos = parseInt(document.thumbForm.sel[elem].value) ;
	var elem1 = parseInt(elem) - parseInt(0) ;
	var newPos = parseInt(document.thumbForm.seq[elem1].selectedIndex) + 1;
	var j;
	var selIndex;

	if (oldPos > newPos)
	{
		for (i = 0; i < document.thumbForm.sel.length; i++)
		{
			if (document.thumbForm.sel[i].value >= newPos && document.thumbForm.sel[i].value < oldPos)
			{
				document.thumbForm.sel[i].value = parseInt(document.thumbForm.sel[i].value) +1;
			}
		}
	}
	else if (newPos > oldPos)
	{
		for (i = 0; i < document.thumbForm.sel.length; i++)
		{
			if (document.thumbForm.sel[i].value <= newPos && document.thumbForm.sel[i].value > oldPos)
			{
				document.thumbForm.sel[i].value = parseInt(document.thumbForm.sel[i].value) - 1;
			}
		}
	}
	document.thumbForm.sel[elem].value = parseInt(document.thumbForm.seq[elem1].selectedIndex) + 1;
	for (i = 0; i < document.thumbForm.seq.length; i++)
	{
		j = parseInt(i) + parseInt(0) ;
		selIndex = parseInt(document.thumbForm.sel[j].value) -1 ;
		document.thumbForm.seq[i].options[selIndex].selected = true;
	}
}

function do_refresh(target_frame)
{
	eval('top.document.frames.' + target_frame + '.history.go()')
}

function popUp(url,name,w,h,additional){
	str="height="+h+",width="+w+"";
	if(parseInt(navigator.appVersion)>3)
		str+=",left="+(screen.width -w)/2+",top="+parseInt((screen.height -h)/3);
	if (additional!="")
		str+="," + additional;	
	var win=window.open(url,name,str);
	win.focus()
}

function popUpFull(url,name,w,h){
	str="toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,height="+h+",width="+w+"";
	if(parseInt(navigator.appVersion)>3)
		str+=",left="+(screen.width -w)/2+",top="+parseInt((screen.height -h)/3);
	var win=window.open(url,name,str);
	win.focus()
}

// -------------------------------------------------------------------
// moveOptionUp(select_object)
//  Move selected option in a select list up one
// -------------------------------------------------------------------
function moveOptionUp(obj) {
	var x = 0 ;
	for (i=0; i<obj.options.length; i++) {
		if (obj.options[i].selected) {
			if (i != 0 && !obj.options[i-1].selected) {
				swapOptions(obj,i,i-1);
				obj.options[i-1].selected = true;
				x = i - 1 ;
				}
			}
		
		}		
		return x ;	
	}

// -------------------------------------------------------------------
// moveOptionDown(select_object)
//  Move selected option in a select list down one
// -------------------------------------------------------------------
function moveOptionDown(obj) {
 	var x = 0 ;
	for (i=obj.options.length-1; i>=0; i--) {
		if (obj.options[i].selected) {
			if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {
				swapOptions(obj,i,i+1);
				obj.options[i+1].selected = true;
				x = i + 1 ; 
				}
			}
		
		}	
		return x ;	
	}

// -------------------------------------------------------------------
// selectAllOptions(select_object)
//  This function takes a select box and selects all options (in a 
//  multiple select object). This is used when passing values between
//  two select boxes. Select all options in the right box before 
//  submitting the form so the values will be sent to the server.
// -------------------------------------------------------------------
function selectAllOptions(obj) {
	for (var i=0; i<obj.options.length; i++) {
		obj.options[i].selected = true;
		}
	}
	
// -------------------------------------------------------------------
// swapOptions(select_object,option1,option2)
//  Swap positions of two options in a select list
// -------------------------------------------------------------------
function swapOptions(obj,i,j) {
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	/*var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[j] = temp;
	o[i] = temp2;
	o[i].selected = j_selected;
	o[j].selected = i_selected;*/
	o[i].text = o[j].text ; 
	o[i].value = o[j].value ; 
	o[i].selected = o[j].selected ; 
	o[j].text = temp.text ; 
	o[j].value = temp.value ; 
	o[j].selected = temp.selected ; 
	
	}
	



