var siteURL = "http://"+document.domain+"/";

$(document).ready(function() {
	formPreSet();
	$(".arrow").bind("mouseover", function(){
		$(this).addClass("arrow_dark");
	});
	$(".arrow").bind("mouseout", function(){
		$(this).removeClass("arrow_dark");
	});
});

function formPreSet() {
	/* preset form element */
	$('form [type=text], form [type=password]').addClass('input');
	$('form textarea').addClass('input');
	$('form select').addClass('select');

	$('form [type=submit], form [type=button]').addClass('button');
	$('form [type=submit], form [type=button]').hover(
		function() {
			$(this).addClass('hover');
		},
		function() {
			$(this).removeClass('hover');
		}
	);
}

function popup(page) {
	newwindow = window.open(page, 'Preview','scrollbars, width=450,height=550');
	newwindow.moveTo(200,200);
	newwindow.focus();
}

function toggleDisableNominee() {
	
	var n = $("input#self_nominate:checked").length;
	if (n==1) { // checked, disable element
		$('#nominee_name').attr('disabled','disabled');
		$('#nominee_tel').attr('disabled','disabled');
		$('#nominee_email').attr('disabled','disabled');
		$('#nominee_company').attr('disabled','disabled');
		$("input:disabled").addClass('disableInput');
	} else {
		$("input:disabled").removeClass('disableInput');
		$('#nominee_name').attr('disabled','');
		$('#nominee_tel').attr('disabled','');
		$('#nominee_email').attr('disabled','');
		$('#nominee_company').attr('disabled','');
	}

}

function checkFormNominate(formObj) {
	var formOK = true;
	formOK = checkEmail (formObj.ref_email.value, '#error_ref_email');

	if (formObj.ref_name.value == "") {
		$('#error_ref_name').html("You must provide your name");
		formOK = false;
	}
	if (formObj.ref_tel.value == "") {
		$('#error_ref_tel').html("You must provide your telephone number");
		formOK = false;
	}
	if (formObj.ref_company.value == "") {
		$('#error_ref_company').html("You must provide your company");
		formOK = false;
	}
	var self = $(".column1 input:checked").length;
	if (self == 0) { // nominate others
		formOK = checkEmail (formObj.nominee_email.value, '#error_nominee_email');

		if (formObj.nominee_name.value == "") {
			$('#error_nominee_name').html("You must provide nominee's name");
			formOK = false;
		}
		if (formObj.nominee_tel.value == "") {
			$('#error_nominee_tel').html("You must provide nominee's telephone number");
			formOK = false;
		}
		if (formObj.nominee_company.value == "") {
			$('#error_nominee_company').html("You must provide nominee's company");
			formOK = false;
		}
	} else { // make sure no error when self nominate
		$('#error_nominee_name').html("");
		$('#error_nominee_tel').html("");
		$('#error_nominee_company').html("");
		$('#error_nominee_email').html("");
	}
	
	var n = $(".column2 input:checked").length;
	if (n == 0) {
		$('#error_level').html("You must select one level");
		formOK = false;
	}
	if (formObj.description.value == "") {
		$('#error_description').html("You must provide brief description");
		formOK = false;
	}

	if (formOK == true) {
		formObj.submit();
	}
}

function checkFormAddWhitelist(formObj) {
	var formOK = true;
	formOK = checkEmail (formObj.email.value, '#error_email');

	if (formObj.name.value == "") {
		$('#error_name').html("You must provide full name");
		formOK = false;
	}

	if (formOK == true) {
		formObj.submit();
	}
}

function checkEmail(emailField, errorContainer) {
	if (emailField.length == 0) {
		$(errorContainer).html("You must provide e-mail address");
		return false;
	}
	if (emailField.indexOf(" ") > -1) {
		$(errorContainer).html("E-mail address has invalid space");
		return false;
	}
	if (emailField.indexOf("/") > -1) {
		$(errorContainer).html("E-mail address has invalid character: /");
		return false;
	}
	if (emailField.indexOf(":") > -1) {
		$(errorContainer).html("E-mail address has invalid character: :");
		return false;
	}
	if (emailField.indexOf(",") > -1) {
		$(errorContainer).html("E-mail address has invalid character: ,");
		return false;
	}
	if (emailField.indexOf(";") > -1) {
		$(errorContainer).html("E-mail address has invalid character: ;");
		return false;
	}
	if (emailField.indexOf("@") < 0) {
		$(errorContainer).html("E-mail address is missing @");
		return false;
	}
	if (emailField.indexOf("\.") < 0) {
		$(errorContainer).html("E-mail address is missing .");
		return false;
	}
	return true;
}


function loadTable (table) {
	var objID = "content";
	var serverPage = siteURL+"/admin/"+table+".php";
	var obj = document.getElementById(objID);
	$.post(serverPage, function(data){
		obj.innerHTML=data;
        //$("#"+table).tablesorter();
		$("#"+table).tablesorter({
			headers: {
				0: { sorter: false },
				6: { sorter: false }
			}
		});
		$("#table_white_list").tablesorter();
		formPreSet();
	});
}
function loadPage (page) {
	var objID = "content";
	var serverPage = siteURL+"/admin/"+page+".php";
	var obj = document.getElementById(objID);
	$.post(serverPage, function(data){
		obj.innerHTML=data;
		formPreSet();
	});
}

function activeTab (tab) {
	$('#tab_awaiting').removeClass('active');
	$('#tab_approve').removeClass('active');
	$('#tab_reject').removeClass('active');
	$('#tab_whitelist').removeClass('active');
	$('#tab_add').removeClass('active');
	$('#'+tab).addClass('active');
}

function delRow (id, table) {
	var op = window.confirm('Are you sure to delete this record?');
	if (op) {
		var serverPage = siteURL+"/admin/action.php";
		$.post(serverPage, { id:id, table:table, task:"delete" }, function(data){
			loadTable('table_'+table);
		});
	}
}

function limiter(formObj, count){
	var tex = formObj.description.value;
	var len = tex.length;
	if(len > count){
		tex = tex.substring(0,count);
		formObj.description.value = tex;
		return false;
	}
	$("#limit").html(count-len);
}
