function registerValidator(form) {

	var firstname = document.getElementById("txtFirstName").value;
	var lastname = document.getElementById('txtLastName').value;
	var username = document.getElementById('username').value;
	var email = document.getElementById('txtEmail').value;
	var password = document.getElementById('txtPassword').value;
	var confirm = document.getElementById('txtConfirmPwd').value;
	var country = document.getElementById('country');
	var cntryval = country.options[country.selectedIndex].value;
	var captcha = document.getElementById('recaptcha_response_field').value;
	
	if(isEmpty(firstname)== true ) {
		
		return false;	
	}
	
	if(checkName(firstname)==false) {
		
		return false;	
	}
	
	if(isEmpty(lastname)== true ) {
		
		return false;	
	}
	
	if(checkName(lastname)==false) {
		
		return false;	
	}
	
	if(checkEmail(email)==false) {
		return false;	
	}
	
	if(isEmpty(username)== true ) {
	
		return false;	
	}
	
	if(isEmpty(password)== true || password.length<5)
	{
	
		return false;	
	}
	
	if(checkPwd(password,confirm)== false) {
	
		return false;	
	}
	
	var chk6 = checkCaptcha(captcha);
	if(chk6 == false) {
	
		return false;	
	}
	
	
	if(cntryval.length > 2) {
	
		return false;}
	
}

function checkName(name) {
	if(checkSplChars(name) == false) 
		return false;
	else
		return true;	
}

function checkUserName(username) { 	
	if(isEmpty(username)){
		return false;
	} 
	
}

function checkEmail(email) {
	if(chkEmailFormat(email) == false)
		return false;
	else 
		return true;	
}

function checkPwd(pass,confirm) {
	if(isEmpty(pass))
		return false;
		
	if(pass.length<5)
		return false;
	
	if(isEmpty(confirm))
		return false;
	
	if(pass != "" && confirm != "" && pass != confirm)
		return false;
	
	else 
		return true;	
	
}

function checkCaptcha(captcha) {
	if(isEmpty(captcha))
		return false;
		
}

function loginValidator(form) {
	var username = document.getElementById("lusername").value;
	var pwd = document.getElementById('txtlpasswd').value;
	
	if(isEmpty(username) && isEmpty(pwd)){
            	document.getElementById('loginerrorspan').innerHTML = 'Username and Password are empty';
        	return false;
        }
	
	if(isEmpty(username) || username == 'User Name' ){
		document.getElementById('loginerrorspan').innerHTML = 'Enter User Name';
        	return false;
        }
        
        if(isEmpty(pwd)){
            	document.getElementById('loginerrorspan').innerHTML = 'Enter Password';
        	return false;
        }

return true;        
}

function forgotValidator(form) {
	var username = document.getElementById("forgotusrname").value;
		
	if(isEmpty(username) || username == 'User Name') {
		document.getElementById('forgoterrspan').innerHTML = 'Username/Email is empty!';
		return false;
	}
	
	// to check whether data is emailid or username	
	var chk = username.indexOf('@');
	if(chk>0)
	{
		if(chkEmailFormat(username) == false) {
			document.getElementById('forgoterrspan').innerHTML = 'Enter an email like name@email.com';
			return false;
	  	}
		
	} 
}

function chkContactEmpty(form)
{
	var name = document.getElementById("contactname").value;
	var email = document.getElementById('contactemail').value;
	var msg = document.getElementById('contactmessage').value;
	var captcha = document.getElementById('recaptcha_response_field').value;
	
	if(name =="" || email =="" || msg =="" || captcha =="")
	{
	document.getElementById('contacterr').innerHTML = '<font color="red">All fields are mandatory!</font>';
	return false;
	}
	
	var chk = checkCaptcha(captcha);
	if(chk == false) {
		return false;	
	}
		
	if(!checkEmail(email))
	{
	document.getElementById('contacterr').innerHTML = 'Invalid Email Id!';
	return false;
	}
	else
	{
	document.getElementById('contacterr').innerHTML = '';
	return true;}
}

function chkThemeEmpty(form)
{
var themename = document.getElementById("themename").value;
var desc = document.getElementById("description").value;
	if(themename == "" || desc == "") {
	document.getElementById('themeerr').innerHTML = 'Mandatory fields are empty!';
	return false;
	}
	else
	{
		document.getElementById('themeerr').innerHTML = '';
	return true;
	}
}

function chkThemeDetailEmpty(form)
{
var themename = document.getElementById("themename").value;
var desc = document.getElementById("description").value;
	if(themename == "" || desc == "") {
	document.getElementById('themedetailerr').innerHTML = 'Mandatory fields are empty!';
	return false;
	}
	else
	{
		document.getElementById('themedetailerr').innerHTML = '';
	return true;
	}
}

