////////////////////////////////////////////////
// cms2add template engine
// $Revision: 50 $
//
// Lizenzbedingungen siehe licence.html
// Projekt-URL: www.cms2add.de
//
// Copyright (C) 2004 - 2009  Holger Münzer
////////////////////////////////////////////////

//________________________________________Common________________________________

 function go2(link) {
   location.href = link;
   }
 function onLOAD() {
   if(!document.getElementsByTagName) return;
   var anchor = document.getElementsByTagName("a");           //external links
   for(var i = 0; i < anchor.length; i++) {
     if(anchor[i].getAttribute("rel") == "external")
     anchor[i].target = "_blank";
     }
   var input = document.getElementsByTagName("input");        //internal labels
   for(var i=0; i < input.length; i++) {
     if(!input[i].getAttribute("title") || input[i].value != '') continue;
     if(input[i].getAttribute("type") != 'text') continue;
     input[i].value = input[i].getAttribute("title");
     if(!input[i].className) continue;
     if(0 < input[i].className.indexOf("_label")) continue;
     input[i].className = input[i].className+'_label';
     }
   if(tinyMCE)
   tinyMCE.init({
     mode : "specific_textareas",
     editor_selector : "tiny",
     theme : "advanced",
     language : "de",
     content_css : "tiny.css",
     popup_css_add : "tiny.css",
     body_class : "standard",
     plugins : "tabfocus,safari,table,advhr,cimage,clink,inlinepopups,media,cmenu,paste",
     theme_advanced_buttons1 : "bold,italic,underline,strikethrough,forecolor,|,undo,redo,removeformat,|,link,anchor,image,media,|,table,charmap,advhr,|,code",
     theme_advanced_buttons2 : "justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent,blockquote,|,formatselect,fontsizeselect",
     theme_advanced_buttons3 : "",
     theme_advanced_toolbar_location : "external",
     theme_advanced_toolbar_align : "left",
     theme_advanced_cimage_styles : "Links=img_left;Rechts=img_right;Im Text=img_inline",
     theme_advanced_clink_styles : "Unterstrichen=link",
     theme_advanced_statusbar_location : "bottom",
     theme_advanced_resizing : true,
     theme_advanced_resize_horizontal : false,
     tab_focus : ':prev,:next',
     forced_root_block : ''
     });
   
   	 slideshow('pic01','pic02',1,5,1000);
   }
 function onSUBMIT() {
   if(!document.getElementsByTagName) return;
   var input = document.getElementsByTagName("input");
   for(var i=0; i < input.length; i++) {
     if(input[i].getAttribute("title") && input[i].getAttribute("title") == input[i].value)
     input[i].value = '';
     }
   }
 function SUBMIT() {
   onSUBMIT();
   document.forms[0].submit();
   }
 function label(input) {
   if(typeof(input) != 'object') return;
   if(input.value != '') return;
   input.value = input.getAttribute("title");
   if(!input.className) return;
   if(0 < input.className.indexOf("_label")) return;
   input.className = input.className+'_label';
   }
 function unlabel(input) {
   if(typeof(input) != 'object') return;
   if(input.value != input.getAttribute("title")) return;
   input.value = '';
   if(!input.className) return;
   if(0 > (pos = input.className.indexOf("_label"))) return;
   input.className = input.className.substring(0,pos);
   }
 window.onload = onLOAD;

//_______________________________________Mouse-Over_____________________________

 function mouse_obj(mo_arg){
   if(typeof(mo_arg)=='object')return mo_arg;
   if(!document.getElementById)return FALSE;
   return document.getElementById(mo_arg);
   }
 function mouse_in(){
   for (var i=0;i<mouse_in.arguments.length;++i){
     if(!(mo_obj=mouse_obj(mouse_in.arguments[i])))continue;
     if(!mo_obj.className)continue;
     if(0<mo_obj.className.indexOf("_hover"))continue;
     mo_obj.className=mo_obj.className+'_hover';
     }
   }
 function mouse_out(){
   for (var i=0;i<mouse_out.arguments.length;++i){
     if(!(mo_obj=mouse_obj(mouse_out.arguments[i])))continue;
     if(!mo_obj.className)continue;
     if(0>(pos=mo_obj.className.indexOf("_hover")))continue;
     mo_obj.className=mo_obj.className.substring(0,pos);
     }
   }

