function deleteModel(url)
{
	if(confirm("Please press OK to confirm deletion.")){
		window.location = url;
	}
}

function confirmAction(url)
{
	var answer = confirm("Please press OK to confirm action.");
	if(answer){
		window.location = url;
	}
}

function messageExpansionToggle(id)
{
	if($('#'+id+' .expandable').size() > 0){
		$('#'+id+' .expandable').each(function(){
			$(this).next('div').toggle('fast');
		});
	}
}
	
function initDoc()
{
	//hide messages if empty
	if($('.messages').text().length == 0){
		$('.messages').hide();
	}else{
	//show messages
		$('.messages').show().fadeIn('slow', function(){
			$(this).fadeOut(5000)
			}
		);
	}
	if($('li a:contains("Login")').size() > 0){
		$('li a:contains("Login")').parent().attr("id", "special");
	}
	if($('li a:contains("Logout")').size() > 0){
		$('li a:contains("Logout")').parent().attr("id", "special");
	}

	/*
	$('#nav div ul').hide('slow', function(){
		$(this).parent().parent().animate({
			width: '80px'
		});
			
		$(this).parent().animate({
			width: '50px'
		}, 500, function(){
			$(this).find("h1").html('');
			$(this).addClass('closed');	
			$(this).mouseover(function(){
				$(this).parent().animate({
					width: '240px'
				}, 500, function(){
					$(this).find("div").animate({
						width: '220px'
					}, 500, function(){
						$(this).removeClass("closed");	
						$(this).find("ul").show('fast');
					}
					);
				});
			});
		});
	}
	
	);
	*/
	$('#nav').addClass('open');
	/*
	$(document).bind("mousemove", function(e){
		//$('.messages').html(e.pageY).show();
		if(e.pageX > 150 && $('#nav').hasClass('open') && e.pageY < 500){

			$('#nav div h1').hide();
			$('#nav div ul').hide('fast');
			$('#nav').animate({width: '80px'}, 500);
			$('#nav').addClass('closed');
			$('#nav').removeClass('open');
			$('#nav div h1').show();


		}else if(e.pageX < 150 && $('#nav').hasClass('closed') && e.pageY < 500){
			$('#nav div h1').hide();
			$('#nav').animate({width: '240px'}, 500);
			$('#nav').addClass('open');
			$('#nav').removeClass('closed');
			$('#nav div ul').show('fast');
			$('#nav div h1').show();
		}
	});
	*/
			
}

function minusField(fieldName, total)
{
	val = Number($('#' + fieldName).val());
	if(val > 0){
		$('#' + fieldName).val(val - 1);
	}
}
function plusField(fieldName, totalField)
{
	if(totalField != ''){
		total = $('#' + totalField).val();
	}else{
		total = '';
	}
	val = Number($('#' + fieldName).val());
	if((val < total) || totalField == ''){
		$('#' + fieldName).val(val + 1);
	}
	if(total != '' && Number($('#' + fieldName).val()) > total){
		$('#' + fieldName).val(total);
	}
}


function numberWidget(type, fieldName, totalField)
{ if(type == "plus"){
		operator = '+';
	}else if(type == "minus") {
		operator = '-';
	}
	return '<button type="button" onclick="' + type + 'Field(\'' + fieldName + '\',\''+totalField+'\')">' + operator + '</button>';
}

function buttonWidget(fieldName, label)
{
	return '<button id="'+fieldName+'Widget" type="button">' + label + '</button>';
}

function loadWork(img, url, id)
{
	$('#pieces img').each(function(){
		if($(this).attr('id') != $(img).attr('id')){
			$(this).removeClass();
			$(this).fadeTo('fast', 1);
		}
	});

	$(img).addClass('current');
	$.ajax({
		url: url + "/id/" +id,
		type: "GET",
		success: function(html){
			$('.canvas').html(html);
		}
	});
}
function thumbOut(img)
{
	if($(img).attr('class') != "current"){
		$(img).fadeTo('fast', 1);
	}
}