function addToTheme(form)
{ 
	var uid = document.getElementById('uid').value;
	if(isNaN(uid)){
	document.getElementById('confirmdiv').innerHTML = 'Login to add your images to this theme!';
	return false;
	}
	
	var count=0;
	var group = form.elements["add[]"];
	var x, len = group.length;
	if(len !=undefined) {
	for(x=0; x<len; x++) {
		if(group[x].checked) {
		count++;
		break;
		}
	}
	
	if(count==0) {
	document.getElementById('statusbar').innerHTML = '';
	document.getElementById('confirmdiv').innerHTML = 'No images selected for adding!';
	return false;
	}
	else
	return true;
	}
	// for single element len comes as undefined
	else {
		if(!group.checked) {
		document.getElementById('statusbar').innerHTML = '';
		document.getElementById('confirmdiv').innerHTML = 'No image selected for adding!';
		return false;}
		else {
		document.getElementById('confirmdiv').innerHTML = '';
		return true;}	
	     }
}

function checkSplChars(data)
{
	var iChars = "*|,\":<>[]{}`\';()@&$#%-_!+?.^\\ /=~";
	for (var i = 0; i < data.length; i++) {
		if (iChars.indexOf(data.charAt(i)) != -1) {
			return false;
		}
	}
		
}

function checkSplCharsName(data)
{
	var iChars = "*|,\":<>[]{}`\';()@&$#%-_!+?.^\\/=~";
	for (var i = 0; i < data.length; i++) {
		if (iChars.indexOf(data.charAt(i)) != -1) {
			return false;
		}
	}
		
}

// bad words filter
var swear_words_arr=new Array("albino","anal","anus","arse","arsehole","ass","asshat","asspirate","assbag","assbandit","assbanger","assbite","assclown","asscock","asscracker",
"asses","assface","assfuck","assfucker","assgoblin","asshat","asshead","asshole","asshopper","assjacker","asslick","asslicker","assmonkey","assmunch","assmuncher","assnigger",
"asspirate","assshit","assshole","asssucker","asswad","asswipe",
"bampot","bastard","beaner","bitch","bitchass","bitches","bitchtits","bitchy","blow job","blowjob","bollocks","bollox","boner","brotherfucker","bullshit","bumblefuck","butt",
"butt plug","buttfucka","buttfucker",
"camel toe","carpetmuncher","chinc","chink","choad","chode","clit","clitface","clitfuck","clusterfuck","cock","cockass","cockbite","cockburger","cockface","cockfucker","cuntlicker",
"cockjockey","cockknoker","cockmaster","cockmongler","cockmongruel","cockmonkey","cockmuncher","cocknose","cocknugget","cockshit","cocksmith","cocksmoker","cocksucker","coochie",
"coochy","coon","cooter","crackerv","cum","cumbubble","cumdumpster","cumguzzler","cumjockey","cumslut","cumtart","cunnie","cunnilingus","cunt","cuntface","cunthole","cockhead",
"cuntrag","cuntslut","dago","damn","deggo","dick","dickbag","dickbeaters","dickface","dickfuck","dickfucker","dickhead","dickhole","dickjuice","dickmilk","dickmonger","dicks",
"dickslap","dyke","dumshit","dicksucker","dickwad","dickweasel","dickweed","dickwod","dike","dildo","dipshit","doochbag","dookie","douche","douche-fag","douchebag","douchewaffle",
"dumass","dumb ass","dumbshit","dumbass","dumbfuck","fagbag","fagfucker","faggit","faggot","faggotcock","fagtard","fatass","fellatio","feltch","flamer","fuck","fuckass","fuckbag",
"fuckboy","fuckbrain","fuckbutt","fucked","fudgepacker","fucker","fuckersucker","fuckface","fuckhead","fuckhole","fuckin","fucking","fucknut","fucknutt","fuckoff","fucks","fuckstick",
"fucktard","fuckup","fuckwad","fuckwit","fuckwitt","fag","gay","gayass","gaybob","gaydo","gayfuck","gayfuckist","gaylord","gaytard","gaywad","goddamn","goddamnit","gooch","gook",
"gringo","guido","handjob","hard on","heeb","hell","hoe","homo","homodumbshit","honkey","humping","hussy","jackass","jap","jerk off","jigaboo","jizz","jungle bunny","junglebunny",
"kike","kooch","kootch","kunt","kyke","lesbian","lesbo","lezzie","mcfagget","mick","minge","mothafucka","motherfucker","motherfucking","muff","muffdiver","munging",
"negro","nigga","nigger","niggers","niglet","nut sack","nutsack","paki","panooch","pecker","peckerhead","penis","penisfucker","penispuffer","piss","pissed","pissflaps",
"pissed off","polesmoker","pollock","poon","poonani","poonany","poontang","porch monkey","porchmonkey","prick","punanny","punta","pussies","pussy","pussylicking","puto","queef",
"queer","queerbait","queerhole","renob","rimjob","ruski","sand nigger","schlong","scrote","shit","shitass","shitbag","shitbagger","shitbrains","shitbreath","shitcunt","shitdick",
"shitface","shitfaced","shithead","shithole","shithouse","shitspitter","shitstain","shitter","shittiest","shitting","shitty","shiz","shiznit","skank","skeet","skullfuck","slut",
"slutbag","smeg","snatch","spic","spick","splooge","tard","testicle","thundercunt","tit","titfuck","tits","tittyfuck","twat","twatlips","twats","twatwaffle","unclefucker","va-j-j",
"vag","vagina","vjayjay","wank","wetback","whore","whorebag","whoreface","wop","bloody","war","terror");
 