//________________________________________Layers________________________________

 function hide_select(){
   if (navigator.appName != 'Microsoft Internet Explorer') return;
   if (navigator.appVersion.match(/MSIE (\d+)/)[1]*1 > 6) return;
   for (var i = 0; i < document.forms[0].length; ++i) {
     if(document.forms[0].elements[i].type != "select-one") continue;
     document.forms[0].elements[i].style.visibility = 'hidden';
     }
   }
 function show_select(){
   if (navigator.appName != 'Microsoft Internet Explorer') return;
   if (navigator.appVersion.match(/MSIE (\d+)/)[1]*1 > 6) return;
   for (var i = 0; i < document.forms[0].length; ++i) {
     if(document.forms[0].elements[i].type != "select-one") continue;
     document.forms[0].elements[i].style.visibility = 'visible';
     }
   }

//________________________________________Checkboxes____________________________

 function setboxes(loop, state){
   for (var i = 0; i < document.forms[0].length; ++i) {
     if(document.forms[0].elements[i].type != "checkbox") continue;
     if (!document.forms[0].elements[i].getAttribute("alt")) continue;
     if (loop != document.forms[0].elements[i].getAttribute("alt")) continue;
     document.forms[0].elements[i].checked = state;
     }
   }

//________________________________________BCode_________________________________

 var field = "";
 function storeCaret(input) {
   field = input;
   field.insertable = true;
   if (field.createTextRange) field.caretPos = document.selection.createRange().duplicate();
   if(tinyMCE) tinyMCE.activeEditor = null;
   }
 function storeField(input) {
   field = input;
   if(tinyMCE) tinyMCE.activeEditor = null;
   }
 function unsetcode() {
   if(tinyMCE.activeEditor){
     var text = tinyMCE.activeEditor.selection.getContent();
     if(!text) return;
     tinyMCE.execCommand('mceReplaceContent',false,text.replace(/\[[^\]]+\]/g,""));
     return;
     }
   if(!field){
     alert("Bitte erst markieren");
     return;
     }
   if(field.caretPos) {                                                        // IE
     field.caretPos.text = field.caretPos.text.replace(/\[[^\]]+\]/g,"");
     return;
     }
   if(typeof field.selectionStart != 'undefined') {                            // Gecko
     var startpos = field.selectionStart;
     var endpos = field.selectionEnd;
     var area = field.value.substring(startpos, endpos);
     area = area.replace(/\[[^\]]+\]/g,"");
     field.value = field.value.substr(0, startpos) + area + field.value.substr(endpos);
     return;
     }
   field.value = field.value.replace(/\[[^\]]+\]/g,"");                        // Other
   }
 function spancode(text,block) {
   var bcode = text.split(" ");
   if(bcode.length < 2) bcode = text.split("=");
   var start = "[" + text + "]";
   var end =  "[/" + bcode[0] + "]";
   if(block){
     start = start + '\n';
     end = '\n' + end;
     }
   if(tinyMCE.activeEditor){
     tinyMCE.execCommand('mceReplaceContent',false,start+'{$selection}'+end);
     return;
     }
   if(!field){
     alert("Bitte erst den Cursor platzieren");
     return;
     }
   insert(start,end);
   }
 function setcode(text){
   setstring('['+text+']');
   }
 function setstring(text){
   if(tinyMCE.activeEditor){
     tinyMCE.execCommand('mceReplaceContent',false,text);
     return;
     }
   if(!field){
     alert("Bitte erst den Cursor platzieren");
     return;
     }
   insert(text,'');
   }
 function setfield(){
   var code = document.forms[0].select_field.value;
   if(!code) return;
   setcode(code);
   }
 function setcondition(){
   var code = document.forms[0].select_condition.value;
   if(!code) return;
   spancode(code);
   }
 function insert(start,end) {
   if(!field) return;
   field.focus();
   if(!field.insertable){                                        //Replace only
     field.value = start + end;
     return;
     }
   if(field.caretPos) {                                          // IE
     field.caretPos.text = start + field.caretPos.text + end;
     return;
     }
   if(typeof field.selectionStart != 'undefined') {              // Gecko
     var startpos = field.selectionStart;
     var endpos = field.selectionEnd;
     var area = field.value.substring(startpos, endpos);
     field.value = field.value.substr(0, startpos) + start + area + end + field.value.substr(endpos);
     var pos;
     if (area.length == 0) pos = startpos + start.length;
     else pos = startpos + start.length + area.length + end.length;
     field.selectionStart = pos;
     field.selectionEnd = pos;
     return;
     }
   field.value = field.value + start + end;                      // Other
   }
 function setimage(bcode,src,extra,alt){
   if(tinyMCE.activeEditor && src){
     alt = tinyMCE.activeEditor.dom.encode(alt);
     text = '<img src="' + src + '" alt="' + alt + '"' + (alt ? ' title="' + alt + '"' : '') + (extra ? ' class="' + extra + '"' : '') + ' />';
     tinyMCE.execCommand('mceReplaceContent',false,text);
     return;
     }
   setstring('['+ bcode +']');
   }
 function setlink(bcode,href){
   if(tinyMCE.activeEditor && href){
     if(!tinyMCE.activeEditor.selection.getContent()) return;
     start = '<a href="' + href + '" class="link">'; end = '</a>';
     tinyMCE.execCommand('mceReplaceContent',false,start+'{$selection}'+end);
     return;
     }
   spancode(bcode);
   }
 function setflash(bcode,src,width,height,style,bgcolor){
   if(tinyMCE.activeEditor){
     if(!src || !width || !height) return;
     text = (style ? '<div class="' + style + '">' : '') + '<object data="' + src + '" width="' + width + '" height="' + height + '" type="application/x-shockwave-flash"><param name="src" value="' + src + '" />' + (bgcolor ? '<param name="bgcolor" value="' + bgcolor + '" />' : '<param name="wmode" value="transparent" />') + '</object>' + (style ? '</div>' : '');
     tinyMCE.execCommand('mceReplaceContent',false,text);
     return;
     }
   setstring('['+ bcode +']');
   }

