#!/bin/sh
# Copyright (C) 2004 Networks Associates Technology Inc. All rights reserved.

Exit()
{
    [ ${1:-$?} -eq 0 ] && echo SUCCESS
    exit
}

FormatCmd()
{
    printf "$1" "$2" && return
    echo "$2" | awk '{printf f, $0; exit}' "f=$1"
}

Kfmclient()
{
    type kfmclient >/dev/null 2>&1 || return
    kfmclient openURL "$1" && Exit 0
}

Mozilla()
{
    url=$1
    shift
    for b; do
	if type $b >/dev/null 2>&1; then
	    bc=$b
	    break
	else
	    for f in /usr/local/*/$b; do
		"$f" -version >/dev/null 2>&1 || continue
		bc=$f
		break 2
	    done
	fi
    done
    [ -n "$bc" ] || return 1
    "$bc" -remote "OpenURL($url,new-window)" || "$bc" "$url" &
    Exit 0
}

if [ -n "$WS_BROWSER_COMMAND" ]; then
    case "$WS_BROWSER_COMMAND" in
	*%s*) cmd=`FormatCmd "$WS_BROWSER_COMMAND" "$1"`;;
	*) cmd="$WS_BROWSER_COMMAND $1";;
    esac
    $cmd &
    Exit 0
else
    kd=$HOME/.kde
    fd=$HOME/.phoenix
    md=$HOME/.mozilla
    nd=$HOME/.netscape
    xx=''
    dl=`find $kd $fd $md $nd -type d -mtime -31 -print`
    for d in `ls -td1 $dl` $kd/konqueror $fd $md $nd; do
	case $d in
	    "$kd"*konqueror*) [ -n "$kl" ] && continue
		kl='konqueror'
		Kfmclient "$1" $kl;;
	    "$fd"*) [ -n "$fl" ] && continue
		fl='firefox firebird phoenix'
		Mozilla "$1" $fl;;
	    "$md"*) [ -n "$ml" ] && continue
		ml='mozilla'
		Mozilla "$1" $ml;;
	    "$nd"*) [ -n "$nl" ] && continue
		nl='netscape'
		Mozilla "$1" $nl;;
	    *) continue;;
	esac
	xx=X$xx
	[ "$xx" = XXXX ] && break
    done
    Exit 1
fi
