/*
 * dvelo JS functions 
 * BY: Peter Sserwanga
 */
//var ROOT = "http://beta.dvelo.org/";

var tROOT = window.location.href;

if(tROOT.match('www')){
	ROOT = "http://www.beta.dvelo.org/";
}else{
	ROOT = "http://beta.dvelo.org/";
}

//ROOT = "http://local.beta.com/";


function clearValue(obj) {
	obj.value = '';
	obj.val('');
}

function restore(obj, who) {
	if (obj.value == '' || obj.value == null) {
		if (who == 'pass') {
			obj.value = 'Password: ';
		}
		if (who == 'email') {
			obj.value = 'Email: ';
		}
	}
}
function IsNumeric(sText)

{
	var ValidChars = "0123456789.";
	var IsNumber = true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;

}

function emailExists() {

	var email = $('#email').val();
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	var has_error = false;

	if (!emailReg.test(email)) {
		has_error = true
	}

	if ((email != null) && (has_error == false)) {

		$('#emailValid').fadeIn('fast');
		$('#emailValid').html('<img src="images/ajax-loader.gif">');

		$.post("DveloAjaxServer.php", {
			mode :'emailval',
			email :email
		}, function(data) {
			if (parseInt(data) != 0) {
				$('#emailValid').fadeOut('fast');
				$('#emailValid').html('<img src="images/correct.png">');
				$('#emailValid').fadeIn('fast');
			} else {
				$('#emailValid').fadeOut('fast');
				$('#emailValid').html('Email already exists');
				$('#emailValid').fadeIn('fast');
			}
		}, "html");
	}

}

// Send mail

function SendMail(idNameMatch) {

	var freshMail = $('#freshMail').val();
	var subject = $('#subject').val();
	var content = $('#content').val();
	var recipName = $('#listLocal').val();
	var recipNameLower = recipName.toLowerCase();
	var recipID = 0;
	var senderID = $('#senderID').val();

	for (var i in idNameMatch) {
		if(idNameMatch[i]==recipNameLower){
			recipID = i;
			break;
		}
	}

	if(recipID == 0){
		$("#emailValidation").removeClass('success');
					$("#emailValidation").addClass('error');
					$("#emailValidation")
							.html(
									'Error finding recipient try select recipient from drop down list');
	}else{
		$('#emailValidation').fadeIn('fast');
		$('#emailValidation').html('<div class="success"><center><img src="images/ajax-loader.gif"></center></div>');

		$.post("DveloAjaxServer.php", {
			mode :'sendmail',
			subject :subject,
			senderID :senderID,
			content :content,
			recipID :recipID
		}, function(data) {
			if (parseInt(data) != 0) {
				// window.location = 'inbox.php';
				$('#emailValidation').fadeOut();
				$('#sendForm').fadeOut('fast');
				$('#sendForm').html('<div class="success"><center>Message has been sent</center></div>');
				$('#sendForm').fadeIn('fast');
			} else {
				$('#emailValidation').html('OOPS');

				alert(data);
			}
		}, "html");
	}
}

function deleteMail(mailID, sent) {

	$.post("DveloAjaxServer.php", {
		mode :'delmail',
		sent :sent,
		mailID :mailID
	}, function(data) {
		if (parseInt(data) != 0) {
			$('#' + mailID + '').fadeOut('fast');
		} else {
			// $('#emailValidation').html('OOPS');
			alert(' NoPe' + data);
		}
	}, "html");

	return false;
}

function deleteSelected(sent) {

	var str = $("#mail_form").serialize();
	if (str == null || str == '') {
		return false;
	}

	$.post("DveloAjaxServer.php", {
		del :'true',
		sentItems :sent,
		data :str
	}, function(response) {
	});
		
		window.location.reload();

}

function markasread() {

	var str = $("#mail_form").serialize();

	if (str == null || str == '') {
		return false;
	}

	$.post("DveloAjaxServer.php", {
		mkread :'true',
		data :str
	}, function(response) {
		location.reload();
		return false;
	});
	return false;
}

function markasunread() {
	var str = $("#mail_form").serialize();
	if (str == null || str == '') {
		return false;
	}
	$.post("DveloAjaxServer.php", {
		mkunread :'true',
		data :str
	}, function(response) {
		location.reload();
		return false;
	});
	return false;
}

$(document).ready( function() {

	// Select all
		$("A[href='#select_all']").click(
				function() {
					$("#" + $(this).attr('rel') + " INPUT[type='checkbox']")
							.attr('checked', true);
					return false;
				});

		// Select none
		$("A[href='#select_none']").click(
				function() {
					$("#" + $(this).attr('rel') + " INPUT[type='checkbox']")
							.attr('checked', false);
					return false;
				});

		// Invert selection
		$("A[href='#invert_selection']").click(
				function() {
					$("#" + $(this).attr('rel') + " INPUT[type='checkbox']")
							.each(
									function() {
										$(this).attr('checked',
												!$(this).attr('checked'));
									});
					return false;
				});

	});

