- ./
- ./images
- ./includes/common
- ./includes/config
- ./includes/functions
- ./javascript
- ./styles
- ./templates/borrower
- ./templates/main
- ./templates/manage
- ./templates/search
./javascript/form.js
function titleCase(string)
{
return string.substr(0,1).toUpperCase()+string.substr(1);
}
function validate(url, fobj)
{
var out = "";
var ok = true;
var radio_array = new Array();
var radio_name_array = new Array();
var push = 0;
var index = 0;
for(var i = 0;i < fobj.elements.length;i++)
{
var sh = 'true';
var cond_val = 'false';
switch(fobj.elements[i].type)
{
case "text":
if(document.getElementById('s_' + fobj.elements[i].name))
{
var cxt = document.getElementById('s_' + fobj.elements[i].name).value;
var ext = document.getElementById(cxt).value;
if(fobj.elements[i].value!=ext)
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - the ' + fobj.elements[i].name + '\'s do not match</li>';
}
}
if(document.getElementById('c_' + fobj.elements[i].name))
{
var cxp = document.getElementById('c_' + fobj.elements[i].name).value;
var rxp = document.getElementById(cxp);
var exp = document.getElementById('e_' + fobj.elements[i].name).value;
if(rxp.type=="radio")
{
if(rxp.checked==true)
{
var cond_val = 'true';
}
}
else if(rxp.type=="text")
{
if(rxp.value==exp)
{
var cond_val = 'true';
}
}
else if(rxp.type=="select-one")
{
if(rxp.value==exp)
{
var cond_val = 'true';
}
}
}
else
{
var cond_val = 'true';
}
if(document.getElementById('v_' + fobj.elements[i].name))
{
var type = document.getElementById('v_' + fobj.elements[i].name).value;
if(type=="text")
{
var regex = "[^ \sa-zA-Z]";
var msg = 'You may only use letters';
}
else if(type=="number")
{
var regex = "[^ \s0-9]";
var msg = 'You may only use numbers';
}
else if(type=="email")
{
var regex = "^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$";
var msg = 'You must enter a valid email address';
}
else if(type=="url")
{
var regex = "^(http[s]?://|ftp://)?(www\.)?[a-zA-Z0-9-\.]+\.[a-zA-Z\.]+[a-zA-Z0-9\./_-]?$";
var msg = 'You must enter a valid URL';
}
else if(type=="sortcode")
{
var regex = "[^0-9-]";
var msg = 'You may only use numbers and the following character -';
}
else if(type=="fulltext")
{
var regex = "[^ \sa-zA-Z0-9]";
var msg = 'You may only use letters and numbers';
}
else if(type=="anytext")
{
var regex = "[^ \sa-zA-Z0-9-\"',.&%()_;:]";
var msg = 'You may only use letters, numbers and the following characters -"\',.&%()_;:';
}
var re = new RegExp(regex);
if(document.getElementById('r_' + fobj.elements[i].name))
{
if(fobj.elements[i].value!="")
{
if(fobj.elements[i].value.match(re))
{
if(type!="email" && type!="url")
{
var sh = 'false';
}
}
else
{
if(type=="email" || type=="url")
{
var sh = 'false';
}
}
}
}
else
{
if(cond_val=='true')
{
if(fobj.elements[i].value=="")
{
var msg = 'The field is not optional';
var sh = 'false';
}
else
{
if(fobj.elements[i].value.match(re))
{
if(type!="email" && type!="url")
{
var sh = 'false';
}
}
else
{
if(type=="email" || type=="url")
{
var sh = 'false';
}
if(type=="number" || type=="price")
{
if(fobj.elements[i].value==0)
{
var msg = 'You must enter an amount greater than 0';
var sh = 'false';
}
}
}
}
}
}
}
if(sh=='false')
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - ' + msg + '</li>';
}
break;
case "password":
if(document.getElementById('r_' + fobj.elements[i].name))
{
}
else
{
if(fobj.elements[i].value=='')
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - the field is not optional</li>';
}
}
if(document.getElementById('s_' + fobj.elements[i].name))
{
var cxt = document.getElementById('s_' + fobj.elements[i].name).value;
var ext = document.getElementById(cxt).value;
if(fobj.elements[i].value!=ext)
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - the passwords do not match</li>';
}
}
break;
case "textarea":
if(document.getElementById('r_' + fobj.elements[i].name))
{
}
else
{
if(fobj.elements[i].value=="")
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - You must enter something</li>';
}
}
break;
case "checkbox":
if(document.getElementById('r_' + fobj.elements[i].name))
{
if(fobj.elements[i].checked!=true)
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - You must agree to the ' + fobj.elements[i].value + '</li>';
}
}
break;
case "radio":
push = 0;
for(var j = 0; j < radio_name_array.length; j++)
{
if(radio_name_array[j]==fobj.elements[i].name)
{
index = j;
push = 1;
}
}
if(push==0)
{
radio_name_array.push(fobj.elements[i].name);
index = radio_array.push();
}
if(fobj.elements[i].checked==true)
{
radio_array[index] = fobj.elements[i].checked;
}
break;
case "select-one":
if(document.getElementById('r_' + fobj.elements[i].name))
{
}
else
{
if(fobj.elements[i].value=='Please Select')
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - You must select a option</li>';
}
if(fobj.elements[i].value=='-')
{
ok = false;
out += '<li>' + titleCase(fobj.elements[i].name) + ' - You must select a option</li>';
}
}
break;
}
}
for(var i = 0;i < radio_name_array.length;i++)
{
if(radio_array[i]!=true)
{
ok = false;
out += '<li>' + titleCase(radio_name_array[i]) + ' - You must choose 1 option</li>';
}
}
if(ok==true)
{
fobj.method = 'POST';
fobj.action = url;
fobj.submit();
}
else
{
var obj = document.getElementById('errors');
obj.className = 'visible';
obj.innerHTML = 'The following fields require corrections:<br><ul>' + out + '</ul>';
scroll(0,0)
}
}
function passwordStrength(password, targetIMG, targetDiv)
{
var text = document.getElementById(targetDiv);
var img = document.getElementById(targetIMG);
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (password.length==0)
{
text.innerHTML = '';
img.src = global_url_path + 'images/0.jpg';
}
else if (false == enoughRegex.test(password))
{
text.innerHTML = '<b>To short</b>';
img.src = global_url_path + 'images/0.jpg';
}
else if (strongRegex.test(password))
{
text.innerHTML = '<span style="color:green"><b>Strong</b></span>';
img.src = global_url_path + 'images/3.jpg';
}
else if (mediumRegex.test(password))
{
text.innerHTML = '<span style="color:orange"><b>Medium</b></span>';
img.src = global_url_path + 'images/2.jpg';
}
else
{
text.innerHTML = '<span style="color:red"><b>Weak</b></span>';
img.src = global_url_path + 'images/1.jpg';
}
}
function checkUser(username, field)
{
var text = document.getElementById(field);
text.innerHTML = 'Checking availability';
if(window.XMLHttpRequest)
{
var index = XMLHttpRequestObjects.push(new XMLHttpRequest());
}
else if (window.ActiveXObject)
{
var index = XMLHttpRequestObjects.push(new ActiveXObject("Microsoft.XMLHTTP"));
}
if(XMLHttpRequestObjects[index-1])
{
XMLHttpRequestObjects[index-1].open("GET", global_url_path + 'search.php?req=ajax&type=user&data=' + username);
XMLHttpRequestObjects[index-1].onreadystatechange = function()
{
if (XMLHttpRequestObjects[index-1].readyState == 4 &&
XMLHttpRequestObjects[index-1].status == 200)
{
if(XMLHttpRequestObjects[index-1].responseText=="ok")
{
text.innerHTML = '<b>Your username is available</b>';
}
else
{
text.innerHTML = '<b>' + XMLHttpRequestObjects[index-1].responseText + '</b>';
}
}
}
XMLHttpRequestObjects[index-1].send(null);
}
}
//*************************************************************************************************
//Image Manager
//*************************************************************************************************
function insertImg(url)
{
url += "&count=" + document.forms['upload'].elements['counter'].value;
document.forms['upload'].elements['counter'].value = (document.forms['upload'].elements['counter'].value * 1) + 1;
document.forms['upload'].elements['total'].value = (document.forms['upload'].elements['total'].value * 1) + 1;
if(document.forms['upload'].elements['counter'].value==1)
{
getContent(url, "image_box");
}
else
{
addContent(url, "image_box");
}
}
function removeImg(id, url)
{
placeContent('imgstatus', '<img src=\'%DOMAINimages/general/loading.gif\' width=\'20\' height=\'20\' align=\'absmiddle\' border=\'0\'>Please Wait');
hideElement(id);
addContent(url, "image_box");
document.forms['upload'].elements['total'].value = (document.forms['upload'].elements['total'].value * 1) - 1;
placeContent('imgstatus', 'Image deleted successfully.');
if(document.forms['upload'].elements['total'].value==0)
{
document.forms['upload'].elements['counter'].value = 0;
}
toggleUpload();
}
function updateImg(id, url)
{
alert(id);
alert(url);
}
function toggleUpload()
{
toggleDisable(document.forms['uploadone'].elements['b']);
toggleDisable(document.forms['uploadmore'].elements['b']);
}
function clearFields()
{
document.forms['uploadone'].elements['image'].value = "";
for(var i = 1;i <11;i++)
{
document.forms['uploadmore'].elements['image' + i].value = "";
}
}
function closeEdit(control)
{
tinyMCE.execCommand('mceRemoveControl', false, control);
}
function updatePrice()
{
if(document.forms['quantity'].quantity.value=="-")
{
document.forms['quantity'].elements['total'].value = '0.00';
document.forms['quantity'].elements['price'].value = '0.00';
document.forms['quantity'].elements['discount'].value = '0.00';
}
else
{
var quan = document.forms['quantity'].quantity.value;
var price = document.forms['quantity'].staticprice.value;
var dis = document.forms['quantity'].staticdis.value;
var next = price*quan;
var total = (next * 1);
var discount = (dis * 1)*(quan - 1);
var total = total - discount
var total = total.toFixed(2);
var next = next.toFixed(2);
var discount = discount.toFixed(2);
document.forms['quantity'].elements['total'].value = total;
document.forms['quantity'].elements['price'].value = next;
document.forms['quantity'].elements['discount'].value = discount;
}
}
function updateOffer()
{
if(document.forms['quantity'].quantity.value=="-")
{
document.forms['quantity'].elements['total'].value = '0.00';
}
else
{
var quan = document.forms['quantity'].quantity.value;
var price = document.forms['quantity'].offer.value;
var next = price*quan;
var total = (next * 1);
var total = total.toFixed(2);
var next = next.toFixed(2);
document.forms['quantity'].elements['total'].value = total;
}
}