summaryrefslogtreecommitdiff
path: root/functions.js
diff options
context:
space:
mode:
Diffstat (limited to 'functions.js')
-rw-r--r--functions.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/functions.js b/functions.js
index 4aa5486a3..5c1b26a59 100644
--- a/functions.js
+++ b/functions.js
@@ -2133,3 +2133,32 @@ function truncate_string(s, length) {
if (s.length > length) tmp += "…";
return tmp;
}
+function switchToFlash(e) {
+ var targ = e;
+ if (!e) var e = window.event;
+ if (e.target) targ = e.target;
+ else if (e.srcElement) targ = e.srcElement;
+ if (targ.nodeType == 3) // defeat Safari bug
+ targ = targ.parentNode;
+
+ //targ is the link that was clicked
+ var audioTag=targ;
+ do {
+ audioTag=audioTag.previousSibling;
+ } while(audioTag && audioTag.nodeType != 1)
+
+ var flashPlayer = audioTag.getElementsByTagName('div')[0];
+ targ.parentNode.insertBefore(flashPlayer,targ);
+ targ.parentNode.removeChild(targ);
+ audioTag.parentNode.removeChild(audioTag);
+
+ return false;
+}
+function html5AudioOrFlash(type) {
+ var audioTag = document.createElement('audio');
+ if(! audioTag.canPlayType || audioTag.canPlayType(type)=="no"){
+ if($('switchToFlashLink')){
+ switchToFlash($('switchToFlashLink'));
+ }
+ }
+}