$(document).ready(function() {

	$(".tbData tr", this).mouseover(function() {
		if($(this).attr('class') != "dataHead")
			$(this).toggleClass("dataListOn");
	});
	$(".tbData tr", this).mouseout(function() {
		if($(this).attr('class') != "dataHead")
			$(this).removeClass("dataListOn");
	});
	$(".tbData tr", this).click(function() {
		if($(this).attr('class') != "dataHead")
			$(this).toggleClass("dataListClicked");
	});

	$(".btnEdit a", this).click(function() {
		var elurl = $(this).attr("href");
		document.getElementById('formTitle').innerHTML=$(this).attr("title");
		$.getScript(elurl, function(){
		});
		return false;
	});

	$(".btnDelete a", this).click(function() {
		var elurl = $(this).attr("href");
		var el = $(this);
		if(window.confirm("Er du sikker på at du vil slette dataene?")) {
			$.ajax({
				type: "GET",
				url: elurl,
				data: null,
				success: function(msg){
					if(msg=="1") {
						el.parent().parent().fadeOut("slow");
					}
				}
			});
		}
		return false;
	});

	$(".btnDeleteBooking a", this).click(function() {
		var elurl = $(this).attr("href");
		var el = $(this);
		if(window.confirm("Er du sikker på at du vil slette dataene?")) {
			return true;
		}
		return false;
	});
	if($('#datofra').length > 0)
	{
		$('#datofra').datepicker();
		$('#datotil').datepicker();
		$('#datofrasok').datepicker();
		$('#datotilsok').datepicker();
		$('#fakturertdato').datepicker();
	}
	$('.imgdatepicker').click(function(){
		var theid = $(this).attr('id').split('_');
		$('#'+theid[1]).trigger('focus');
	});
	

	$(".validatefrm").submit(function() {
		var frm = $(this);
		var errors = 0;
		frm.find("input").each(function(i) {
			var el = $(this);
			if(el.attr("req")=="true") {
				if(el.attr("type")=="text" || el.attr("type")=="password") {
					if($.trim(el.val())=="") {
						alert(el.attr("title"));
						el.focus();
						errors = 1;
						return false;
					} else if(el.attr("reqtype")=="email"){
						if(!check_email(el.attr('value'))){
							alert(el.attr("title"));
							el.focus();
							errors = 1;
							return false;
						}
					}
				}
			}
		});
		if(errors==1) {
			return false;
		}
		frm.find("select").each(function(i) {
			var el = $(this);
			if(el.attr("req")=="true") {
				if($.trim(el.val())=="0") {
					alert(el.attr("title"));
					el.focus();
					errors = 1;
					return false;
				}
			}
		});
		if(errors==1) {
			return false;
		}
		frm.find("textarea").each(function(i) {
			var el = $(this);
			if(el.attr("req")=="true") {
				if($.trim(el.val())=="") {
					alert(el.attr("title"));
					el.focus();
					errors = 1;
					return false;
				}
			}
		});
		if(errors==1) {
			return false;
		}
	});

	$('#member1').click(function(){
/*
		$('#adresse').attr('disabled', true);
		$('#adresse2').attr('disabled', true);
		$('#telefon').attr('disabled', true);
*/
		$('#adresse').attr('req', 'false');
		$('#telefon').attr('req', 'false');
	});
	$('#member0').click(function(){
/*
		$('#adresse').attr('disabled', false);
		$('#adresse2').attr('disabled', false);
		$('#telefon').attr('disabled', false);
*/
		$('#adresse').attr('req', 'true');
		$('#telefon').attr('req', 'true');
	});

	$('#fakturert1').click(function(){
		$('#faktdato').fadeIn();
		$('#fakturertdato').attr('req', 'true');
	});
	$('#fakturert0').click(function(){
		$('#faktdato').fadeOut();
		$('#fakturertdato').attr('value', '');
		$('#fakturertdato').attr('req', 'false');
	});

	$('#btn_closewin').click(function(){
		$('#globe').fadeOut();
	});
	$('.days .on').click(function(){
		var theday = $(this);
		var coords = $(this).offset();
		var newleft = coords.left+$(this).width();
		var theurl = "/getDateData/"+$(this).attr('dato')+"/";
		$.ajax({
			url: theurl,
			cache: false,
			data: filters,
			success: function(html){
				$("#globe_content").html(html);
				$('#globe').css('top', (coords.top-$('#globe').height()));
				$('#globe').css('left', newleft);
				$('#globe').fadeIn();
			}
		});
	});
});

function check_email(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		return false
	}
	if (len<2) {
		alert(errStr)
		return false
	}
	return true;
}

function resetBrukerForm(){
	$('#id_admin').attr('value', '0');
	$('#username').attr('value', '');
	$('#fullname').attr('value', '');
	$('#userpwd').attr('value', '');
	$('#email').attr('value', '');
	$('#btnCancel').hide();
	$('#formTitle').html('Opprett ny bruke');
}

function resetBookingForm(){
	$('#id_booking').attr('value', '0');
	$('#sted').attr('value', '0');
	$('#kundenavn').attr('value', '');
	$('#adresse').attr('value', '');
	$('#adresse2').attr('value', '');
	$('#telefon').attr('value', '');
	$('#member0').attr('checked', true);
	$('#member1').attr('checked', false);
	$('#medlem').attr('value', '');
	$('#avtaltpris').attr('value', '$0.00');
	$('#kommentar').attr('value', '');
	$('#btnCancel').hide();
	$('#formTitle').html('Opprett ny booking');
	$('#fakturert0').attr('checked', true);
	$('#fakturert1').attr('checked', false);
	$('#fakturertdato').attr('value', '');
	$('#faktdato').hide();
	$('#adresse').attr('disabled', false);
	$('#adresse2').attr('disabled', false);
	$('#telefon').attr('disabled', false);
}

function replace_all(str, from, to) {
	var idx = str.indexOf(from);
	while (idx > -1) {
		str = str.replace(from,to);
		idx = str.indexOf(from);
	}
	return str;
}

function format_number(amount) {
	var minus = '';
	var i = parseFloat(amount);
	
	if(isNaN(i)) 
		i = 0.00; 
	if(i < 0) 
		minus = '-';
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) 
		s += '.00';
	if(s.indexOf('.') == (s.length - 2)) 
		s += '0';
		
	s = minus + s;
	return s;
}

function re_format_number(amount) {
	var minus = '';
	var delimiter = ","; 
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	
	if(isNaN(i)) 
		return '';
	if(i < 0) 
		minus = '-';
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3) {
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) 
		a.unshift(n); 
	n = a.join(delimiter);
	if(d.length < 1) 
		amount = n;
	else 
		amount = n + '.' + d;

	amount = minus + amount;
	return amount;
}

function clean_currency(val) {
	var num = val;
	num = num.replace("$","");
	num = num.replace("%","");
	num = replace_all(num,",","");
	return num;
}

function currency_format(el) {
	var output = '0.00';
	var num = el.value;
	var regexnum = /(^\d+$)|(^\d+\.\d+$)/;
	var minus = '';
	
	if(num.substring(0,1)=='-') {
		num = replace_all(num,"-","");
		minus = '-';
	}
	
	num = replace_all(num,"$","");
	num = replace_all(num,",","");
	
	if (regexnum.test(num)){
		output = format_number(num);
		output = re_format_number(output);
	}
	el.value = minus+'$'+output;
}

