var selected;

var submitter = null;


function trim (zeichenkette) {
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}


function in_array(arr, val){
  for(var i = 0; i < arr.length; i++) {
    if(arr[i]==val){
      return true;
    }
  }
  return false;
}






function set_div_content(div, content){
    if (document.layers && document[div] != undefined) {
        document[div].document.open()
        document[div].document.write(content);
        document[div].document.close();
    } else if (document.getElementById && document.getElementById(div) != undefined) {
        document.getElementById(div).innerHTML = content; 
    }
}

function set_img_position(arr_data, str_comment, closed, label_comment){
  var x = 0;
  var pos = 0;
  MM_showHideLayers('comment_slice','','hide');

for(i=1; document.getElementById('img_'+i) != undefined ;i++ ){
  selected = document.getElementById('img_'+i);
  selected.style.display='none';
  
  

  if(!closed){
   document.getElementById('img_selection_'+i).disabled = false;  
   document.getElementById('img_selection_'+i).checked = false; 
  }

  if(!arr_data){
    selected.style.display = 'inline';
    selected.style.left = pos+ 'px';
    if(!closed)
    document.getElementById('img_selection_'+i).disabled = false;    
    x++;
    pos = pos + Number(js_array[i-1]['img_w']) + 27;    
  }else{
    if(in_array(arr_data,i)){  
      selected.style.display = 'inline';
      selected.style.left = pos + 'px';
      if(!closed)
      document.getElementById('img_selection_'+i).disabled = true;
      x++;
    pos = pos + Number(js_array[i-1]['img_w']) + 27;      
    }
  }
}   
if(arr_data && trim(str_comment) != ""){
MM_showHideLayers('comment_slice','','show');
set_div_content('comment_slice', '<b>'+label_comment+" Bild "+arr_data.join(" + ")+":</b> "+ str_comment);
}
}

function get_fld_src(comment){
var fld_input;
if(comment>0){
fld_input="body_comment";
}else{
fld_input="body_description";
}
return fld_input;
}

function get_fld_input(comment, reload){
var fld_input;
if(comment>0 && reload > 0){
fld_input="body_comment";
}else{
fld_input="body_description";
}
return fld_input;
}






function set_image_action(val, label, comment, closed)
{
fld_input=get_fld_input(comment);




var label_comment = "Beschreibung"
if(val==1){
// Alle Bilder anzeigen
set_img_position(null, null, closed);
set_td_content('');
MM_showHideLayers('i_m_a_g_e','','hide','c_l_o_s_e','','hide','input_description','','show');
MM_showHideLayers('text_comment_selection','','show');
}else if(val==2){
// markierte Auswahl beschreiben
set_comment_selected(label, comment, closed);
//var str_raw = document.forms[0]["body_description"].value;
//var arr_data = parse_comments(str_raw, val);
//set_img_position(arr_data, w);
}else if(val>=2000){
// Beschreibung kommentieren
val=val-2000

var str_raw = document.forms[0]["body_description"].value;
var arr_data = parse_comments(str_raw, val);

set_comment_selected(label, comment, closed);
set_img_position(arr_data["images"], arr_data["data"], closed);
//alert(arr_data["data"])  

}else if(val>=1000){
// Beschreibung anzeigen
val=val-1000
var str_raw = document.forms[0]["body_description"].value;
var arr_data = parse_comments(str_raw, val);
//alert( str_raw)
if(comment <1 && closed <1)
set_input_selection(document.forms[0]["body_description"], arr_data["data_tmp"])

if((comment || closed > 0) && document.forms[0]["body_comment"] != undefined){
val=val-arr_data["total"]
str_raw = document.forms[0]["body_comment"].value;

var arr_data_new = parse_comments(str_raw, val, "Kommentar", closed);
if(arr_data_new["images"]!=undefined){
arr_data["images"] = arr_data_new["images"];
arr_data["data"] = arr_data_new["data"];
label_comment = "Kommentar"

if(closed <1){
set_input_selection(document.forms[0]["body_comment"], arr_data_new["data_tmp"])
}else if(document.getElementById('input_comment')){
// Textauswahl bei DIV ?
//set_input_selection(document.getElementById('input_comment'), arr_data_new["data_tmp"])
}



}

}

set_img_position(arr_data["images"], arr_data["data"], closed, label_comment);
set_td_content('');
MM_showHideLayers('i_m_a_g_e','','hide','c_l_o_s_e','','hide','input_description','','show');
MM_showHideLayers('text_comment_selection','','show');
}

}

