// Functions for standard use
// Copyright OLC Systems s.r.o.

function externallinks(){
     var c=document.getElementById('content');
     if(c)
     {
         var ls=c.getElementsByTagName('a');
         for(var i=0;i<ls.length;i++){
        	 var atributerel;
         	 atributerel = ls[i].getAttribute('rel');
         	 if (atributerel==null) {
         	 	continue;
         	 }
         	 
         	 inNewWindow = atributerel.substr(0,8).toLowerCase()=="external";
             if(inNewWindow){      
               ls[i].onclick=function(){
                  openw(this.rel,this.href);
                  return false;
               }
             }             
         }
     }
  }
  
 function openw(atributerel,wlocation){
   // Separate resolution and type
  	var height="", width="", type="", windowoptions="";
  	width = atributerel.substr(9,3);
  	height  = atributerel.substr(13,3);
  	type   = Number(atributerel.substr(17,1));	

	if (type > 0) {
		if ((Number(height)==0) || (Number(width)==0)) {
		window.alert("Invalid height or width of window. Please check external parameter");
		type = 0;
		}
	}
	
  	switch (type) {
  		case 1: // with toolbar resizable
        	params="location=yes,menubar=no,toolbar=yes,scrollbars=yes,resizable=yes,width="+width+",height="+height
  			break;
  		case 2: // onlyborder no resizable
       		params="location=no,menubar=no,toolbar=no,scrollbars=no,resizable=no,width="+width+",height="+height
    		break;
  		case 3: // onlyadress resizable
    		params="location=yes,menubar=no,toolbar=no,scrollbars=yes,resizable=yes,width="+width+",height="+height
  			break;
		default:
  			params="location=yes,menubar=no,toolbar=yes,scrollbars=yes,resizable=yes,width=1000,height=768"     			
  			break;
  	}
  	window.open(wlocation,"_blank",params)
 }
  
 window.onload=function(){
   if(!document.getElementById && !document.createTextNode){return;}
 externallinks();
 }
 
// multiform functions
function click_checkbox(object, formname){
  var checkbox_name=parseInt(object.name)+"_editedcheck_"+formname;
  var x=document.getElementsByName(checkbox_name)[0].checked=true;
}

function click_insert_checkbox(object, formname){
  var checkbox_name=parseInt(object.name)+"_insertcheck_"+formname;
  var x=document.getElementsByName(checkbox_name)[0].checked=true;
}

function chooseProperCheckboxFunction(object, formname) {
	if (object.name.match("insert") == null) {
		return click_checkbox(object, formname);
	} else {
		return click_insert_checkbox(object, formname);
	}
}

// multiselect between checkbox disabled
// Jan Novak
function select_id(formname, checkboxObject){
   var lInputs=document.forms[formname].elements;
   var lInputsCount=document.forms[formname].elements.length;
   for(var Cyklus=0;lInputsCount>Cyklus; Cyklus++){
     if(lInputs[Cyklus].type=="checkbox" && lInputs[Cyklus].name.indexOf("edited")>0){
       lInputs[Cyklus].checked=false;
     }
   }
   checkboxObject.checked="true";
}

 // change link parameters 
 // Jan Novak
function change_id(change_link,parameter,addvalue){
   hyperlink=document.getElementById(change_link).href;
   parameterCount=parameter.length 
   if(hyperlink.indexOf("&"+parameter+"=")!=-1){
       begin=hyperlink.substring(0, hyperlink.indexOf("&"+parameter+"="));
       completeend=hyperlink.substring(hyperlink.indexOf("&"+parameter+"=")+2+parameterCount, hyperlink.length);
       if(completeend.indexOf("&")!=-1){
         end=completeend.substring(completeend.indexOf("&"),completeend.length)
         result=begin+end  
       }else{
         result=begin
       }
       document.getElementById(change_link).href=result;
   }
   if(hyperlink.indexOf("?"+parameter+"=")!=-1){
       begin=hyperlink.substring(0, hyperlink.indexOf("?"+parameter+"="));
       completeend=hyperlink.substring(hyperlink.indexOf("?"+parameter+"=")+2+parameterCount, hyperlink.length);
       if(completeend.indexOf("&")!=-1){
         end=completeend.substring(completeend.indexOf("&"),completeend.length)
         result=begin+end  
       }else{
         result=begin
       }
       document.getElementById(change_link).href=result;
   }

   hyperlink=document.getElementById(change_link).href;
   if(hyperlink.substring(hyperlink.length-9,hyperlink.length+18)=="index.php"){
     document.getElementById(change_link).href=hyperlink+"?"+parameter+"="+addvalue;
   }else{
     document.getElementById(change_link).href=hyperlink+"&"+parameter+"="+addvalue;
   }
}

 function inverse_checkboxes(formName, checkboxName){
	//parameters:
	//formName - where script search for checkboxes, it must be unique name of form
	//checkboxName - part of name of checkboxes. To these checkboxes will be changed property checked 
    var lInputs=document.forms[formName].elements;
    var lInputsCount=document.forms[formName].elements.length;
    for(var Cycle=0;lInputsCount>Cycle; Cycle++){
      if(lInputs[Cycle].type=="checkbox" && lInputs[Cycle].name.indexOf(checkboxName)>0){
        if(lInputs[Cycle].checked){
           lInputs[Cycle].checked=false;
        }else{
           lInputs[Cycle].checked=true;
        }
      }
    }
 }

//function for hiddin and appearing search box in multiform
// Honza Novak & Jakub Ferenc
function collapse(element){
	document.getElementById(element).style.display="none";
}
	
function expand(element){
	document.getElementById(element).style.display="block"
}	
	
function searchBoxAction(element){
	if(document.getElementById(element).style.display=="none")
		expand(element)
	else
		collapse(element)
}

function hide_core_message(delay){
    var core_message=document.getElementById("core_message");
    var core_message2=document.getElementById("core_message2");
    if(core_message){
      core_message.style.visibility='visible';
      core_message2.style.visibility='visible';
      window.setTimeout("document.getElementById('core_message').style.visibility='hidden';document.getElementById('core_message2').style.visibility='hidden'", delay)
    }
}

/**
 * Fill [lektori_text] field on course.xml by list of Lecturers
 */
function fillCourseLecturersSurname(divName, value) 
{	
	var element = document.getElementsByName(divName)[0].value = value;	
}