function CreditsToCart() {
	var amount = $("#amount").val();
	if (amount == '') {
		alert('Please enter an amount');
		return false;
	}

	if (!IsNumeric(amount)) {
		alert('Please enter only numbers');
		return false;
	}
	
	if(amount > 2500){
		alert('A maximin amount of 2500 credits can be purchased');
		return false;
	}

	var AddtoCart = Boxy.load("../lib/addtocart.php?p=" + amount + "&pt=1", {

		closeable :true,
		modal :true
	});
	
	updateCart();

}
function setCookie(c_name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}
function checkCookie()
{
username=getCookie('username');
if (username = null )
  {
  username=prompt('Please enter the access code',"");
  if (username!=null && username!="" && username == 'mfi2009')
    {
    setCookie('username',username,365);
    }else{
        alert('invalid, please try again');
        checkCookie();
        return false;
  }
}
}
function OpenModal(){
	var AddtoCart = Boxy.load(ROOT + "lib/passprotect.php?", {
		closeable :true,
		modal :true
	});
}

function updateCart() {
	var basket = $("#basket");
	if (basket) {
		basket.load(ROOT + "DveloAjaxServer.php", {	loadCart :'true'}, function(data) {
			$("#basket").html = data;
		});
	}
}

function ProceedToCheckout() {
	
	var amount = $("#amount").val();
	if (amount == '') {
		alert('Please enter an amount');
		return false;
	}

	if (!IsNumeric(amount)) {
		alert('Please enter a valid amount');
		return false;
	}
	
	if(amount > 2500){
		alert('A maximin amount of 2500 credits can be purchased');
		return false;
	}
	
	$.post(ROOT + "DveloAjaxServer.php", {
		creditsToCart :'true',
		amount :amount
	}, function(data) {
		window.location = ROOT + "cart.php";
	}, "html");
	
}

function BuyGiftCert() {

}

function ShopAddToCart(productID) {
	var CartItem = Boxy.load("../lib/cartitem.php?id=" + productID, {
		title :"Add To Cart",
		closeable :true,
		modal :true
	});
}

$('#confirm-actuator').click( function() {
	Boxy.confirm("Please confirm:", function() {
		alert('Confirmed!');
	}, {
		title :'Message'
	});
	return false;
});

function RemoveFromCart(id) {
	var answer = confirm("Are you sure?");
	if (answer) {
		$.post("DveloAjaxServer.php", {
			cartid :id,
			delcart :'true'
		}, function(response) {
			location.reload();
			return false;
		});
	}
	return false;
}

function LoadPaymentOptions() {

	var PaymentOptions = Boxy.load("lib/paymentoptions.php?", {
		closeable :true,
		modal :true
	});

}

function JoinGroup(groupID, userID) {

	$.post("../DveloAjaxServer.php", {
		joingroup :'true',
		groupID :groupID,
		userID :userID
	}, function(data) {
		var str = $("#joingroup_" + groupID).fadeOut();
		window.location.reload();
	}, "html");

	return false;
}

function LeaveGroup(groupID, userID) {

	$.post("../DveloAjaxServer.php", {
		leavegroup :'true',
		groupID :groupID,
		userID :userID
	}, function(data) {
		var str = $("#leavegroup_" + groupID).fadeOut();
		window.location.reload();
	}, "html");

	return false;
}

function loadLightValidations(){

	
}

function loadValidations() {
	var frmvalidator = new Validator("register");

	frmvalidator.addValidation("fullname", "req",
			"Please enter your Full Name");

//	frmvalidator.addValidation("surname", "alpha");
//	frmvalidator.addValidation("surname", "req", "Please enter your Surname");

//	frmvalidator.addValidation("fullnamer", "req",
//			"Please enter your Full Name");
//			
//			frmvalidator.addValidation("emailr", "emailr");
//	frmvalidator.addValidation("email", "req",
//			"Please enter your Email Address");

	frmvalidator.addValidation("email", "email");
	frmvalidator.addValidation("email", "req",
			"Please enter your Email Address");

	frmvalidator.addValidation("day", "dontselect=0",
			"Please select a Birth Day");
	frmvalidator.addValidation("month", "dontselect=0",
			"Please select a Birth Month");
	frmvalidator.addValidation("year", "dontselect=0",
			"Please select a Birth Year");

	frmvalidator.addValidation("country", "dontselect=0",
			"Please select a Country");

	var frmvalidator2 = new Validator("login");
	frmvalidator2.addValidation("loginEmail", "email");
	frmvalidator2.addValidation("loginEmail", "req",
			"Please enter your Email Address");
	//frmvalidator2.addValidation("loginPassword", "alnum");
	frmvalidator2.addValidation("loginPassword", "req",
			"Please enter a password");
			

			
			

}

