function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
	}
	return {x: curleft, y: curtop};
}

/*function regsel()
	alert("hi");
	var regslement = $("<div class="selectree brd"></div>");
}*/

/*function win_utf8(in_text) {
	alert(in_text + '===' + in_text.length);
	output = '';
	for(i = 1; i < in_text.length; i++) {
		alert(i + ': ' + in_text.charCodeAt(i));
//		output = output + '&#' + in_text.charCodeAt(i) + 848 + ';'; 
	}
	return output;
}*/

var fieldmask = new Array();
var fieldlist = new Array();
var result_list_timer = null;
var valTimer = null;
var looTimer = null;
var region_list;
var result_list = null;

$(document).ready(function(){
//	alert('ready');
	
/*	$('.date-pick').datePicker(
		{
			startDate: '01/01/1940',
			endDate: (new Date()).asString()
		}
	).val(new Date().asString()).trigger('change');*/
	
	$('#operator').change(function() {
		$('#operlogo').html('Wait...');
		$('#operlogo').css('background', 'none');
		$('#prompt').empty();
//		alert($(this).val());
		$.get('/e-pos/getprovinfo.php', {code: $(this).val()}, function(data){
			$('#operlogo').html('');
//			alert("Data Loaded: " + data);
			var logopath = $("logopath", data).text();
//			alert('logopath = '+ logopath);
			$("#operlogo").css('background', 'url(' + logopath + ') no-repeat 50% 50%');
			var result = $("result", data).text();
			var prompt = $("prompt", data).text();
			var regexp = $("regexp", data).text();
			var minRUR = $("minRUR", data).text();
			var maxRUR = $("maxRUR", data).text();
			if (result == 'OK') {
				var frmL = $('<div class="frmL">');
				$('<label for="prompt">' + prompt + '</label>').appendTo(frmL);
				$('<input class="prompti" type="text" name="prompt"></div>').appendTo(frmL);
				$("#prompt").html(frmL);
				
				var frmL2 = $('<div class="frmL">');
				$('<label for="sum">Сумма к зачислению:</label>').appendTo(frmL2);
				$('<input class="sumi" type="text" name="sum">').appendTo(frmL2);
				$("#prompt").append(frmL2);
			} else {
				$('#operlogo').html('');
			}
		});
	});
	
	$('.prDropdown').each(
		function() {
			$('<a href="#" class="prSeldow"></a>').appendTo(this);
			var divid = $(this).attr('id');
			var arr = divid.split('_');
			id = arr[0];
			list = arr[1];
			if($(this).is('.prEditable')) {
				var edit =$('<input type="text" class="prDdEdit" name="' + id + '" id="' + id + '" value="" style="border: none;" />');
				edit.css("width", $(this).width() - 22);
				edit.appendTo($(this));
/*				$('.prDdEdit').keydown(
					function(event) {
						alert($(this).attr('id'));
//						if (looTimer) clearTimeout(looTimer);
//						looTimer = setTimeout(Lookup, 100);
				});*/
			} else {
				var span = $('<span></span>');
				span.css('display', 'block');
				span.css('height', 16);
				span.css('width', $(this).width() - 22);
				var value = $(this).find('input:hidden').attr('value');
//				alert(value);
//				var name = getName(list, value);
//				alert(name);  
				span.html(value);
//				span.html('ok');
				var edit =$('<input type="hidden" name="' + id + '" id="' + id + '" />');
				edit.appendTo($(this));
				span.appendTo($(this));
			}
	});

	jQuery(".prSeldow").click(
		function(){
			var divid = $(this).parent().attr('id');
			var arr = divid.split('_');
			id = arr[0];
			list = arr[1];
			if(result_list === null) {result_list = $('<div class="result_list"><div>'); result_list.appendTo("#payrus");}
			else {
				if(result_list.is(':visible')) {
					if (result_list.attr('id') == id + "_rl") {
						result_list.hide();
					}
				} else {
					result_list.show();
					clearTimeout(result_list_timer);
				}
			}
			clearTimeout(result_list_timer);
			result_list_timer = setTimeout("result_list.hide();",2000);
			var pos = findPos(document.getElementById(divid));
			result_list.empty();
			result_list.html('<span style="text-align: center;">Wait...</span>');
			result_list.css("top", pos.y + 23);
			result_list.css("left", pos.x);
			result_list.css("width", $(this).parent().width());
			result_list.attr('id', id + "_rl");
			result_list.empty();
			
			if (fieldlist[list] == null) {
//				$.get('/ajax/result_list.php', {list: list},
				$.getJSON('/ajax/jsel.php', {list: list}, 
					function(data){
					fieldlist[list] = data;
//					result_list.html(data);
//					alert(data);
					ul = $('<ul>');
					$.each(data.items, function(i,item){
						li = $("<li>").append($('<a>').attr('href', '#').attr('id', item.id).addClass('prDdItem').html(item.name)); // + ' [' + item.image + ']' 
						li.appendTo(ul);
					});
					ul.appendTo(result_list);
					fieldlist[list] = result_list.html();
					$('.prDdItem').click(
						function() {
							var value;
							var ddv = $(this).attr('id').split('_');
							if(ddv[0] == 'ddv') {value = ddv[1];}
							var rl = $(this).parent().parent().parent();
							var arr = rl.attr('id').split('_');
							$("#" + arr[0]).attr('value', $(this).text());
							dropDown_div = $("#" + arr[0]).parent();
							dropDown_div.find('span.caption').remove();
							dropDown_div.find('input').attr('value', $(this).text());
							dropDown_div.find('input:hidden').attr('value', $(this).attr('id'));
							dropDown_div.find('span').html($(this).text());
							rl.hide();
							return false;
					}); // $('.prDdItem').click(
				});
			}
			
			result_list.html(fieldlist[list]);
			result_list.hover(
				function () {
					clearTimeout(result_list_timer);
				}, 
				function () {
					clearTimeout(result_list_timer);
					result_list_timer = setTimeout("result_list.hide();",2000);
				}
			);

//			result_list.html('<ul><li><a href="#" class="prDdItem" id="ddv_1">Item 1</a></li><li><a href="#" class="prDdItem" id="ddv_2">Item 2</a></li><li><a href="#" class="prDdItem" id="ddv_3">Item 3</a></li></ul>');

			$('.prDdItem').click(
				function() {
					var value;
					var ddv = $(this).attr('id').split('_');
					if(ddv[0] == 'ddv') {value = ddv[1];}
					var rl = $(this).parent().parent().parent();
					var arr = rl.attr('id').split('_');
					$("#" + arr[0]).attr('value', $(this).text());
//					alert($(this).text());
					dropDown_div = $("#" + arr[0]).parent();
					dropDown_div.find('span.caption').remove();
					dropDown_div.find('input').attr('value', $(this).text());
					dropDown_div.find('input:hidden').attr('value', value);
					dropDown_div.find('span').html($(this).text());
					rl.hide();
					return false;
			}); // $('.prDdItem').click(

			return false;
	}) // jQuery(".prSeldow").click(
	

	jQuery(".frmL>input").focus(
		function() {
			var id = $(this).attr('id');
//					'/custom/fieldmask', {field: id},
			if(fieldmask[id] == null) {
				$.get(
					'/ajax/fieldmask.php', {field: id},
					function(data) {
						fieldmask[id] = data;
						if (valTimer) clearTimeout(valTimer);
						valTimer = setTimeout(validate, 100);
//						alert(data);
					}
				);
			}
	}); // jQuery(".frmL>input").focus(
	
	
	jQuery(".frmL>input").keydown(
		function(event) {
			if (valTimer) clearTimeout(valTimer);
			valTimer = setTimeout(validate, 100);
	});








	
/* prCheck */
	jQuery(".prCheck").mousedown(
		function() {
			 changeCheck(jQuery(this));
		});
	jQuery(".prCheck").each(
		function() {
			 changeCheckStart(jQuery(this));
		});
/* /prCheck */

}); /* $(document).ready(function() */


