// <script> added for VI syntax highlighting
if(typeof($) == 'undefined') {
	$ = Ext.get;
	$$ = Ext.query;
}
var UA = {
	$: Ext.get,
	$$: Ext.query,
	win: null,
	PREFIX: document.location.host.substr(0, document.location.host.indexOf('-')+1),

	login: function (o) {
		/*
		Shadowbox.init({ 
			//	assetURL: 'http://'+UA.PREFIX+'my.uaudio.com/includes/js/shadowbox/',
			onClose: function () {
				if(o.onComplete) o.onComplete();
			}
		});
		*/
		var is_www = document.location.href.lastIndexOf('www.uaudio.com')==-1 ? 'my' : 'www';
		if(o.onComplete) {
			UA.shadowbox_args = o.onComplete;
		}
		Shadowbox.open({ player: 'iframe', title: 'My Universal Audio Login', type: "iframe", content: 'http://'+UA.PREFIX+'my.uaudio.com/login.html?mini&www='+is_www+(o.get ? '&'+o.get : '')});
	},

	support_request: function (logged_in) {
		if(logged_in) {
			Shadowbox.init();
			Shadowbox.open({player: 'iframe', title:'Submit a request', type: 'iframe', content: 'http://'+UA.PREFIX+'my.uaudio.com/support/hs/index.php?pg=request'});
		} else {
			UA.login({get: 'support&send_to='+encodeURIComponent('http://'+UA.PREFIX+'my.uaudio.com/support/hs/index.php?pg=request')});
		}
	},

	add_to_cart: function(sku, override, skip_login) {
		var get_params = {'sku': sku};
		if(override == true) {
			get_params['override'] = true;
		}
		if(UA.win) {
			UA.win.close();
			UA.win = null;
		}

		Ext.Ajax.request({
			url: '/_scripts/add_cart.html',
			params: get_params,
			method: 'GET',
			failure: function () {
			},
			success: function (r) {
				var response = Ext.util.JSON.decode(r.responseText);
				switch(response.success) {
					case 'success':
						var cart_balance = UA.$('cart_balance');

						if(cart_balance) {
							// at the moment this doesn't display when not logged in
							cart_balance.update(response.cart_balance);
							UA.$('cart_number').update(response.total_in_cart);
							try {
								UA.$('checkout-payment').update('<img vspace="2" src="/_images/button_checkout_red.gif" />');
							} catch (err) {}
						}
						if(response.sku.indexOf('UAD-2') == 0 || response.sku.indexOf('UAD-1') == 0) {
							Ext.MessageBox.alert('', '<nobr>Plug-In '+response.sku+' has been added to your cart.</nobr><br /><nobr>Please scroll to the bottom of page to check out.</nobr>');
						} else {
							Ext.MessageBox.alert('', '<nobr>'+response.sku+' has been added to your cart.</nobr><br /><nobr>Please scroll to the bottom of page to check out.</nobr>');
						}
						break;
					case 'option':
						var uad1 = 'UAD-1-'+sku.substr(6);
						var uad2 = 'UAD-2-'+sku.substr(6);
						UA.win = new Ext.Window({
							layout: 'fit',
							width: 240,
							height: 80,
							closeAction: 'close',
							modal: true,
							draggable: false,
							closable: false,
							resizable: false,
							title: 'Select UAD-1 or UAD-2',
							html: '<div id="plugin_select" style="padding: 10px;"><button onclick="UA.add_to_cart(\''+uad1+'\', true);">Buy UAD-1</button>&nbsp;&nbsp;<button onclick="UA.add_to_cart(\''+uad2+'\', true);">Buy UAD-2</button></div>'
						});
						UA.win.show();
						break;
					case 'uad1-only':
						alert('Plugin '+response.sku+' is only available for UAD-1.\nAnd only UAD-2 cards were detected in you account.');
						break;
					case 'uad2-only':
						alert('Plugin '+response.sku+' is only available for UAD-2.\nAnd only UAD-1 cards were detected in your account.');
						break;
					case 'need-login':
						if(skip_login) break;
						UA.login({ get: 'cart', onComplete: function () { UA.add_to_cart(sku, false, true); } });
						break;
				}
			}
		});
	},

	shadowbox_complete: function () {
		if(UA.shadowbox_args) UA.shadowbox_args();
		UA.shadowbox_args = null;
	},

	product_tab : function (lnk) {
		var lnks = new Array('overview', 'details', 'features', 'reviews', 'docs');
		for(var i=0; i<lnks.length; i++) {
			if(lnk == lnks[i]) {
				UA.$(lnks[i]).removeClass('hidden');
			} else {
				UA.$(lnks[i]).addClass('hidden');
			}
		}

	}

}