function parse_comments(data, selImg, str_start, closed)
{


    if(!str_start)
    var str_start = "Beschreibung";

    
    var line, first_line, arr_data, arr_return;
    var delimiter = "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -";
	  
     data_tmp = data;
     data = trim(data);
    var arr_raw = data.split(delimiter);

    var arr_return = new Array();
    var k = 0;
    var lines = 0;
    
   

    for(var i = 0; i < arr_raw.length; i++) {
          line = trim(arr_raw[i]);
          
        if (line.substring(0, str_start.length) == str_start) {
            arr_data = line.split(":");
           if(arr_data.length>1){ 
            first_line = arr_data[0];
            arr_data.shift();
            str_body = arr_data.join(" ")
            arr_tmp = str_body.split("\n")
           
           
      
            //if (trim(str_body) != "") {
                arr_data = first_line.split("Bild ");
                first_line = arr_data[1];
                arr_data = first_line.split(" + ");
 
                if (arr_data.length > 0) {
                 if(selImg != k)
                 lines+=arr_tmp.length
                
                if(selImg==undefined){
                    arr_return[k] = new Object();
                    arr_return[k]["data"] = str_body;
                    arr_return[k]["images"] = arr_data;    
                }else{                 
                  if(selImg == k){ 
                    arr_return = new Array();
                    arr_return["data"] = str_body;
                    arr_return["data_tmp"] = arr_tmp[0];
                    arr_return["images"] = arr_data; 
                    //str_tmp = trim(data);          
                    //arr_return["position"] = data.lastIndexOf(str_body)-(2*i)-lines;          
                    //arr_return["length"] = str_body.length-1; 
                
                  }                 
                }
 
                    k++;
                } 
            //} 
           } 
        } 
    } 
     if(selImg!=undefined) arr_return["total"] = k; 
    return arr_return;
} 
/*  

// onChange: set_image_action(this.value, 'Kommentar', 1, 0)
// onload: init_image_action(1, false, 0);

set_image_action:
-> set_comment_selected

set_comment_selected:
-> [Neue Blöcke ergänzen] 
-> init_image_action

init_image_action:
-> parse_comments("Alte Blöcke")
-> [Auswahlliste aktualisieren ]
-> parse_comments("Neue Blöcke")
-> [Auswahlliste ergänzen ]
-> reload?: set_img_position(arr_data)

*/

function set_input_selection(obj, str){
if(str != undefined){
   if(obj.createTextRange) { 
      var range = obj.createTextRange();   
 range.findText(str, 0, 4);
 range.select();
 range.scrollIntoView(true);    
   obj.focus(); 
	  } else if(obj.setSelectionRange) { 
	     //obj.focus(); 
	     //obj.setSelectionRange(position, length+position);	     
	  } 
}


}


function init_image_action(comment, reload, closed){
fld_input=get_fld_input(comment);
var str_raw = document.forms[0][fld_input].value;
var arr_data = parse_comments(str_raw);
//alert(str_raw)
var n = 2-closed;
document.forms[0]["sel_action"].options.length=n;
for(var i = 0; i < arr_data.length; i++) {
document.forms[0]["sel_action"].options[n] =  new Option("Anzeigen:"+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+(i+1)+". Beschreibung: Bild "+arr_data[i]["images"].join("+"), 1000+i)
n++;
//if(comment>0){
//document.forms[0]["sel_action"].options[n] =  new Option("Kommentieren:"+String.fromCharCode(160)+(i+1)+". Beschreibung: Bild "+arr_data[i]["images"].join("+"), 2000+i)
//n++;
//}
}
var i_tmp = i;
//var n_final = arr_data.length-1;

if(comment || closed > 0){
if(document.forms[0]["body_comment"]!=undefined){
str_raw = document.forms[0]["body_comment"].value;
var arr_data_new = parse_comments(str_raw, null, "Kommentar");
//
if(arr_data_new.length>0){
for(var i = 0; i < arr_data_new.length; i++) {
document.forms[0]["sel_action"].options[n] =  new Option("Anzeigen:"+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+(i+1)+". Kommentar: Bild "+arr_data_new[i]["images"].join("+"), 1000+i+i_tmp)
n++;
}
arr_data = arr_data.concat(arr_data_new);
//alert(reload+": "+arr_data[arr_data.length-1]["images"])
}
}



}

if(reload)
set_img_position(arr_data[arr_data.length-1]["images"], arr_data[arr_data.length-1]["data"], closed, "Beschreibung");

if(arr_data.length<1 && closed > 0){
MM_showHideLayers('text_comment_selection','','hide');
}else{
MM_showHideLayers('text_comment_selection','','show');
}

}