var swear_alert_arr=new Array;
var swear_alert_count=0;
function filter_bad_words(str)
{

 var compare_text=str.value;

 for(var i=0; i<swear_words_arr.length; i++)
 {
  for(var j=0; j<(compare_text.length); j++)
  {
   if(swear_words_arr[i]==compare_text.substring(j,(j+swear_words_arr[i].length)).toLowerCase())
   {
    swear_alert_arr[swear_alert_count]=compare_text.substring(j,(j+swear_words_arr[i].length));
    swear_alert_count++;
   }
  }
 }
 var alert_text="";
 	for(var k=1; k<=swear_alert_count; k++)
 	{
  	alert_text+="\n" + "(" + k + ")  " + swear_alert_arr[k-1];
 	}
 	if(swear_alert_count>0)
	 {
  		return("The form cannot be submitted.\nThe following illegal words were found:\n" + alert_text + "\n");
  	}else   return "";
 
}
	
function profileValidator(form) {

	var firstname = document.getElementById("firstname").value;
	var lastname = document.getElementById("lastname").value;
	var email = document.getElementById("email").value;
	var pic = document.getElementById("profavatar_pic");
	var imgLimit = 100*1024;
	
	if(isEmpty(firstname) || checkSplChars(firstname) == false){
		document.getElementById('errprofile').innerHTML = '<font color="red">Enter your First Name</font>';
		return false;
        }
		
	if(isEmpty(lastname) || checkSplChars(lastname) == false){
		document.getElementById('errprofile').innerHTML = '<font color="red">Enter your Last Name</font>';
        	return false;
        }
  	
        if(isEmpty(email)){
		document.getElementById('errprofile').innerHTML = '<font color="red">Enter an email</font>';
        	return false;
        }
      
       if(chkEmailFormat(email) == false){
		document.getElementById('errprofile').innerHTML = '<font color="red">Enter an email like name@email.com</font>';
		return false;
        }
        
        var picSize = chkImgSize(pic,imgLimit);
        if(!isEmpty(pic.value) && picSize == false) {
        	document.getElementById('errprofile').innerHTML = '<font color="red">Max file size is 100KB</font>';
		return false;
        }

return true;

}	

function changepassValidator(form) {

	var oldpwd = document.getElementById("oldpwd").value;
	var newpwd = document.getElementById("newpwd").value;
	var confirmpwd = document.getElementById("confirmpwd").value;
	 
	if(isEmpty(oldpwd) && isEmpty(newpwd) && isEmpty(confirmpwd)) {
		document.getElementById('errpass').innerHTML = '<font color="red">Password does not match with your current password</font>';
		return false;
	} 
	
	if(isEmpty(oldpwd) && !isEmpty(newpwd) && !isEmpty(confirmpwd)) {
		document.getElementById('errpass').innerHTML = '<font color="red">Enter your old password</font>';
		return false;
	}
	      
        if(!isEmpty(oldpwd) && (isEmpty(newpwd) || isEmpty(confirmpwd))) {
		document.getElementById('errpass').innerHTML = '<font color="red">Enter password</font>';
		return false;
	}
	
	if((newpwd != "" && confirmpwd != "") && (newpwd != confirmpwd )) {
		document.getElementById('errpass').innerHTML = '<font color="red">Password does not match with the one entered earlier</font>';
		return false;
	}
	
	if(newpwd.length<5) {
		document.getElementById('errpass').innerHTML = '<font color="red">Password should have at least 5 characters</font>';
		return false;
	}
	
return true;

}

function paymentValidator(form) {

	var pay_email = document.getElementById("paypal_email").value;
		
	if(isEmpty(pay_email)) {
		document.getElementById('errpayment').innerHTML = '<font color="red">Enter your Email ID</font>';
		return false; }
	if(chkEmailFormat(pay_email) == false) {  
		document.getElementById('errpayment').innerHTML = '<font color="red">Enter an email like name@email.com</font>';
		return false; }	

return true;	

}

function isEmpty(field) {
	if(field == "")
		return true;
	else 
		return false;
}

function chkEmailFormat(email) {
 	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(!email.match(emailExp))
		return false;
}

function pageRedirect(href)
{
window.location = href;
return false;
}
	
