#!/bin/bash

IFS=$'\n'

LOL='
function lol_makeurl(url) {
    var loc, base, host;
    if(url.indexOf("://")!=-1) return url;
    loc=document.location.href;
    base=loc.substring(0,loc.lastIndexOf("/"));
    host=loc.substring(0,loc.indexOf("/",loc.indexOf("://")+3));
    if(url.charAt(0)=="/") return host+url;
    else return base+"/"+url;
}
function lol_isurl(name) {
    name=name.toLowerCase();
    if(name=="src" || name=="movie")
        return true;
    return false;
}
function lol_iterate(cow) {
    var name,value,tmp, i, str;
    str="";
    for(i=0; i<cow.attributes.length; i++) {
        name=cow.attributes[i].nodeName;
        value=cow.attributes[i].value;
        if(lol_isurl(name)) {
            str+=name+": "+lol_makeurl(value)+"\n";
        }
    }   
    return str;
}   
function lol_iterate_param(cow) {
    var name,value,tmp, i, lname, str;
    str="";
    for(i=0; i<cow.attributes.length; i++) {
        if(cow.attributes[i].nodeName.toLowerCase() == "name") name=cow.attributes[i].value;
        if(cow.attributes[i].nodeName.toLowerCase() == "value") value=cow.attributes[i].value;
    }
    if(lol_isurl(name)) 
        str+=name+": "+lol_makeurl(value)+"\n";
    return str;
}
function lol_listobjects(cow) {
    var tmp, tmp2, i, j, str;
    str="";
    tmp=document.getElementsByTagName(cow);
    if(tmp.length == 0) return "";
    
    for(i=0; i<tmp.length; i++) {
        str+=lol_iterate(tmp[i]);
        tmp2=tmp[i].getElementsByTagName("param");
        for(j=0; j<tmp2.length; j++) {
            str+=lol_iterate_param(tmp2[j]);
        }
    }
    return str;
}
function lol_listall() {
    var str;
    str="";
    str+=lol_listobjects("object");
    str+=lol_listobjects("embed");
    if(str.length==0) return "";
        
    str=document.title+":\n"+str;
    return str+"\n";
}
lol_listall();
'

konquerors=( `dcop | grep '^konqueror'` )

for konqueror in "${konquerors[@]}"
do
    widgets=( `dcop "$konqueror" | grep '^html-widget'` )
    for widget in "${widgets[@]}"
    do
        dcop "$konqueror" "$widget" "evalJS" "$LOL" 
    done
done | uniq



