/*
 XXX: Metoderna i denna fil måste ses över!!!
 Det finns dubletter att funktioner som kanske inte behövs
*/

// Taint a form so that we know that it has been edited
function taint() {
  document.admin_form.tainted.value = true;
}

function start_progress() {
	var doc_body = document.getElementsByTagName("body")[0];
	var progress_div = document.createElement("div");
	progress_div.innerHTML = '<img src="/images/admin/progress.gif" width="215" height="15" />';
	progress_div.style = 'top:50px; left: 50px; position: absolute; height: 15px; width: 214px;';
	doc_body.appendChild(progress_div);
	//document.write('<div style="top:50px; left: 50px; position: absolute; height: 15px; width: 214px;"></div>');
	return true;

}

is_nav = (navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4);
is_ie = (navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4);
is_dom = (typeof(document.getElementsByTagName) != 'undefined' && !is_ie ) ? true : false;

function handle_layer_click(item_id){
    if( parent.admin ) {
        parent.admin.admin_pick_item(item_id);
    }
}

function set_image( image_id, src) {
	image_object = document.getElementById(image_id);
	image_object.src = src;
}

function get_list_element(list_el){
    for( i=0; i<document.admin_form.elements.length; i++ ){
        if( document.admin_form.elements[i].name.indexOf(list_el)==0 ){
            return document.admin_form.elements[i];
        }
    }
}

/* Sortorder, move_up and move_down */
function get_sort_order(){
	for( i=0; i<document.admin_form.elements.length; i++ ){
		if( document.admin_form.elements[i].name.indexOf('sort_order')==0 ){
			return i;
		}
	}

}

function list_select_all(obj){
    select_obj = get_list_element(obj);
    for( i=0; i<select_obj.options.length; i++ ){
        select_obj.options[i].selected = true;
    }
}

function get_selected(obj){
    for( i=0; i<obj.options.length; i++ ){
        if( obj.options[i].selected ){
            return i;
        }
    }
    return -1;
}

function fold_layer(div){

		if(is_ie){

			if( !document.all[div] ){
				return '';
			}

			if( document.all[div].style.visibility=="hidden" ){
				document.all[div].style.display="";
				document.all[div].style.visibility="visible";
				return 'visible';
			}else{
				document.all[div].style.visibility="hidden";
				document.all[div].style.display="none";
				return 'hidden';
			}
			return;
		}

		if( is_dom ){

			div_element = document.getElementById(div);

			if( !div_element )
				return '';
	
			if( div_element.style.display == 'none') {
				div_element.style.display  = 'block';
				div_element.style.visibility = 'visible';
				return 'visible';
			}else{
				div_element.style.display  = 'none';
				div_element.style.visibility = 'hide';
				return 'hidden';
			}
		}

		if( is_nav ){
			
			div_element = document.layers[div];

			if( !div_element )
				return '';

			if( div_element.visibility=='hide' ){
				div_element.visibility='visible';
			}else{
				div_element.visibility='hide';
			}

		}
}

function flip_menu_image(img, fold_type, image_name_hidden, image_name_visible){
 if( fold_type=='hidden' ) {
  document.images[img].src=image_name_hidden;
 } else if( fold_type=='visible' ) {
  document.images[img].src=image_name_visible;
 }
}

function popup(popup_name, popup_url, width, height, scroll){
    window.open(popup_url,popup_name,"resizable=yes,scrollbars="+scroll+",toolbar=no,location=no,directories=no,status=no,menubar=no,width="+width+",height="+height+",top=50,left=50");
}

function disable_characters(string, characters){
    string = string.replace(characters, '')
    return string;
}

function list_add(obj, cap, val){

	obj[obj.length] = new Option(cap, val);

}

function list_select_all(obj){
	select_obj = get_list_element(obj);
	for( i=0; i<select_obj.options.length; i++ ){
		select_obj.options[i].selected = true;
	}
}