function storeCaret(textEl) {
if (textEl.createTextRange) 
textEl.caretPos = document.selection.createRange().duplicate();

}

function format(elem, char){
  var obj = document.forms[0][elem];
  

if(obj.createTextRange) { 
  var selection = document.selection.createRange().text

  if(selection.length>0){
    var range = document.selection.createRange();    
  if(selection.substring(0,3) == '<'+char+'>' && selection.substr((selection.length-4),4) == '</'+char+'>'){
  	var new_content = selection.substring(3,(selection.length-4));
    range.text =  new_content;
    var temp_content = new_content.split("\n");
    temp_content = temp_content.join("");
  	range.moveStart('character', -temp_content.length);
   }else{
     var new_content = '<'+char+'>' +  selection + '</'+char+'>';
    range.text =  new_content;
    var temp_content = new_content.split("\n");
    temp_content = temp_content.join("");
    range.moveStart('character', -temp_content.length );  
   }
    range.select();  
  }else{
   alert("Formatierung: Bitte markieren Sie einen Text um ihn fett (\"<B>\") oder kursiv (\"<I>\") zu setzen.")
   obj.focus()
  }  

} else if(obj.selectionStart  != "undefined") { 	 
      var selection = obj.value;
      var content = "";
      var c_start = obj.selectionStart;

      var c_end = obj.selectionEnd;
      var c_length = c_end-c_start;
      if(c_length > 0 && c_start != c_end){
       var selected_range = selection.substring(c_start, c_end);
       content = selection.substring(0,c_start);
       if(selected_range.substring(0,3) == '<'+char+'>' && selected_range.substr((selected_range.length-4),4) == '</'+char+'>'){
        var new_content = selected_range.substring(3,(selected_range.length-4));
        c_end=c_start+new_content.length 
        content +=  new_content;
       }else{
        content +=  '<'+char+'>' +  selected_range + '</'+char+'>';
        c_end+=7
       }
       
       content += selection.substring(obj.selectionEnd, selection.length);
       obj.value = content;
       obj.focus();
       obj.setSelectionRange(c_start, c_end);
       
       
}else{
   alert("Formatierung: Bitte markieren Sie einen Text um ihn fett (\"<B>\") oder kursiv (\"<I>\") zu setzen.")
   obj.focus()
  }  	               
}   
}



function set_lecturer_categories(id_lecturer){
document.forms[0]["lecturer_selection"].options.length=0
for(var i in array_lecturer[id_lecturer]){
document.forms[0]["lecturer_selection"].options[i] =  new Option(array_lecturer[id_lecturer][i]['text'], array_lecturer[id_lecturer][i]['id'])
//alert(i+" "+array_lecturer[id_lecturer][i]['id'] + ": " + array_lecturer[id_lecturer][i]['text']);
}

//alert(document.forms[0]["lecturer_selection"].selectedIndex)
}


