/************************************************/
/* IPB3 Badge-Hunter Javascript					*/
/* -------------------------------------------- */
/* bh.badge.js - Popup							*/
/* (c) IPS, Inc 2008							*/
/* -------------------------------------------- */
/* Author: Anthony Steiner						*/
/************************************************/

var _badgehunter = window.IPBoard;

_badgehunter.prototype.badgehunter = {
	
	/*------------------------------*/
	/* Constructor */
	init : function() {
		Debug.write("Initializing bh.badge.js");

		document.observe("dom:loaded", function() {
			ipb.badgehunter.initEvents();
		});
		
	},

	initEvents : function() {
		// Delegate the badge popup
		ipb.delegate.register(".__badge", ipb.badgehunter.badgePopup);
		ipb.delegate.register(".__mappip", ipb.badgehunter.MapPip);
		
		ipb.delegate.register(".__ibadge", ipb.badgehunter.badgePopup, true );
		ipb.delegate.register(".__imappip", ipb.badgehunter.MapPip, true);
	},

	badgePopup : function(e, elem, params) {
			
		Event.stop(e);
	
		var sourceid = elem.identify();
		var badge = $(elem).className.match('__id([0-9]+)');
		var faction = $(elem).className.match('__faction([V|v|H|v])');
		var charid = $(elem).className.match('__char([0-9]+)');
		var _type = $(elem).className.match('__type([B|P])');
		var _is_inner = params;

		if (badge == null || Object.isUndefined(badge[1])) {
			badge = 0;
		} else {
			badge = badge[1];
		}		
		
		if (charid == null || Object.isUndefined(charid[1])) {
			charid = 0;
		} else {
			charid = charid[1];
		}

		if (faction == null || Object.isUndefined(faction[1])) {
			faction = 'H';
		} else {
			faction = faction[1];
		}

		if (_type == null || Object.isUndefined(_type[1])) {
			_type = 'pane';
		} else {
			if (_type[1] == 'B') {
				_type = 'balloon';
			} else {
				_type = 'pane';
			}
		}

		if (badge == null || Object.isUndefined(badge) || badge == 0 ) {
			Debug.error("Error showing popup");
			return;
		}
		
		var popid = 'popup_' + badge + '_badge';

		var _url = ipb.vars['base_url'] + '/page/view_badge?&id=' + badge
				+ '&faction=' + faction + '&char=' + charid;

		if (_is_inner)
		{
			ipb.namePops['badge_pop'].ready = false;		
			ipb.namePops['badge_pop'].options.ajaxURL = _url;		
			ipb.namePops['badge_pop'].options.type = _type;			
			ipb.namePops['badge_pop'].updateAjax();
			ipb.namePops['badge_pop'].continueInit();
			
		}
		else
		{
			ipb.namePops['badge_pop'] = new ipb.Popup(popid, {
				type : _type,
				ajaxURL : _url,
				stem : true,
				hideAtStart : false,
				attach : {
					target : elem,
					position : 'auto'
				},
				w : '510px'
			});
		}
				
	},
	
	MapPip : function(e, elem, params) {
		Event.stop(e);

		var sourceid = elem.identify();
		var pip = $(elem).className.match('__id([0-9]+)');
		var badge = $(elem).className.match('__badgeid([0-9]+)');
		var faction = $(elem).className.match('__faction([V|v|H|v])');
		var charid = $(elem).className.match('__char([0-9]+)');
		var _type = $(elem).className.match('__type([B|P])');
		var _is_inner = params;
		
		if (pip == null || Object.isUndefined(pip[1])) {
			return pip;
		} else {
			pip = pip[1];
		}

		if (badge == null || Object.isUndefined(badge[1])) {
			badge = 0;
		} else {
			badge = badge[1];
		}


		if (charid == null || Object.isUndefined(charid[1])) {
			charid = 0;
		} else {
			charid = charid[1];
		}

		if (faction == null || Object.isUndefined(faction[1])) {
			faction = 'H';
		} else {
			faction = faction[1];
		}

		if (_type == null || Object.isUndefined(_type[1])) {
			_type = 'pane';
		} else {
			if (_type[1] == 'B') {
				_type = 'balloon';
			} else {
				_type = 'pane';
			}
		}

		if (pip == null || Object.isUndefined(pip)) {
			Debug.error("Error showing popup");
			return;
		}

		var popid = 'popup_' + pip + '_screenshot';
		
		var _url = ipb.vars['base_url'] + '/page/view_zone_sc?&id=' + pip;
		
		if (_is_inner)
		{
		
			ipb.namePops['badge_pop'].ready = false;
			ipb.namePops['badge_pop'].options.ajaxURL = _url + '&badgeID=' + badge + '&badgeFaction=' + faction;;						
			ipb.namePops['badge_pop'].updateAjax();	
			ipb.namePops['badge_pop'].continueInit();			
		}
		else
		{
			ipb.namePops['screenshot_pop'] = new ipb.Popup(popid, {
				modal: false,
				type : _type,
				ajaxURL: _url,
				stem : false,
				hideAtStart : false,
				w : '510px'
			});
		}
	}


}
ipb.badgehunter.init();;