function list_remove(obj){
	
	obj = get_list_element(obj);

	obj.options[obj.options.selectedIndex] = null;
}

function list_move_top(obj) {
  while (list_move_up(obj)); 
}

function list_move_up(obj){

	var move_item;
	var tmp_item;
	var select_obj;
	var select_obj_id;

	select_obj = get_list_element(obj);
	
	if( (selected=get_selected(select_obj))==-1 ) {
		return false;
  }

	if( selected==0 ) {
	  // Top
		return false;
  }

	move_item = new Option(select_obj.options[selected].text, select_obj.options[selected].value);

	if( select_obj[selected-1] ){
		tmp_item = new Option(select_obj.options[selected-1].text, select_obj.options[selected-1].value);
	}
  var select_style_color = select_obj.options[selected].style.color;
  var select_style_backgroundColor = select_obj.options[selected].style.backgroundColor;
  var other_style_color = select_obj.options[selected-1].style.color;
  var other_style_backgroundColor = select_obj.options[selected-1].style.backgroundColor;
  
	select_obj.options[selected-1] = move_item;
	select_obj.options[selected] = tmp_item;
	select_obj.options[selected-1].selected = true;
	
	select_obj.options[selected-1].style.color = select_style_color;
	select_obj.options[selected-1].style.backgroundColor = select_style_backgroundColor;
	select_obj.options[selected].style.color = other_style_color;	
	select_obj.options[selected].style.backgroundColor= other_style_backgroundColor;	

  return true;
}

function list_move_bottom(obj) {
  while (list_move_down(obj)); 
}

function list_move_down(obj){

	var move_item;
	var tmp_item;
	var select_obj;
	var select_obj_id;

	select_obj = get_list_element(obj);

	if( (selected=get_selected(select_obj))==-1 ) {
	  // Bottom
		return false;
  }

	if( selected==select_obj.options.length-1 ) {
		return false;
	}

	move_item = new Option(select_obj.options[selected].text, select_obj.options[selected].value);

	if( select_obj[selected+1] ){
		tmp_item = new Option(select_obj.options[selected+1].text, select_obj.options[selected+1].value);
	}
	
  var select_style_color = select_obj.options[selected].style.color;
  var select_style_backgroundColor = select_obj.options[selected].style.backgroundColor;
  var other_style_color = select_obj.options[selected+1].style.color;
  var other_style_backgroundColor = select_obj.options[selected+1].style.backgroundColor;
  
	select_obj.options[selected] = tmp_item;	
	select_obj.options[selected+1] = move_item;
	select_obj.options[selected+1].selected = true;
		
	select_obj.options[selected+1].style.color = select_style_color;
	select_obj.options[selected+1].style.backgroundColor = select_style_backgroundColor;
	select_obj.options[selected].style.color = other_style_color; 
	select_obj.options[selected].style.backgroundColor = other_style_backgroundColor; 
	
	return true;
}

function list_move(from, to){

	if( from.options[from.options.selectedIndex].value==0 ){
		alert('Välj en item, inte en sida.');
		return;
	}

	
	for( var i=0; i<from.options.length; i++ ){
		if( from.options[i].selected ){
			to_obj = get_list_element(to);
			list_add(to_obj, from.options[i].text, from.options[i].value);
		}
	}
}

function list_move_item(to, text, value){

	to_obj = get_list_element(to);
	list_add(to_obj, text, value);
	
}

function easyResizeWindow(innerWidth, innerHeight) {
    if( self.innerWidth ) {
        window.resizeTo(innerWidth+(self.outerWidth-self.innerWidth),innerHeight+(self.outerHeight-self.innerHeight));
    }else{
        if( innerWidth!=document.body.clientWidth || innerHeight!=document.body.clientHeight ) {
            window.resizeTo(innerWidth,innerHeight);
            window.resizeTo(innerWidth+(innerWidth-document.body.clientWidth),innerHeight+(innerHeight-document.body.clientHeight));
        }
    }
}