function saveScroll(url, scroll)
{
	$.ajax({
		url: url + "/scroll/" +scroll,
		type: "GET",
		success: function(html){
			//$('.canvas').html(html);
		}
	});
}


function drawKeypads(parentDiv){
	for(var i = 1; i<= 3; i++){
		$(parentDiv).append("<div class=\"keypad\" id=\"keypad_"+i+"\"></div>");
	}
	
	$('.keypad').append("<ul></ul>\n");

	for(var i = 1; i<= 16; i++){
		$('.keypad ul').append("<li id=\"key_"+i+"\"></li>\n");
	}


	$('.keypad ul li').mouseover(function(){
		if(!$(this).hasClass('ui-selected')){
			$(this).addClass("hover");
		}
	});
	$('.keypad ul li').mouseout(function(){
		if($(this).hasClass('hover')){
			$(this).removeClass('hover');
		}
	});

	$('.keypad ul li').click(function(){
		if(!$(this).hasClass('ui-selected')){
			$(this).addClass('ui-selected');
		}else{
			$(this).removeClass('ui-selected');
		}
	});

}


function getKeypadData(action){
		data = [[],[],[]];
		$.each($('#keypad_1 ul li.ui-selected'), function(index, value){
			keyname = $(this).attr('id').split('_');
			data[0].push(keyname[1]);
		});
		$.each($('#keypad_2 ul li.ui-selected'), function(index, value){
			keyname = $(this).attr('id').split('_');
			data[1].push(keyname[1]);
		});
		$.each($('#keypad_3 ul li.ui-selected'), function(index, value){
			keyname = $(this).attr('id').split('_');
			data[2].push(keyname[1]);
		});
		if(action == "create"){
			var obj = {keypad1:data[0], keypad2:data[1], keypad3:data[2]};
		}else if(action == "login"){
			var obj = {keypad1:data[0], keypad2:data[1], keypad3:data[2], email: $('#email').val()};
		}
		return obj;
}


function numKeysSelected(n){
	size = $('#keypad_'+n+' ul li.ui-selected').size();
	alert(size);
	return size;
}
	
function validateEmail(email) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return reg.test(email);
}


function keypadLogin(){
	if($('#email').val() == ''){
		$('#email').focus().css('border', '2px solid red');
		alert("Don't forget to enter your email...");
		return false;
	}else{
		if(!validateEmail($('#email').val())){
			$('#email').focus().css('border', '2px solid red');
			alert("Invalid Email address formatting...");
			return false;
		}
	}
		
	keypads = getKeypadData('login');
	if(!validateKeypad(keypads)){
		return false;
	}
	$.ajax({
		url: '/user/keypadauth',
		dataType: "json",
		data: keypads,
		success: function(json){
			if(json.result){
				window.location = "/user";
			}else{
				$('.messages').html('Combo incorrect. Please try again :(').show().fadeOut(5000);
			}
		},
		error: function(e, t, x){
			$('.messages').html(e + " " + t + " " + x).show();
		}
	});
}

function keypadCreate(){
	keypads = getKeypadData('create');
	if(!validateKeypad(keypads)){
		return false;
	}
	$.ajax({
		url: '/user/keypadsave',
		dataType: "json",
		type: "post",
		data: keypads,
		success: function(json){
			if(json.result){
				$('.messages').html('Saved your keypad combo!').show().fadeOut(8000);
			}
		},
		error: function(e, t, x){
			$('.messages').html(e + " " + t + " " + x).show();
		}
	});
}


function keypadClear(){
	$('.keypad ul li').removeClass('ui-selected');
}
	


function validateKeypad(data){
	if(keypads.keypad1.length < 4){
		alert('Keypad 1 Invalid: Click at least 4 keys. You clicked only ' + keypads.keypad1.length);
		return false;
	}
	if(keypads.keypad2.length < 4){
		alert('Keypad 2 Invalid: Click at least 4 keys. You clicked only ' + keypads.keypad2.length);
		return false;
	}
	if(keypads.keypad3.length < 4){
		alert('Keypad 3 Invalid: Click at least 4 keys. You clicked only ' + keypads.keypad3.length);
		return false;
	}
	return true;
}


