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(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;	
	}
}