This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Incam_SGD/setup/wizard/resources/js/wizard.js

249 lines
5.8 KiB
JavaScript

// Class Wizard
var ajaxOn = false;
function wizard() {
this.ajaxOn = false;
}
// Toggle Advance Database options
wizard.prototype.toggleClass = function(ele, option) { //adv_options|php_details|php_ext_details|php_con_details
var style = $('.'+ele).attr('style');
style = w.trim(style);
style = style.toLowerCase();
var patt1=/none/gi; // preg match
var patt2=/block/gi;
if(style.match(patt1) == 'none') {
if(this.ajaxOn) {
w.slideElement($('.'+ele), 'down');
} else {
$('.'+ele).attr('style', 'display: block;');
}
if($('#'+option).attr('innerHTML') != '  Advanced Options') {
$('#'+option).attr('innerHTML', 'Hide Details');
}
} else if(style.match(patt2) == 'block') {
if(this.ajaxOn) {
w.slideElement($('.'+ele), 'up');
} else {
$('.'+ele).attr('style', 'display: none;');
}
if($('#'+option).attr('innerHTML') != '  Advanced Options') {
$('#'+option).attr('innerHTML', 'Show Details');
}
} else {
}
}
wizard.prototype.slideElement = function(el, dir) {
if(dir == 'down')
$(el).slideDown("slow");
else
$(el).slideUp("slow");
}
// Focus on element
wizard.prototype.focusElement = function(el) {
el.focus();
}
// Force previous click
wizard.prototype.pClick = function() {
var state = $('#state');
if(state != undefined) {
state.attr('name', 'previous');
}
}
// Force next click
wizard.prototype.nClick = function() {
var state = $('#state');;
if(state != undefined) {
state.attr('name', 'next');
}
}
// Validate Registration Page
wizard.prototype.validateRegistration = function() {
// See if next or previous is clicked.
var state = $('#state').attr('name');
if(state == 'next') {
if(w.valRegHelper()) {
$('#sendAll').attr('name', 'Next'); // Force the next step
$('#sendAll').attr('value', 'next');
return true;
}
} else if(state == 'previous') {
$('#sendAll').attr('name', 'Previous'); // Force the previous step
$('#sendAll').attr('value', 'previous');
return true;
}
return false;
}
wizard.prototype.valRegHelper = function() {
var first = $("#first");
var last = $("#last");
var email = $("#email");
if(first.attr('value').length < 1) {
$("#reg_error").html('Enter a First Name');
w.focusElement(first);
return false;
}
if(!w.nameCheck(first.attr('value'))) {
$("#reg_error").html('Enter a valid First Name');
w.focusElement(first);
return false;
}
if(last.attr('value').length < 1) {
$("#reg_error").html('Enter a Last Name');
w.focusElement(last);
return false;
}
if(!w.nameCheck(last.attr('value'))) {
$("#reg_error").html('Enter a valid Last Name');
w.focusElement(last);
return false;
}
if(!w.emailCheck(email.attr('value'))) {
$("#reg_error").html('Enter a valid email address');
w.focusElement(email);
return false;
}
return true;
}
wizard.prototype.nameCheck = function(str) {
str = w.trim(str);
var nameRegxp = /^([a-z A-Z]+)$/;
if(str.match(nameRegxp)) {
return true;
} else {
return false;
}
}
// Validate Registration Page Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
wizard.prototype.emailCheck = function(str) {
str = w.trim(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;
}
wizard.prototype.trim = function (str, chars) {
return w.ltrim(w.rtrim(str, chars), chars);
}
wizard.prototype.ltrim = function (str, chars) {
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
wizard.prototype.rtrim = function (str, chars) {
chars = chars || "\\s";
return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
wizard.prototype.adjustMenu = function (form_id, previous) {
form_name = form_id.split('_');
if(form_name.length == 2) {
current_step = form_name[0];
next_step = form_name[1];
$('#'+current_step).attr('class', 'current');
$('#'+next_step).attr('class', 'inactive');
} else if(form_name.length == 3) {
previous_step = form_name[0];
current_step = form_name[1];
next_step = form_name[2];
$('#'+previous_step).attr('class', 'active');
$('#'+current_step).attr('class', 'current');
$('#'+next_step).attr('class', 'inactive');
}
}
wizard.prototype.dummy = function () {
}
// pre-submit callback
wizard.prototype.showRequest = function (formData, jqForm, options) {
//$.blockUI({message:''});
$.blockUI({overlayCSS:{opacity:0.1}, fadeIn:500, fadeOut:500, message:''});
$('#loading').attr('style', 'display:block;');
}
// post-submit callback
wizard.prototype.showResponse = function (responseText, statusText) {
$.unblockUI();
$('#loading').attr('style', 'display:none;');
}
wizard.prototype.refresh = function (page) {
var address = "index.php?step_name="+page;
var div = 'content_container';
$.ajax({
url: address,
dataType: "html",
type: "GET",
cache: false,
beforeSubmit: w.showRequest,
success: function(data) {
$("#"+div).empty();
$("#"+div).append(data);
w.showResponse;
return;
}
});
}
wizard.prototype.getUrl = function (address, div) {
$("#"+div).empty();
$.ajax({
url: address,
dataType: "html",
type: "GET",
cache: false,
success: function(data) {
$("#"+div).empty();
$("#"+div).append(data);
return;
}
});
}
wizard.prototype.sendJavaLocation = function () {
$('form').submit();
}
wizard.prototype.sendRegistration = function () {
$('form').submit();
}
wizard.prototype.clearSessions = function () {
}