function getName(list, id) {
	var res;
	$.get('/ajax/getName.php', {list: list, id: id}, 
		function(data){
			res = data;
	});
//	alert('res: ' + res);
	return res;
}

/* Lookup */
function Lookup(){
	alert("Lookup " + $(this).attr('id'));
}
/* /Lookup */

/////////////////////////////////////////////////////////////////////////////////////////

/* prCheck */
function changeCheck(el)
{
	 var el = el,
		  input = el.find("input").eq(0);
	 if(!input.attr("checked")) {
		el.css("background-position","0 -10px");   
		input.attr("checked", true)
	} else {
		el.css("background-position","0 0");   
		input.attr("checked", false)
	}
	 return true;
}
function changeCheckStart(el)
{
var el = el,
		input = el.find("input").eq(0);
	  if(input.attr("checked")) {
		el.css("background-position","0 -10px");   
		}
	 return true;
}
/* /prCheck */


/* Validate */
function validate() {
	for(var f in fieldmask) {
		var value = $("#" + f).attr('value');
		var expr = new RegExp(fieldmask[f]);
//		var expr = new RegExp("^[a-zA-Zа-яА-Я]{0,4}$");
//		var expr = /java/i;
		if(expr.test(value)) {
			$("#" + f).removeClass('error');
		} else {
			$("#" + f).addClass('error');
		}
	}
}
/* /Validate */


