/*
 * @author Luis Merino
 * @copyright author
 * 
 * @created Sat Feb 20 01:50:45 CET 2010
 */

(function(){
	
	var instance = null;
		
	var Thawte = this.Thawte = new Class({
	
		Implements: [Options],
		
		options: {
			element: 'thawte-seal'
		},
		
		initialize: function(options){
			if (instance) return instance;
			instance = this;
			this.setOptions(options);
			this.setup();
			this.build();
		},
		
		setup: function(){
			var lang = MooTools.lang.getCurrentLanguage().substr(0, 2) || Thawte.params.lang;
			var gmtOffset = new Date().getTimezoneOffset();
			this.u1 = Thawte.params.splash_url
					+ "/thawtesplash?form_file=fdf/thawtesplash.fdf&dn=" + Thawte.params.dn
					+ "&lang=" + lang;
			this.u2 = Thawte.params.seal_url
					+ "/getthawteseal?at=0&sealid=" + Thawte.params.sealid
					+ "&dn=" + Thawte.params.dn
					+ "&lang=" + lang
					+ "&gmtoff=" + gmtOffset;
					
			document.addEvent('mouseup', this.vMact.bind(this), true);
			/* Odd part, planned to remove this */
			if (document.layers) {
				document.captureEvents(Event.MOUSEDOWN);
				document.onmousedown = v_mact;
				var pageWidth = innerWidth;
				var pageHeight = innerHeight;
				window.addEvent('resize', function(){
					if (pageWidth != innerWidth || pageHeight != innerHeight) {
						self.history.go(0);
					}
				}, true);
			}
			/* -- */
		},
		
		build: function(){
			new Element('a', {
				'href': this.u1,
				'tabindex': '-1',
				'target': 'THAWTE_Splash',
				'events': {
					'mousedown': this.vMDown.bind(this)
				}
			}).adopt(
				new Element('img', {
					'src': this.u2,
					'border': 'true',
					'name': 'seal',
					'oncontextmenu': $lambda(false),
					'alt': Vadingo.translationManager._('Click to Verify - This site has chosen a Thawte SSL Certificate to improve website security')
				})
			).inject(this.options.element);
		},
		// Base Open Splash Page Function
		thawteSplash: function() {
			var tbar = "location=yes,status=yes,resizable=yes,scrollbars=yes,width=516,height=500";
			var sw = window.open(this.u1, 'THAWTE_Splash', tbar);
			if (sw) sw.focus();
		},
		// Event listener for browsers. (calls thawteSplash)
		// This is for newer browsers
		vMact: function(event) {
			if (document.addEventListener) {
				var s = (event.target.name == "seal");
				if (s) {
					this.thawteSplash();
					return false;
				}
			} else if(document.captureEvents) {
				var tgt = event.target.toString();
				var s = (tgt.indexOf("splash") != -1);
				if (s) {
					this.thawteSplash();
					return false;
				}
			}
			return true;
		},
		// Function called when image is clicked (calls thawte_splash)
		// This is for older browsers
		vMDown: function(event) {
			if (document.addEventListener) return true;
			event = event || window.event;
			if (event) {
				if (event.button == 1) {
					this.thawteSplash();
					return false;
				} else if (event.button == 2) {
					this.thawteSplash();
					return false;
				}
			}
			return true;
		}
		
	});

	$extend(Thawte, {
		params: {
			dn: 'WWW.VADINGO.COM',
			lang: 'en',
			sealid: 0,
			splash_url: 'https://sealinfo.thawte.com',
			seal_url: 'https://seal.thawte.com'
		}
	});
	
})();