var StoreManager = function(){
var storeArea = $("#store-area"),
loadingArea = storeArea.find(".loading-store"),
loadingAreaStatus = loadingArea.find(".loading-status"),
formArea = storeArea.find(".form-area");
var initialize = function(){
loadingAreaStatus.text("Contacting Ruling Store");
setTimeout(step1,1000);
}
var step1 = function(){
$.ajax({
"type" : "get",
"dataType" : "json",
"url" : "/admin/store/check_credentials"
}).done(function(status){
if(status.success == true){
loadingAreaStatus.text("Checking permissions");
setTimeout(step2,1000);
}else if(status.success == false){
setTimeout(loadRegisterForm,1000);
}
}).fail(showError);
}
var step2 = function(){
$.ajax({
"type" : "get",
"dataType" : "json",
"url" : "/admin/store/check_permissions"
}).done(function(data){
if(data.success){
loadingAreaStatus.text("Fetching store data")
setTimeout(loadTemplateStore,1000);
}else if(!data.success){
loadingArea.find("img").hide();
loadingAreaStatus.text(data.message);
if(data.error == "SITE_NOT_CONFIRMED"){
loadingArea.find("p").eq(1).html("Resend Email");
}else if(data.error == "SITE_PERMISSION_DENIED"){
loadingArea.find("p").eq(1).html("Please contact www.rulingcom.com.");
}else{
loadingArea.find("p").eq(1).html("Please contact www.rulingcom.com.");
}
}
}).fail(showError);
}
var resendEmail = function(){}
var loadTemplateStore = function(){
$.ajax({
"type" : "get",
"dataType" : "html",
"url" : "/admin/store/template_store"
}).done(function(html){
storeArea.html(html);
}).fail(showError);
}
var loadRegisterForm = function(){
loadingAreaStatus.text("Loading registeration form.")
$.ajax({
"type" : "get",
"dataType" : "html",
"url" : "/admin/store/register_form"
}).done(function(html){
loadingArea.hide();
formArea.html(html);
var form = formArea.find("form");
new FormValidator(form);
form.on("submit",function(){
var email = form.find("#inputEmail").val();
if(email){
loadingAreaStatus.text("Registering with Orbit Store")
formArea.hide();
loadingArea.show();
$.ajax({
"type" : "post",
"url" : form.attr("action"),
"dataType" : "json",
"data" : {"email" : email}
}).done(function(data){
if(data.success){
loadingArea.find("img").hide();
loadingAreaStatus.text("Email sent to the address " + email + ". Please verify and come back.");
loadingArea.find("p").eq(1).remove();
}else{
loadingArea.find("img").hide();
loadingAreaStatus.text(data.message);
loadingArea.find("p").eq(1).html("Please contact www.rulingcom.com.");
}
}).fail(showError)
}
return false;
})
})
}
var showError = function(){
loadingArea.find("img").hide();
loadingAreaStatus.text("There was some unknown error.");
loadingArea.find("p").eq(1).html("Please try again later or contact www.rulingcom.com.");
}
initialize();
}
// step 1 -> check connection to store server
// step 2 -> check for site confirmation and access permission