Файл: upload/static/jscript/main.js
Строк: 992
<?php
var $Core = {};
var $Behavior = {};
var $Cache = {};
var $oEventHistory = {};
var $oStaticHistory = {};
var $bDocumentIsLoaded = false;
if (typeof window.console == 'undefined')
{
window.console = { log : function(sTxt){} };
}
if (typeof window.console.log == 'undefined')
{
window.console.log = function(sTxt){};
}
$.fn.message = function(sMessage, sType)
{
switch(sType)
{
case 'valid':
sClass = 'valid_message';
break;
case 'error':
sClass = 'error_message';
break;
case 'public':
sClass = 'public_message';
break;
}
this.html('<div class="' + sClass + '">' + sMessage + '</div>');
return this;
}
$.getParams = function(sUrl)
{
var aArgs = sUrl.split('#');
var aArgsFinal = aArgs[1].split('?');
var aFinal = aArgsFinal[1].split('&');
var aUrlParams = Array();
for (i = 0; i < aFinal.length; i++)
{
var aArg = aFinal[i].split('=');
aUrlParams[aArg[0]] = aArg[1];
}
return aUrlParams;
}
$.ajaxProcess = function(sMessage, sSize)
{
sMessage = (sMessage ? sMessage : getPhrase('core.processing'));
if (empty(sSize))
{
sSize = 'small';
}
return '<span style="margin-left:4px; margin-right:4px; font-size:9pt; font-weight:normal;"><img src="' + eval('oJsImages.ajax_' + sSize + '') + '" class="v_middle" /> ' + (sMessage === 'no_message' ? '' : sMessage + '...') + '</span>';
}
$Behavior.imageHoverHolder = function()
{
$('body').click(function(){
$('.image_hover_menu_link').each(function() {
if ($(this).hasClass('image_hover_active'))
{
$(this).removeClass('image_hover_active');
$(this).parent().find('.image_hover_menu:first').hide();
$(this).hide();
}
});
});
$('.image_hover_holder').mouseover(function()
{
if (!empty($(this).find('.image_hover_menu:first').html()))
{
$(this).addClass('image_hover_holder_hover').find('.image_hover_menu_link:first').show();
}
});
$('.image_hover_holder').mouseout(function()
{
if (!$(this).find('.image_hover_menu_link').hasClass('image_hover_active'))
{
$(this).removeClass('image_hover_holder_hover').find('.image_hover_menu_link:first').hide();
}
});
$('.image_hover_menu_link').click(function(){
var oMenu = $(this).parent().find('.image_hover_menu:first');
if ($(this).hasClass('image_hover_active'))
{
$(this).removeClass('image_hover_active');
oMenu.hide();
return false;
}
$('.image_hover_menu_link').each(function() {
if ($(this).hasClass('image_hover_active'))
{
$(this).removeClass('image_hover_active');
$(this).parent().find('.image_hover_menu:first').hide();
$(this).hide();
}
});
$(this).addClass('image_hover_active');
oMenu.show();
return false;
});
}
$Behavior.targetBlank = function()
{
$('.targetBlank').click(function()
{
window.open($(this).get(0).href);
return false;
});
}
var bCacheIsHover = false;
$Behavior.dropDown = function()
{
$('.sJsDropMenu').click(function()
{
$(this).blur();
$('.dropContent').hide();
$('.sub_menu_bar li a').removeClass('is_already_open');
if ($(this).hasClass('is_already_open'))
{
$(this).parent().find('.dropContent:first').hide();
$(this).removeClass('is_already_open');
}
else
{
$(this).parent().find('.dropContent:first').show();
$(this).addClass('is_already_open');
}
return false;
});
$('.dropContent').mouseover(function(){
bCacheIsHover = true;
});
$('.dropContent').mouseout(function(){
bCacheIsHover = false;
});
$('body').click(function()
{
if (!bCacheIsHover){
$('.dropContent').hide();
$('.sub_menu_bar li a').each(function(){
if ($(this).hasClass('is_already_open')){
$(this).removeClass('is_already_open')
}
});
}
});
}
/**
* Drop down auto jump
*/
$Behavior.goJump = function()
{
$('.goJump').change(function()
{
// Empty value, do nothing
if ($(this).get(0).value == "")
{
return false;
}
// Is this a delete link? If it is make sure they confirm they want to delete the item
if ($(this).get(0).value.search(/delete/i) != -1 && !confirm(getPhrase('core.are_you_sure')))
{
return false;
}
// All set lets send them to the new page
window.location.href = $(this).get(0).value;
});
}
$Behavior.inlinePopup = function()
{
$('.inlinePopup').click(function()
{
var $aParams = $.getParams($(this).get(0).href);
var sParams = '&tb=true';
for (sVar in $aParams)
{
sParams += '&' + sVar + '=' + $aParams[sVar] + '';
}
sParams = sParams.substr(1, sParams.length);
tb_show($(this).get(0).title, $.ajaxBox($aParams['call'], sParams));
return false;
});
}
$Behavior.blockClick = function()
{
$('.block .menu ul li a').click(function()
{
$(this).parents('.block:first').find('li').removeClass('active');
$(this).parent().addClass('active');
if (this.href.match(/#/))
{
var aParts = explode('#', this.href);
var aParams = explode('?', aParts[1]);
var aParamParts = explode('&', aParams[1]);
var aRequest = Array();
for (i in aParamParts)
{
var aPart = explode('=', aParamParts[i]);
aRequest[aPart[0]] = aPart[1];
}
$('.js_block_click_lis_cache').remove();
$(this).parents('.menu:first').find('ul').append('<li class="js_block_click_lis_cache" style="margin-top:2px;">' + $.ajaxProcess('no_message') + '</li>');
$.ajaxCall(aParams[0], aParams[1] + '&js_block_click_lis_cache=true', 'GET');
}
return false;
});
}
$Behavior.deleteLink = function()
{
$('.delete_link').click(function()
{
if (confirm(getPhrase('core.are_you_sure')))
{
$aParams = $.getParams($(this).get(0).href);
var sParams = '';
for (sVar in $aParams)
{
sParams += '&' + sVar + '=' + $aParams[sVar] + '';
}
sParams = sParams.substr(1, sParams.length);
$.ajaxCall($aParams['call'], sParams);
}
return false;
});
}
$Behavior.globalToolTip = function()
{
if ($('#js_global_tooltip').length <= 0)
{
$('body').prepend('<div id="js_global_tooltip" style="display:none;"></div>');
}
$('.js_hover_title').mouseover(function()
{
var offset = $(this).offset();
var sContent = '';
if (isset($(this).find('.js_hover_info')) && $(this).find('.js_hover_info').html() !== null && $(this).find('.js_hover_info').html().length < 1)
{
}
else
{
$('#js_global_tooltip').css('display', 'block');
$('#js_global_tooltip').css('left', (offset.left - 10) + 'px');
if ($(this).find('.js_hover_info').length > 0)
{
sContent = $(this).find('.js_hover_info').html();
}
else
{
var oParent = $(this).parent();
if (!empty(oParent.attr('title')))
{
oParent.data('title', oParent.attr('title')).removeAttr('title');
}
sContent = oParent.data('title');
}
$('#js_global_tooltip').html('<div id="js_global_tooltip_display">' + sContent + '</div>');
$('#js_global_tooltip').css('top', (offset.top - ($('#js_global_tooltip_display').height() + 10)) + 'px');
}
});
$('.js_hover_title').mouseout(function()
{
$('#js_global_tooltip').hide()
.html('')
.css('top', '0px')
.css('left', '0px');
});
}
$Behavior.clearTextareaValue = function()
{
$('.js_comment_text_area #text').focus(function()
{
if ($(this).val() == $('#js_comment_write_phrase').html())
{
$(this).val('');
}
});
}
$Behavior.loadEditor = function()
{
if ((!getParam('bWysiwyg') || typeof(bForceDefaultEditor) != 'undefined') && typeof(Editor) == 'object')
{
Editor.getEditors();
}
}
var sMoreFeedIds = {};
$Core.loadMoreFeeds = function(){
$.ajaxCall('feed.appendMore', 'ids=' + sMoreFeedIds, 'GET');
return false;
}
$Core.rebuildActivityFeedCount = function(iTotal, sIds){
sMoreFeedIds = sIds;
$('.activity_feed_updates_link').hide();
if (iTotal){
$('#activity_feed_updates_link_holder').show();
if (iTotal == 1){
$('#activity_feed_updates_link_single').show();
}
else{
$('#activity_feed_updates_link_plural').show();
$('#js_new_update_view').html(iTotal);
}
}
else{
$('#activity_feed_updates_link_holder').hide();
}
}
$Core.reloadActivityFeed = function(){
setTimeout("$.ajaxCall('feed.reloadActivityFeed', 'reload-ids=' + $Core.getCurrentFeedIds(), 'GET');", 2000);
}
$Core.getCurrentFeedIds = function()
{
var sMoreFeedIds = '';
$('.js_parent_feed_entry').each(function(){
sMoreFeedIds += $(this).attr('id').replace('js_item_feed_', '') + ',';
});
return sMoreFeedIds;
}
$Core.processForm = function(sSelector, bReset)
{
if (bReset === true)
{
$(sSelector).find('.button:first').removeClass('button_off').attr('disabled', false);
$(sSelector).find('.table_clear_ajax').hide();
}
else
{
$(sSelector).find('.button:first').addClass('button_off').attr('disabled', true);
$(sSelector).find('.table_clear_ajax').show();
}
}
$Core.exists = function(sSelector)
{
return ($(sSelector).length > 0 ? true : false);
}
$Core.searchFriends = function($aParams)
{
if (typeof($Core.searchFriendsInput) == 'undefined'){
return;
}
$Core.searchFriendsInput.init($aParams);
}
$Core.loadStaticFile = function($aFiles)
{
$Core.loadStaticFiles($aFiles);
}
var sCustomHistoryUrl = '';
$Core.loadStaticFiles = function($aFiles)
{
if (typeof($aFiles) == 'string')
{
$aFiles = new Array($aFiles);
}
if (!$bDocumentIsLoaded)
{
if (!isset($Cache['post_static_files']))
{
$Cache['post_static_files'] = new Array();
}
$Cache['post_static_files'].push($aFiles);
return;
}
$($aFiles).each(function($sKey, $sFile)
{
if (!isset($oStaticHistory[$sFile]))
{
$oStaticHistory[$sFile] = true;
if (substr($sFile, -3) == '.js')
{
$('head').append('<script type="text/javascript" src="' + $sFile + '?v=' + getParam('sStaticVersion') + '"></script>');
}
else if (substr($sFile, -4) == '.css')
{
var sCustomId = '';
if (substr($sFile, -10) == 'custom.css'){
sCustomHistoryUrl = $sFile;
sCustomId = 'js_custom_css_loader';
}
$('head').append('<link ' + sCustomId + ' rel="stylesheet" type="text/css" href="' + $sFile + '?v=' + getParam('sStaticVersion') + '" />');
}
else
{
eval($sFile);
}
}
else{
if (substr($sFile, -10) == 'custom.css'){
sCustomHistoryUrl = $sFile;
}
}
});
if (!empty(sCustomHistoryUrl)){
$('#js_custom_css_loader').remove();
$('head').append('<link id="js_custom_css_loader" rel="stylesheet" type="text/css" href="' + sCustomHistoryUrl + '?v=' + getParam('sStaticVersion') + '" />');
}
}
$Behavior.globalInit = function()
{
// Confirm before deleting an item
$('.sJsConfirm').click(function()
{
if (confirm(getPhrase('core.are_you_sure')))
{
return true;
}
return false;
});
$('#select_lang_pack').click(function()
{
tb_show(oTranslations['core.language_packages'], $.ajaxBox('language.select', 'height=300&width=300'));
return false;
});
if (!oCore['core.is_admincp'])
{
if ($('#country_iso').length > 0 && !empty(oCore['core.country_iso']))
{
if (empty($('#country_iso').val()))
{
$('#js_country_iso_option_' + oCore['core.country_iso']).attr('selected', true);
}
}
}
$('.js_item_active').click(function()
{
$(this).parent().find('.js_item_active input').attr('checked', false);
if ($(this).hasClass('item_is_active'))
{
$(this).parent().find('.item_is_active input').attr('checked', true);
}
else
{
$(this).parent().find('.item_is_not_active input').attr('checked', true);
}
});
if ($('.moderate_link').length > 0)
{
$('.moderation_drop').click(function()
{
if (parseInt($('.js_global_multi_total').html()) === 0)
{
return false;
}
if ($(this).hasClass('is_clicked'))
{
$('.moderation_holder ul').hide();
$(this).removeClass('is_clicked');
}
else
{
$('.moderation_holder ul').show();
$('.moderation_holder ul').css({'margin-top': '-' + ($(this).height() + $('.moderation_holder ul').height() + 4) + 'px'});
$(this).addClass('is_clicked');
}
return false;
});
var iEmptyModLinks = 0;
$('.moderate_link').each(function()
{
var sName = 'js_item_m_' + $(this).attr('rel') + '_' + $(this).attr('href').replace('#', '');
if (getCookie(sName))
{
$(this).addClass('moderate_link_active');
}
else
{
iEmptyModLinks++;
}
});
if (iEmptyModLinks === 0)
{
$('.moderation_action_unselect').show();
$('.moderation_action_select').hide();
}
}
$('.moderation_process_action').click(function()
{
if ($(this).attr('rel') == 'mail.mailThreadAction' && $(this).attr('href').replace('#', '') == 'forward'){
var sGlobalModeration = '';
$('.js_global_item_moderate').each(function(){
sGlobalModeration += ',' + parseInt($(this).val());
});
$Core.box('mail.compose', 500, 'forward_thread_id=' + $('#js_forward_thread_id').val() + '&forwards=' + sGlobalModeration);
$Core.moderationLinkClear();
}
else if ($(this).attr('rel') == 'mail.archive' && $(this).attr('href').replace('#', '') == 'export'){
$(this).parents('form:first').submit();
$Core.moderationLinkClear();
}
else if ($(this).attr('rel') == 'mail.moderation' && $(this).attr('href').replace('#', '') == 'move'){
$Core.box('mail.listFolders', 400);
}
else{
$('.moderation_process').show();
$('#js_global_multi_form_holder').ajaxCall($(this).attr('rel'), 'action=' + $(this).attr('href').replace('#', ''));
$Core.moderationLinkClear();
}
return false;
});
$('.moderation_clear_all').click(function()
{
$Core.moderationLinkClear();
return false;
});
$('.moderation_action').click(function()
{
var sType = $(this).attr('rel');
$(this).hide();
if (sType == 'select')
{
$('.moderation_action_unselect').show();
}
else
{
$('.moderation_action_select').show();
}
$('.moderate_link').each(function()
{
$Core.moderationLinkClick(this, sType);
});
return false;
});
$('.moderate_link').click(function()
{
return $Core.moderationLinkClick(this);
});
$('.page_section_menu ul li a').click(function()
{
var sRel = $(this).attr('rel');
if (empty(sRel))
{
return true;
}
$('.page_section_menu ul li').removeClass('active');
$('.page_section_menu_holder').hide();
$('#' + sRel).show();
$(this).parent().addClass('active');
if ($('#page_section_menu_form').length > 0)
{
$('#page_section_menu_form').val(sRel);
}
return false;
});
if ($('.js_date_picker').length > 0)
{
var sFormat = oParams['sDateFormat'];
sFormat = sFormat.charAt(0) + '/' + sFormat.charAt(1) + '/' + sFormat.charAt(2);
sFormat = sFormat.replace('D','d').replace('M','m').replace('Y','yy');
$('.js_date_picker').datepicker('destroy');
$('.js_date_picker').datepicker(
{
dateFormat: sFormat,
// minDate: new Date(oParams['user.date_of_birth_start'], new Date().getMonth(), new Date().getDate()),
// maxDate: new Date(oParams['user.date_of_birth_end'], new Date().getMonth(), new Date().getDate()),
onSelect: function(dateText, inst)
{
var aParts = explode('/', dateText);
var sMonth;
var sDay;
var sYear;
switch (oParams['sDateFormat']){
case 'YMD':
sMonth = ltrim(aParts[1], '0');
sDay = ltrim(aParts[2], '0');
sYear = aParts[0];
break;
case 'DMY':
sMonth = ltrim(aParts[1], '0');
sDay = ltrim(aParts[0], '0');
sYear = aParts[2];
break;
default:
sMonth = ltrim(aParts[0], '0');
sDay = ltrim(aParts[1], '0');
sYear = aParts[2];
break;
}
$(this).parents('.js_datepicker_holder:first').find('.js_datepicker_month').val(sMonth);
$(this).parents('.js_datepicker_holder:first').find('.js_datepicker_day').val(sDay);
$(this).parents('.js_datepicker_holder:first').find('.js_datepicker_year').val(sYear);
}
});
$('.js_datepicker_image').each(function(){
$(this).click(function(){
$(this).parent().find('.js_date_picker').datepicker('show');
});
});
}
$('#js_login_as_page').click(function(){
$Core.box('pages.login', 500);
return false;
});
$('.mobile_view_options').click(function(){
$('#js_mobile_form_holder').toggle();
return false;
});
if ($.browser.msie && parseInt($.browser.version, 10) < 8 && !getParam('bJsIsMobile')){
$('#js_update_internet_explorer').show();
}
}
$Core.pageSectionMenuShow = function(sId)
{
$('.page_section_menu_holder').hide();
$('.page_section_menu ul li').removeClass('active');
$(sId).show();
$('.page_section_menu ul li a').each(function()
{
if ($(this).attr('rel') == sId.replace('#', ''))
{
$(this).parent().addClass('active');
return false;
}
});
}
$Core.moderationLinkClear = function()
{
var aCookies = document.cookie.split(';');
$(aCookies).each(function(sKey, sValue)
{
if (sValue.match(/js_item_m/i))
{
var aParts = explode('=', sValue);
deleteCookie(trim(aParts[0].replace(getParam('sJsCookiePrefix'), '')));
}
});
$('.moderate_link').removeClass('moderate_link_active');
$('#js_global_multi_form_ids').html('');
$('.js_global_multi_total').html('0');
$('.moderation_drop').addClass('not_active');
$('.moderation_holder ul').hide();
$('.moderation_action_unselect').hide();
$('.moderation_action_select').show();
}
$Core.moderationLinkClick = function(oObj, sType)
{
var sName = 'js_item_m_' + $(oObj).attr('rel') + '_' + $(oObj).attr('href').replace('#', '');
var iTotalItems = parseInt($('.js_global_multi_total').html());
if (($(oObj).hasClass('moderate_link_active') && sType != 'select') || sType == 'unselect')
{
$(oObj).removeClass('moderate_link_active');
$('#js_global_multi_form_ids').find('.' + sName).remove();
deleteCookie(sName);
iTotalItems--;
}
else
{
if (!$(oObj).hasClass('moderate_link_active'))
{
$(oObj).addClass('moderate_link_active');
$('#js_global_multi_form_ids').append('<div class="' + sName + '"><input class="js_global_item_moderate" type="hidden" name="item_moderate[]" value="' + $(oObj).attr('href').replace('#', '') + '" /></div>');
setCookie(sName, $(oObj).attr('rel') + '_' + $(oObj).attr('href').replace('#', ''), 1);
iTotalItems++;
}
}
$('.js_global_multi_total').html(iTotalItems);
if (iTotalItems)
{
$('.moderation_drop').removeClass('not_active');
}
else
{
$('.moderation_drop').addClass('not_active');
}
return false;
}
$Behavior.privacySettingDropDown = function()
{
$('body').click(function()
{
$('.privacy_setting_active').each(function()
{
if ($(this).hasClass('is_active'))
{
$(this).parent().find('.privacy_setting_holder').hide();
$(this).removeClass('is_active');
}
});
});
$('.privacy_setting_active').click(function()
{
var $oParent = $(this).parent().find('.privacy_setting_holder');
if ($(this).hasClass('is_active'))
{
$oParent.hide();
$(this).removeClass('is_active');
}
else
{
$('.privacy_setting_active').each(function()
{
if ($(this).hasClass('is_active'))
{
$(this).parent().find('.privacy_setting_holder').hide();
$(this).removeClass('is_active');
}
});
$oParent.show();
$(this).addClass('is_active');
}
$('#js_global_tooltip').hide()
.html('')
.css('top', '0px')
.css('left', '0px');
return false;
});
$('.privacy_setting_holder ul li a').click(function()
{
var $oParent = $(this).parents('.privacy_setting_div:first').find('.privacy_setting_active');
var $sContent = $(this).html();
if ($sContent.toLowerCase().indexOf('<span>') > -1)
{
var $aParts = explode('<span>', $sContent);
if (!isset($aParts[1]))
{
$aParts = explode('<SPAN>', $sContent);
}
$sContent = $aParts[0];
}
$oParent.html('' + $sContent + '<span class="js_hover_info">' + $sContent + '</span>');
$(this).parents('.privacy_setting_div:first').find('.privacy_setting_holder').hide();
$oParent.removeClass('is_active');
$(this).parents('.privacy_setting_div:first').find('input').val($(this).attr('rel'));
$('.privacy_setting_holder ul li a').removeClass('is_active_image');
$(this).addClass('is_active_image');
return false;
});
}
var cacheShadownInfo = false;
var shadow = null;
var minHeight = null;
$Core.resizeTextarea = function(oObj)
{
if (cacheShadownInfo === false)
{
var lineHeight = oObj.css('lineHeight');
minHeight = oObj.height();
cacheShadownInfo = true;
shadow = $('<div></div>').css(
{
position: 'absolute',
top: -10000,
left: -10000,
width: oObj.width(),
fontSize: oObj.css('fontSize'),
fontFamily: oObj.css('fontFamily'),
lineHeight: oObj.css('lineHeight'),
resize: 'none'
}).appendTo(document.body);
}
var val = oObj.val().replace(/</g, '<')
.replace(/>/g, '>')
.replace(/&/g, '&')
.replace(/n/g, '<br/>');
shadow.html(val);
oObj.css('height', Math.max(shadow.height() + 20, minHeight));
}
$Core.getObjectPosition = function(sId)
{
if ($('#' + sId).length <= 0)
{
return false;
}
var curleft = 0;
var curtop = 0;
var obj = document.getElementById(sId);
if (obj.offsetParent)
{
do
{
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
}
return {left: curleft, top: curtop};
}
$Core.getFriends = function(aParams)
{
tb_show('', $.ajaxBox('friend.search', 'height=410&width=600&input=' + aParams['input'] + '&type=' + (isset(aParams['type']) ? aParams['type'] : '') + ''));
}
$Core.browseUsers = function(aParams)
{
tb_show('', $.ajaxBox('user.browse', 'height=410&width=600&input=' + aParams['input'] + ''));
}
$Core.composeMessage = function(aParams)
{
if (aParams === undefined)
{
aParams = new Array();
}
tb_show('', $.ajaxBox('mail.compose', 'height=300&width=500' + (!isset(aParams['user_id']) ? '' : '&id=' + aParams['user_id']) + '&no_remove_box=true'));
}
$Core.addAsFriend = function(iUserId)
{
tb_show('', $.ajaxBox('friend.request', 'width=420&user_id=' + iUserId + ''));
return false;
}
$Core.getParams = function(sHref)
{
var aParams = new Array();
var aUrlParts = explode('/', sHref);
var iRequest = 0;
for (i in aUrlParts)
{
if (empty(aUrlParts[i]))
{
continue;
}
aUrlParts[i] = aUrlParts[i].replace('#', '');
if (aUrlParts[i].match(/_/i))
{
var aUrlParams = explode('_', aUrlParts[i]);
aParams[aUrlParams[0]] = aUrlParams[1];
}
else
{
iRequest++;
aParams['req' + iRequest] = aUrlParts[i];
}
}
return aParams;
}
$Core.getRequests = function(sHref, bReturnPath)
{
var sParams = '';
var sUrlString = '';
var sModuleName = oCore['core.section_module'];
switch (oCore['core.url_rewrite'])
{
case '1':
var oReq = new RegExp("" + getParam('sJsHome') + "(.*?)$","i");
var aMatches = oReq.exec(sHref);
var aParts = explode('/', aMatches[1]);
sUrlString = '/' + aMatches[1];
break;
case '3':
if (oCore['profile.is_user_profile'])
{
var aProfileMatches = sHref.match(/http://(.*?).(.*?)/i);
sModuleName = aProfileMatches[1];
}
var oReq = new RegExp("" + oParams['sJsHome'] + "(.*?)$","i");
var aMatches = oReq.exec(sHref);
sUrlString = sModuleName + '/' + (aMatches != null && isset(aMatches[1]) ? aMatches[1] : '');
break;
default:
var oReq = new RegExp("(.*?)=/(.*?)$","i");
var aMatches = oReq.exec(sHref);
if (aMatches !== null)
{
var aParts = explode('/', aMatches[2]);
sUrlString = aMatches[2];
}
break;
}
if (bReturnPath === true)
{
return '/' + ltrim(sUrlString, '/');
}
return $Core.parseUrlString(sUrlString);
}
$Core.parseUrlString = function(sUrlString)
{
var sParams = '';
var aUrlParts = explode('/', sUrlString);
var iRequest = 0;
var iLoadCount = 0;
for (i in aUrlParts)
{
if (empty(aUrlParts[i]) || aUrlParts[i] == '#')
{
continue;
}
iLoadCount++;
if (iLoadCount != 1 && aUrlParts[i].match(/_/i))
{
var aUrlParams = explode('_', aUrlParts[i]);
sParams += '&' + aUrlParams[0] + '=' + aUrlParams[1];
}
else
{
iRequest++;
sParams += '&req' + iRequest + '=' + aUrlParts[i];
}
}
return sParams;
}
$Core.reverseUrl = function(sForm, aSkip)
{
var aForms = explode('&', sForm);
var sUrlParam = '';
for (i in aForms)
{
var aFormParts = aForms[i].match(/(.*?)=(.*?)$/i);
if (aFormParts !== null)
{
if (isset(aSkip))
{
if (in_array(aFormParts[1], aSkip))
{
continue;
}
}
sUrlParam += aFormParts[1] + '_' + encodeURIComponent(aFormParts[2]) + '/';
}
}
return sUrlParam;
}
$Core.getHashParam = function(sHref)
{
var sParams = '';
var aParams = $.getParams(sHref);
for (var sKey in aParams)
{
sParams += '&' + sKey + '=' + aParams[sKey];
}
sParams = ltrim(sParams, '&');
return sParams;
}
$Core.box = function($sRequest, $sWidth, $sParams)
{
tb_show('', $.ajaxBox($sRequest, 'width=' + $sWidth + ($sParams ? '&' + $sParams : '')));
return false;
}
$Core.ajax = function(sCall, $oParams)
{
var sParams = '&' + getParam('sGlobalTokenName') + '[ajax]=true&' + getParam('sGlobalTokenName') + '[call]=' + sCall;
if (!sParams.match(/[security_token]/i))
{
sParams += '&' + getParam('sGlobalTokenName') + '[security_token]=' + oCore['log.security_token'];
}
if (isset($oParams['params']))
{
if (typeof($oParams['params']) == 'string')
{
sParams += $oParams['params'];
}
else
{
$.each($oParams['params'], function($sKey, $sValue)
{
sParams += '&' + $sKey + '=' + encodeURIComponent($sValue) + '';
});
}
}
$.ajax(
{
type: (isset($oParams['type']) ? $oParams['type'] : 'GET'),
url: getParam('sJsStatic') + "ajax.php",
dataType: 'html',
data: sParams,
success: $oParams['success']
});
}
$Core.popup = function(sUrl, aParams)
{
oDate = new Date();
iId = oDate.getTime();
var sParams = '';
var iCount = 0;
var bCenter = false;
for (i in aParams)
{
if (i == 'center')
{
bCenter = true;
continue;
}
iCount++;
if (iCount != 1)
{
sParams += ',';
}
sParams += i + '=' + aParams[i];
}
if (bCenter === true)
{
sParams += ',left=' + (($(window).width() - aParams['width']) / 2) + ',top=' + (($(window).height() - aParams['height']) / 2) + '';
}
window.open(sUrl, iId, sParams);
}
$Core.ajaxMessage = function()
{
$('#global_ajax_message').html(getPhrase('core.saving')).animate({opacity: 0.9}).slideDown();
}
/**
* Used for the accordion effect on sections with many categories
*/
$Core.toggleCategory = function(sName, iId)
{
$('.' + sName).toggle();
$('#show_more_' + iId).toggle();
$('#show_less_' + iId).toggle();
}
if (substr(window.location.hash, 0, 2) == '#!')
{
if (oCore['core.url_rewrite'] == '1')
{
var sUrl = trim(getParam('sJsHome'), '/');
}
else
{
var sUrl = getParam('sJsHome') + 'index.php?' + getParam('sGetMethod') + '=';
}
window.location = sUrl + window.location.hash.replace('#!', '');
}
$Core.page = function($aParams)
{
if (typeof CorePageAjaxBrowsingStart == 'function')
{
CorePageAjaxBrowsingStart($aParams);
}
if (isset($aParams['phrases']))
{
for (sKey in $aParams['phrases'])
{
if (!isset(oTranslations[sKey]))
{
oTranslations[sKey] = $aParams['phrases'][sKey];
}
}
}
$('.js_user_tool_tip_holder').remove();
$('#js_user_profile_css').remove();
if (isset($aParams['profilecss'])){
$('body').append($aParams['profilecss']);
}
if (!empty($aParams['files']))
{
$Core.loadStaticFiles($aParams['files']);
}
if (isset($aParams['customcss'])){
var sCustomCss = '';
$('#js_global_custom_css').remove();
for (sKey in $aParams['customcss']){
sCustomCss += $aParams['customcss'][sKey];
}
if (!empty(sCustomCss)){
// $('body').append()
}
}
document.title = $aParams['title'];
$('#main_content_holder').html('' + $aParams['content'] + '');
/*
if (isset($aParams['ads']))
{
for (sKey in $aParams['ads']){
$('#js_ad_space_content_' + sKey).html($aParams['ads'][sKey]);
}
}
*/
$('body').css('cursor', 'auto');
$oEventHistory[($Core.hasPushState() ? $Core.getRequests(window.location, true) : window.location.hash.replace('#!', ''))] = $aParams['content'];
$Core.loadInit();
scroll(0,0);
$Behavior.loadTinymceEditor = function () {};
}
$Core.updatePageHistory = function()
{
var $sLocation = window.location.hash.replace('#!', '');
if (empty($sLocation))
{
$sLocation = '/';
}
$oEventHistory[$sLocation] = $('#main_content_holder').html();
}
var bAjaxLinkIsClicked = false;
var bCanByPassClick = false;
var sClickProfileName = '';
$Behavior.linkClickAll = function()
{
if ($.browser.msie && $.browser.version == '7.0')
{
return false;
}
if (!oCore['core.site_wide_ajax_browsing'])
{
return false;
}
$('a').click(function()
{
var $sLink = $(this).attr('href');
if (!$sLink)
{
return;
}
if (substr($sLink, 0, 7) != 'http://' || substr($sLink, -1) == '#')
{
return;
}
if ($(this).hasClass('photo_holder_image') && !getParam('bPhotoTheaterMode')){
}
else{
if ($(this).hasClass('no_ajax_link') || $(this).hasClass('thickbox') || $(this).hasClass('sJsConfirm'))
{
return;
}
}
$('.js_box_image_holder_full').remove();
var $aUrlParts = parse_url($sLink);
if ($aUrlParts['host'] != getParam('sJsHostname'))
{
return;
}
if (!isset($aUrlParts['query']))
{
var sTempHost = $aUrlParts['scheme'] + '://' + $aUrlParts['host'] + $aUrlParts['path'];
$aUrlParts['query'] = sTempHost.replace(getParam('sJsHome'), '/');
}
if (isset($aUrlParts['query']))
{
var aUrlParts = explode('/', $aUrlParts['query']);
var sAdminPath = 'admincp';
if (getParam('sAdminCPLocation') != ''){
sAdminPath = getParam('sAdminCPLocation');
}
if (aUrlParts[1] == sAdminPath)
{
return;
}
if (aUrlParts[1] == 'user' && aUrlParts[2] == 'logout')
{
return;
}
}
if (bCanByPassClick === true && aUrlParts[1] != sClickProfileName){
bCanByPassClick = false;
return;
}
if ($('#noteform').length > 0)
{
$('#noteform').hide();
}
if ($('#js_photo_view_image').length > 0)
{
$('#js_photo_view_image').imgAreaSelect({ hide: true });
}
if ($('#user_profile_photo').length > 0)
{
$('#user_profile_photo').imgAreaSelect({ hide: true });
}
$('.ajax_link_reset').hide();
bAjaxLinkIsClicked = true;
$('body').css('cursor', 'wait');
$('.js_user_tool_tip_holder').hide();
$('#js_global_tooltip').hide();
$(this).addClass('is_built');
$Core.addUrlPager(this);
if (typeof BehaviorlinkClickAllAClick == 'function')
{
BehaviorlinkClickAllAClick($aUrlParts);
}
$.ajaxCall('core.page', 'ajax_page_display=true' + $Core.getRequests(this) + '&do=' + $Core.getRequests(this, true), 'GET');
return false;
});
}
$Core.loadInit = function()
{
debug('$Core.loadInit() Loaded');
$('*').unbind();
$.each($Behavior, function()
{
this(this);
});
}
$Core.init = function()
{
if (!$Core.hasPushState() && oCore['core.disable_hash_bang_support'])
{
oCore['core.site_wide_ajax_browsing'] = false;
}
$bDocumentIsLoaded = true;
$(document).ready(function()
{
$.each($Behavior, function()
{
this(this);
});
});
$('script,link').each(function()
{
if (!empty(this.src))
{
var $sVar = this.src;
if (this.src.indexOf('f=') !== -1)
{
var $aFiles = explode('f=', $sVar);
var $aParts = explode('&v=', $aFiles[1]);
var $aGetFiles = explode(',', $aParts[0]);
$($aGetFiles).each(function($sKey, $sFile)
{
if (substr($sFile, 0, 7) == 'module/')
{
$oStaticHistory[getParam('sJsHome') + $sFile] = true;
}
else
{
$oStaticHistory[getParam('sJsStatic') + 'jscript/' + $sFile] = true;
}
});
return;
}
}
else if (!empty(this.href))
{
var $sVar = this.href;
if (this.href.indexOf('f=') !== -1)
{
var $aFiles = explode('f=', $sVar);
var $aParts = explode('&v=', $aFiles[1]);
var $aGetFiles = explode(',', $aParts[0]);
$($aGetFiles).each(function($sKey, $sFile)
{
$oStaticHistory[getParam('sJsHome') + $sFile] = true;
});
return;
}
}
if (!empty($sVar))
{
var $aParts = explode('?', $sVar);
$oStaticHistory[$aParts[0]] = true;
}
});
if (isset($Cache['post_static_files']))
{
$($Cache['post_static_files']).each(function($sKey, $mValue)
{
$Core.loadStaticFiles($mValue);
});
}
if (oCore['core.site_wide_ajax_browsing'])
{
if ($.browser.msie && $.browser.version == '7.0')
{
}
else
{
if ($Core.hasPushState()){
$oEventHistory[$Core.getRequests(window.location, true)] = $('#main_content_holder').html();
var $iTotalCount = 0;
$(window).bind('popstate', function(event) {
$iTotalCount++;
if($.browser.safari && $iTotalCount == 1){
return
}
/*
if (getParam('sEditor') == 'tiny_mce' && isset(LoadedTinymceEditors)){
for (sEditor in LoadedTinymceEditors){
delete LoadedTinymceEditors[sEditor];
}
}
*/
$Core.changeHistoryState({path: $Core.getRequests(window.location, true)});
});
}
else{
$.address.change(function(event)
{
$Core.changeHistoryState(event);
});
}
}
}
}
$Core.hasPushState = function(){
return (typeof(window.history.pushState) == 'function' ? true : false);
}
/**
* Adds a hash to the URL string, which is used to emulate a AJAX page
*
* @param object oObject Is the anchor object (this)
*/
$Core.addUrlPager = function(oObject, bShort)
{
if ($Core.hasPushState()){
window.history.pushState('', '', oObject.href);
}
else{
window.location = '#!' + (bShort ? oObject.href : $Core.getRequests(oObject.href, true));
}
}
$Core.changeHistoryState = function(event){
$('.js_box').each(function()
{
if (!$(this).hasClass('js_box_no_remove'))
{
var $sLink = $(this).find('.js_box_history:first').html();
if (isset($aBoxHistory[$sLink]))
{
delete $aBoxHistory[$sLink];
}
$(this).remove();
}
});
if ($Core.hasPushState()){
bAjaxLinkIsClicked = false;
}
if (isset($oEventHistory[event.path]) && !bAjaxLinkIsClicked)
{
$('#main_content_holder').html($oEventHistory[event.path].replace('$Core.loadInit();', '').replace('$Core.updatePageHistory();', ''));
$Core.loadInit();
scroll(0,0);
}
else
{
if (empty($oEventHistory))
{
if (event.path == '/')
{
if (isset($oEventHistory[$Core.getRequests(window.location, true)]))
{
$('#main_content_holder').html($oEventHistory[$Core.getRequests(window.location, true)].replace('$Core.loadInit();', '').replace('$Core.updatePageHistory();', ''));
$Core.loadInit();
scroll(0,0);
}
else
{
$oEventHistory[$Core.getRequests(window.location, true)] = $('#main_content_holder').html();
}
}
}
else
{
if (event.path == '/')
{
if (isset($oEventHistory[$Core.getRequests(window.location, true)]))
{
$('#main_content_holder').html($oEventHistory[$Core.getRequests(window.location, true)].replace('$Core.loadInit();', '').replace('$Core.updatePageHistory();', ''));
$Core.loadInit();
scroll(0,0);
}
}
}
}
if (bAjaxLinkIsClicked)
{
bAjaxLinkIsClicked = false;
}
}
?>