function install( aEvent, extName, iconURL, extHash)  {   

    if (aEvent.altKey || !window.InstallTrigger)
        return true;

    var url = getInstallURL(aEvent);

    if (url) {

        var params = new Array();

        params[extName] = {
            URL: url,
            IconURL: iconURL,
            toString: function () { return this.URL; }
        };

        // Only add the Hash param if it exists.
        //
        // We optionally add this to params[] because installTrigger
        // will still try to compare a null hash as long as the var is set.
        if (extHash) {
            params[extName].Hash = extHash;
        }

        InstallTrigger.install(params);

        return false;
    }
    return true;
}

function getInstallURL( aEvent ) {
 
    // The event target might be the link itself or one of its children
    var target = aEvent.target;
    while (target && !target.href)
      target = target.parentNode;
    
    return target && target.href;
}

function installFunc(pUrl){

	var params = new Array();
	var iconURL = '';
	var extHash = ''; // 'sha1:1648da03a621cfb158bae03205705b0096b91cb5'; // this causes issues
	var extName = 'wecarereminder';
	var url = '/FFPlugIn/wecarereminder.xpi';
	if(pUrl){
		url = pUrl
	}
	
    params[extName] = {
        URL: url,
        IconURL: iconURL,
        toString: function () { return this.URL; }
    };

    // Only add the Hash param if it exists.
    //
    // We optionally add this to params[] because installTrigger
    // will still try to compare a null hash as long as the var is set.
    if (extHash != '' ) {
        params[extName].Hash = extHash;
    }

    InstallTrigger.install(params);
    //return false;
}
