/*
 * =================================================================
 * Gossamer Links - enhanced directory management system
 *
 *   Website  : http://gossamer-threads.com/
 *   Support  : http://gossamer-threads.com/scripts/support/
 *   Revision : $Id: utils.js,v 1.3 2006/07/18 03:32:55 brewt Exp $
 *
 * Copyright (c) 2005 Gossamer Threads Inc.  All Rights Reserved.
 * Redistribution in part or in whole strictly prohibited. Please
 * see LICENSE file for full details.
 * =================================================================
 */

/*
Event Handler
=============
Description:
    A simple cross-browser event handler replacement.
Usage:
    registerEvent(<html_object>, <event>, <handler>);
    unregisterEvent(<html_object>, <event>, <handler>);
Example:
    registerEvent(window, 'onload', myhandler);
Notes:
    html_object is a html object that you wish to register the event on.
    event is a string containing the event you wish to register, eg. 'onload'.
    handler is a function reference for the code you wish to run when the
        event is fired.
*/
function count(u,cid) {
  if(document.images) {
    (new Image).src="http://www.banner-netmarketing.de/cgi-bin/system/check_whV2.cgi?ref="+encodeURIComponent(u)+"&ID1"+cid+"&click=yes&src=6&TabOwner=klick";
  }
  return true;
}
function swap_content( span ) {
    displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
    document.getElementById( span ).style.display = displayType;
}

function viewCate(show,hide){
	document.getElementById(hide).style.display = 'none';
	document.getElementById(show).style.display = 'block';
}
function check_all_category(w){
	var items = document.newform.length;
	for(var i=0; i<items; i++){
 if(document.newform[i].name.indexOf('fcates')==0){
 document.newform[i].checked = w;
 }
	}
}
function check_this_category(cat_id, z){
	var items = document.newform.length;
	for(var i=0; i<items; i++){
 if(document.newform[i].name.indexOf('fcates')==0 && document.newform[i].id==cat_id){
 document.newform[i].checked = z;
 }
	}
}


function load_app(id){
   alert('icon '+id+' was clicked');
}
function registerEvent(object, event, handler) {
    if (!(object && event && handler))
        return;

    var events = object[event + 'Events'];
    if (!events) {
        object[event + 'Events'] = object[event] ? [object[event], handler] : [handler];
        object[event] = _eventHandler;
    }
    else
        object[event + 'Events'][events.length] = handler;
}

function unregisterEvent(object, event, handler) {
    if (!(object && event && handler))
        return;

    var events = object[event + 'Events'];
    if (!events)
        return;

    for (var i = 0; i < events.length; i++)
        if (object[event + 'Events'][i] == handler)
            return object[event + 'Events'].splice(i, 1);
}

function _eventHandler(event) {
    if (!event) event = window.event;

    var events = this['on' + event.type + 'Events'];
    if (!events)
        return;

    for (var i = 0; i < events.length; i++) {
        this.eventMethod = events[i];
        if (this.eventMethod(event) == false) {
            this.eventMethod = null;
            return false;
        }
        this.eventMethod = null;
    }
}

/* tracking */
function trackConv() { 
    var google_conversion_id                = 1044960539;
    var google_conversion_label             = "p_cbCIfHvQEQm6qj8gM"; 
    image = new Image(1,1); 
    image.src = "http://www.googleadservices.com/pagead/conversion/1044960539/?label=p_cbCIfHvQEQm6qj8gM&amp;script=0"; 
}
				
/*
Check All Checkbox
==================
Description:
    Code to implement a check all checkbox.
Usage:
    checkAllInit(<form_id>, <checkbox_name>, <checkall_id>);
Example:
    registerEvent(window, 'onload', function () { checkAllInit('my_form', 'ID', 'checkall') });
*/

function checkAllInit(form, checkBoxes, checkAllBox) {
    var oForm, oCheckBoxes, oCheckAllBox;
    if (!(form && checkBoxes && checkAllBox &&
        (oForm = document.getElementById(form)) &&
        (oCheckBoxes = oForm.elements[checkBoxes]) &&
        (oCheckAllBox = document.getElementById(checkAllBox))))
        return;

    oCheckAllBox.checkBoxes = oCheckBoxes;
    registerEvent(oCheckAllBox, 'onclick', _checkAllBoxes);
    for (var i = 0; i < oCheckBoxes.length; i++) {
        oCheckBoxes[i].checkAllBox = oCheckAllBox;
        registerEvent(oCheckBoxes[i], 'onclick', _updateAllBoxes);
    }
}

function _checkAllBoxes() {
    var checkBoxes = this.checkBoxes;
    for (var i = 0; i < checkBoxes.length; i++)
        checkBoxes[i].checked = this.checked;
}

function _updateAllBoxes() {
    var checkBoxes = this.form.elements[this.name];
    var allChecked = true;
    for (var i = 0; i < checkBoxes.length; i++) {
        if (!checkBoxes[i].checked) {
            allChecked = false;
            break;
        }
    }
    this.checkAllBox.checked = allChecked;
}

/*
Hide Objects
============
Description:
    Hide a list of html objects using the display = 'none' style.
Usage:
    hideObjects(<id>[, <id>]*);
Example:
    hideObjects('foo', 'bar', 'baz');
Notes:
    id is the id of the html object you want to hide.
*/

function hideObjects() {
    var args = hideObjects.arguments;
    for (var i = 0; i < args.length; i++) {
        var obj = document.getElementById(args[i]);
        if (obj)
            obj.style.display = 'none';
    }
}
