/*
Funktion för att tillåta hover på andra element än A i IE6 (och 7?)
*/
function textEffect(name, bTag, eTag){
	var $tb = document.getElementById(name);
	  
	if (document.selection){
		var str=document.selection.createRange().text;
		var sel=document.selection.createRange();
		sel.text=bTag+str+eTag;
	} else if (typeof $tb.selectionStart != 'undefined'){
		var $before, $after, $selection;
		$before= $tb.value.substring(0, $tb.selectionStart)
		$selection = $tb.value.substring($tb.selectionStart, $tb.selectionEnd)
		$after = $tb.value.substring($tb.selectionEnd, $tb.value.length)
		
		$tb.value= String.concat($before, bTag, $selection, eTag, $after)
	}
	$tb.focus();
	  
}

/* Hanterar menyerna ute till vänster */
function showSidebarMenu(part){
	clicked = document.getElementById('sidebarMenu' + part);
	
	if(clicked.style.display!='block'){
		document.getElementById('sidebarMenuNyheter').style.display='none';
		document.getElementById('sidebarMenuLandslaget').style.display='none';
		document.getElementById('sidebarMenuResultat').style.display='none';
		clicked.style.display='block';
	} else {
		clicked.style.display='none';
	}
	
	return true;
}

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}; 

/* Används enbart på adminsidan, för att växla på contentsidan */
function changeCreateContentView(mode) {
	full = document.getElementsByClassName('only_full');
	file = document.getElementsByClassName('only_file');
	link = document.getElementsByClassName('only_link');
	
	hide = full.concat(file, link);
	
	if(mode=='create_as_file'){
		show = document.getElementsByClassName('only_file');
	} else if(mode=='create_as_full'){
		show = document.getElementsByClassName('only_full');
	} else if(mode=='create_as_link'){
		show = document.getElementsByClassName('only_link');
	}
	
	for (var i = 0; i < hide.length; i++) {
		hide[i].style.display = 'none';
	}
	
	for (var i = 0; i < show.length; i++) {
		show[i].style.display = '';
	}
}

/* Workaround for jsOnload */
function changeCreateContentView_full() {changeCreateContentView('create_as_full');}
function changeCreateContentView_file() {changeCreateContentView('create_as_file');}
function changeCreateContentView_link() {changeCreateContentView('create_as_link');}

/* Another function for the admin content page */
function addFileElement() {
  var ni = document.getElementById('contentUploadFile');
  var numi = document.getElementById('numberOfElements');
  var num = (document.getElementById('numberOfElements').value -1)+ 2;
  numi.value = num;
  var newdiv = document.createElement('div');
  var divIdName = 'my'+num+'Div';
  newdiv.setAttribute('id',divIdName);
  newdiv.innerHTML = '<p>Namn (om annat än nuvarande)<br><input type="text" name="filesTitle[]" size="30"></p><p><input type="file" name="files[]"></p>';
  ni.appendChild(newdiv);
}


/* function to add a callback to window.onload */
function jsOnload(callback) {
        if(typeof window.addEventListener != 'undefined'){
                //.. gecko, safari, konqueror and standard
                window.addEventListener('load', callback, false);
        }
        else if(typeof document.addEventListener != 'undefined'){
                //.. opera 7
                document.addEventListener('load', callback, false);
        }
        else if(typeof window.attachEvent != 'undefined'){
                //.. win/ie
                window.attachEvent('onload', callback);
        }
        else{
                //.. mac/ie5 and anything else that gets this far
                //if there's an existing onload function
                if(typeof window.onload == 'function'){
                        //store it
                        var existing = window.onload;

                        //add new onload handler
                        window.onload = function(){
                                //call existing onload function
                                existing();
                                //call $javascriptFunction onload function
                                callback();
                        };
                }
                else{
                        //setup onload function
                        window.onload = callback;
                }
        }
}
