$(document).ready(function() {

	var Problemo = false;

$("#mainurl").blur(function() {

	var theValue	=	$(this).attr('value');
	var theValueA = theValue.split(".");
	if (theValue.substr(0,4) == 'www.' || theValue.substr(0,5) == 'www2.' || theValue.substr(0,7) == 'http://' || theValue.substr(0,8) == 'https://' || theValue.substr(0,1) == '.' || theValue == '' ) {

	//$.validationEngine.closePrompt("#mainurl");

	$.validationEngine.buildPrompt("#mainurl","Invalid domain (e.g. lawina.com)","error");

	Problemo = true;

	}else if (theValue.search(/^([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/) == -1) {

	//$.validationEngine.closePrompt("#mainurl");

	$.validationEngine.buildPrompt("#mainurl","Invalid domain (e.g. lawina.com)","error");

	Problemo = true;

	}else{
		$.validationEngine.closePrompt("#mainurl");
	}

}); 
$("#loginurl").blur(function() {

	var theValue	=	$(this).attr('value');

	if (theValue.substr(0,7) != 'http://' && theValue.substr(0,8) != 'https://' ) {

	//$.validationEngine.closePrompt("#loginurl");

	$.validationEngine.buildPrompt("#loginurl","Invalid Login Url. Must start with http:// or https:// (e.g. http://www.lawina.com/login)","error");

	Problemo = true;
	
	}else{
		$.validationEngine.closePrompt("#loginurl");
	}

}); 

$("#username").blur(function() {

	var theValue	=	$(this).attr('value');

	if (theValue == '') {

	//$.validationEngine.closePrompt("#username");

	$.validationEngine.buildPrompt("#username","Please enter the username","error");

	Problemo = true;

	}else{
		$.validationEngine.closePrompt("#username");
	}

}); 

$("#password").blur(function() {

	var theValue	=	$(this).attr('value');

	if (theValue == '' ) {

	//$.validationEngine.closePrompt("#password");

	$.validationEngine.buildPrompt("#password","Please enter the password","error");

	Problemo = true;

	}else{
		$.validationEngine.closePrompt("#password");
	}

}); 

$("#recaptcha_response_field").blur(function() {

	var theValue	=	$(this).attr('value');

	if (theValue == '' ) {

	//$.validationEngine.closePrompt("#cap");

	$.validationEngine.buildPrompt("#recaptcha_response_field","Please enter the Captcha Code","error");

	Problemo = true;

	}else{
		$.validationEngine.closePrompt("#recaptcha_response_field");
	}

}); 


$("#submitnewsite").click(function(event) {

	Problemo = false;
	$("#mainurl").blur();
	$("#loginurl").blur();
	$("#username").blur();
	$("#password").blur();
	$("#recaptcha_response_field").blur();

	if (Problemo) {

		event.preventDefault();

		return false;

	}else{
		var domain = $("#mainurl").val();
		var captcha = $("#recaptcha_response_field").val();
		var vin_url = $("#vin_url").val();
		var r_c_field = $("#recaptcha_challenge_field").attr('value');
		$.post(vin_url, {invoke: "check-domain", domain: domain, captcha: captcha, r_c_field: r_c_field},
		function(data) {
			var data1 = data.split("_");
			if(data1[0]=="ok" && data1[1]=="ok"){
				$("#vin_form").submit();
			}else{
				if(data1[0]!="ok" && data1[1]!="ok"){
					$.validationEngine.buildPrompt("#mainurl","This domain already exists within our database","error");
					$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Code, please re-enter the two words","error");
					Recaptcha.reload ();
				}else if(data1[0]!="ok"){
					$.validationEngine.buildPrompt("#mainurl","This domain already exists within our database","error");
				}else if(data1[1]!="ok"){
					$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Code, please re-enter the two words","error");
					Recaptcha.reload ();
				}
				return false;
			}
		});
		
	}

});

$("#submitaddsite").click(function(event) {

	Problemo = false;
	$("#mainurl").blur();
	$("#loginurl").blur();
	$("#username").blur();
	$("#password").blur();
	$("#recaptcha_response_field").blur();

	if (Problemo) {

		event.preventDefault();

		return false;

	}else{
		var domain = $("#mainurl").val();
		var captcha = $("#recaptcha_response_field").val();
		var vin_url = $("#vin_url").val();
		var r_c_field = $("#recaptcha_challenge_field").attr('value');
		$.post(vin_url, {invoke: "check-domain", domain: domain, captcha: captcha, r_c_field: r_c_field},
		function(data) {
			var data1 = data.split("_");
			if(data1[0]=="ok" && data1[1]=="ok"){
				$("#vin_add_form").submit();
			}else{
				if(data1[0]!="ok" && data1[1]!="ok"){
					$.validationEngine.buildPrompt("#mainurl","This domain already exists within our database","error");
					$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Cpde, please re-enter the two words","error");
					Recaptcha.reload ();
				}else if(data1[0]!="ok"){
					$.validationEngine.buildPrompt("#mainurl","This domain already exists within our database","error");
				}else if(data1[1]!="ok"){
					$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Code, please re-enter the two words","error");
					Recaptcha.reload ();
				}
				return false;
			}
		});
		
	}

});


$("#submitunamepass").click(function(event) {

	Problemo = false;
	$("#username").blur();
	$("#password").blur();
	$("#recaptcha_response_field").blur();

    if (Problemo) {

		event.preventDefault();

		return false;

	}else{
		var domain = $("#mainurl").val();
		var captcha = $("#recaptcha_response_field").val();
		var vin_url = $("#vin_url").val();
		var r_c_field = $("#recaptcha_challenge_field").attr('value');
		$.post(vin_url, {invoke: "check-min-posts"},
		function(data) {
			var data2 = data.split("#vin#");
			if(data2[0]=="yes"){
				if(data2[1]=="yes"){
					$.post(vin_url, {invoke: "check-domain", domain: domain, captcha: captcha, r_c_field: r_c_field},
					function(data) {
						var data1 = data.split("_");
						if(data1[1]=="ok"){
							$("#vin_form").submit();
						}else{
							$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Code, please re-enter the two words","error");
							Recaptcha.reload ();
							return false;
						}
					});
				}else{
					$.validationEngine.buildPrompt("#password","Sorry, You have reached your total password submission limit for your usergroup for today, please use our multiple password submission form or submit again tomorrow.","error");
					return false;
				}
			}else{
				$.validationEngine.buildPrompt("#password","Sorry, but you must have "+data2[0]+" forum posts to add a new password","error");
				return false;
			}
		});
		
	}

});

$("#report").blur(function() {

	var theValue	=	$(this).attr('value');

	if (theValue == '' ) {

	//$.validationEngine.closePrompt("#cap");

	$.validationEngine.buildPrompt("#report","Please enter the reason for reporting this site","error");

	Problemo = true;

	}else{
		$.validationEngine.closePrompt("#report");
	}

}); 

$("#report_btn").click(function(event) {

	Problemo = false;
	$("#report").blur();
	$("#recaptcha_response_field").blur();

	if (Problemo) {

		event.preventDefault();

		return false;

	}else{
		var captcha = $("#recaptcha_response_field").val();
		var vin_url = $("#vin_url").val();
		var r_c_field = $("#recaptcha_challenge_field").attr('value');
		$.post(vin_url, {invoke: "check-domain", domain: "www.vin.com", captcha: captcha, r_c_field: r_c_field},
		function(data) {
			var data1 = data.split("_");
			if(data1[1]=="ok"){
				$("#report_form").submit();
			}else{
				$.validationEngine.buildPrompt("#recaptcha_response_field","Wrong Captcha Code, please re-enter the two words","error");
				Recaptcha.reload ();
				return false;
			}
		});
	}
});

});

function vin_ajax_function(url,argm1,mainDiv1,tarDiv){
	var argm 			= 	argm1.split(",");
	var searchString	=	argm[1];
	var invokeAction	=	argm[0];
	if(argm[2]=="vin_page"){
		var page			=	$("#"+argm[2]).val();
	}else{
		var page			=	argm[2];
	}
	
	var mainDiv			=	$("#"+mainDiv1);
	var addDiv			=	mainDiv.find("#"+tarDiv);
	var addDiv1			=	mainDiv.find("#pageResult");
	$.post(url, {invoke: invokeAction, search: searchString, page:page},
	function(data) {
		//alert("Data loaded:" + data);
		var data1 = data.split("##vin##");
		addDiv.empty();
		addDiv.html(data1[0]);
		addDiv1.html(data1[1]);
	});
}

function poll_vote(ele){
	var id = $(ele).attr('name');	
	var idA = id.split("poll_ans_");
	id = idA[1];
	var value = $(ele).attr('value');
	var url =  '';
	if($("#vin_url").val()){
		url = $("#vin_url").val();
	}
	
	$("#pollDiv").fadeOut('slow');
	$.post(url, {src: "poll-vote", pollid: id, answer: value},
	function(data) {
		$("#pollDiv").html(data);
		$("#pollDiv").fadeIn('slow');
	});
}

function show_password(cred_id){
	var base_url = $("#vin_base_url").val();
	$.validationEngine.closePrompt("#sp_div_"+cred_id);
	$("#sp_div_"+cred_id).html('<img src="'+base_url+'assets/images/icon_loading.gif" />');
	$.post(base_url+"ajax_actions", {src: "show-password", cred_id: cred_id},
	function(data) {
		if(data=='/##vin##/'){
			$.fancybox({
						'content' : "<div style=\"margin:1px;width:500px;\"><b>You reached the maximum number of passwords you may view today. Contributing to the site and forum will increase your daily limit. Please check back tomorrow or <a href=http://www.lawina.com/forum/>click here</a> to visit the forum.</b><div style=\"text-align:right;margin-top:10px;\"><input style=\"margin:3px;padding:0px;\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Ok\"></div></div>"
						});
			$("#sp_div_"+cred_id).html('<b>You reached the maximum number of passwords you may view today. Please check back tomorrow or contribute to increase your daily limit.</b>');
		}else{
			$("#sp_div_"+cred_id).html('<input class="input-field" type="text" onclick="select()" style="width:315px" value="'+data+'" readonly="" />');
		}
		
	});	
}

function show_password_easy_copy(cred_id){
	var base_url = $("#vin_base_url").val();
	$.validationEngine.closePrompt("#sp_div_ec_"+cred_id);
	$("#sp_div_ec_"+cred_id).html('<img src="'+base_url+'assets/images/icon_loading.gif" />');
	$.post(base_url+"ajax_actions", {src: "show-password1", cred_id: cred_id},
	function(data) {
		if(data=='/##vin##/'){
			$("#sp_div_ec_"+cred_id).html('<font color=red><b>You reached the maximum number of passwords you may view today. Please check back tomorrow or contribute to increase your daily limit.</b></font>');
		}else{
			$("#pass_url").fadeOut('slow');
			var dataA = data.split('#vin#');
			$("#sp_div_ec_"+cred_id).html('<input class="input-field" onclick="select()" style="width:400px;" type="text" name="password" value="'+dataA[0]+'" readonly="" />');
			$("#pass_url").html(dataA[1]);
			$("#pass_url").fadeIn('slow');
		}
	});	
}

function filter_special(){
	$.validationEngine.closePrompt("#sp_filter");
	var sp_filter = $("#sp_filter").val();
	var base_url = $("#vin_base_url").val();
	if(sp_filter==''){
		$.validationEngine.buildPrompt("#sp_filter","Required field","error");
	}else{
		$("#sp_passwords").fadeOut('slow');
		$.post(base_url+"special/getSpByKey", {key: sp_filter},
		function(data) {
			$("#sp_passwords").html(data);
			$("#sp_passwords").fadeIn('slow');
		});	
	}
}

function top_contributors(val){
	var base_url = $("#vin_base_url").val();
	$("#top_contributors").fadeOut('slow');
	$.post(base_url+"ajax_actions", {src: "top-contributors", val: val},
	function(data) {
		$("#top_contributors").html(data);
		$("#top_contributors").fadeIn('slow');
	});	
	return false;
}


/*function top_contributors_byratio(val){
	var base_url = $("#vin_base_url").val();
	$("#top_contributors_byratio").fadeOut('slow');
	$.post(base_url+"ajax_actions", {src: "top-contributors-byratio", val: val},
	function(data) {
		$("#top_contributors_byratio").html(data);
		$("#top_contributors_byratio").fadeIn('slow');
	});	
	return false;
}*/

function top_forumcontributors(val){
	var base_url = $("#vin_base_url").val();
	$("#top_forumcontributors").fadeOut('slow');
	$.post(base_url+"ajax_actions", {src: "top-forumcontributors", val: val},
	function(data) {
		$("#top_forumcontributors").html(data);
		$("#top_forumcontributors").fadeIn('slow');
	});	
	return false;
}

// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