function loadGiftValidations() {
	var frmvalidator = new Validator("gift");

	frmvalidator.addValidation("credits", "numeric");
	frmvalidator.addValidation("credits", "req",
	"Please enter an amount");

	frmvalidator.addValidation("email", "email");
	frmvalidator.addValidation("email", "req",
			"Please enter an Email Address");
	
	frmvalidator.addValidation("message", "req",
	"Please enter a message")

}


function invest(invest, loanID, loansMadeID) {
	if (invest == 'true') {
		titleTxt = "Invest";
	} else {
		titleTxt = "Donate";
	}
	this.disable = true;

	if (loansMadeID == '' || loansMadeID == null) {
		loansMadeID = "0";
	}

	var CartItem = Boxy.load(ROOT + "lib/invest.php?id=" + loanID + "&invest="
			+ invest + "&loansMadeID=" + loansMadeID + "&loanID=" + loanID, {
		title :titleTxt,
		closeable :true,
		modal :true
	});
}

function invest_more() {

	amount = $('#amount').val();
	userID = $('#userID').val();
	loansMadeID = $('#loansMadeID').val();
	loanID = $('#loanID').val();
	
	$.post(ROOT + "DveloAjaxServer.php",{amount :amount,
						userID :userID,
						loansMadeID :loansMadeID,
						loanID :loanID,
						invest :'true'},
					function(data) {
						if (parseInt(data) == 1) {
							// $("#status").toggleClass('success');
					$("#addtocart").fadeOut('fast');
					$("#status").html(amount + ' Credits have been loaned!.');
					window.location.reload();

				} else {
					$("#status").removeClass('success');
					$("#status").addClass('error');
					$("#status")
							.html(
									'Insufficient credits. Click on the link at the bottom to add more.');
				}
				$("#status").fadeIn('fast');

			}, "html");
}

function groupInvite(userID) {

	var CartItem = Boxy.load(ROOT + "lib/groupinvite.php?id=" + userID, {
		title :'Invite to group',
		closeable :true,
		modal :true
	});
}

function groupInviteAction(userID, inviteeID) {
	groupID = $('#groupID').val();

	if (groupID == '' || groupID == null) {
		return false;
	}

	$.post(ROOT + "DveloAjaxServer.php", {
		groupID :groupID,
		userID :userID,
		inviteeID :inviteeID,
		groupinvite :'true'
	}, function(data) {
		if(data == 1){
		$("#invitestatus").html('<p>Invite has been sent</p>');
		$("#inviteButton").fadeOut();
		$("#invitestatus").addClass('success');
		}else{
			$("#invitestatus").addClass('error');
			$("#inviteButton").fadeOut();
			$("#invitestatus").html('<p>Invite has not been sent</p>');
		}
	}, "html");
	
}

function AddToFriends(friendID, myID) {

	if (parseInt(friendID) == parseInt(myID)) {
		// alert('you cannot befriend yourself.');
		// return false;
	}

	$.post(ROOT + "DveloAjaxServer.php", {
		friendID :friendID,
		userID :myID,
		addfriend :'true'
	}, function(data) {
		var str = $("#addtofriend").fadeOut();
	}, "html");

	return false;
}

function forgotpassWindow() {
	var forgotPass = Boxy.load(ROOT + "lib/forgotpass.php", {
		// title :'Password Reminder',
		closeable :true,
		modal :true
	});

	return false;

}

function forgotpass() {

	email = $('#passemail').val();

	if (email == '' || email == null) {
		return false;
	}

	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	if (!emailReg.test(email)) {
		return false;
	}

	$.post(ROOT + "DveloAjaxServer.php", {
		forgotpass :'true',
		email :email
	}, function(data) {
		$("#status").fadeOut();
		if (parseInt(data) == 1) {
			$("#status").toggleClass('success');
			$("#reminderBtn").fadeOut();
			$("#status")
					.html('Your Password has been sent your email address.');

		} else {
			$("#status").removeClass('success');
			$("#status").addClass('error');
			$("#status").html('Email does not exist in our database.');
		}
		$("#status").fadeIn();

	}, "html");

	return false;

}

function inviteWindow() {
	var forgotPass = Boxy.load(ROOT + "lib/invite.php", {
		closeable :true,
		modal :true
	});
	return false;
}

