
var URL='/skyportal2/se_portal.php';var SESSION_ID;var LOADING='<img width="10" height="10" src="../ajax-loader_s.gif" />';var LOADING_LARGE='ajax-loader.gif';var LOADER;var login_action=true;var menu_id='';var skyportal;var lang='de';var timer_steps=1000*300;var login_username;var admin_accout='admin';var se_load_screen=Class.create({container:null,alpha:null,timer:null,initialize:function(){this.container=$(document.createElement('div'));this.alpha=0.9;var loadimage=$(document.createElement('img'));loadimage.src=LOADING_LARGE;loadimage.style.top="300px";loadimage.style.position="relative";this.container.appendChild(loadimage);this.container.style.backgroundColor='#333333';this.container.style.width=(window.innerWidth||(window.document.documentElement.clientWidth||window.document.body.clientWidth))+"px";this.container.style.height=(window.innerHeight||(window.document.documentElement.clientHeight||window.document.body.clientHeight))+"px";this.container.style.display="block";this.container.style.position="absolute";this.container.style.zindex="998877";this.container.style.textalign="center";this.container.style.top="0px";this.container.style.left="0px";this.setalpha();document.body.appendChild(this.container);},setalpha:function(){this.container.style.opacity=this.alpha;if(this.container.style.setAttribute)
this.container.style.setAttribute("filter","alpha(opacity="+this.alpha*100+");")},fadeout:function(){if(this.alpha>0)
{this.alpha-=0.08;this.setalpha();this.timer=window.setTimeout(function(){LOADER.fadeout();},50);}else{this.timer='';try{this.container.style.visibility="hidden";document.body.removeChild(this.container);}catch(err){}}}});function se_portal_login()
{if(login_action==false)
{return;}else{login_action=!login_action;}
var username=$('u_name');var password=$('u_pwd');var requestObject=new Object();requestObject['action']="login";requestObject['type']="request";requestObject['data']=new Array();var login=new Object();login['username']=escape(username.value);login['password']=escape(password.value);requestObject['data'][requestObject['data'].length]=login;var param='json='+Object.toJSON(requestObject)
var login_messagebox=$('content_box_left_top');new Ajax.Request(URL,{method:'post',parameters:param,onSuccess:function(response){var resObject=response.responseJSON;login_action=!login_action;if(resObject['status']==101)
{login_username=username.value;SESSION_ID=resObject['data']['sessid'];LOADER=new se_load_screen();login_messagebox.update('');var menubox=$('menu');var headline_box=$(document.createElement('h1'));var menu_container=$(document.createElement('div'));headline_box.id="menu_headline";menu_container.id="menu_container";menu_id=menu_container.id;menubox.update('');menubox.appendChild(headline_box);menubox.appendChild(menu_container);headline_box.update(login_username);skyportal=new se_portal('se_portal_get_menu();');se_portal_create_language_menu();var breadcrumbbox=$('breadcrumb');breadcrumbbox.update('');se_displayTime();}else{var login_message=$('portal_message');login_message.update(resObject['data']['msg']);}}});}
function logout()
{skyportal.logout();}
var seAjax=Class.create(Ajax.Request,{is_complete:false,abort:function(){if(this.is_complete)return;this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort();this.is_complete=true;}});var se_portal=Class.create({plants:null,menu:null,content:null,timer_g:null,timer_l:null,timersteps:null,active_plant:null,requests:null,initialize:function(){this.plants=new Array();this.menu='default';this.timer_g=new Array();this.timer_l=new Array();this.requests=new Array();this.timersteps=timer_steps;if(arguments.length==1)
{this.callback=arguments[0];}
var cookie_lang=this.getcookie('portal_language');if(cookie_lang)
{if(lang!=cookie_lang)
{lang=cookie_lang;se_portal_create_language_menu();this.set_language(lang,{set_default:true});}}
this.customize();this.request();},request:function(){var requestObject={action:"getplants",type:"request",data:[]};param='json='+Object.toJSON(requestObject)
this.req=new Ajax.Request(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:this.get_plants.bind(this)});},set_language:function(lang,options){this.setcookie('portal_language',lang);var requestObject={action:"setlang",type:"request",data:[{lang:lang,options:options}]};try{if(options['default']==true)
this.cancel_requests();}catch(e){};param='json='+Object.toJSON(requestObject)
this.req=new Ajax.Request(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['exec'])
{var run=new Function(resObject['exec'])();}}});},logout:function(){this.cancel_requests();var requestObject={action:"logout",type:"request"};param='json='+Object.toJSON(requestObject)
this.req=new Ajax.Request(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['exec'])
{var run=new Function(resObject['exec'])();}}});},add_timer:function(id,s)
{if(s=='global')
{this.timer_g[this.timer_g.length]=id;}else{this.timer_l[this.timer_l.length]=id;}},clear_timer:function(s)
{if(s=='global')
{for(var i=0;i<this.timer_g.length;i++)
{clearInterval(this.timer_g[i]);}
this.timer_g=new Array();this.clear_timer('local');}else{for(var i=0;i<this.timer_l.length;i++)
{clearInterval(this.timer_l[i]);}
this.timer_l=new Array();}},cancel_requests:function()
{for(var i=0;i<this.requests.length;i++)
{this.requests[i].abort();}
this.requests=new Array();},set_active_plant:function(id){this.active_plant=id;},get_active_plant:function(){return this.active_plant;},acc:function(object_box,obj_id,alias,content_height,options){var f_options={single_request:true,run:new Array(),values:new Array(),targets:new Array()};Object.extend(f_options,options||{});var headline_container=$(document.createElement('div'));var content_container=$(document.createElement('div'));var headline_text=$(document.createElement('h1'));var headline_info=$(document.createElement('div'));headline_container.id=obj_id+'-header';headline_text.id=obj_id+'-text';headline_info.id=obj_id+'-info';content_container.id=obj_id+'-content';headline_text.update(alias);headline_container.className='accordion_headings';content_container.className='accordion_content';content_container.style.height=content_height+'px';headline_container.appendChild(headline_text);headline_container.appendChild(headline_info);object_box.appendChild(headline_container);object_box.appendChild(content_container);if(f_options.single_request)
{var target=new Object();target['value_unit']=headline_info.id;f_options.run[f_options.run.length+1]=this.request_value(target,obj_id,"ETODAY");var instant=this;this.add_timer(setInterval(function(){instant.request_value(target,obj_id,"ETODAY");},this.timersteps),'global');}else{f_options.targets[f_options.targets.length]={value_unit:headline_info.id};f_options.values[f_options.values.length]={id:obj_id,value:"ETODAY"};}},get_plants:function(response){var resObject=response.responseJSON;if(resObject!=null)
{if(resObject['status']==201)
{if(resObject['type']=="plants")
{this.plants=resObject['data']['plants'];if(login_username==admin_accout)
for(var i=0;i<this.plants.length;i++)
this.plants[i]['alias']=(i+1)+". "+this.plants[i]['alias'];this.hide_values=resObject['data']['hide_values']
if(resObject['exec'])
{var run=new Function(resObject['exec'])();}}
if(this.callback)
{var call=new Function(this.callback)();}}else{this.call_error(1);}}else{this.call_error(1);}},call_error:function(error){if(LOADER!=null)
LOADER.fadeout();},get_plant_info_short_values:function(){var values=new Array('DT','ELIFE','ETODAY','ETODAY_N','PPEAK',new Array('ENERGYBAR','P','PPEAK'),'PR','CO2','TA');var show_values=new Array();for(var i=0;i<values.length;i++){if(typeof values[i]=='string')
{var display=!this.has_value(this.hide_values,values[i],{global_vars:false});}else{var display=true;for(var k=1;k<values[i].length;k++)
{if(this.has_value(this.hide_values,values[i][k],{global_vars:false}))
display=false;}}
if(display==true)
{show_values[show_values.length]=values[i];}}
show_values=this.array_to_string(show_values);return show_values;},get_plant_details_values:function(){var values=new Array('DT','ELIFE','ETODAY','ETODAY_N','PPEAK',new Array('ENERGYBAR','P','PPEAK'),'PR','PN','R','CO2','TA');var show_values=new Array();for(var i=0;i<values.length;i++){if(typeof values[i]=='string')
{var display=!this.has_value(this.hide_values,values[i],{global_vars:false});}else{var display=true;for(var k=1;k<values[i].length;k++)
{if(this.has_value(this.hide_values,values[i][k],{global_vars:false}))
display=false;}}
if(display==true)
{show_values[show_values.length]=values[i];}}
return show_values;},array_to_string:function(arr){if(!arr.length)
return;var array_string="new Array(";for(var i=0;i<arr.length;i++){if(i>0)
array_string+=',';if(typeof arr[i]=='string')
{array_string+='\''+arr[i]+'\'';}else{array_string+=this.array_to_string(arr[i]);}}
array_string+=")";return array_string;},plant_selection:function(){this.cancel_requests();this.clear_timer('global');var single_request=false;var cbox=$('content_box');cbox.update();var headline=$(document.createElement('div'));var headline_left=$(document.createElement('div'));var headline_right=$(document.createElement('div'));var headline_values=new Array('ELIFE','ETODAY','PPEAK','ITEMS');headline_left.className='left';headline_right.className='right';headline.appendChild(headline_left);headline.appendChild(headline_right);headline.className='plants_headline roundcorners';cbox.appendChild(headline);var run=new Array();for(var h=0;h<headline_values.length;h++)
{var headline_element=$(document.createElement('div'));var headline_alias=$(document.createElement('h1'));var headline_value=$(document.createElement('h2'));headline_alias.id=headline_values[h]+'_alias';headline_value.id=headline_values[h]+'_value';headline_element.appendChild(headline_alias);headline_element.appendChild(headline_value);headline_element.className='plants_headline';cbox.appendChild(headline_element);run[run.length]=this.request_total_values(headline_alias.id,headline_value.id,headline_values[h]);if(headline_values[h]!='PPEAK'&&headline_values[h]!='ITEMS')
this.request_total_values_periodic_update(headline_alias.id,headline_value.id,headline_values[h]);}
var default_line_height=30;var ref_calls=new Array();var values=this.get_plant_info_short_values();eval('var max_values = '+values);var request_values=new Array();var request_targets=new Array();var c_height=max_values.length*default_line_height;if(max_values.length<6)
c_height=6*default_line_height;for(var i=0;i<this.plants.length;i++)
{if(this.plants[i]['sections']&&!this.plants[i]['showplant'])
{for(var k=0;k<this.plants[i]['sections'].length;k++)
{this.acc(cbox,this.plants[i]['sections'][k]['id'],this.plants[i]['sections'][k]['alias'],c_height,{values:request_values,targets:request_targets,single_request:single_request});ref_calls[ref_calls.length]='se_get_plant_info(c,\''+this.plants[i]['sections'][k]['id']+'\', '+values+', {show_detailink : true, detail_plant : true, show_image : true});';}}else{this.acc(cbox,this.plants[i]['id'],this.plants[i]['alias'],c_height,{values:request_values,targets:request_targets,single_request:single_request});ref_calls[ref_calls.length]='se_get_plant_info(c,\''+this.plants[i]['id']+'\', '+values+',{show_detailink : true, detail_plant : true, show_image : true});';}}
if(single_request==false)
{run[run.length]=this.request_value(request_targets,'',request_values);var instant=this;this.add_timer(setInterval(function(){instant.request_value(request_targets,'',request_values);},this.timersteps),'global');}
var a=new Accordian('content_box',5,'header_highlight',ref_calls);},request_total_values_periodic_update:function()
{var instant=this;var target_alias=arguments[0];var target_value=arguments[1];var value=arguments[2];this.add_timer(setInterval(function(){instant.request_total_values(target_alias,target_value,value);},this.timersteps),'global');},get_object_by_id:function(obj_id){if(this.plants.length)
{for(var i=0;i<this.plants.length;i++)
{if(this.plants[i].id==obj_id)
return this.plants[i];if(this.plants[i]['sections']!=null)
{for(var k=0;k<this.plants[i]['sections'].length;k++)
{if(this.plants[i]['sections'][k].id==obj_id)
{return this.plants[i]['sections'][k];}}}}}},has_value:function(obj,key,options){var f_options={global_vars:true};Object.extend(f_options,options||{});if(f_options.global_vars)
{if(key=='ITEMS'||key=='DT')
return true;}
try{for(var i=0;i<obj.length;i++)
{if(obj[i]==key)
return true;}}catch(err){}
return false;},plant_info:function(element_id,obj_id,values,options){var f_options={single_request:false};Object.extend(f_options,options||{});var cbox=$(element_id);var tab=$(document.createElement('table'));var tbo=$(document.createElement('tbody'));cbox.update('');tab.className='asset_wide';tab.appendChild(tbo);cbox.appendChild(tab);var row;var cell;var object=this.get_object_by_id(obj_id);if(!object)
{return false;}
var run=new Array();var request_values=new Array();var request_targets=new Array();for(var i=0;i<values.length;i++){if(typeof values[i]=='string')
{var display=this.has_value(object.values,values[i]);}else{var display=true;for(var k=1;k<values[i].length;k++)
{if(!this.has_value(object.values,values[i][k]))
display=false;}}
if(display)
{if(typeof values[i]=='object')
{if(values[i][0]=='ENERGYBAR')
{}
value=values[i][1];}else{var value=values[i];}
row=$(document.createElement('tr'));row.onmouseover=function(){this.addClassName('hover');}
row.onmouseout=function(){this.removeClassName('hover');}
cell=$(document.createElement('td'));cell.id=obj_id+"_"+value+'_alias';row.appendChild(cell);cell=$(document.createElement('td'));cell.className='typ';cell.id=obj_id+"_"+value+'_value';if(typeof values[i]=='object')
{if(values[i][0]=='ENERGYBAR')
{var value_holder=$(document.createElement('span'));cell.appendChild(value_holder);var line_break=$(document.createElement('br'));cell.appendChild(line_break);cell.id='';value_holder.id=obj_id+"_"+value+'_value';var energy_bar=new this.widget_energy_bar(obj_id,values[i]);cell.appendChild(energy_bar);this.widget_energy_bar_periodic_update(energy_bar,obj_id,values[i],'global');}
value=values[i][1];}
row.appendChild(cell);tbo.appendChild(row);var target=new Object();target['type']=obj_id+"_"+value+'_alias';target['value_unit']=obj_id+"_"+value+'_value';var obj_value=new Object();obj_value['id']=obj_id;obj_value['value']=value;request_targets[request_targets.length]=target;request_values[request_values.length]=obj_value;if(f_options.single_request){run[run.length]=this.request_value(target,obj_id,value);this.plant_info_periodic_update(target,obj_id,value,options);}}}
if(!f_options.single_request){run[run.length]=this.request_value(request_targets,'',request_values);this.plant_info_periodic_update(request_targets,'',request_values,options);}},plant_info_periodic_update:function(){var instant=this;var target_alias=arguments[0];var target_value=arguments[1];var value=arguments[2];this.add_timer(setInterval(function(){instant.request_value(target_alias,target_value,value);},this.timersteps),'global');},plant_info_short:function(element_id,obj_id,values,options){var f_options={single_request:false,show_detailink:true,detail_plant:false,show_image:false};Object.extend(f_options,options||{});var cbox=$(element_id);var tab=$(document.createElement('table'));var tbo=$(document.createElement('tbody'));var image=$(document.createElement('img'));var obj=this.get_object_by_id(obj_id);cbox.update('');if(f_options.show_image==true)
{cbox.appendChild(image);image.alt=obj['alias'];image.title=obj['alias'];image.className='image_plant_selection';this.get_image(obj_id,'detail',image);}
tab.className='asset_wide';tab.appendChild(tbo);cbox.appendChild(tab);var row;var cell;var object=this.get_object_by_id(obj_id);if(!object)
{return false;}
var run=new Array();var instant=this;var request_values=new Array();var request_targets=new Array();this.clear_timer('local');for(var i=0;i<values.length;i++){if(typeof values[i]=='string')
{var display=this.has_value(object.values,values[i]);}else{var display=true;for(var k=1;k<values[i].length;k++)
{if(!this.has_value(object.values,values[i][k]))
display=false;}}
if(display)
{if(typeof values[i]=='object')
{if(values[i][0]=='ENERGYBAR')
{}
value=values[i][1];}else{var value=values[i];}
row=$(document.createElement('tr'));row.onmouseover=function(){this.addClassName('hover');}
row.onmouseout=function(){this.removeClassName('hover');}
cell=$(document.createElement('td'));cell.id=obj_id+"_"+value+'_alias';row.appendChild(cell);cell=$(document.createElement('td'));cell.className='typ';cell.id=obj_id+"_"+value+'_value';if(typeof values[i]=='object')
{if(values[i][0]=='ENERGYBAR')
{var value_holder=$(document.createElement('span'));cell.appendChild(value_holder);cell.id='';var line_break=$(document.createElement('br'));cell.appendChild(line_break);value_holder.id=obj_id+"_"+value+'_value';var energy_bar=new this.widget_energy_bar(obj_id,values[i])
cell.appendChild(energy_bar);this.widget_energy_bar_periodic_update(energy_bar,obj_id,values[i],'local');}
value=values[i][1];}
row.appendChild(cell);tbo.appendChild(row);var target=new Object();target['type']=obj_id+"_"+value+'_alias';target['value_unit']=obj_id+"_"+value+'_value';var obj_value=new Object();obj_value['id']=obj_id;obj_value['value']=value;request_targets[request_targets.length]=target;request_values[request_values.length]=obj_value;if(f_options.single_request){run[run.length]=this.request_value(target,obj_id,value);this.plant_info_short_periodic_update(target,obj_id,value,options);}}}
if(f_options.show_detailink)
{var detailink=$(document.createElement('a'));var span=$(document.createElement('span'));detailink.appendChild(span);detailink.className='detailink';if(f_options.detail_plant==true)
{action='se_get_plant_details(\''+obj_id+'\');';}else{action='se_get_plant_details(\''+obj_id+'\', true);';}
detailink.onclick=new Function(action);span.update(obj['alias']+' Details');cbox.appendChild(detailink);}
if(!f_options.single_request){run[run.length]=this.request_value(request_targets,'',request_values);this.plant_info_short_periodic_update(request_targets,'',request_values,options);}},plant_info_short_periodic_update:function(){var instant=this;var target_alias=arguments[0];var target_value=arguments[1];var value=arguments[2];this.add_timer(setInterval(function(){instant.request_value(target_alias,target_value,value);},this.timersteps),'local');},plant_details:function(obj_id){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var obj=this.get_object_by_id(obj_id);var headline=$(document.createElement('h3'));headline.update(obj['alias']);cbox.appendChild(headline);var content_holder=$(document.createElement('div'));content_holder.id=obj_id+"_content_box";cbox.appendChild(content_holder);var holder_left=$(document.createElement('div'));var holder_right=$(document.createElement('div'));holder_left.className='se_portal_home_left';holder_right.className='se_portal_home_right';content_holder.appendChild(holder_left);content_holder.appendChild(holder_right);var left_box=$(document.createElement('div'));holder_left.appendChild(left_box);left_box.className='border se_gradient autoheight';var image=$(document.createElement('img'));left_box.appendChild(image);image.alt=obj['alias'];image.title=obj['alias'];this.get_image(obj_id,'detail',image);var plant_info_box=$(document.createElement('div'));plant_info_box.id=obj_id+'_plant_info';left_box.appendChild(plant_info_box);if(obj['sections']&&obj['showplant'])
{var plant_sections_box=$(document.createElement('div'));plant_sections_box.id=obj_id+'_plant_sections';plant_sections_box.className='plant_details_sections';holder_left.appendChild(plant_sections_box);var default_line_height=38;var ref_calls=new Array();var values=this.get_plant_info_short_values();eval('var max_values = '+values);for(var k=0;k<obj['sections'].length;k++)
{var c_height=max_values.length*default_line_height;if(max_values.length<6)
c_height=6*default_line_height;this.acc(plant_sections_box,obj['sections'][k]['id'],obj['sections'][k]['alias'],c_height,{});ref_calls[ref_calls.length]='se_get_plant_info(c,\''+obj['sections'][k]['id']+'\', '+values+',{show_detailink : true});';}
var a=new Accordian(plant_sections_box.id,5,'header_highlight',ref_calls);}
var right_box=$(document.createElement('div'));right_box.className='border';right_box.id=obj_id+'_flash_widget';holder_right.appendChild(right_box);this.plant_info(plant_info_box.id,obj_id,this.get_plant_details_values());var param=new Object();param['id']=obj_id;param['plugin']='flash';this.get_content(right_box.id,{content:'flash_widget',params:param});},plant_details2:function(obj_id){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var obj=this.get_object_by_id(obj_id);var headline=$(document.createElement('h3'));headline.update(obj['alias']);cbox.appendChild(headline);var content_holder=$(document.createElement('div'));content_holder.id=obj_id+"_content_box";cbox.appendChild(content_holder);var holder_left=$(document.createElement('div'));var holder_right=$(document.createElement('div'));holder_left.className='se_portal_home_left';holder_right.className='se_portal_home_right';content_holder.appendChild(holder_left);content_holder.appendChild(holder_right);var left_box=$(document.createElement('div'));holder_left.appendChild(left_box);left_box.className='border se_gradient autoheight';var image=$(document.createElement('img'));left_box.appendChild(image);image.alt=obj['alias'];image.title=obj['alias'];this.get_image(obj_id,'detail',image);var plant_info_box=$(document.createElement('div'));plant_info_box.id=obj_id+'_plant_info';left_box.appendChild(plant_info_box);if(obj['sections']&&obj['showplant'])
{var plant_sections_box=$(document.createElement('div'));plant_sections_box.id=obj_id+'_plant_sections';plant_sections_box.className='plant_details_sections';holder_left.appendChild(plant_sections_box);var default_line_height=38;var ref_calls=new Array();var values=this.get_plant_info_short_values();eval('var max_values = '+values);for(var k=0;k<obj['sections'].length;k++)
{var c_height=max_values.length*default_line_height;if(max_values.length<=4)
c_height+=2*default_line_height;this.acc(plant_sections_box,obj['sections'][k]['id'],obj['sections'][k]['alias'],c_height,{});ref_calls[ref_calls.length]='se_get_plant_info(c,\''+obj['sections'][k]['id']+'\', '+values+',{show_detailink : true});';}
var a=new Accordian(plant_sections_box.id,5,'header_highlight',ref_calls);}
var right_box=$(document.createElement('div'));right_box.id=obj_id+'_flash_widget';holder_right.appendChild(right_box);this.plant_info(plant_info_box.id,obj_id,this.get_plant_details_values());var param=new Object();param['id']=obj_id;param['plugin']='flash';this.get_content(right_box.id,{content:'flash_energy_counter',params:param});},plant_inverter:function(obj_id){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var obj=this.get_object_by_id(obj_id);var headline=$(document.createElement('h3'));headline.update(obj['alias']);cbox.appendChild(headline);var content_holder=$(document.createElement('div'));content_holder.id=obj_id+"_content_box";cbox.appendChild(content_holder);var loadimage=$(document.createElement('img'));loadimage.src=LOADING_LARGE;content_holder.appendChild(loadimage);var requestObject={action:"getinverter",type:"request",data:{id:obj_id}};param='json='+Object.toJSON(requestObject);this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;var data=resObject['data'];var inverter=data['inverter'];if(!inverter)
{content_holder.update('no data');return false;}
var tab=$(document.createElement('table'));var thd=$(document.createElement('thead'));var tbo=$(document.createElement('tbody'));var row;var cell;tab.className='csc-frame-frame1';var run=new Array();var request_values=new Array();var request_targets=new Array();var values=new Array('ALIAS','VENDOR','TYPE','ETODAY','PACT');row=$(document.createElement('tr'));for(var i=0;i<values.length;i++)
{cell=$(document.createElement('th'));cell.id='hl_'+inverter[0]['id']+'_'+values[i];row.appendChild(cell);request_targets[request_targets.length]={type:cell.id};request_values[request_values.length]={id:inverter[0]['id'],value:values[i]};}
thd.appendChild(row);tab.appendChild(thd);tab.appendChild(tbo);content_holder.update("");content_holder.appendChild(tab);var run=new Array();for(var i=0;i<inverter.length;i++)
{row=$(document.createElement('tr'));for(var k=0;k<values.length;k++)
{cell=$(document.createElement('td'));cell.id=inverter[i]['id']+'_'+values[k];if(k>=3)
cell.className='number';row.appendChild(cell);if(this.has_value(inverter[i]['values'],values[k]))
{request_targets[request_targets.length]={value_unit:cell.id};request_values[request_values.length]={id:inverter[i]['id'],value:values[k]};}else{cell.update('-');}}
tbo.appendChild(row);run[run.length]=this.request_value(request_targets,'',request_values);request_targets=new Array();request_values=new Array();}}.bind(this)});},plant_block:function(obj_id){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var obj=this.get_object_by_id(obj_id);var headline=$(document.createElement('h3'));headline.update(obj['alias']);cbox.appendChild(headline);var content_holder=$(document.createElement('div'));content_holder.id=obj_id+"_content_box";cbox.appendChild(content_holder);var loadimage=$(document.createElement('img'));loadimage.src=LOADING_LARGE;content_holder.appendChild(loadimage);var requestObject={action:"getblock",type:"request",data:{id:obj_id}};param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;var data=resObject['data'];var block=data['block'];if(!block)
{content_holder.update('no data');return false;}
var tab=$(document.createElement('table'));var thd=$(document.createElement('thead'));var tbo=$(document.createElement('tbody'));var row;var cell;tab.className='csc-frame-frame1';var run=new Array();var request_values=new Array();var request_targets=new Array();var values=new Array('ALIAS','PPEAK','ETODAY','P','ELIFE','R');row=$(document.createElement('tr'));for(var i=0;i<values.length;i++)
{cell=$(document.createElement('th'));cell.id='hl_'+block[0]['id']+'_'+values[i];row.appendChild(cell);request_targets[request_targets.length]={type:cell.id};request_values[request_values.length]={id:block[0]['id'],value:values[i]};}
thd.appendChild(row);tab.appendChild(thd);tab.appendChild(tbo);content_holder.update("");content_holder.appendChild(tab);var run=new Array();for(var i=0;i<block.length;i++)
{row=$(document.createElement('tr'));for(var k=0;k<values.length;k++)
{cell=$(document.createElement('td'));cell.id=block[i]['id']+'_'+values[k];if(k>=3)
cell.className='number';row.appendChild(cell);if(this.has_value(block[i]['values'],values[k]))
{request_targets[request_targets.length]={value_unit:cell.id};request_values[request_values.length]={id:block[i]['id'],value:values[k]};}else{cell.update('-');}}
tbo.appendChild(row);run[run.length]=this.request_value(request_targets,'',request_values);request_targets=new Array();request_values=new Array();}}.bind(this)});},plant_profile:function(){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var content_holder=$(document.createElement('div'));content_holder.id=this.get_active_plant()+"_content_box";cbox.appendChild(content_holder);this.get_content(content_holder.id,{content:'plant_profile',params:this.get_active_plant()});},plant_contact:function(){this.cancel_requests();this.clear_timer('global');var cbox=$('content_box');cbox.update('');var content_holder=$(document.createElement('div'));content_holder.id=this.get_active_plant()+"_content_box";cbox.appendChild(content_holder);this.get_content(content_holder.id,{content:'plant_contact',params:this.get_active_plant()});},plant_webcam:function(){this.cancel_requests();this.clear_timer('global');if(arguments.length)
{var obj_id=arguments[0];var cam_id=arguments[1];var cbox=$('content_box');var image=$('webcam');if(!image)
{var image=$(document.createElement('img'));image.id='webcam';image.className='webcam';cbox.appendChild(image);}
var requestObject={action:"getwebcam",type:"request",data:{id:obj_id,params:{type:'image',cam:cam_id}}};image.src=LOADING_LARGE;image.src=URL+'?'+SESSION_ID+'&json='+Object.toJSON(requestObject)+'&r='+parseInt(98765+Math.random()*98765);image.alt=image.title=cam_id;var instant=this;this.add_timer(setInterval(function(){instant.plant_webcam(obj_id,cam_id);},this.timersteps));}else{this.get_webcam(this.get_active_plant());}},widget_energy_bar:function(){if(typeof arguments[0]!='object')
{var energy_bar=$(document.createElement('div'));energy_bar.id=obj_id+"_energy_bar";energy_bar.className='progressbar';var obj_id=arguments[0];var values=arguments[1];}else{var energy_bar=arguments[0];var obj_id=arguments[1];var values=arguments[2];}
var se_progress_bar=new Control.ProgressBar(energy_bar,{default_width:60});se_progress_bar.setProgress(0);var requestDataObject=new Array();for(var i=1;i<values.length;i++)
{var requestData=new Object();requestData['id']=obj_id;requestData['value']=values[i];requestData['raw']=true;requestDataObject[requestDataObject.length]=requestData;}
var requestObject={action:"getvalue",type:"request",data:requestDataObject};param='json='+Object.toJSON(requestObject)
this.req=new Ajax.Request(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;data=resObject['data'];se_progress_bar.setProgress(100*(data[0]['value'])/data[1]['value']);}.bind(this)});return energy_bar;},widget_energy_bar_periodic_update:function(obj,obj_id,values,s){var instant=this;this.add_timer(setInterval(function(){instant.widget_energy_bar(obj,obj_id,values);},this.timersteps),s);},request_total_values:function(target_alias,target_value,type){var requestDataObject=new Array();for(var i=0;i<this.plants.length;i++)
{if(this.plants[i]['sections']&&!this.plants[i]['showplant'])
{for(var k=0;k<this.plants[i]['sections'].length;k++)
{var obj_id=this.plants[i]['sections'][k]['id'];var values=this.plants[i]['sections'][k]['values'];}}else{var obj_id=this.plants[i]['id'];var values=this.plants[i]['values'];}
if(this.has_value(values,type))
{var requestData=new Object();requestData['id']=obj_id;requestData['value']=type;requestData['sum']=true;requestDataObject[requestDataObject.length]=requestData;}}
var requestObject={action:"getvalue",type:"request",sum:true,data:requestDataObject};var el_obj=$(target_alias);if(el_obj&&el_obj.innerHTML=='')el_obj.update(LOADING);var el_obj=$(target_value);if(el_obj)el_obj.update(LOADING);param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;data=resObject['data'];var alias_box=$(target_alias);var value_box=$(target_value);alias_box.update(data['alias']);value_box.update(data['value']+' '+data['unit']);}.bind(this)});},request_value:function(obj,plant_id,values){if(typeof values=='string')
{var requestDataObject=new Array();var requestData=new Object();requestData['id']=plant_id;requestData['value']=values;requestDataObject[requestDataObject.length]=requestData;}else{var requestDataObject=values;}
var requestObject={action:"getvalue",type:"request",data:requestDataObject};if(!obj.length)
{var new_obj=new Array();new_obj[0]=obj;obj=new_obj;}
for(var i=0;i<obj.length;i++)
{var obj_=obj[i];for(var el in obj_)
{var el_obj=$(obj_[el]);if(el_obj&&(el_obj.innerHTML==''||(el=="value_unit"||el=="value")))
el_obj.update(LOADING);}}
var param='json='+Object.toJSON(requestObject);this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['status']==201)
{if(resObject['type']=='values')
{var response_data=resObject['data'];for(var i=0;i<obj.length;i++)
{try{var value=response_data[i]['value'];var unit=response_data[i]['unit'];var alias=response_data[i]['alias'];var expired=response_data[i]['expired'];var target_obj=obj[i];if(target_obj['type'])
{var obj_box=$(target_obj['type']);obj_box.update(alias);}
if(target_obj['value_unit'])
{var obj_box=$(target_obj['value_unit']);obj_box.update(value+' '+unit);if(expired!=null)
{if(login_username==admin_accout)
{obj_box.setStyle({'color':'#ff0000'});}
obj_box.update(value+' '+unit+"*");obj_box.expired=expired;obj_box.onmouseover=function(){se_tooltip(this,this.expired,18);}}}
if(target_obj['value'])
{var obj_box=$(target_obj['value']);obj_box.update(value);}
if(target_obj['unit'])
{var obj_box=$(target_obj['unit']);obj_box.update(unit);}}catch(err){for(var el in target_obj)
{var target_obj=obj[i];var obj_box=$(target_obj[el]);obj_box.update(' ');}}}}}}});},get_image:function(obj_id,section,img){img.src=LOADING_LARGE;var requestObject={action:"getimage",type:"request",data:{id:obj_id,image:section}};param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['data'])
try{img.src=resObject['data'];}catch(err){};}.bind(this)});},get_webcam:function(obj_id){var requestObject={action:"getwebcam",type:"request",data:{id:obj_id,params:{type:arguments[1]?'image':'cams',cam:arguments[1]?arguments[1]:null}}};param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['data'])
try{if(resObject['data']['cams'])
{var cbox=$('content_box');cbox.update('');var content_holder=$(document.createElement('div'));content_holder.id=this.get_active_plant()+"_content_box";cbox.appendChild(content_holder);for(var i=0;i<resObject['data']['cams'].length;i++)
{var obj=this.get_object_by_id(obj_id);var link_item=$(document.createElement('a'));link_item.update(obj['alias']+' - cam '+(i+1));link_item.href='#';link_item.id='cam'+(i+1);link_item.className='detailink webcam';var action='se_get_plant_webcam('+obj_id+',\''+resObject['data']['cams'][i]+'\');';link_item.onclick=new Function(action);content_holder.appendChild(link_item);}}}catch(err){};}.bind(this)});},get_menu:function(){var requestObject={action:"getmenu",type:"request",data:[{menu:arguments.length?arguments[0]:this.menu,params:arguments[1]}]};param='json='+Object.toJSON(requestObject)
this.req=new Ajax.Request(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['exec'])
{data=resObject['data'];eval(resObject['exec']);}}.bind(this)});},get_default_content:function(){this.content="plant_selection";this.get_content('object_box');try{LOADER.fadeout();}catch(err){};},get_content:function(target,options){var f_options={content:this.content,params:null}
Object.extend(f_options,options||{});var requestDataObject=new Array();var requestData=new Object();requestData['content']=f_options.content;if(f_options.params)
{requestData['params']=f_options.params;}
requestDataObject[requestDataObject.length]=requestData;var requestObject={action:"getcontent",type:"request",data:requestDataObject};param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;try{if(f_options.params)
{if(f_options.params.plugin=='flash')
{if(GetSwfVer()==-1)
{var link="http://get.adobe.com/flashplayer/";var image='<img height="100" width="100" alt="Adobe Flash Player" src="http://wwwimages.adobe.com/www.adobe.com/shockwave/download/images/flashplayer_100x100.jpg">';resObject['data'][0]['content']='<a style="display: block; margin: 20px; text-decoration: none; font-size: 0.9em; color: #898989;" href="'+link+'" target="_blank" title="Get Adobe Flash Player">'+image+'<br />'+'get adobe flashplayer'+'</a>';}}}
target_box=$(target);if(target_box!=null)
target_box.update(resObject['data'][0]['content']);}catch(err){}
if(resObject['exec'])
{data=resObject['data'];eval(resObject['exec']);}}.bind(this)});},build_menu:function(response){if(response.length)
{var menu_container=$(menu_id);menu_container.update();var menu_list=$(document.createElement('ul'));for(var i=0;i<response.length;i++)
{menu_list.appendChild(this.build_menu_item(response[i].title,response[i].action));}
menu_container.appendChild(menu_list);}},build_menu_item:function(title,action){var list_item=$(document.createElement('li'));var link_item=$(document.createElement('a'));list_item.appendChild(link_item);link_item.update(title);link_item.href='#';link_item.onclick=new Function(action);return list_item;},customize:function(){var logoimage=$('logoimage');if(!logoimage)
return;var requestObject={action:"getcustomvalue",type:"request",data:[{value:"logo"},{value:"css"}]};param='json='+Object.toJSON(requestObject)
this.requests[this.requests.length]=new seAjax(URL,{method:'post',parameters:SESSION_ID+'&'+param,onSuccess:function(response)
{var resObject=response.responseJSON;if(resObject['data'])
try{if(resObject['data']['logo'])
logoimage.src=resObject['data']['logo'];if(resObject['data']['css'])
this.attachstyle(resObject['data']['css']);}catch(err){};}.bind(this)});},attachstyle:function(url)
{if(document.createStyleSheet){try{document.createStyleSheet(url);}catch(err){}}else{try{var stylesheet=document.createElement('link');stylesheet.rel='stylesheet';stylesheet.href=url;document.getElementsByTagName("head")[0].appendChild(stylesheet);}catch(err){}}},setcookie:function(cname,cvalue)
{var today=new Date();var expire=new Date();var days=31;expire.setTime(today.getTime()+days*24*60*60*1000);try{document.cookie=cname+"="+escape(cvalue)+";expires="+expire.toGMTString();}catch(e){}},getcookie:function(cname)
{var cookies=document.cookie.split(';');for(i=0;i<cookies.length;i++)
{var temp=cookies[i].split('=');temp[0]=temp[0].replace(/^\s+|\s+$/g,'');if(temp[0]==cname)
{var cvalue=unescape(temp[1].replace(/^\s+|\s+$/g,''));return cvalue;}}
return false;}});function se_portal_switch_language(langCode)
{if(langCode!=lang)
{lang=langCode;LOADER=new se_load_screen();se_portal_create_language_menu()
skyportal.set_language(lang,'');}}
function se_portal_create_language_menu()
{langs=new Array();langs[0]=new Object();langs[1]=new Object();langs[0]['id']='de';langs[0]['text']='Deutsch';langs[1]['id']='en';langs[1]['text']='English';var language_menu=$('language');language_menu.update();var lang_menu=$(document.createElement('ul'));language_menu.appendChild(lang_menu);for(i=0;i<langs.length;i++)
{var lang_item=$(document.createElement('li'));if(langs[i]['id']==lang)
{lang_item.className='active';lang_item.innerHTML=langs[i]['text'];}else{var item_link=$(document.createElement('a'));item_link.id=langs[i]['id'];item_link.onclick=function()
{se_portal_switch_language(this.id);};item_link.href='#';item_link.innerHTML=langs[i]['text'];lang_item.appendChild(item_link);}
lang_menu.appendChild(lang_item);}}
function se_portal_get_menu(){skyportal.get_menu();}
function se_portal_plant_selection(){skyportal.plant_selection();skyportal.get_menu('plant_selection');}
function se_portal_reload(){skyportal.request();}
function se_default_content(){skyportal.get_default_content();}
function se_get_plant_info(element_id,obj_id,values,options){skyportal.plant_info_short(element_id,obj_id,values,options);}
function se_get_plant_details(obj_id){if(arguments.length==2)
{if(arguments[1]==true)
{skyportal.plant_details(obj_id);return;}}
if(obj_id)
{skyportal.get_menu('plant_details',obj_id);skyportal.set_active_plant(obj_id);skyportal.plant_details(obj_id);}else{skyportal.plant_details(skyportal.get_active_plant());}}
function se_get_plant_details2(obj_id){if(arguments.length==2)
{if(arguments[1]==true)
{skyportal.plant_details2(obj_id);return;}}
if(obj_id)
{skyportal.get_menu('plant_details',obj_id);skyportal.set_active_plant(obj_id);skyportal.plant_details(obj_id);}else{skyportal.plant_details2(skyportal.get_active_plant());}}
function se_get_plant_inverter(){skyportal.plant_inverter(skyportal.get_active_plant());}
function se_get_block_info(element_id,obj_id,values)
{skyportal.block_info(element_id,obj_id,values);}
function se_get_plant_block(){skyportal.plant_block(skyportal.get_active_plant());}
function se_get_plant_profile(){skyportal.plant_profile();}
function se_get_plant_contact(){skyportal.plant_contact();}
function se_get_plant_webcam(){if(arguments.length)
skyportal.plant_webcam(arguments[0],arguments[1]);else
skyportal.plant_webcam();}
function se_displayTime()
{window.setTimeout("se_updateTime();",100);}
function se_updateTime(){var now=new Date();var dt_box=$('datetime_container');if(!dt_box)
{var contentbox=$('header');var dt_box=$(document.createElement('div'));dt_box.id="datetime_container";contentbox.appendChild(dt_box);}
dt_box.update(now.toLocaleString());se_displayTime();};function se_tooltip(element,text,offset_y)
{element=$(element);var tooltip=new Element('div',{'id':'tooltip','class':'tooltip'}).update(text);tooltip.setStyle({'left':element.positionedOffset()[0]+'px','position':'absolute','top':element.positionedOffset()[1]+offset_y+'px'});element.appendChild(tooltip);element.onmouseout=function(){tooltip.remove();};}
function setup_login_box()
{var el=document.getElementsByClassName("customer_box");for(var i=0;i<el.length;i++)
{el[i].style.display='block';}}
document.observe("dom:loaded",function(){setup_login_box();});
