Current File : /home/lecoinf/www/iwp/demo/demo_files/apps.js |
var manage = {};
var activeItem='plugins';
var g1 = 'w1,w2,w3,w4'; // the groups with site id seperated.
var timeOut='';
selectedGroup = {}; // Array for grouping sites
var groupEditFlag = 0;
var incrementRand=0;
var siteSelectorVar='';
var bottomToolbarVar='';
var updateCheckArray = {};
var currentPage='';
var ajaxCallPath='ajax.php';
var groupCounter=0;
var groupCreateArray={};
var groupChangeArray={};
var groupNameArray={}
var groupDeleteArray={}
var currentPage='updates';
var state ;
var currentUpdatePage;
var parentFlag=0;
updateCheckArray={};
viewHiddenFlag=0;
var toobarAddsite='';
var toobarHiddenUpdates='';
var historyRefreshFlagCheck = 0;
function echeck(str) {
var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
return false
}
if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
return false
}
if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
return false
}
if (str.indexOf(at,(lat+1))!=-1){
return false
}
if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
return false
}
if (str.indexOf(dot,(lat+2))==-1){
return false
}
if (str.indexOf(" ")!=-1){
return false
}
return true
}
/*
* To Title Case 2.0.1 – http://individed.com/code/to-title-case/
* Copyright © 2008–2012 David Gouch. Licensed under the MIT License.
*/
String.prototype.toTitleCase = function () {
var smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|of|on|or|the|to|vs?\.?|via)$/i;
return this.replace(/([^\W_]+[^\s-]*) */g, function (match, p1, index, title) {
if (index > 0 && index + p1.length !== title.length &&
p1.search(smallWords) > -1 && title.charAt(index - 2) !== ":" &&
title.charAt(index - 1).search(/[^\s-]/) < 0) {
return match.toLowerCase();
}
if (p1.substr(1).search(/[A-Z]|\../) > -1) {
return match;
}
return match.charAt(0).toUpperCase() + match.substr(1);
});
}
function getPropertyCount(obj) {
var count = 0,
key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
count++;
}
}
return count;
}
function checkUpdateEmpty()
{
if($("#siteViewUpdateContent .ind_row_cont").not(".hide,.hideVar").length<1 && !$("#siteViewUpdateContent .empty_data_set").not('hiddenCheck').is(":visible"))
$("#siteViewUpdateContent .hiddenCheck").show();
if($("#themeViewUpdateContent .ind_row_cont").not(".hide,.hideVar").length<1 && !$("#themeViewUpdateContent .empty_data_set").not('hiddenCheck').is(":visible"))
$("#themeViewUpdateContent .hiddenCheck").show();
if($("#pluginViewUpdateContent .ind_row_cont").not(".hide,.hideVar").length<1 && !$("#pluginViewUpdateContent .empty_data_set").not('hiddenCheck').is(":visible"))
$("#pluginViewUpdateContent .hiddenCheck").show();
if($("#WPViewUpdateContent .ind_row_cont").not(".hide,.hideVar").length<1 && !$("#WPViewUpdateContent .empty_data_set").not('hiddenCheck').is(":visible"))
$("#WPViewUpdateContent .hiddenCheck").show();
}
function applyChangesCheck()
{
if($(".actionButton").hasClass('active'))
$(".status_applyChangesCheck").removeClass('disabled');
else
$(".status_applyChangesCheck").addClass('disabled');
}
function historyRefresh()
{
tempArray={};
tempArray['requiredData']={};
tempArray['requiredData']['getHistoryPanelHTML']=1;
doCall(ajaxCallPath,tempArray,'reloadHistory','json',"noProgress",1);
}
function setTooltipData(data)
{
toolTipData=data.data.getUserHelp;
}
function processRepository(data)
{
data=data.data.getWPRepositoryHTML;
content=content+data;
if(activeItem=='plugins')
content=content+'</div>';
else
content=content+'<div class="clear-both"></div></div></div>';
$(".wp_repository_cont").html(content);
}
function getTotalUpdates(mnjson)
{
gpluginsjson = mnjson.pluginsView.plugins;
gthemesjson = mnjson.themesView.themes;
gwpjson = mainJson.coreView.core;
if(gwpjson!=undefined)
WPCount= getPropertyCount(gwpjson);
else
WPCount=0;
if(gpluginsjson!=undefined)
pluginsCount=getPropertyCount(gpluginsjson);
else
pluginsCount=0;
if(gthemesjson!=undefined)
themesCount=getPropertyCount(gthemesjson);
else
themesCount=0;
totalCount = WPCount+pluginsCount+themesCount;
return totalCount;
}
function resetBottomToolbar()
{
$(".showFooterSelector").removeClass('pressed');
$("#bottom_sites_cont").hide();
$("#bottomToolbarOptions").remove();
}
function processRemoveSite(data)
{
errdata=data.actionResult.detailedStatus[0];
$(".btn_loadingDiv").remove();
if(errdata.status!='success')
{
errorMsg='Site removed from the panel.<br>However following error occurred:<span class="error_txt"> '+errdata.errorMsg+'</span>';
errContent='<span class="successMsg"><span class="success_icon"></span>'+errorMsg+'</span>';
$("#removeSiteCont").html(errContent);
$("#removeSiteButtons").hide();
}
else
setTimeout(function () { $("#modalDiv").dialog("close");},1000);
resetVars(data);
refreshStats(data);
}
function processAddSite(data)
{
$(".addSiteButton").removeClass('disabled');
$(".btn_loadingDiv").remove();
errdata=data.actionResult.detailedStatus[0];
if(errdata.status!='success')
{
if(errdata.error=='main_plugin_connection_error')
{
plink=$("#websiteURL").val()+'/wp-admin/plugin-install.php?tab=search&type=term&s=iwp-client&plugin-search-input=Search+Plugins';
errorMsg='Yikes! It appears IWP plugin has not been installed in this site. Click here to <a href="'+plink+'">Install</a> it.<br>OR<br>If you have already installed IWP Plugin, deactivate and activate it now.';
}
else
errorMsg=errdata.errorMsg;
errContent='<span id="addSiteErrorMsg"><span class="fail_icon"></span>'+errorMsg+'</span>';
$("#addSiteSprite").after(errContent);
}
else
{
$(".add_site.form_cont").html('<span id="addSiteSuccessMsg"><span class="success_icon"></span>Voila! Your site has been added successfully.</span>');
$(".addSiteButton").hide();
setTimeout(function () { $("#modalDiv").dialog("close");},1000);
resetVars(data);
refreshStats(data);
}
}
function updateCountRefresh()
{
$("#totalUpdateCount").text(mainJson.totalUpdateCount);
}
function refreshStats(data)
{
$("#reloadStats").removeClass('disabled');
$("#reloadStats").closest('div').removeClass('disabled');
$(".btn_loadingDiv ").remove();
mainJson=data.data.getSitesUpdates;
sitesjson = mainJson.siteView;
pluginsjson = mainJson.pluginsView.plugins;
themesjson = mainJson.themesView.themes;
wpjson = mainJson.coreView.core;
updateCountRefresh();
processPage(currentPage,1);
}
function validateZipURL(url)
{
var pattern = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
if(url.match(pattern))
return true;
else
return false;
}
function reloadHistory(data)
{
checkHistoryVar=0;
if(!$("#historyQueue").is(":visible"))
checkHistoryVar=1;
(document.getElementById("activityPopup")).innerHTML = "";
$("#activityPopup").html(data.data.getHistoryPanelHTML);
if(checkHistoryVar==1)
$("#historyQueue").hide();
$(".nano").nanoScroller();
$("#historyQueue .queue_detailed").nanoScroller();
}
function reloadFavourites(data)
{
favourites=data.data.getFavourites;
}
function createUploader(){
var uploader = new qq.FileUploader({
element: document.getElementById('uploaderContent'),
action: systemURL+'uploadScript.php',
debug: true
});
}
function showBackupOptions(object)
{
if(!isSiteSelected(object))
$("#enterBackupDetails").addClass('disabled clickNone');
else
$("#enterBackupDetails").removeClass('disabled clickNone');
$("#modalDiv").dialog( "option", "position", 'center' );
}
function showItemOptions(object)
{
$(".optionsContent").show();// For manage / install panel
$(".actionContent").html('');
$(".numSiteSelected").text($(".website_cont.active").length);
}
function removeDeleteConf()
{
$(".del_conf").hide();
$(".ind_groups","#bottom_sites_cont").removeClass('error');
}
function resetSelectors()
{
siteSelector();
$("#bottomToolBarSelector").html(bottomToolbarVar);
$(".siteSelectorContainer").html(siteSelectorVar);
/* $('.select_group_toolbar').dropkick({
width: 148,
footer: true,
change: function (value, label) {
filterByGroup(this,value);
}
});*/
$(".toggle_manage_groups").qtip({id:"toggleGroupQtip",content: { text: 'Manage Groups' }, position: { my: 'bottom center', at: 'top center', adjust:{ y: -6} }, show: { event: 'mouseenter' }, hide: { event: 'mouseleave' }, style: { classes: 'ui-tooltip-shadow ui-tooltip-dark', tip: { corner: true, width: 10, height:5} } });
resetGroup();
}
// From plugin theme manage / install panel
function resetVars(data)
{
data=data.data;
site=data.getSites;
group=data.getGroupsSites;
totalSites = getPropertyCount(site);
totalGroups = getPropertyCount(group);
totalUpdates = getPropertyCount(mainJson)
resetSelectors();
}
function processSaveChange(data)
{
if($("#toolbar_sites_cont","#bottomToolBarSelector").length>0 && $("#toolbar_sites_cont","#bottomToolBarSelector").is(":visible"))
tempToolCont="<div id='toolbar_sites_cont'>"+$("#toolbar_sites_cont").html()+"</div>";
else
tempToolCont='';
resetVars(data);
var groupCreateArray={};
var groupChangeArray={};
var groupNameArray={}
var groupDeleteArray={}
$("#addWebsiteContainer","#bottomToolBarSelector").after(tempToolCont);
}
function processPage(page,reloadPage)
{
currentPage=page;
$(".WTPages").hide();
if(page=="updates")
{
$("#demoUpdateCont").show();
}
else if(page=="items")
{
$("#pluginManageCont").show();
}
else if (page=="backups")
{
$("#backupCont").show();
}
else if(page=="history")
{
$("#activityCont").show();
}
}
function groupSelected() // For add site
{
arrayCounter=0;
selectedGroup = {};
$(".group_selector.active",".addSiteGroups").each(function () {
selectedGroup[arrayCounter]=$(this).attr("gid");
});
return selectedGroup;
}
function testAlert(request)
{
}
function getSelectedSites()
{
selectedSites= {} ;
arrayCounter=0;
$('.website_cont.active',".siteSelectorContainer").each( function () {
selectedSites[arrayCounter]= $(this).attr('sid');
arrayCounter++;
});
return selectedSites;
}
function installItems(object,dlink,multiple)
{
if(dlink==undefined || dlink=='')
dLink=$(object).attr('dlink');
else
dLink=dlink;
/* if(mainArray['args']['sites']==undefined)
mainArray['args']['sites']={};
mainArray['args']['sites']=selectedSites;*/
tempArray={};
tempArray['args']={};
tempArray['args']['params']={};
tempArray['args']['siteIDs']={};
params={};
tempArray['action']="install"+activeItem.toTitleCase();
params[activeItem]={};
if(multiple>0)
{
tempArray['args']['siteIDs']=getSelectedSites();
if(multiple==2)
params[activeItem]=dLink;
else
params[activeItem][0]=dLink;
}
else
{
tempArray['args']['siteIDs'][0]=$(object).attr('sid');
params[activeItem][0]=dLink;
}
if($('.activateItem').hasClass('active'))
params['activate'] = true;
if($('.overwriteItem').hasClass('active'))
params['clearDestination'] = true;
tempArray['args']['params'] = params;
doHistoryCall(ajaxCallPath,tempArray);
}
function processAppSettings(data)
{
$("#saveSettingsBtn").removeClass('disabled');
$(".btn_loadingDiv").remove();
$("#saveSuccess").show();
setTimeout(function () { $("#settings_cont").hide(); $("#saveSuccess").hide();},1000);
$("#settings_btn").removeClass('active');
loadSettingsPage(data);
}
function ajaxRepositoryCall(data)
{
content='';
if(activeItem=='plugins')
{
content='<div class="th_sub rep_sprite" style="border-top:1px solid #D2D5D7;"> <div class="label" style="float:left;"><span style="margin-right:193px;">PLUGIN NAME</span></div> <div class="label" style="float:left;"><span style="margin-right:26px;">VERSION</span></div> <div class="label" style="float:left;"><span style="margin-right:28px;">RATING</span></div> <div class="label" style="float:left;"><span style="">DESCRIPTION</span></div> </div><div class="wp_repository_search_results">';
}
else
content='<div class="wp_repository_search_results" style="border-top:1px solid #D2D5D7;"><div class="tr_theme">';
content=content+data.data.getWPRepositoryHTML;
if(activeItem=='plugins')
content=content+'</div>';
else
content=content+'<div class="clear-both"></div></div></div>';
$(".wp_repository_cont").html(content);
$(".searchItem").removeClass('disabled');
$(".btn_loadingDiv").remove();
if($(".searchCont").is(":visible") && $(".searchVar.active").attr('dval')!="search")
$(".searchCont").hide();
}
function installFavourites()
{installArray={};
arrayCounter=0;
$(".favItems.active a").each(function () {
dlink=$(this).attr('dlink');
type=$(this).attr('utype');
installArray[arrayCounter]=dlink;
arrayCounter++;
});
installItems('',installArray,2);
}
function removeActiveElements() // Used for items management
{
$("#view_content .applyChangesCheck").each(function () {
if($(this).hasClass('active'))
$(this).closest("ul").before('<div class="queued_single">Queued..</div>').hide();
});
}
function applyChanges(object)
{
changeArray={};
arrayCounter=0;
closestVar=$(object).closest('.siteSearch');
$(".applyChangesCheck.active").each(function () {
if(!$(this).closest('.ind_row_cont').hasClass('hide'))
{
siteID=$(this).attr('sid');
dID=$(this).attr('did');
type=$(this).attr('utype');
action=$(this).attr('action');
name=$(this).attr('itemName');
if(changeArray[siteID]==undefined)
changeArray[siteID]={};
if(changeArray[siteID][type]==undefined)
changeArray[siteID][type]={};
valArray={};
valArray['name']=name;
valArray['path']=dID;
valArray['action']=action;
if(activeItem=="themes")
valArray['stylesheet']=$(this).attr('stylesheet');
changeArray[siteID][type][arrayCounter]=valArray;
arrayCounter++;
}
});
tempArray={};
tempArray['args']={};
tempArray['args']['params']={};
tempArray['action']='manage'+activeItem.toTitleCase();
tempArray['args']['params'] = changeArray;
doHistoryCall(ajaxCallPath,tempArray,'');
}
function isSiteSelected(object) // Used for managepanel
{
closestVar=$(object).closest('.siteSearch');
if($(".website_cont",closestVar).hasClass('active'))
{
return true;
}
else
return false;
}
function triggerSettingsButton()
{
$("#saveSettingsBtn").removeClass('disabled');
}
function processSettingsForm(data)
{
mainData=data;
data=data.data.updateAccountSettings;
$("#saveSettingsBtn").removeClass('disabled');
$(".btn_loadingDiv").remove();
if(data.status=='error' && data.error=='invalid_password')
{
closestVar=$("#currentPassword").closest(".valid_cont");
$(".valid_error",closestVar).show();
$(".valid_error div",closestVar).text('Invalid password. Kindly Check again.');
}
else
{
$("#saveSuccess").show();
setTimeout(function () { $("#settings_cont").hide(); $("#saveSuccess").hide();},1000);
$("#settings_btn").removeClass('active');
loadSettingsPage(mainData);
}
}
function validateSettingsForm()
{
var hasError = false;
var passwordVal = $("#newPassword").val();
var checkVal = $("#newPasswordCheck").val();
var currentPassword = $("#currentPassword").val();
if(currentPassword == '' || currentPassword=='Current Password')
{
closestVar=$("#currentPassword").closest(".valid_cont");
$(".valid_error",closestVar).show();
$(".valid_error div",closestVar).text('Please enter a password.');
}
if (passwordVal == '' || passwordVal == 'New Password' ) {
closestVar=$("#newPassword").closest(".valid_cont");
$(".valid_error",closestVar).show();
$(".valid_error div",closestVar).text('Please enter a password.');
hasError = true;
} else if (checkVal == '' || checkVal == 'New Password Again') {
closestVar=$("#newPasswordCheck").closest(".valid_cont");
$(".valid_error",closestVar).show();
$(".valid_error div",closestVar).text('Please re-enter your password.');
hasError = true;
} else if (passwordVal != checkVal ) {
closestVar=$("#newPasswordCheck").closest(".valid_cont");
$(".valid_error",closestVar).show();
$(".valid_error div",closestVar).text('Passwords do not match.');
//$("#password-check").after('<span class="error">Passwords do not match.</span>');
hasError = true;
}
$("#saveSettingsBtn").removeClass('disabled');
$(".btn_loadingDiv").remove();
return hasError;
}
function doCall(url,data,callback,dataType,animationLoad,historyRefreshCheck)
{
/*if(historyRefresh==1 && historyRefreshCheckFlag==0 )
historyRefreshCheckFlag=1
else if(historyRefresh==1 && historyRefreshCheckFlag==1)
return false;
if(animationLoad!="noProgress")
$("#process_queue").addClass('in_progress');
if(animationLoad==undefined)
{
animationLoad="normal";
loaderDiv="#loadingDiv";
}
if(animationLoad=="normal")
$(loaderDiv).show();
if(dataType==undefined)
dataType='json';
$.ajax({
traditional: true,
type: 'post',
url: url,
dataType: dataType,
data: $.param(data),
success: function(request) {
if(animationLoad=="normal")
$(loaderDiv).hide();
historyRefreshCheckFlag=0;
if(request.logout!=undefined && request.logout==true)
{
window.location.href = "login.php";
}
if(callback!=undefined)
eval(callback+"(request)");
} // End success
});*/
}
function doHistoryCall(url,data,callback,dataType)
{
if(data['requiredData']==undefined)
data['requiredData']={};
data['requiredData']['getHistoryPanelHTML']=1;
$("#process_queue").addClass('in_progress');
$("#historyQueue").show();
$(".queue_ind_item_cont .content").prepend('<div class="queue_ind_item historyItem">Adding to queue ...<div class="clear-both"></div></div>');
/*
if(dataType==undefined)
dataType='json';
$.ajax({
traditional: true,
type: 'post',
url: url,
dataType: dataType,
data: $.param(data),
success: function(request) {
if(request.logout!=undefined && request.logout==true)
{
window.location.href = "login.php";
}
//$("#historyQueue").html(request);
if(dataType=="json")
{
$("#activityPopup").html(request.data.getHistoryPanelHTML);
$(".nano").nanoScroller();
}
if(callback!=undefined)
eval(callback+"(request)");
// $("#activityPopup").html(request.data.getHistoryPanelHTML);
} // End success
});*/
}
function cancelEvent(e)
{
e = e ? e : window.event;
if(e.stopPropagation)
e.stopPropagation();
if(e.preventDefault)
e.preventDefault();
e.cancelBubble = true;
e.cancel = true;
e.returnValue = false;
return false;
}
//Code for search fixing case sensitive in search.
jQuery.expr[':'].contains = function(a,i,m){
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
function getFirstKey(object,count)
{
$.each(object, function(key, value) {
if(count==2)
{
$.each(value, function(key1, value1) {
tempVal=value1;
return false;
});
}
else
{
tempVal=key;
return false;
}
});
return tempVal;
}
function makeHistorySelection(object,parentClass)
{
if(parentClass==undefined)
parentClass="parent";
$(".queue_detailed","."+parentClass).hide();
if(!$(object).hasClass('active'))
{
$(".historyItem","."+parentClass).removeClass('active');
$(object).addClass('active');
$("#"+$(object).attr('did')).show();
$("#"+$(object).attr('did')).nanoScroller();
}
else
{
$(object).removeClass('active');
$("#"+$(object).attr('did')).hide();
}
}
function siteSelector()
{
scontent='';
sgcontent='';
sscontent='';
bcontent='';
bgcontent='';
bscontent='';
if(group!=null && group!=undefined && getPropertyCount(group)>0)
{
$.each(group, function(key,value) {
if(value.siteIDs!=undefined)
totalSiteCount=value.siteIDs.length;
else
totalSiteCount=0;
sgcontent=sgcontent+'<div class="group_cont rep_sprite" id="g'+key+'" gid="'+key+'"><a title="'+value.name+'">'+value.name+'</a></div>';
bgcontent=bgcontent+'<div class="ind_groups" id="g'+key+'" gid="'+key+'"><a title="'+value.name+'"><span class="count_cont">'+totalSiteCount+'</span><input name="" type="text" value="'+value.name+'" class="groupEditText" /></a> <div class="del_conf"><div class="label">Sure?</div><div class="yes deleteGroup">Yes</div><div class="no deleteGroup">No</div></div><div class="edit_del_cont"> <div class=" rep_sprite bg "><span class="rep_sprite_backup edit editGroup"></span></div> <div class=" rep_sprite bg"><span class=" rep_sprite_backup del deleteConf"></span></div> </div></div>';
});
}
else
{
sgcontent='';
bgcontent='<div class="empty_data_set websites"> <div class="line1" style="margin-top:200px;">Organize your wordpress sites into groups for easy managing.</div> <div class="line2">Go ahead. Create a group now.</div> <div class="arrow2"></div> </div>';
}
//var site = eval('([])');
if(site!=null && site!=undefined && getPropertyCount(site)>0)
{
$.each(site, function(key,value) {
sscontent=sscontent+'<div class="website_cont searchable deselectGroups" id="s'+key+'" sid="'+key+'"><a title="'+value.name+'">'+value.name+'</a></div>';
bscontent=bscontent+'<div class="ind_sites searchable js_sites bottomSites" id="s'+key+'" sid="'+key+'"><a title="'+value.name+'" class="site_selector_name"><span><img src="https://getfavicon.appspot.com/'+value.URL+'?defaulticon=http://s.wordpress.org/favicon.ico"></span>'+value.name+'</a></div>';
});
}
else
{
sscontent='';
bscontent='<div class="empty_data_set websites"> <div class="line1">No websites added yet..</div> <div class="line2">That makes us sad. Come on.<br /> Lets add one of your wordpress sites.</div> <div class="add_site_arrow"></div> </div>';
}
scontent='<div class="site_selector1 shadow_stroke_box siteSearch"> <div class="bygroup"><div class="th rep_sprite"><div class="title">by <span class="droid700">Groups</span></div><div class="clear-both"></div></div>';
scontent=scontent+'<div class="group_items_cont"><div class="group_cont rep_sprite" id="g0"><a>All Wedbsites</a></div>';
scontent=scontent+sgcontent+'</div></div>'; // class bygroup ends here
scontent=scontent+'<div class="bywebsites"> <div class="th rep_sprite"> <div class="title">by <span class="droid700">Websites</span></div> <div class="type_filter"> <input name="" placeholder="type to filter" type="text" class="input_type_filter search_site" ><div class="clear_input rep_sprite_backup"></div> </div> <div class="select_cont"><span>Select: </span><a class="siteSelectorSelect">All</a><a class="siteSelectorSelect">Invert</a><a class="siteSelectorSelect">None</a></div> <div class="clear-both"></div> </div> <div class="website_items_cont">';
scontent=scontent+sscontent+'<div class="no_match hiddenCont" style="display:none">Bummer, there are no websites that match.<br />Try typing fewer characters.</div> </div></div> <div class="clear-both"></div> </div>';
bcontent='<div id="bottom_sites_cont" style="display:none"><div id="bottom_left" class="float-left"><div class="list_cont nano"><div class="content"><div class="no_match hiddenCont" style="display:none">Bummer, there are no websites that match.<br />Try typing fewer characters.</div>';
bcontent=bcontent+bscontent+' </div> </div> <div class="bottom_bar rep_sprite"> <div class="select_box_cont float-left" >'+groupGenerate(1,"bottom")+'</div> <div class="rep_sprite toggle_manage_groups float-right"><div id="manage_groups_tool_tip">Manage Groups<div id="arrow_tip"></div></div><a class="rep_sprite_backup"></a></div> </div> <div class="bottom_subbar rep_sprite"><div style="position:relative;"><input name="" type="text" class="input_type_filter search_site" placeholder="type to filter" ><div class="clear_input rep_sprite_backup"></div></div> </div> </div> <div id="bottom_right" class="float-left"> <div class="list_cont nano"> <div class="content">';
bcontent=bcontent+bgcontent+' </div> </div> <div class="bottom_bar rep_sprite"><div class="btn_action float-right "><a class="rep_sprite btn_blue">Save Changes</a></div></div> <div class="bottom_subbar rep_sprite" id="createGroupCont"> <input name="" type="text" class="input_type_filter float-left onEnter groupClear" onenterbtn=".btn_create_group" id="newgroup" placeholder="new group" > <div class="btn_create_group rep_sprite float-left user_select_no" >Create</div> </div> </div> </div> <div id="btn" class="showFooterSelector"> </div><div class="site_bar_btn add_site rep_sprite float-left" style="margin-left: 54px;" id="addWebsiteContainer"><div class="btn_add_site rep_sprite_backup" id="addWebsite">Add Website</div></div>';
bottomToolbarVar=bcontent;
siteSelectorVar = scontent;
}
function updateSites(object,group)
{
arrayCounter=0;
var updateArray={};
var tempArray={};
$('span.statusSpan',object).text('Queued..');
$('span.statusSpan',object).addClass('updating');
$('span.typeVar',object).hide();
if(group==1)
{
topParent="#"+currentUpdatePage;
theSelector=$(object).attr('selector');
$(".item_ind."+theSelector+".active",topParent).not(".hide").not(".hidden").not('.updating').each(function () {
if(!$(this).closest('.ind_row_cont').hasClass('hide') && !$(this).closest('.ind_row_cont').hasClass('hidden') )
{
$('.update_single',this).text('Queued..');
$('.hideItem',this).hide();
$(this).addClass('updating');
$(this).removeClass('active');
$(".row_checkbox",this).hide();
siteID=$(this).attr('sid');
dID=$(this).attr('did');
type=$(this).attr('utype');
if(updateArray[siteID]==undefined)
updateArray[siteID]={};
if(updateArray[siteID][type]==undefined)
updateArray[siteID][type]={};
if(type=="core")
{
if(siteID!=undefined && type!=undefined && dID!=undefined)
updateArray[siteID][type]=dID;
}
else
{
if(siteID!=undefined && type!=undefined && dID!=undefined)
updateArray[siteID][type][arrayCounter]=dID;
}
arrayCounter++;
}
});
/*$.each(updateCheckArray, function(property, value) {
checkSelection(property);
});
*/
//$(object).
// jQuery.ajaxSettings.traditional = true;
}
else
{
topDiv=$(object).closest('.item_ind');
$(topDiv).addClass('updating');
$('.update_single',topDiv).text('Queued..');
$('.hideItem',topDiv).hide();
$(topDiv).removeClass('active');
$(".row_checkbox",topDiv).hide();
siteID=$(topDiv).attr('sid');
dID=$(topDiv).attr('did');
type=$(topDiv).attr('utype');
if(updateArray[siteID]==undefined)
updateArray[siteID]={};
if(updateArray[siteID][type]==undefined)
updateArray[siteID][type]={};
if(type=="core")
{
if(siteID!=undefined && type!=undefined && dID!=undefined)
updateArray[siteID][type]=dID;
}
else
{
if(siteID!=undefined && type!=undefined && dID!=undefined)
updateArray[siteID][type][0]=dID;
}
}
// check the root level update option
topClosestVar=$(object).closest('.ind_row_cont');
if($(".item_ind",topClosestVar).not('.hidden').not('.hide').length==$(".item_ind.updating",topClosestVar).not('.hidden').not('.hide').length)
{
$(topClosestVar).addClass('updating');
$(".select_action,.select_action_long",topClosestVar).hide();
}
checkUpdateSelect(object);
$('span.statusSpan',object).removeClass('updating');
tempArray['action']='updateAll';
tempArray['args']={};
tempArray['args']['params']=updateArray;
//checkSelection($(object).attr('selector'));
doHistoryCall(ajaxCallPath,tempArray,'');
}
function filterByGroup(object,val,type)
{
if(object=='' || object==undefined)
closestVar=$("#bottomToolBarSelector");
else
closestVar=$(object).closest('.siteSearch');
$(".input_type_filter",closestVar).val('');
if(val==0)
$('.js_sites',closestVar).removeClass('hide');
else
{
$('.js_sites',closestVar).addClass('hide');
$('[gid="'+val+'"]').removeClass('hide');
$.each(group[val].siteIDs, function(i,siteID) {
$('[sid="'+siteID+'"]',"#bottomToolBarSelector").removeClass('hide');
});
}
if(type==1) //for updates page to validate the extreme TOP update option
checkGeneralSelect('ind_row_cont');
}
function groupGenerate(type,randVal)
{
content='';
if(type==2) gcontent='';
if(type==1) // Type toolbar
{
toolVar='_toolbar';
}
else
toolVar='';
if(randVal==undefined)
randVal=incrementRand;
content='<select name="rand_'+randVal+'" class="select_group'+toolVar+'" tabindex="2"><option value="0">All Websites</option>';
$.each(group, function(i, object) {
if(type==2)
gcontent=gcontent+'<div class="ind_group js_addSite" gid="g'+i+'"><a>'+object.name+'</a></div>';
content=content+'<option value="'+i+'">'+object.name+'</option>';
});
content=content+'</select>';
incrementRand++;
if(type==2)
{
gcontent='<div class="group_selector">'+gcontent+'<div class="clear-both"></div> </div>';
return gcontent;
}
else
return content;
}
function selectorBind(object,className)
{
if($(object).attr('selector')!='ind_row_cont')
selection(className,$(object).attr('selector'),object);
else
{
mainUpdateSelection(className,object);
}
}
function showOrHide(object,className,IDToProcess,extra)
{
IDToProcess="#"+IDToProcess;
if(extra==1) // Reset Group for the bottom tool bar
resetGroup();
if($(IDToProcess).is(':visible'))
{
$(IDToProcess).hide();
$(object).removeClass(className);
}
else
{
$(IDToProcess).show();
$(object).addClass(className);
}
}
function checkGroupName(name)
{
checkVar=true;
$.each(group, function(gid, array) {
if(name.toLowerCase()==array.name.toLowerCase())
{
checkVar=false;
return false;
}
});
if(groupCreateArray!=undefined)
{
$.each(groupCreateArray, function(groupID, groupName) {
if(groupName.toLowerCase()==groupName.toLowerCase())
{
checkVar=false;
return false;
}
});
}
return checkVar;
}
function createGroup()
{
generalGroupVal=$("#newgroup").val();
if(checkGroupName(generalGroupVal) && generalGroupVal!='new group')
{
$("#bottom_right > .list_cont > .content").animate({ scrollTop: $("#bottom_right").height() }, "slow");
groupVal=generalGroupVal;
content='<div class="ind_groups" id="gnew-'+groupCounter+'" gid="new-'+groupCounter+'" newgroup="1" ><a><span class="count_cont">0</span><input name="" type="text" value="'+groupVal+'" class="groupEditText" /></a><div class="del_conf" style="display: none; "><div class="label">Sure?</div><div class="yes deleteGroup">Yes</div><div class="no deleteGroup">No</div></div><div class="edit_del_cont"> <div class=" rep_sprite bg "><span class="rep_sprite_backup edit editGroup"></span></div> <div class=" rep_sprite bg"><span class=" rep_sprite_backup del deleteConf"></span></div> </div></div>';
if($(".ind_groups","#bottomToolBarSelector").length==0)
{
$("#bottom_right > .list_cont > .content").html(content);
showGroupSelectBox();
}
else
$("#bottom_right > .list_cont > .content").append(content);
$('#gnew-'+groupCounter).click();
groupCreateArray['new-'+groupCounter]=groupVal;
groupCounter++;
$(".btn_blue").show();
}
else if(generalGroupVal=='new group' || generalGroupVal=='')
$("#createGroupCont").append("<div id='duplicateGroup'>Enter a group name.</div>");
else
{
$("#createGroupCont").append("<div id='duplicateGroup'>Group already exists. Try somethin' else.</div>");
}
}
// for footer selector updates_footer_updated
function resetGroup(refreshData)
{
if(refreshData==undefined)
refreshData=0;
$("#bottom_toolbar #bottom_sites_cont .list_cont .ind_sites a").css({'background-position': '-25px 0', 'padding': '11px 0 9px 5px','width': '255px'});
$("#bottom_right").hide();
$(".btn_blue").hide();
$("#bottom_toolbar #bottom_sites_cont .list_cont .ind_sites").removeClass('active');
$(".ind_groups").removeClass('active');
$("#dk_container_rand_bottom").removeClass('disabled');
$(".toggle_manage_groups").removeClass('active');
if(refreshData==1)
{
filterByGroup("",$("#dk_container_rand_bottom .dk_options_inner .dk_option_current a").attr("data-dk-dropdown-value"));
}
groupEditFlag = 0;
}
function showGroupSelectBox()
{
$('#bottom_toolbar #bottom_sites_cont .list_cont .ind_sites a').animate({
backgroundPosition: '0 0',
paddingLeft: '30px',
width: '230px'
}, 300);
}
function groupEdit(object)
{
groupEditFlag = 1;
if($("#bottom_right").is(':visible'))
{
resetGroup(1);
$(object).removeClass('active');
}
else
{
$("#bottom_right").show();
$(object).addClass('active');
if($(".ind_groups","#bottomToolBarSelector").length>0)
{
showGroupSelectBox();
$("#dk_container_rand_bottom").addClass('disabled');
$('.js_sites',"#bottomToolBarSelector").removeClass('hide');
$(".ind_groups:first","#bottomToolBarSelector").click();
}
}
}
function expandThis(object,className)
{
/*mainDiv = $(object).closest('.ind_row_cont');
if(className=='summary')
{
$('.row_summary',mainDiv).hide();
$('.row_detailed',mainDiv).show();
}
else
{
$('.row_summary',mainDiv).show();
$('.row_detailed',mainDiv).hide();
}*/
}
// For updates.html page
function optionSelect(object,type)
{
sFlag=0;
if(type==1 && $(object).hasClass('active')) // For plugins / theme page to give the functionality of unselecting the optional select
{
$(object).removeClass('active');
}
else
{
ulClass=$(object).closest('ul');
$(".optionSelect",ulClass).removeClass('active');
if(type==1)
{
if($(object).attr('action')=='activate' && activeItem=='themes')
$(".site"+$(object).attr('sid')).removeClass('active');
}
$(object).addClass('active');
}
}
function checkFavItems()
{
className="favItems";
totalLength = $('.'+className,".favSearch").length;
cFlag=$('.'+className+'.active',".favSearch").length;
if(cFlag==0)
$(".status_"+className).addClass('disabled');
else
$(".status_"+className).removeClass('disabled');
}
function checkUpdateSelect(object,group)
{
parent=$(object).attr('parent');
selector=$(object).attr('selector');
if(selector=='item_ind')
{
topParent="#"+currentUpdatePage;
$(object).addClass('disabled');
$(".ind_row_cont.active:not(.hide, .hidden, .hideVar) .row_checkbox",topParent).hide();
$(".ind_row_cont.active:not(.hide, .hidden, .hideVar) .row_action .update_group",topParent).hide();
$(".ind_row_cont.active:not(.hide, .hidden, .hideVar) .select_action,.select_action_long",topParent).hide();
$('.ind_row_cont.active:not(.hide, .hidden, .hideVar)',topParent).not(".hide").removeClass('active').addClass('updating');
}
else {
topParent=$(object).closest('.updateTabs');
if($(".item_ind."+selector,topParent).not('.hide').not('.hidden').not('.updating').length<1)
{
if(parent==selector)
$(".ind_row_cont."+selector+" .select_action",topParent).hide();
else
$(".select_"+selector,topParent).hide();
if(parent!=undefined && $(".item_ind."+parent,topParent).not('.hide').not('.hidden').not('.updating').length<1)
{
$(".ind_row_cont."+parent+" .row_checkbox",topParent).hide();
$(".ind_row_cont."+parent,topParent).removeClass('active');
$(".status_"+parent,topParent).text('Update All').hide();
}
}
if(parent!=undefined && parent!=selector)
checkGeneralSelect(parent,topParent);
checkGeneralSelect(selector,topParent);
checkGeneralSelect("ind_row_cont",topParent);
}
}
function showHidden()
{
topParent="#"+currentUpdatePage;
$.each(updateCheckArray, function(property, value) {
tLength=$(".item_ind."+property,topParent).not('.hide').not('.updating').length;
if(tLength>0)
{
$(".row_"+property).show();
if(!$(".row_"+property,topParent).closest(".ind_row_cont").is(":visible")){
$(".row_"+property,topParent).closest(".ind_row_cont'").show();
}
}
});
}
function checkGeneralSelect(className,topParent,noTopParent)
{
if(topParent==undefined || topParent==''){
topParent="#"+currentUpdatePage;
}
if(noTopParent==1){
totalLength=$(".item_ind."+className).not('.hide').not('.hidden').not('.updating').length;
cLength=$(".item_ind.active."+className).not('.hide').not('.hidden').not('.updating').length;
}
else{
if(className!='ind_row_cont'){
totalLength=$(".item_ind."+className,topParent).not('.hide').not('.hidden').not('.updating').length;
cLength=$(".item_ind.active."+className,topParent).not('.hide').not('.hidden').not('.updating').length;
}
else{
totalLength=$("."+className,topParent).not('.hide').not('.hidden').not('.updating').length;
cLength=$(".active."+className,topParent).not('.hide').not('.hidden').not('.updating').length;
}
}
if(totalLength==0 && noTopParent==1)
{
$(".row_"+className).addClass("hideVar");
if(viewHiddenFlag==0)
$(".row_"+className).hide();
tClosestVar=$(".row_"+className);
topClosestVar=$(".row_"+className).closest('.ind_row_cont');
if($(".item_ind",tClosestVar).not('.updating').not('.hidden').not('.hide').length<2)
$(".select_"+className).slideUp();
if($(".item_ind",topClosestVar).not('.updating').not('.hidden').not('.hide').length<1)
{
if(viewHiddenFlag==0)
$(".row_"+className).closest(".ind_row_cont'").hide();
$(".row_"+className).closest(".ind_row_cont'").addClass("hideVar").removeClass('active');
}
}
else if(totalLength!=0 && noTopParent==1)
{
//$(".select_"+className).show();
$(".row_"+className).removeClass("hideVar");
$(".row_"+className).show();
tClosestVar=$(".row_"+className);
topClosestVar=$(".row_"+className).closest('.ind_row_cont');
if($(".item_ind",tClosestVar).not('.updating').not('.hidden').not('.hide').length>1)
$(".select_"+className).slideDown();
else
$(".select_"+className).hide();
if($(".item_ind",topClosestVar).not('.updating').not('.hidden').not('.hide').length>1)
{
$(".row_"+className).closest(".ind_row_cont'").show();
$(".row_"+className).closest(".ind_row_cont'").removeClass("hideVar");
}
}
else if(totalLength==cLength)
{
if(noTopParent==1)
$(".select_"+className).show();
$(".status_"+className).text('Update All ');
if(className!='ind_row_cont')
{
//$(".status_"+className).closest(".select_action").show();
$(".status_"+className).closest(".update_group").show();
}
else {
$(".status_"+className).removeClass('disabled');
}
}
else if(cLength==0)
{
$(".status_"+className).text('Update All ');
if(className!='ind_row_cont')
{
//$(".status_"+className).closest(".select_action").hide();
$(".status_"+className).closest(".update_group").hide();
}
else
$(".status_"+className).addClass('disabled');
}
else
{
if(noTopParent==1)
{
$(".select_"+className).show();
}
$(".status_"+className).text('Update Selected ');
if(className!='ind_row_cont')
{
$(".status_"+className).closest(".select_action").show();
$(".status_"+className).closest(".update_group").show();
}
else
$(".status_"+className).removeClass('disabled');
}
}
function generalSelect(object, className,updateCheck)
{
activeFlag=0;
topParent=$(object).closest('.updateTabs');
closestVar=$(object,topParent).closest('.ind_row_cont');
if($(object).hasClass('active'))
{
$(object).not('.hidden').not('.hide').not('.updating').removeClass('active')
activeFlag=0;
}
else
{
$(object).not('.hidden').not('.hide').not('.updating').addClass('active');
activeFlag=1;
}
if(className=="ind_row_cont")
{
if(activeFlag==0)
{
$(".item_ind",object).not(".hide").not(".hidden").not(".updating").removeClass('active');
// $(".status_"+parent).text('Update All');
//$(".status_"+parent).addClass('disabled');
}
else
$(".item_ind",object).not(".hide").not(".hidden").not(".updating").addClass('active');
//$(".status_"+parent).removeClass('disabled');
}
else {
if($(".item_ind.selectOption.active",closestVar).not(".hide").not(".hidden").not(".updating").length<1)
{
$(object).closest(".ind_row_cont").removeClass('active');
}
else if($(".item_ind.selectOption.active",closestVar).not(".hide").not(".hidden").not(".updating").length==$(".item_ind.selectOption",closestVar).not(".hide").not(".hidden").not(".updating").length)
$(object).closest(".ind_row_cont").addClass('active');
}
parent=$(object).attr('parent');
selector=$(object).attr('selector');
if(parent!=undefined)
checkGeneralSelect(parent,topParent);
checkGeneralSelect(selector,topParent);
checkGeneralSelect("ind_row_cont",topParent);
}
// For SiteSelector.html page
gFlag=0;
gAll=0;
currentGroup=0;
function selectedGroupSelection()
{
closestVar=".siteSelectorContainer";
$(".group_cont.active",closestVar).each(function () {
if($(this).attr('gid')!=undefined && $(this).attr('gid')!='')
{
temp=group[$(this).attr('gid')].siteIDs;
$.each(temp, function(key, value) {
$("#s"+value,closestVar).addClass('active');
});
}
});
}
function makeSelection(object,groupFlag,toolbar) // For selector
{
tempArray={};
tempCount=0;
closestVar=$(object).closest('.siteSearch');
if($(object).hasClass('deselectGroups')) // For site selectors to deselect groups when a site is modified
$(".group_cont",".siteSelectorContainer").removeClass('active');
if($(object).hasClass('active'))
{
$(object).removeClass('active');
gFlag=1; // Deactivate the selected sites
}
else
{
$(object).addClass('active');
gFlag=2; // Activate the selected sites
}
if(toolbar==1 && groupFlag!=1)
{
checkGroups=$(".ind_groups","#bottomToolBarSelector").length; // When 0 groups don't edit
if(groupEditFlag==0 || checkGroups==0) // Not allow the sites to be selected when they are not in the edit mode.
{
$(object).removeClass('active');
}
arrayCounter=0;
groupListCountDiv="#bottom_left > .list_cont > .content > .active";
if($(groupListCountDiv,closestVar).length>0)
{
$(groupListCountDiv,closestVar).each(function () {
tempArray[arrayCounter]=$(this).attr('sid')
//tempVar = tempVar+$(this).attr('sid')+',';
tempCount++;
arrayCounter++;
});
}
else
tempArray[0]='empty';
//tempVar=tempVar.charAt(tempVar.length-1);
groupChangeArray[currentGroup]=tempArray;
$(".btn_blue").show();
$("#g"+currentGroup+" > a > .count_cont").html(tempCount);
}
if(groupFlag==1) // Selecting a group code.
{
//if(gFlag==1)
if(gAll==1)
{
$(".group_items_cont > #g0",closestVar).removeClass('active'); // Remove all websites check mark by using the id g0
$(".website_items_cont > .website_cont",closestVar).removeClass('active');
gAll=0;
}
if(toolbar==1) // Just for toolbar group selection
{
currentGroup =$(object).attr('gid');
removeDeleteConf();
if(gFlag==2)
{
$(".ind_groups",closestVar).removeClass('active');
$(".ind_sites",closestVar).removeClass('active');
}
id=$(object).addClass('active');
}
id=$(object).attr('gid');
if(groupEditFlag==1 && (groupChangeArray[id]!=undefined))
{
temp=groupChangeArray[id];
}
else
{
if($(object).attr('newgroup')!=1)
temp=group[id].siteIDs;
else
{
temp='';
}
}
if(temp!=undefined)
{
$.each(temp, function(key, value) {
if(gFlag==2)
$("#s"+value,closestVar).addClass('active');
else if(gFlag==1 && toolbar!=1)
$("#s"+value,closestVar).removeClass('active');
});
}
selectedGroupSelection();
}
else if(groupFlag=='all')
{
$(".group_items_cont > .group_cont",closestVar).removeClass('active');
if(gFlag==2)
{
$(".website_items_cont > .website_cont",closestVar).addClass('active');
$(object).addClass('active');
gAll=1
}
else if(gFlag==1)
{
$(".website_items_cont > .website_cont",closestVar).removeClass('active');
gAll=0;
}
}
}
function mainUpdateSelection(type,object)
{
className="ind_row_cont";
topVar="#"+currentUpdatePage;
if(type=='all')
{
$("."+className,topVar).not('.hide,.hidden,.updating').each(function () {
$(this).addClass('active');
$(".item_ind",this).not('.hide,.hidden,.updating').addClass('active');
});
}
else if(type=='none')
{
$("."+className,topVar).not('.hide,.hidden,.updating').each(function () {
$(this).removeClass('active');
$(".item_ind",this).not('.hide,.hidden,.updating').removeClass('active');
});
}
else if(type=='invert')
{
$("."+className,topVar).not('.hide,.hidden,.updating').each(function() {
if($(this).hasClass('active'))
{
$(this).removeClass('active');
$(".item_ind",this).not('.hide,.hidden,.updating').removeClass('active');
}
else
{
$(this).addClass('active');
$(".item_ind",this).not('.hide,.hidden,.updating').addClass('active');
}
});
}
checkGeneralSelect(className);
}
function selection(type,className,object,page)
{ if(type=='all')
{
$("."+className).not('.hide,.updating,.hidden').addClass('active');
}
else if(type=='none')
$("."+className).not('.hide,.updating,.hidden').removeClass('active');
else if(type=='invert')
{
$("."+className).each(function() {
if($(this).hasClass('active'))
$(this).not('.hide,.updating,.hidden').removeClass('active');
else
$(this).not('.hide,.updating,.hidden').addClass('active');
});
}
checkGeneralSelect(className); // Updated from updates.html page
if(object) // For update Page
{
var tempVar = $(object).attr('parent');
if(tempVar)
checkGeneralSelect(tempVar);
}
}
function checkSearchedList(className,closestVar,type)
{
if(type==2) //Updates page
{
if(closestVar=='')
topParent="#"+currentUpdatePage;
else
topParent=closestVar;
//topParent=$(closestVar,topParent);
if(viewHiddenFlag==1)
return $(".ind_row_cont",topParent).not('.hide').length;
else
return $(".ind_row_cont",topParent).not('.hide').not('.hideVar').length;
}
else
{
return $(className,closestVar).not('.hide').length;
}
}
function searchSites(object,type){
clearTimeout(timeOut);
className=".searchable";
if($(object).val().length>0)
$(object).next().show();
else
$(object).next().hide();
if(type==3) // For Favourites
closestVar='.favSearch';
else if(type==2 || type==4)
{
//topParent="#"+currentUpdatePage;
closestVar=$(object).closest('.siteSearch');
}
else
closestVar=$(object).closest('.siteSearch');
timeOut = setTimeout( function () {
if($(object).val().length>2 && $(object).val()!="type to filter" )
{
if(type==2 || type==4) // For updates and plugins search which has expandables
{
$(className,closestVar).closest('.ind_row_cont').removeClass('hide');
$(className+":not(:contains("+$(object).val()+"))",closestVar).closest('.ind_row_cont').addClass('hide');
checkGeneralSelect('ind_row_cont');
if(type==2)
checkSearchListVar=checkSearchedList(className,'',2);
else
checkSearchListVar=checkSearchedList(className,closestVar,2);
if(checkSearchListVar<1)
$(".hiddenCont",closestVar).show();
else
$(".hiddenCont",closestVar).hide();
}
else
{
$(className,closestVar).removeClass('hide');
$(className+":not(:contains("+$(object).val()+"))",closestVar).addClass('hide');
if(checkSearchedList(className,closestVar)<1)
$(".hiddenCont",closestVar).show();
else
$(".hiddenCont",closestVar).hide();
}
}
else
{
$(".hiddenCont",closestVar).hide();
if(type==2 || type==4)
{
$(className,closestVar).closest('.ind_row_cont').removeClass('hide');
checkGeneralSelect('ind_row_cont');
}
else
{
$(className,closestVar).removeClass('hide');
}
}
},300);
}