dojo.require("dojo.parser");
dojo.require("dojo.fx");
dojo.require("dijit.form.Button");
dojo.require("dijit.Dialog");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.Tooltip");

function wipeIn( id )
{
	var height		= 0;
	var	nodeMatch	= false;
	var divs = document.getElementsByTagName('div');
	for( var i in divs )
	{
            var node = divs[i];
            if( node.className == 'product-detail' )
            {
                node.style.display = 'none';
                if( node.id == id ) nodeMatch = true;
				if( !nodeMatch ){ height += 100; }
            }
	}
	window.scrollTo(0,height);
	document.getElementById(id).style.display = '';
}
function wipeOut( id )
{
	document.getElementById(id).style.display = 'none';
}

function disablePaste( e, field )
{
	var keyId = e.keyCode;
	if( keyId == 17 || keyId == 224 ) // CTRL or Apple Command
	{
		field.value = '';
	}
}

function toggleGift()
{
	var isGift = ( dojo.byId('g').checked ) ? 1 : 0;
	if( isGift )
	{
		dojo.byId('gift_fields').style.display 	= '';
	}
	else
	{
		dojo.byId('gift_fields').style.display 	= 'none';
	}
}
function toggleFields()
{
	if( dojo.byId('m').checked )
	{
		dojo.byId('first').value 		= dojo.byId('b_first').value;
		dojo.byId('last').value 		= dojo.byId('b_last').value;
		dojo.byId('email').value 		= dojo.byId('b_email').value;
		dojo.byId('email_confirm').value= dojo.byId('b_email_confirm').value;
	}
}

function triggerAction( action )
{
	dojo.addOnLoad( function(){
		if( action == 'activate' )
		{
			dojo.byId('voucher-action').action = action+'-it.php';
			dijit.byId('voucherAction').titleNode.innerHTML = 'Activate It... I have a Voucher in hand, and need to Activate it';
			dojo.byId('voucherText').innerHTML 		= '<p>If you have a Voucher in hand, enter the Serial # below to activate it.</p>';
			dojo.byId('voucherSubmit').innerHTML 	= 'Activate It!';
		}
		else if( action == 'register' )
		{
			dojo.byId('voucher-action').action = action+'-it.php';
			dijit.byId('voucherAction').titleNode.innerHTML = 'Register It... I bought a Voucher or got one as a gift';
			dojo.byId('voucherText').innerHTML 		= '<p>If you have just bought or received a Voucher as a gift, enter the Serial # below to register it in your name.</p>';
			dojo.byId('voucherSubmit').innerHTML 	= 'Register It!';
		}
		else if( action == 'redeem' )
		{
			dojo.byId('voucher-action').action = action+'-it.php';
			dijit.byId('voucherAction').titleNode.innerHTML = 'Redeem It... Oops! I got a ticket! Redeem your voucher';
			dojo.byId('voucherText').innerHTML 		= '<p>If you\'ve received a traffic ticket, enter your Serial # to redeem your Voucher.</p>';
			dojo.byId('voucherSubmit').innerHTML 	= 'Redeem It!';
		}
		else
		{
			dojo.byId('voucher-action').action = '';
		}
		dojo.byId('action').value = action;
		dijit.byId('voucherAction').show();
	} );
}
function performAction( action )
{
	if( action == 'Activate It!' )
	{
		action = 'activate';
	}
	else if( action == 'Register It!' )
	{
		action = 'register';
	}
	else if( action == 'Redeem It!' )
	{
		action = 'redeem';
	}
	else
	{
		action = 'activate';
	}
	dojo.byId('action').value = action;
	setTimeout( function(){dojo.byId('voucher-action').submit();}, 500);
}
function viewProduct( id )
{
	dojo.xhrPost({
		sync: true,
		url:"products.php",
		content: {
			"action":	"get",
			"id":		id
		},
		load: function(data,ioargs){ 
			dojo.byId('productDetails').innerHTML = data;
			dijit.byId('productDialog').show();
		}
	});
}
function toggleNewMail( display )
{
	dojo.byId('new-mail').style.display = ( display ) ? 'block' : 'none';
}
function sendMail()
{
	var name 	= dojo.byId('m_name').value;
	var email 	= dojo.byId('m_email').value;
	var message = dojo.byId('m_message').value;
	dojo.xhrPost({
		sync: true,
		url:"contact-us.php",
		content: {
			"action":	"email",
			"name":		name,
			"email":	email,
			"body":		message
		},
		load: function(data,ioargs){ 
			if( data != '1' )
			{
				alert(data);
			}
			else
			{
				dojo.byId('new-mail').style.display 	= 'none';
				dojo.byId('mail-sent').style.display 	= 'block';
				dojo.byId('m_name').value 				= '';
				dojo.byId('m_email').value				= '';
				dojo.byId('m_message').value			= '';
				setTimeout( function(){
					dojo.byId('new-mail').style.display 	= 'none';
					dojo.byId('mail-sent').style.display 	= 'none';
				}, 10000 );
			}
		}
	});
}
function toggleStates( country )
{
	if( country == 'AUS' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="buyer[state]" id="b_state" class="extend" tabindex="5">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="Australia">'+
			'<option value="ACT">Australian Capital Territory</option>'+
			'<option value="NSW">New South Wales</option>'+
			'<option value="NT">Northern Territory</option>'+
			'<option value="QLD">Queensland</option>'+
			'<option value="SA">South Australia</option>'+
			'<option value="TAS">Tasmania</option>'+
			'<option value="VIC">Victoria</option>'+
			'<option value="WA">Western Australia</option>'+
			'</optgroup>'+
			'</select>';
	}
	else if( country == 'CAN' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="buyer[state]" id="b_state" class="extend" tabindex="5">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="Canada">'+
			'<option value="AB">Alberta</option>'+
			'<option value="BC">British Columbia</option>'+
			'<option value="MB">Manitoba</option>'+
			'<option value="NB">New Brunswick</option>'+
			'<option value="NL">Newfoundland and Labrador</option>'+
			'<option value="NT">Northwest Territory</option>'+
			'<option value="NS">Nova Scotia</option>'+
			'<option value="ON">Ontario</option>'+
			'<option value="PE">Prince Edward Island</option>'+
			'<option value="QC">Quebec</option>'+
			'<option value="SK">Saskatchewan</option>'+
			'<option value="YT">Yukon Territory</option>'+
			'</optgroup>'+
			'</select>';
	}
	else if( country == 'USA' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="buyer[state]" id="b_state" class="extend" tabindex="5">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="United States">'+
			'<option value="AL">Alabama</option>'+
			'<option value="AK">Alaska</option>'+
			'<option value="AZ">Arizona</option>'+
			'<option value="AR">Arkansas</option>'+
			'<option value="CA">California</option>'+
			'<option value="CO">Colorado</option>'+
			'<option value="CT">Connecticut</option>'+
			'<option value="DE">Delaware</option>'+
			'<option value="DC">District Of Columbia</option>'+
			'<option value="FL">Florida</option>'+
			'<option value="GA">Georgia</option>'+
			'<option value="HI">Hawaii</option>'+
			'<option value="ID">Idaho</option>'+
			'<option value="IL">Illinois</option>'+
			'<option value="IN">Indiana</option> '+
			'<option value="IA">Iowa</option> '+
			'<option value="KS">Kansas</option> '+
			'<option value="KY">Kentucky</option> '+
			'<option value="LA">Louisiana</option> '+
			'<option value="ME">Maine</option> '+
			'<option value="MD">Maryland</option>'+ 
			'<option value="MA">Massachusetts</option> '+
			'<option value="MI">Michigan</option> '+
			'<option value="MN">Minnesota</option> '+
			'<option value="MS">Mississippi</option> '+
			'<option value="MO">Missouri</option> '+
			'<option value="MT">Montana</option> '+
			'<option value="NE">Nebraska</option> '+
			'<option value="NV">Nevada</option> '+
			'<option value="NH">New Hampshire</option> '+
			'<option value="NJ">New Jersey</option> '+
			'<option value="NM">New Mexico</option> '+
			'<option value="NY">New York</option> '+
			'<option value="NC">North Carolina</option> '+
			'<option value="ND">North Dakota</option> '+
			'<option value="OH">Ohio</option> '+
			'<option value="OK">Oklahoma</option> '+
			'<option value="OR">Oregon</option> '+
			'<option value="PA">Pennsylvania</option> '+
			'<option value="RI">Rhode Island</option> '+
			'<option value="SC">South Carolina</option> '+
			'<option value="SD">South Dakota</option> '+
			'<option value="TN">Tennessee</option> '+
			'<option value="TX">Texas</option> '+
			'<option value="UT">Utah</option> '+
			'<option value="VT">Vermont</option>'+ 
			'<option value="VA">Virginia</option> '+
			'<option value="WA">Washington</option> '+
			'<option value="WV">West Virginia</option>'+ 
			'<option value="WI">Wisconsin</option> '+
			'<option value="WY">Wyoming</option>'+
			'</optgroup>'+
			'</select>';
	}
	else
	{
		dojo.byId('b_state').innerHTML = ''+
			'<select name="buyer[state]" id="b_state" class="extend" tabindex="5">'+
			'<option value="">Select a Country</option>'+
			'</select>';
	}
}
function toggleOwnerStates( country )
{
	if( country == 'AUS' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="owner[state]" id="o_state" class="extend" tabindex="12">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="Australia">'+
			'<option value="ACT">Australian Capital Territory</option>'+
			'<option value="NSW">New South Wales</option>'+
			'<option value="NT">Northern Territory</option>'+
			'<option value="QLD">Queensland</option>'+
			'<option value="SA">South Australia</option>'+
			'<option value="TAS">Tasmania</option>'+
			'<option value="VIC">Victoria</option>'+
			'<option value="WA">Western Australia</option>'+
			'</optgroup>'+
			'</select>'+
			'<span class="required">*</span>';
	}
	else if( country == 'CAN' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="owner[state]" id="o_state" class="extend" tabindex="12">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="Canada">'+
			'<option value="AB">Alberta</option>'+
			'<option value="BC">British Columbia</option>'+
			'<option value="MB">Manitoba</option>'+
			'<option value="NB">New Brunswick</option>'+
			'<option value="NL">Newfoundland and Labrador</option>'+
			'<option value="NT">Northwest Territory</option>'+
			'<option value="NS">Nova Scotia</option>'+
			'<option value="ON">Ontario</option>'+
			'<option value="PE">Prince Edward Island</option>'+
			'<option value="QC">Quebec</option>'+
			'<option value="SK">Saskatchewan</option>'+
			'<option value="YT">Yukon Territory</option>'+
			'</optgroup>'+
			'</select>'+
			'<span class="required">*</span>';
	}
	else if( country == 'USA' )
	{
		dojo.byId('state').innerHTML = ''+
			'<select name="owner[state]" id="o_state" class="extend" tabindex="12">'+
			'<option value="">Select a State/Province</option>'+
			'<optgroup label="United States">'+
			'<option value="AL">Alabama</option>'+
			'<option value="AK">Alaska</option>'+
			'<option value="AZ">Arizona</option>'+
			'<option value="AR">Arkansas</option>'+
			'<option value="CA">California</option>'+
			'<option value="CO">Colorado</option>'+
			'<option value="CT">Connecticut</option>'+
			'<option value="DE">Delaware</option>'+
			'<option value="DC">District Of Columbia</option>'+
			'<option value="FL">Florida</option>'+
			'<option value="GA">Georgia</option>'+
			'<option value="HI">Hawaii</option>'+
			'<option value="ID">Idaho</option>'+
			'<option value="IL">Illinois</option>'+
			'<option value="IN">Indiana</option> '+
			'<option value="IA">Iowa</option> '+
			'<option value="KS">Kansas</option> '+
			'<option value="KY">Kentucky</option> '+
			'<option value="LA">Louisiana</option> '+
			'<option value="ME">Maine</option> '+
			'<option value="MD">Maryland</option>'+ 
			'<option value="MA">Massachusetts</option> '+
			'<option value="MI">Michigan</option> '+
			'<option value="MN">Minnesota</option> '+
			'<option value="MS">Mississippi</option> '+
			'<option value="MO">Missouri</option> '+
			'<option value="MT">Montana</option> '+
			'<option value="NE">Nebraska</option> '+
			'<option value="NV">Nevada</option> '+
			'<option value="NH">New Hampshire</option> '+
			'<option value="NJ">New Jersey</option> '+
			'<option value="NM">New Mexico</option> '+
			'<option value="NY">New York</option> '+
			'<option value="NC">North Carolina</option> '+
			'<option value="ND">North Dakota</option> '+
			'<option value="OH">Ohio</option> '+
			'<option value="OK">Oklahoma</option> '+
			'<option value="OR">Oregon</option> '+
			'<option value="PA">Pennsylvania</option> '+
			'<option value="RI">Rhode Island</option> '+
			'<option value="SC">South Carolina</option> '+
			'<option value="SD">South Dakota</option> '+
			'<option value="TN">Tennessee</option> '+
			'<option value="TX">Texas</option> '+
			'<option value="UT">Utah</option> '+
			'<option value="VT">Vermont</option>'+ 
			'<option value="VA">Virginia</option> '+
			'<option value="WA">Washington</option> '+
			'<option value="WV">West Virginia</option>'+ 
			'<option value="WI">Wisconsin</option> '+
			'<option value="WY">Wyoming</option>'+
			'</optgroup>'+
			'</select>'+
			'<span class="required">*</span>';
	}
	else
	{
		dojo.byId('o_state').innerHTML = ''+
			'<select name="owner[state]" id="o_state" class="extend" tabindex="5">'+
			'<option value="">Select a Country</option>'+
			'</select>';
	}
}
function applyPromo()
{
	var code = dojo.byId('promo_code').value;
	dojo.xhrPost({
		sync: true,
		url:"promos.php",
		content: {
			"action":	"get",
			"code":		code
		},
		load: function(data,ioargs){
			dojo.byId('promo_code').value = '';
			if( data == '')
			{
				alert("Sorry, the promo code you entered \""+code+"\" is not a valid promotional code.");
			}
			else
			{
				// If promo already exists
				if( document.getElementById('promo_row') != undefined )
				{
					dojo.byId('items').removeChild( dojo.byId('promo_row') );
				}
				
				eval("var promoStore = "+data+";"); 
				var tr = dojo.create("TR");
					tr.className = 'discount';
					tr.id		= 'promo_row';
				var td_item = dojo.create("TD");
					td_item.className = 'left';
					td_item.innerHTML = promoStore.name+'<br><small>'+promoStore.summary+'</small>';
					tr.appendChild( td_item );
				var td_valid = dojo.create("TD");
					td_valid.colSpan = 2;
					tr.appendChild( td_valid );
				var td_price = dojo.create("TD");
					td_price.innerHTML = promoStore.price;
					tr.appendChild( td_price );
				var td_total = dojo.create("TD");
					td_total.innerHTML = promoStore.price;
					tr.appendChild( td_total );
				var td_delete = dojo.create("TD");
					td_delete.innerHTML = '<input type="checkbox" id="delete'+promoStore.id+'" name="promos[]" value="'+promoStore.id+'" /><br /><small><label for="delete'+promoStore.id+'">Remove</label></small>';
					tr.appendChild( td_delete );
					
				dojo.byId('items').appendChild( tr );
				dojo.byId('total_cost').innerHTML = '$'+promoStore.total;
			}
		}	
	});
}
function submitOrder()
{
	dijit.byId('loading').show();
	dojo.xhrPost({
		sync: true,
		url:"checkout.php?complete=1",
		form: 'checkout',
		load: function(data,ioargs){ 
			var iframe = dojo.create("IFRAME", {
				'src': 'unset.php',
				'style': 'display: none'
			});
			document.body.appendChild(iframe);
			
			setTimeout( function(){
				dojo.byId('order_id').value = data;
				dojo.byId('item_number').value = data;
				dojo.byId('paypal').submit();
			}, 2500 );
		}
	});
}
function distributorLogin()
{
	dojo.xhrPost({
		sync: true,
		url:"distributor.php",
		content: {
			'action': 'login',
			'code': dojo.byId('distributor_code').value,
		},
		load: function(data,ioargs)
		{ 
			if( data == '1' )
			{
				dojo.byId('dlogin').submit()
				return true;
			}
			else
			{
				dojo.byId('distributor_msg').innerHTML = data;
				return false;
			}
		}
	});
}
function toggleAgreement( checked )
{
	var disabled = !checked;
	dojo.byId('citation_number').disabled = disabled;
	dojo.byId('citation_name').disabled = disabled;
	dojo.byId('date_month').disabled = disabled;
	dojo.byId('date_day').disabled = disabled;
	dojo.byId('date_year').disabled = disabled;
	dojo.byId('due_date_month').disabled = disabled;
	dojo.byId('due_date_day').disabled = disabled;
	dojo.byId('due_date_year').disabled = disabled;
	dojo.byId('citation_city').disabled = disabled;
	dojo.byId('citation_payee').disabled = disabled;
	dojo.byId('citation_url').disabled = disabled;
	dojo.byId('citation_notes').disabled = disabled;
}
/*
function showSecurityCode()
{
	var cc_type = dojo.byId('b_type').value;
	dojo.byId('_amex').style.display 		= ( cc_type == 'American Express' ) ? 'block' : 'none';
	dojo.byId('_discover').style.display 	= ( cc_type == 'Discover' ) 		? 'block' : 'none';
	dojo.byId('_master').style.display 		= ( cc_type == 'MasterCard' ) 		? 'block' : 'none';
	dojo.byId('_visa').style.display 		= ( cc_type == 'VISA' || cc_type == '' )? 'block' : 'none';
	dijit.byId('security_code').show();
}
function updateTooltip( payment_type )
{
	var tooltip_cc_num = '';
	var tooltip_cc_cvv = '';
	if( payment_type == 'American Express' )
	{
		tooltip_cc_num = 'A 15-digit number, embossed on the face of the American Express card.';
		tooltip_cc_cvv = 'Must be 4 digits.';
	}
	else if( payment_type == 'Discover' )
	{
		tooltip_cc_num = 'A 16-digit number, embossed on the face of the Discover card.';
		tooltip_cc_cvv = 'Must be 3 digits.';
	}
	else if( payment_type == 'MasterCard' )
	{
		tooltip_cc_num = 'A 16-digit number, embossed on the face of the MasterCard.';
		tooltip_cc_cvv = 'Must be 3 digits.';
	}
	else if( payment_type == 'VISA' )
	{
		tooltip_cc_num = 'A 16-digit number, embossed on the face of the VISA card.';
		tooltip_cc_cvv = 'Must be 3 digits.';
	}
	else
	{
		tooltip_cc_num = 'Please select a payment type.';
		tooltip_cc_cvv = 'Please select a payment type.';
	}
	tooltip_cc_num += ' Spaces and dashes are OK.';
	
	dijit.byId('connect_b_num').label = tooltip_cc_num;
	if( dijit.byId('connect_b_cvv_error') )
	{
		dijit.byId('connect_b_cvv_error').label = tooltip_cc_cvv;
	}
}*/
