var cntRecord = 1;
var errMessage = "Chybně vyplňený formulář \nOpravte žlutě podbarvená políčka";
function buildMarketJSON(){
	var market = document.getElementById('form');
	var result = '{"contact":{';
	var name = '';
	var p = 0;
	var nextObject = false;
	var nextRecord = false;
	var beginRecordList = true;
	var beginRecord = true;
	var isValid = true;
	for (var i=0;i<market.length;i++){
		if(market.elements[i].type == 'text'){
			if(!test(market.elements[i])){
				alert(errMessage);
				return false;
			}
			name = market.elements[i].id;
			if((p=name.indexOf('_')) != -1){
				name = name.substring(0,p);
				if(beginRecordList){
					result +='},"record":[{';
					beginRecordList = false;
					nextObject = false;
				}
				if(beginRecord) {
					if(nextRecord) result += ',{';
					//result +=',{';
					beginRecord = false;
					nextRecord = true;
				}
			}
			if(nextObject) result += ',';
			result += '"'+name+'":"'+market.elements[i].value.replace(/"/g,'\\"')+'"';
			nextObject = true;
			if(name == 'quantity') {
				beginRecord = true;
				result +='}';
				nextObject = false;
			}
		}
	}
	if(!test(document.getElementById('text'))){
		alert(errMessage);
		return false;
	}
	result +='],"text":"';
	result += document.getElementById('text').value.replace(/"/g,'\\"');
	result += '"}';
	//alert(eval(result));
	var http = null;
	if (window.XMLHttpRequest) http = new XMLHttpRequest();
	else if (window.ActiveXObject) http = new ActiveXObject("Microsoft.XMLHTTP");
	else return;
	http.open("POST",'http://tryon.formax.cz/js/market/market.php',false);
	http.send(result);
	document.getElementById('market').innerHTML = http.responseText;
}
function buildMessageJSON(){
	var market = document.getElementById('form');
	var result = '{"contact":{';
	var nextObject = false;
	var name = '';
	for (var i=0;i<market.length;i++){
		name = market.elements[i].id;
		if(market.elements[i].type == 'text'){
			if(!((market.elements[i].className == 'canBeEmpty') && (market.elements[i].value == ''))){
				if(!test(market.elements[i])){
					alert(errMessage);
					return false;
				}
			}
			if(nextObject) result += ',';
			result += '"'+name+'":"'+market.elements[i].value.replace(/"/g,'\\"')+'"';
			nextObject = true;
		}
	}
	result +='}';
	if(!test(document.getElementById('text'))){
		alert(errMessage);
		return false;
	}
	result +=',"text":"';
	result += document.getElementById('text').value.replace(/"/g,'\\"');
	result += '"}';
	var http = null;
	if (window.XMLHttpRequest) http = new XMLHttpRequest();
	else if (window.ActiveXObject) http = new ActiveXObject("Microsoft.XMLHTTP");
	else return;
	http.open("POST",'http://tryon.formax.cz/js/market/message.php',false);
	http.send(result);
	document.getElementById('message').innerHTML = http.responseText;
}
function addRecord(){
	var recordList = document.getElementById('recordList');
	var record = null;
	var cellList = new Array('quality','size','quantity');
	var node= null;
	var input = null;
	if(cntRecord == 1) controlRemoveButton('add');
	cntRecord++;
	var record = document.createElement('tr');
	for(i in cellList){
		node= document.createElement('td');
		input= document.createElement('input');
		input.setAttribute('type','text');
		input.setAttribute('value','');
		input.setAttribute('id',cellList[i]+'_');
		input.onblur = function(){validate(this);};
		input.style.backgroundColor = '#FFFFAA';
		node.appendChild(input);
		record.appendChild(node);
	}
	node= document.createElement('td');
	input= createRemoveButton();
	node.appendChild(input);
	record.appendChild(node);
	recordList.appendChild(record);
}
function removeRecord(aNode){
	var record = aNode.parentNode.parentNode;
	var recordList = record.parentNode;
	recordList.removeChild(record);
	cntRecord--;
	if(cntRecord == 1) controlRemoveButton('remove');
}
function createRemoveButton(){
	var result= document.createElement('input');
	result.setAttribute('type','button');
	result.setAttribute('value','Smaž záznam');
	result.onclick = function(){removeRecord(this);};
	return result;
}
function controlRemoveButton(aOper){
	var last = 0;
	var i = 0;
	var recordList = document.getElementById('recordList');
	for(i in recordList.childNodes){
		if(recordList.childNodes[i].nodeType == 1) last = i;
	}
	var record  = recordList.childNodes[last];
	for(i in record.childNodes){
		if(record.childNodes[i].nodeType == 1) last = i;
	}
	var node = record.childNodes[last];
	if(aOper == 'add'){
		input= createRemoveButton();
		node.appendChild(input);
	}
	if(aOper == 'remove'){
		node.innerHTML = '';
	}
}
function validate(aNode){
	if(test(aNode)) {
		aNode.style.backgroundColor = 'white';
		//alert('shoduje se');
	}
	else{
		aNode.style.backgroundColor = '#FFFFAA';
		//alert('neshoduje se');
	}
}
function test(aNode){
	var exp = '.+';
	if(aNode.id == 'phone') exp='^[ 0-9\.\+\/\-]{8,}$';
	if(aNode.id == 'email') exp='^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$';
	return aNode.value.match(exp);
}