function get_td_content(idImg){

   for(var i=0; i < js_array.length ;i++ ){

    if(js_array[i]['id_data']==idImg){

     return i;

    }

   }
 return 0;
}

    function set_comment_selected(label, comment, closed){

    var frm = document.forms[0];

    var str_comment_selection="Bild "

    var delimiter= "\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n"
    var empty_space = "                                                                                                      ";
   
    var reload = false; 
    
    for(var i=0;i<js_array.length;i++){
    cBox = "img_selection_" + js_array[i]['t']
    if(document.forms[0][cBox].checked)
     reload = true;  
    }

    for(var i=0;i<js_array.length;i++){
    cBox = "img_selection_" + js_array[i]['t']
    if(document.forms[0][cBox].checked || (reload < 1 && document.forms[0][cBox].disabled == true)){
    str_comment_selection += "" +(i+1) + " + ";  
    }
    }
    
      
    fld_input=get_fld_src(comment);   

    if(str_comment_selection!="Bild "){

    str_comment_selection = str_comment_selection.substring(0,str_comment_selection.length-2)
    str_comment_selection=delimiter+label+" " + str_comment_selection;
    
    if(document.forms[0][fld_input].value!="")str_comment_selection=document.forms[0][fld_input].value + str_comment_selection;

    MM_showHideLayers('i_m_a_g_e','','hide','c_l_o_s_e','','hide','input_description','','show');
    document.forms[0][fld_input].value = str_comment_selection + ": "+delimiter
    obj = document.forms[0][fld_input];
    
   if(obj.createTextRange) { 
      var range = obj.createTextRange();  
      var temp_content = str_comment_selection.split("\n");
      temp_content = temp_content.join("");
	    range.move('character', temp_content.length+4);
      range.moveStart('character', -1);
      document.forms[0][fld_input].focus();
      range.select();      
	  } else if(obj.selectionStart) { 
	     obj.focus(); 
	     obj.setSelectionRange(str_comment_selection.length+2, str_comment_selection.length+2);
	  } else{
	    document.forms[0][fld_input].focus()
      document.forms[0][fld_input].select()      
    }

    }else{
    alert("Bitte wählen Sie Bilder zur Beschreibung aus.")
    document.forms[0].sel_action.selectedIndex=0;
    set_img_position(null, null, closed);
    }

//alert("reload: "+reload)
init_image_action(comment, reload, closed);
    }

function set_frm_content(index,MISSING_DESCRIPTION){

 if(index!=undefined){

  document.forms[0].image_original.value = js_array[index]['image_name'];

  //document.forms[0]['size_' + index].value = js_array[index]['size'];
  //document.forms[0]['material_' + index].value = js_array[index]['material'];
  //if(js_array[index]['public'] == 'Ja')document.forms[0]['public_' + index].checked=true;    
  //if(MISSING_DESCRIPTION != js_array[index]['description']){
  //document.forms[0]['description_' + index].value = js_array[index]['description'];
  //}else{
  //document.forms[0]['description_' + index].value = "";
  //}

  document.forms[0].id_data.value = js_array[index]['id_data'];

 }

}


function set_td_content(index, closed, lecturer)
{

// RESET DIVs
        MM_showHideLayers('comment','','hide')         
        MM_showHideLayers('imgChange','','hide')
        MM_showHideLayers('text_comment_selection','','hide')

        for(i = 0; document.getElementById('edit_' + i) != undefined ;i++) {
         MM_showHideLayers('edit_' + i,'','hide')
        }       
        for(i = 0; document.getElementById('comment_' + i) != undefined ;i++) {
         MM_showHideLayers('comment_' + i,'','hide')
        } 
        for(i = 0; document.getElementById('input_comment_' + i) != undefined ;i++) {
         MM_showHideLayers('input_comment_' + i,'','hide')
        }   


// IMG DESCRIPTION
    if (js_array != null && js_array[index]) {
            MM_showHideLayers('input_comment_' + index,'','show')  
            MM_showHideLayers('error','','hide')
            MM_showHideLayers('text_comment_selection','','show')    

        var str = ""
        if (js_array[index]['date_added']) {
            str = str + js_array[index]['date_added']
            if (js_array[index]['size']) {
                str = str + " - " + js_array[index]['size']
            } 
            if (js_array[index]['material']) {
                str = str + " - " + js_array[index]['material']
            } 
        } 
    } else {
        var str = ""
        document.forms[0].id_data.value = 0;
    } 
    if (js_array != null && index != ""  && js_array[index] && js_array[index]['img_h'] > 0) {
        var img_h = js_array[index]['img_h'];
    }
    str = "<br><br>" + str   
    
    


 if (js_array != null && js_array[index]) { 
       
  
   // TEILNEHMER >>>>>>>>>
  if (lecturer < 1) {
    if (closed == "offen") {

        for(i = 0; document.getElementById('edit_' + i) != undefined ;i++) {
        if(index==i){
         MM_showHideLayers('edit_' + i,'','show')        
        }else{
         MM_showHideLayers('edit_' + i,'','hide')
        }  
        }  

  MM_showHideLayers('imgChange','','show')
  set_frm_content(index)
    }else if(closed != "gesendet"){
       MM_showHideLayers('comment','','show')
    }
  }else{
   // DOZENT >>>>>>>>>
      MM_showHideLayers('input_comment_'+index,'','show')   
        MM_showHideLayers('comment','','show')
    if (closed != "abgeschlossen") {
  // DOZENT > Beurteilung
        //MM_showHideLayers('comment','','hide')
    }  else{    
  
    }  
  }
 }else{ 
 }
 
 
 
   if (document.getElementById) {

        set_div_content('IMG_DESCRIPTION', str);
        if (js_array[index] != undefined) {
            if(closed!=undefined && closed == 'abgeschlossen' && document.getElementById("commentSession") != undefined){
              document.getElementById("commentSession").style.display='none';
            }
            if (js_array[index]['comment'] != undefined ) {
         
             if ((lecturer > 0 && closed == "gesendet") || (lecturer <1 && closed == "offen")) {
             
             }else{   
            // alert(lecturer +"."+ closed)
              set_div_content('comment', "<i>Kommentar: </i><br>" + js_array[index]['comment']);
              }
            } else {   
            } 
            //  alert(js_array[index]['description'])
            if (js_array[index]['description'] != undefined ) {
                //document.getElementById("imgDescription").style.display = 'inline';
                MM_showHideLayers('imgDescription','','show')
                set_div_content('imgDescription', "<i>Bildbeschreibung: </i><br>" + js_array[index]['description']);
            } else {
                //document.getElementById("imgDescription").style.display = 'none';
                MM_showHideLayers('imgDescription','','hide')
            } 
            document.getElementById("popup").setAttribute('href', "javascript:popupWindow('" + js_array[index]['link_popup'] + "')"); 
            document.getElementById("div_edit").style.display = 'inline';
        } else {
            document.getElementById("div_edit").style.display = 'none';       
            //document.getElementById("imgDescription").style.display = 'none';
            MM_showHideLayers('imgDescription','','hide')
            if(closed!=undefined && closed == 'abgeschlossen'){
              document.getElementById("commentSession").style.display='inline';
            }   
        } 
    } 
}


