Commit 610ac485 authored by Antoine Cellerier's avatar Antoine Cellerier

Some more IE (crap) fixes

parent 32dc8391
...@@ -205,6 +205,12 @@ function checked( id ){ return document.getElementById( id ).checked; } ...@@ -205,6 +205,12 @@ function checked( id ){ return document.getElementById( id ).checked; }
function value( id ){ return document.getElementById( id ).value; } function value( id ){ return document.getElementById( id ).value; }
function setclass( obj, value )
{
obj.setAttribute( 'class', value ); /* Firefox */
obj.setAttribute( 'className', value ); /* IE */
}
function radio_value( name ) function radio_value( name )
{ {
var radio = document.getElementsByName( name ); var radio = document.getElementsByName( name );
...@@ -220,7 +226,7 @@ function radio_value( name ) ...@@ -220,7 +226,7 @@ function radio_value( name )
function check_and_replace_int( id, val ) function check_and_replace_int( id, val )
{ {
var objRegExp = /^\d\d*$/; var objRegExp = /^\d+$/;
if( value( id ) != '' if( value( id ) != ''
&& ( !objRegExp.test( value( id ) ) && ( !objRegExp.test( value( id ) )
|| parseInt( value( id ) ) < 1 ) ) || parseInt( value( id ) ) < 1 ) )
...@@ -461,21 +467,21 @@ function parse_status() ...@@ -461,21 +467,21 @@ function parse_status()
var randomtag = status.getElementsByTagName( 'random' ); var randomtag = status.getElementsByTagName( 'random' );
if( randomtag.length > 0 ? randomtag[0].firstChild.data == "1" : 0) if( randomtag.length > 0 ? randomtag[0].firstChild.data == "1" : 0)
document.getElementById( 'btn_shuffle').setAttribute( 'class', 'on' ); setclass( document.getElementById( 'btn_shuffle'), 'on' );
else else
document.getElementById( 'btn_shuffle').setAttribute( 'class', 'off' ); setclass( document.getElementById( 'btn_shuffle'), 'off' );
var looptag = status.getElementsByTagName( 'loop' ); var looptag = status.getElementsByTagName( 'loop' );
if( looptag.length > 0 ? looptag[0].firstChild.data == "1" : 0) if( looptag.length > 0 ? looptag[0].firstChild.data == "1" : 0)
document.getElementById( 'btn_loop').setAttribute( 'class', 'on' ); setclass( document.getElementById( 'btn_loop'), 'on' );
else else
document.getElementById( 'btn_loop').setAttribute( 'class', 'off' ); setclass( document.getElementById( 'btn_loop'), 'off' );
var repeattag = status.getElementsByTagName( 'repeat' ); var repeattag = status.getElementsByTagName( 'repeat' );
if( repeattag.length > 0 ? repeattag[0].firstChild.data == "1" : 0 ) if( repeattag.length > 0 ? repeattag[0].firstChild.data == "1" : 0 )
document.getElementById( 'btn_repeat').setAttribute( 'class', 'on' ); setclass( document.getElementById( 'btn_repeat'), 'on' );
else else
document.getElementById( 'btn_repeat').setAttribute( 'class', 'off' ); setclass( document.getElementById( 'btn_repeat'), 'off' );
var tree = document.createElement( "ul" ); var tree = document.createElement( "ul" );
var categories = status.getElementsByTagName( 'category' ); var categories = status.getElementsByTagName( 'category' );
...@@ -558,7 +564,7 @@ function parse_playlist() ...@@ -558,7 +564,7 @@ function parse_playlist()
} }
var nd = document.createElement( "div" ); var nd = document.createElement( "div" );
nd.setAttribute( 'class', 'pl_node' ); setclass( nd, 'pl_node' );
nd.setAttribute( 'id', 'pl_'+elt.getAttribute( 'id' ) ); nd.setAttribute( 'id', 'pl_'+elt.getAttribute( 'id' ) );
pos.appendChild( nd ); pos.appendChild( nd );
} }
...@@ -567,12 +573,12 @@ function parse_playlist() ...@@ -567,12 +573,12 @@ function parse_playlist()
if( pos.hasChildNodes() ) if( pos.hasChildNodes() )
pos.appendChild( document.createElement( "br" ) ); pos.appendChild( document.createElement( "br" ) );
var pl = document.createElement( "a" ); var pl = document.createElement( "a" );
pl.setAttribute( 'class', 'pl_leaf' ); setclass( pl, 'pl_leaf' );
pl.setAttribute( 'href', 'javascript:pl_play('+elt.getAttribute( 'id' )+');' ); pl.setAttribute( 'href', 'javascript:pl_play('+elt.getAttribute( 'id' )+');' );
pl.setAttribute( 'id', 'pl_'+elt.getAttribute( 'id' ) ); pl.setAttribute( 'id', 'pl_'+elt.getAttribute( 'id' ) );
if( elt.getAttribute( 'current' ) == 'current' ) if( elt.getAttribute( 'current' ) == 'current' )
{ {
pl.setAttribute( 'style', 'font-weight: bold;' ); pl.style.fontWeight = 'bold';
var nowplaying = document.getElementById( 'nowplaying' ); var nowplaying = document.getElementById( 'nowplaying' );
clear_children( nowplaying ); clear_children( nowplaying );
nowplaying.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) ); nowplaying.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) );
...@@ -647,7 +653,7 @@ function parse_browse_dir( ) ...@@ -647,7 +653,7 @@ function parse_browse_dir( )
if( elt.nodeName == "element" ) if( elt.nodeName == "element" )
{ {
var item = document.createElement( "a" ); var item = document.createElement( "a" );
item.setAttribute( 'class', 'browser' ); setclass( item, 'browser' );
if( elt.getAttribute( 'type' ) == 'directory' ) if( elt.getAttribute( 'type' ) == 'directory' )
{ {
item.setAttribute( 'href', 'javascript:browse_dir(\''+escapebackslashes(addslashes(elt.getAttribute( 'path' )))+'\');'); item.setAttribute( 'href', 'javascript:browse_dir(\''+escapebackslashes(addslashes(elt.getAttribute( 'path' )))+'\');');
...@@ -662,7 +668,7 @@ function parse_browse_dir( ) ...@@ -662,7 +668,7 @@ function parse_browse_dir( )
{ {
pos.appendChild( document.createTextNode( ' ' ) ); pos.appendChild( document.createTextNode( ' ' ) );
var item = document.createElement( "a" ); var item = document.createElement( "a" );
item.setAttribute( 'class', 'browser' ); setclass( item, 'browser' );
item.setAttribute( 'href', 'javascript:browse_path(\''+escapebackslashes(addslashes(elt.getAttribute( 'path' )))+'\');'); item.setAttribute( 'href', 'javascript:browse_path(\''+escapebackslashes(addslashes(elt.getAttribute( 'path' )))+'\');');
item.appendChild( document.createTextNode( '(select)' ) ); item.appendChild( document.createTextNode( '(select)' ) );
pos.appendChild( item ); pos.appendChild( item );
......
...@@ -86,7 +86,7 @@ function mosaic_size_change() ...@@ -86,7 +86,7 @@ function mosaic_size_change()
{ {
var mdt = document.createElement( 'div' ); var mdt = document.createElement( 'div' );
mdt.setAttribute( 'id', 'mosaic_dt' ); mdt.setAttribute( 'id', 'mosaic_dt' );
mdt.setAttribute( 'class', 'mosaic_tbl' ); setclass( mdt, 'mosaic_tbl' );
mdt.style.width = mosaic_width + "px"; mdt.style.width = mosaic_width + "px";
mdt.style.height = mosaic_height + "px"; mdt.style.height = mosaic_height + "px";
...@@ -108,19 +108,13 @@ function mosaic_size_change() ...@@ -108,19 +108,13 @@ function mosaic_size_change()
for( x = 0; x < mosaic_cols; x++ ) for( x = 0; x < mosaic_cols; x++ )
{ {
var mcell = document.createElement( 'td' ); var mcell = document.createElement( 'td' );
mcell.setAttribute( 'class', 'mosaic_itm' ); setclass( mcell, 'mosaic_itm' );
mcell.style.width = cell_width + "px"; mcell.style.width = cell_width + "px";
mcell.style.height = cell_height + "px"; mcell.style.height = cell_height + "px";
var melt = document.createElement( 'input' );
melt.setAttribute( 'type', 'button' );
var id = x+'_'+y; var id = x+'_'+y;
var melt = create_button( cells[id] ? cells[id] : '?', 'mosaic_elt_choose(\"'+id+'\");' );
melt.setAttribute( 'id', id ); melt.setAttribute( 'id', id );
melt.setAttribute( 'onclick', 'mosaic_elt_choose(\''+id+'\');' );
if( cells[id] )
melt.setAttribute( 'value', cells[id] );
else
melt.setAttribute( 'value', '?' );
melt.setAttribute( 'title', 'Click to choose stream' ); melt.setAttribute( 'title', 'Click to choose stream' );
mcell.appendChild( melt ); mcell.appendChild( melt );
......
...@@ -262,10 +262,17 @@ function clear_vlm_add() ...@@ -262,10 +262,17 @@ function clear_vlm_add()
function create_button( caption, action ) function create_button( caption, action )
{ {
var link = document.createElement( "input" ); /* var link = document.createElement( "input" );
link.setAttribute( 'type', 'button' ); link.setAttribute( 'type', 'button' );*/
link.setAttribute( 'onclick', action ); /* link.setAttribute( 'onclick', action ); */
link.setAttribute( 'value', caption ); /* Above doesn't work on ie. You need to use something like
* link.onclick = function() { alert( 'pouet' ); };
* instead ... conclusion: IE is crap */
/* link.setAttribute( 'value', caption );*/
var d = document.createElement( 'div' );
d.innerHTML = "<input type='button' onclick='"+action+"' value='"+caption+"' />"; /* other IE work around ... still crap. Use double quotes only in action */
var link = d.firstChild;
return link; return link;
} }
function create_option( caption, value ) function create_option( caption, value )
...@@ -327,7 +334,7 @@ function parse_vlm_elements() ...@@ -327,7 +334,7 @@ function parse_vlm_elements()
if( elt.nodeName == "broadcast" || elt.nodeName == "vod" ) if( elt.nodeName == "broadcast" || elt.nodeName == "vod" )
{ {
var nb = document.createElement( 'div' ); var nb = document.createElement( 'div' );
nb.setAttribute( 'class', 'list_element' ); setclass( nb, 'list_element' );
if( elt.nodeName == "broadcast" ) if( elt.nodeName == "broadcast" )
{ {
vlmb.appendChild( nb ); vlmb.appendChild( nb );
...@@ -340,41 +347,31 @@ function parse_vlm_elements() ...@@ -340,41 +347,31 @@ function parse_vlm_elements()
nbname.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) ); nbname.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) );
nb.appendChild( nbname ); nb.appendChild( nbname );
var link = document.createElement( 'input' );
link.setAttribute( 'type', 'button' );
if( elt.getAttribute( 'enabled' ) == 'yes' ) if( elt.getAttribute( 'enabled' ) == 'yes' )
{ {
nb.appendChild( document.createTextNode( " enabled " ) ); nb.appendChild( document.createTextNode( " enabled " ) );
link.setAttribute( 'onclick', 'vlm_disable("'+elt.getAttribute( 'name' ) + '");' ); nb.appendChild( create_button( "Disable", 'vlm_disable("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'value', "Disable" );
} }
else else
{ {
nb.appendChild( document.createTextNode( " disabled " ) ); nb.appendChild( document.createTextNode( " disabled " ) );
link.setAttribute( 'onclick', 'vlm_enable("'+elt.getAttribute( 'name' ) + '");' ); nb.appendChild( create_button( "Enable", 'vlm_enable("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'value', "Enable" );
} }
nb.appendChild( link );
if( elt.nodeName == "broadcast" ) if( elt.nodeName == "broadcast" )
{ {
link = document.createElement( 'input' );
link.setAttribute( 'type', 'button' );
if( elt.getAttribute( 'loop' ) == 'yes' ) if( elt.getAttribute( 'loop' ) == 'yes' )
{ {
nb.appendChild( document.createTextNode( " loop " ) ); nb.appendChild( document.createTextNode( " loop " ) );
link.setAttribute( 'onclick', 'vlm_unloop("'+elt.getAttribute( 'name' ) + '");' ); nb.appendChild( create_button( 'Un-loop', 'vlm_unloop("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'value', "Un-loop" );
} }
else else
{ {
nb.appendChild( document.createTextNode( " play once " ) ); nb.appendChild( document.createTextNode( " play once " ) );
nb.appendChild( create_button( 'Loop', 'vlm_loop("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'onclick', 'vlm_loop("'+elt.getAttribute( 'name' ) + '");' );
link.setAttribute( 'value', "Loop" );
} }
nb.appendChild( link );
if( elt.getAttribute( 'enabled' ) == 'yes' ) if( elt.getAttribute( 'enabled' ) == 'yes' )
{ {
...@@ -515,28 +512,23 @@ function parse_vlm_elements() ...@@ -515,28 +512,23 @@ function parse_vlm_elements()
else if( elt.nodeName == "schedule" ) else if( elt.nodeName == "schedule" )
{ {
var nb = document.createElement( 'div' ); var nb = document.createElement( 'div' );
nb.setAttribute( 'class', 'list_element' ); setclass( nb, 'list_element' );
vlms.appendChild( nb ); vlms.appendChild( nb );
var nbname = document.createElement( 'b' ); var nbname = document.createElement( 'b' );
nbname.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) ); nbname.appendChild( document.createTextNode( elt.getAttribute( 'name' ) ) );
nb.appendChild( nbname ); nb.appendChild( nbname );
var link = document.createElement( 'input' );
link.setAttribute( 'type', 'button' );
if( elt.getAttribute( 'enabled' ) == 'yes' ) if( elt.getAttribute( 'enabled' ) == 'yes' )
{ {
nb.appendChild( document.createTextNode( " enabled " ) ); nb.appendChild( document.createTextNode( " enabled " ) );
link.setAttribute( 'onclick', 'vlm_disable("'+elt.getAttribute( 'name' ) + '");' ); nb.appendChild( create_button( "Disable", 'vlm_disable("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'value', "Disable" );
} }
else else
{ {
nb.appendChild( document.createTextNode( " disabled " ) ); nb.appendChild( document.createTextNode( " disabled " ) );
link.setAttribute( 'onclick', 'vlm_enable("'+elt.getAttribute( 'name' ) + '");' ); nb.appendChild( create_button( "Enable", 'vlm_enable("'+elt.getAttribute( 'name' ) + '");' ) );
link.setAttribute( 'value', "Enable" );
} }
nb.appendChild( link );
nb.appendChild( document.createTextNode( " " ) ); nb.appendChild( document.createTextNode( " " ) );
nb.appendChild( create_button( "Delete", 'vlm_delete("'+elt.getAttribute( 'name' ) + '");' ) ); nb.appendChild( create_button( "Delete", 'vlm_delete("'+elt.getAttribute( 'name' ) + '");' ) );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment