
(function($) {
var _rootUrl = '/', _serverUrl = _rootUrl + 'ezjscore/', _seperator = '@SEPERATOR$';
if ( window.XMLHttpRequest && window.ActiveXObject )
$.ajaxSettings.xhr = function() { try { return new window.ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {} };
function _ez( callArgs, post, callBack )
{
callArgs = callArgs.join !== undefined ? callArgs.join( _seperator ) : callArgs;
var url = _serverUrl + 'call/';
if ( post )
{
var _token = '', _tokenNode = document.getElementById('ezxform_token_js');
if ( _tokenNode ) _token = _tokenNode.getAttribute('title');
if ( post.join !== undefined )// support serializeArray() format
{
post.push( { 'name': 'ezjscServer_function_arguments', 'value': callArgs } );
post.push( { 'name': 'ezxform_token', 'value': _token } );
}
else if ( typeof(post) === 'string' )// string
{
post += ( post ? '&' : '' ) + 'ezjscServer_function_arguments=' + callArgs + '&ezxform_token=' + _token;
}
else // object
{
post['ezjscServer_function_arguments'] = callArgs;
post['ezxform_token'] = _token;
}
return $.post( url, post, callBack, 'json' );
}
return $.get( url + encodeURIComponent( callArgs ), {}, callBack, 'json' );
};
_ez.url = _serverUrl;
_ez.root_url = _rootUrl;
_ez.seperator = _seperator;
$.ez = _ez;
function _ezLoad( callArgs, post, selector, callBack )
{
callArgs = callArgs.join !== undefined ? callArgs.join( _seperator ) : callArgs;
var url = _serverUrl + 'call/';
if ( post )
{
post['ezjscServer_function_arguments'] = callArgs;
post['ezxform_token'] = jQuery('#ezxformtoken').attr('title');
}
else
url += encodeURIComponent( callArgs );
return this.load( url + ( selector ? ' ' + selector : '' ), post, callBack );
};
$.fn.ez = _ezLoad;
})(jQuery);
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (obj, start) {
for (var i = (start || 0); i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
return -1;
}
}
jQuery( function ($) {
var prodTable = $('div.prod-table'),
tooltips = prodTable.find('[data-tooltip-use]'),
tooltipTpl = prodTable.find('.productTpl').html();
if (tooltips.length) {
tooltips.tooltip('product', {
template: tooltipTpl
});
}
if (window.Autocompleter) {
var schoolIdInput = $('#school_lookup_relationlist'),
registerForm = $('form.register-user'),
institutionToggler = $('#use-institution-toggler'),
schoolLookup = $('#school_lookup'),
addressCompleter = new AddressCompleter,
addressMirror = registerForm.find('.same-as');
addressCompleter.setFields({
address: registerForm.find('.address').find('input'),
postal: registerForm.find('.postal').find('input'),
city: registerForm.find('.city').find('input'),
country: registerForm.find('.country').find('select'),
billing_name: registerForm.find('.billing-name').find('input'),
billing_address: registerForm.find('.billing-address').find('input'),
billing_postal: registerForm.find('.billing-postal').find('input'),
billing_city: registerForm.find('.billing-city').find('input'),
billing_country: registerForm.find('.billing-country').find('select')
});
new Autocompleter({
input: schoolLookup,
output: $('#schoolOutput'),
template: $('.schoolOutputTpl').html(),
onSelect: function (data) {
this.input.val( data.name );
schoolIdInput.val( data.id );
addressCompleter.fetchInstitution( data.id, function() {
addressCompleter.fillForm();
var addressFields = addressCompleter.getFields(),
mirroredFields = [
addressFields.address.val(), addressFields.billing_address.val(),
addressFields.postal.val(), addressFields.billing_postal.val(),
addressFields.city.val(), addressFields.billing_city.val(),
addressFields.country.val(), addressFields.billing_country.val(),
],
mirrored = true;
for (var i = 0; i < mirroredFields.length; i+=2) {
var field1 = mirroredFields[i],
field2 = mirroredFields[i+1];
console.log(field1 + ' === ' + field2);
if (field1 !== field2) {
mirrored = false;
break;
}
}
if (mirrored)
addressMirror.attr('checked', 'checked');
else
addressMirror.removeAttr('checked');
addressMirror.change();
} );
}
});
institutionToggler.bind('change', function () {
var isChecked = institutionToggler.is(':checked');
if (!isChecked) {
addressCompleter.resetForm();
schoolLookup.val( null );
}
});
}
if ($('html').hasClass('ie7')) {
var headItems = $('#header').find('.head-items'),
userInfo = $('.user-info', headItems),
offOn = $('.off-on', headItems),
cartInfo = $('.cart-info', headItems),
userWidth = userInfo.outerWidth() + offOn.outerWidth();
if (!cartInfo.length) {
headItems.width( userWidth );
} else {
headItems.width( Math.max(userWidth, cartInfo.outerWidth()) );
}
}
});