//______________________________________Dynamic Layers__________________________

 function fix(target){
   if (!document.getElementById) return;
   var myLayer = document.getElementById(target);
   var x = eval('document.forms[0].' + target + '_x');
   var y = eval('document.forms[0].' + target + '_y');
   if(typeof(x)!='object'||typeof(y)!='object'||typeof(myLayer)!='object') return;
   x.value = myLayer.style.left;
   y.value = myLayer.style.top;
   document.forms[0].layer_id.value = target;
   SUBMIT();
   }
 function hide(target){
   document.forms[0].layer_id.value = target + ',off';
   SUBMIT();
   }
 function view(target){
   document.forms[0].layer_id.value = target + ',on';
   SUBMIT();
   }
 function help(topic){
   if(!document.forms[0].help_quick){
     var el = document.createElement('input');
     el.type = 'hidden';
     el.name = 'help_quick';
     document.forms[0].appendChild(el);
     if(typeof(document.forms[0].help_quick)!='object')
     document.forms[0].help_quick = el;
     }
   document.forms[0].layer_id.value = 'help,on';
   document.forms[0].help_quick.value = topic;
   SUBMIT();
   }
 function picdate(date_formated,target){
   if (!document.getElementById) return;
   if(date_formated){
     var date = date_formated.split(".");
     var year = date[2] * 1;
     var month = date[1] * 1;
     }
   var now = new Date();
   if(year < 1900 || year > 2100 || month < 1 || month > 12){
     var year = now.getFullYear();
     var month = now.getMonth()+1;
     }
   if (!document.getElementById('pic_date')){
     var el = document.createElement('input');
     el.type = 'hidden';
     el.name = 'date_quick';
     document.forms[0].appendChild(el);
     if(typeof(document.forms[0].date_quick)!='object')
     document.forms[0].date_quick = el;
     document.forms[0].date_quick.value = year + '-' + month + '-1';
     if(target){
       var el = document.createElement('input');
       el.type = 'hidden';
       el.name = 'pic_target';
       document.forms[0].appendChild(el);
       if(typeof(document.forms[0].pic_target)!='object')
       document.forms[0].pic_target = el;
       document.forms[0].pic_target.value = target;
       }
     document.forms[0].layer_id.value = 'pic_date,on';
     SUBMIT();
     return;
     }
   var wday = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
   var mon = new Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
   var month_1st = new Date(year, month-1, 1);
   var month_last = new Date(year, month, 0);
   var start_empty = new Array(6,0,1,2,3,4,5);
   var end_empty = new Array(0,6,5,4,3,2,1);
   var year_start = now.getFullYear() + 5;
   var year_end = now.getFullYear() - 60;
   var scheduler = "";
   var z = 0;
   //build calendar
   scheduler += '<div class="calendar_title"><a href="javascript:picdate(\'01.' + (month>1?(month-1):12) + '.' + (month>1?year:(year-1)) + '\')"><img src="./images/icon_prev.gif" alt="Letzter Monat" /></a> ';
   scheduler += '<select class="select" style="vertical-align: middle;" onchange="picdate(this.options[this.selectedIndex].value)">';
   for (z = 0; z <= 11; z++)
   scheduler += '<option value="01.' + (z + 1) + '.' + year + '"' + (z+1==month?'selected="selected"':'') + '>' + mon[z] + '</option>';
   scheduler += '</select>';
   scheduler += '<select class="select" style="vertical-align: middle;" onchange="picdate(this.options[this.selectedIndex].value)">';
   if(year > year_start || year < year_end)
   scheduler += '<option value="01.' + month + '.' + year + '" selected="selected">' + year + '</option>';
   for (z = year_start; z >= year_end; z--)
   scheduler += '<option value="01.' + month + '.' + z + '"' + (z==year?'selected="selected"':'') + '>' + z + '</option>';
   scheduler += '</select> ';
   scheduler += '<a href="javascript:picdate(\'01.' + (month<12?(month+1):1) + '.' + (month<12?year:(year+1)) + '\')"><img src="./images/icon_next.gif" alt="Nächster Monat" /></a></div>';
   for (z = 0; z <= 6; z++)
   scheduler += '<div class="calendar_heading">' + wday[z] + '</div>';
   var empty_cells = start_empty[month_1st.getDay()];
   for (z = 0; z < empty_cells; z++)
   scheduler += '<div class="calendar_empty"></div>';
   var days = month_last.getDate();
   var today = now.getDate()+'.'+(now.getMonth()+1)+'.'+now.getFullYear();
   for (z = 1; z <= days; z++){
     var cell_date = z+'.'+month+'.'+year;
     scheduler += '<div class="calendar_'+(cell_date==today?'today':'cell')+'" onmouseover="mouse_in(this)" onmouseout="mouse_out(this)" onclick="setstring(\''+cell_date+'\');return false;"><a href="javascript:setstring(\''+cell_date+'\')">'+z+'</a></div>';
     }
   var empty_cells = end_empty[month_last.getDay()];
   for (z = 0; z < empty_cells; z++)
   scheduler += '<div class="calendar_empty"></div>';
   scheduler += '<div class="calendar_footer" onmouseover="mouse_in(this)" onmouseout="mouse_out(this)" onclick="picdate(\'01.' + (now.getMonth()+1) + '.' + now.getFullYear() + '\');return false;"><a href="javascript:picdate(\'01.' + (now.getMonth()+1) + '.' + now.getFullYear() + '\')">Heute</a></div>';
   scheduler += '<input type="hidden" name="date_quick" value="' + year + '-' + month + '-01" />';
   //write into document
   document.getElementById("calendar_frame").innerHTML = scheduler;
   //focus target
   if(target) field = eval('document.forms[0].elements["' + target + '"]');
   }