function inviteUsers() {
	
	email = $('#emails').val();
	senderID = $('#userID').val();
	var text = $('#textAInvite').val();
	$('#emails').val('');
	$('#textAInvite').val('');
	
	if (email == '' || email == null) {
		return false;
	}

	$.post(ROOT + "DveloAjaxServer.php", {
		sendinvites :'true',
		arrEmail :email,
		userID :senderID,
		textAInvite : text
	}, function(data) {
		$("#status").fadeOut();
		if (data == "") {
			$("#status").toggleClass('success');
			$("#reminderBtn").val('invite more');
			$("#status").html('Your invite(s) have been sent.');
		} else {
			$("#status").removeClass('success');
			$("#status").addClass('error');
			$("#status").html('Your invites have been sent, but the following email(s) (' + data + ') are already registered users.');
		}
		$("#status").fadeIn();

	}, "html");

	return false;

}

function inviteMore() {
	
	inviteWindow();

	return false;

}

function gotoCreate() {
	groupname = $('#proposed').val();
	window.location = ROOT + 'groups/creategroup.php?name=' + groupname;
	return false;
}

function VerifyTransaction() {

	var forgotPass = Boxy.load(ROOT + "lib/success.php", {
		modal :true
	});
	return false;

}

function groupSearch() {
	term = $('#searchterm').val();
	if (term == null || term == "") {
		return false;
	}
	window.location = ROOT + 'groups/?s=' + term;
	return false;
}

function PleaseLogin() {
	var pleaselogin = Boxy.load(ROOT + "lib/pleaselogin.php", {
		title :'Please Login',
		closeable :true,
		modal :true
	});
	return false;
}

function Help(page) {
	var pleaselogin = Boxy.load(ROOT + "help/" + page, {
		title :'Help',
		closeable :true,
		modal :true
	});
	return false;
}


function friendSearch() {
	var friendName = $('#search').val();
//	if(friendName == "" || friendName == null){
//		//return false;
//	}
//	if(friendName.length < 3){
//		return false;
//	}
	window.location = ROOT + "fsearch.php?f=" + friendName;
	
	return false;
}

function friendSearchAll(){
	window.location = ROOT + "fsearch.php";
	return false;
}

function activateUser(id){
	
   var active =  $('#activateUser').is(':checked');
   if(active == true){
   	 active = 1;
   }else{
   	 active = 0;
   }
	$.post(ROOT + "DveloAjaxServer.php", {
		activate :'true',
		activeSend :active,
		userId:id
	}, function(data) {
		$("#status").fadeOut();
		if (parseInt(data) == 1) {
			$("#status").toggleClass('success');
			$("#status").html('User Active');
		} else {
			$("#status").removeClass('success');
			$("#status").addClass('error');
			$("#status").html('User not Active');
		}
		$("#status").fadeIn();

	}, "html");

	return false;
	
}

function editCredits(){
	$("#creditMan").fadeOut();
	$("#creditManUp").fadeIn();	
}

function updateCredits(userId){
	var newAmount = $("#creditManUptxt").val();
	
	if(newAmount == '' || newAmount==null){
		return false;
	}
	
	$.post(ROOT + "DveloAjaxServer.php", {
		updateCredits :'true',
		newAmountSent :newAmount,
		userId:userId
	}, function(data) {
		$("#status").fadeOut();
		if (parseInt(data) == 1) {
			$("#status").toggleClass('success');
			$("#status").html('Credits Updated');
			$("#creditholder").html(newAmount +  ' Credits');
		} else {
			$("#status").removeClass('success');
			$("#status").addClass('error');
			$("#status").html('Could not update Credits');
		}
		$("#status").fadeIn();

	}, "html");
	
	$("#creditMan").fadeIn();
	$("#creditManUp").fadeOut();
   
	

	return false;
}


function InviteList() {
	var inviteList = Boxy.load(ROOT + "lib/inviteList.php", {
		closeable :true,
		modal :true
	});
	return false;
}


function calculator(id) {
	var calculator = Boxy.load(ROOT + "lib/calculator.php?id=" + id, {
		closeable :true,
		modal :true
	});
	return false;
}

function addDonation() {
	var donation = $("#donation").val();
	//$("#vc").html('$' + donation);
	//var total = Number($("#grandTotal").val()) + Number(donation);
	//$("#grandTotal").val(total);
	//$("#total").html('$' + total);
	window.location = "/review_order.php?pm=1&mode=add&donation=" + donation;
}

function editDonation() {
	var donation = $("#donation").val();
	var donationId =  $("#hiddenDonationId").val();
	//$("#vc").html('$' + donation);
	//var total = Number($("#grandTotal").val()) + Number(donation);
	//$("#grandTotal").val(total);
	//$("#total").html('$' + total);
	window.location = "/review_order.php?pm=1&mode=edit&donation=" + donation + "&dID=" + donationId;
}


function validatorR(form){

    var fullname = document.getElementById('fullnamer').value;
    if(fullname == ""){
    	alert('Please enter your Fullname')
    	return false;
    }
	var email = document.getElementById('emailr').value;
    var reg =/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (reg.test(email) == false) {
	    alert('Email Address not valid')
	    return false;
	}
	
	return true;
}