Ext.onReady(function () {
	MM_preloadImages('/_images/nav_my_grey.gif','/_images/nav_products_grey.gif','/_images/nav_buy_grey.gif','/_images/nav_news_grey.gif','/_images/nav_art_grey.gif','/_images/nav_support_grey.gif','/_images/nav_comm_grey.gif','/_images/nav_media_grey.gif','/_images/nav_about_grey.gif','/_images/nav_cart_blue.gif');
	try {
		Shadowbox.init({
			onClose: function () {
				UA.shadowbox_complete();
			}
		});
	} catch (err) {}
	
	var get = Ext.urlDecode(document.location.search.substr(1));

	if(get['add_to_cart']) {
		UA.add_to_cart(get['add_to_cart']);
	}
	// catch focus on bottom login form
		var login = UA.$('login');
		if(login) {
			login.addListener('focus', function (evnt, elem) { elem.value = ''; }, this, {single: true});
			if(!Ext.isIE) {
				var password = UA.$('pass');
				password.addListener('focus', function (evnt, elem) { elem.value = ''; elem.type = 'password'; }, this, {single: true});
				password.dom.type = 'text';
				password.dom.value = 'Password';
			}
		}

	var search = UA.$$('input[@name=q]')[0];
	if(search) {
		UA.$(search).addListener('focus', function (evnt, elem) { elem.value = ''; }, this, {single: true});
	}

	var coupons = UA.$('coupons');
	if(coupons) {
		new Ext.ToolTip({
			target: coupons,
			title: 'Your Coupons',
			autoHide: false,
			closable: true,
			draggable: true,
			html: coupons.child('span').dom.innerHTML+'<hr /><div>NOTE: The entire amount of each coupon must be redeemed in one transaction. Any remaining coupon balance will not be available.</div>'
		});
	}

	Ext.QuickTips.init();
});

sfHover = function() {
	if(Ext.isIE6) {
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			var str = new String(sfEls[i].onmouseover);
			if(str != 'null') str = str.split("'")[1];

			sfEls[i].onmouseover=function() {
				if(UA.$(this).up('ul').dom.id == 'nav') {
					var n = UA.$$('img:first', this)[0].name;
					MM_swapImage(n, '', '/_images/'+n+'_grey.gif', 1);
				}
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				if(UA.$(this).up('ul').dom.id == 'nav') {
					MM_swapImgRestore();
				}
				var t = this;
				setTimeout(function () {
					t.className=t.className.replace(new RegExp(" sfhover\\b"), "");
				}, 10);
			}
		}
	} else {
		Ext.each(UA.$$('#nav li'), function (elem) {
			elem = UA.$(elem);
			elem.on({
				'mouseover': {
					fn: function () {
						elem.addClass('sfhover');
					}
				},
				'mouseout': {
					fn: function () {
						setTimeout(function () { 
							elem.removeClass('sfhover'); 
						},  10);
					}
				}
			});
		});
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
if(typeof(Shadowbox) != 'undefined') {
	Shadowbox.loadSkin('classic', 'https://my.uaudio.com/_scripts/shadowbox/skin');
}

if(typeof(console) != 'object') {
	var console = { };
	console.log = function () {};
}
document.swap_timeout = {};

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; 
	document.swap_timeout[a[0].name] = setTimeout(function () {
		for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}, 10);
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; 
	if(document.swap_timeout[a[0]]) clearTimeout(document.swap_timeout[a[0]]);
	document.MM_sr=new Array; 
	for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){
		document.MM_sr[j++]=x; 
		if(!x.oSrc) 
			x.oSrc=x.src; 
		x.src=a[i+2];
	}
}