function tmp_set_td_content(index, closed)
{
 var nohide = false;
//alert(closed)


    if (document.getElementById && document.getElementById('input_comment_' + index) != undefined) {
        document.getElementById('input_comment_' + index).style.display = 'block';
         nohide=true;
        // alert(index)
    } else if (document.all && document.all['input_comment_' + index] != undefined) {
        document.all['input_comment_' + index].style.display = 'inside';
           nohide=true;
             // alert(index)
    } 

 


} 

 function centerWin( url, winName, width, height, scroll , toolbar) {

        var winl = (screen.width-width) / 2;

        var wint = (screen.height-height) / 2;

        var settings ='height='+height+',';

        settings +='width='+width+',';

        settings +='top='+wint+',';

        settings +='left='+winl+','

        settings +='scrollbars='+scroll+',';
        
        settings +='toolbar='+toolbar+',';

        settings +='resizable=no';



        win=window.open( url, winName, settings );



        if (parseInt(navigator.appVersion) >= 4) {

          win.window.focus();

        }

 }



function submitFunction() {

    submitter = 1;

}

function popupWindow(url) {

  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')

}



function selectRowEffect(object, buttonSelect) {

  if (!selected) {

    if (document.getElementById) {

      selected = document.getElementById('defaultSelected');

    } else {

      selected = document.all['defaultSelected'];

    }

  }



  if (selected) selected.className = 'moduleRow';

  object.className = 'moduleRowSelected';

  selected = object;



// one button is not an array

  if (document.getElementById('payment'[0])) {

    document.getElementById('payment'[buttonSelect]).checked=true;

  } else {

    //document.getElementById('payment'[selected]).checked=true;

  }

}



function rowOverEffect(object) {

  if (object.className == 'moduleRow') object.className = 'moduleRowOver';

}



function rowOutEffect(object) {

  if (object.className == 'moduleRowOver') object.className = 'moduleRow';

}



function popupImageWindow(url) {

  window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')

}

function initPopupTranslation(url, parameters) {

popupWindow(url+parameters)

}



function MM_preloadImages() {

  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}



function MM_swapImgRestore() {

  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

}



function MM_findObj(n, d) {

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

  if(!x && d.getElementById) x=d.getElementById(n); return x;

}



function MM_swapImage() {

  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)

   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}



function MM_showHideLayers() { //v6.0

  var i,p,v,obj,args=MM_showHideLayers.arguments;

  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];

    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }

    obj.visibility=v; }

}

