
//var  	flag_beginStr = 0; // начало строки параметров
var		flag_beginAns = 0; //для ответа в виде checkbox

function checkCurNode(currentNode, strParam)
{	

	if( currentNode.nodeName == 'INPUT' )
		{
			var curInputTypeAttr = currentNode.getAttributeNode("type");
		if( curInputTypeAttr.value == 'radio'){
				if (currentNode.checked)
				{	
					var curInputNameAttr = currentNode.getAttributeNode("name");

						 strParam =  strParam + curInputNameAttr.value + '=' + currentNode.value;
						 flag_beginAns = 1;
					
					              
				};
			};

			if( curInputTypeAttr.value == 'checkbox'){	
			 if (currentNode.checked)
				{	
					var curInputNameAttr = currentNode.getAttributeNode("name");
					
					if (flag_beginAns==0)
					{
						strParam =  strParam + curInputNameAttr.value + '=on';
						flag_beginAns =1;							
					}
					else 
					{
						strParam =  strParam + '&' + curInputNameAttr.value + '=on';						
					};
					
				};
			};

	

		};//end_if (input)
	
	
	return strParam;
};


function ansfunc(currentNode, level, strParam)
{
	///alert(currentNode.nodeName);
	if(currentNode.hasChildNodes())
	{
		strParam = checkCurNode(currentNode, strParam);
		// цикл по потомкам из текущего узла
		var children = currentNode.childNodes;
		for(var i=0; i<children.length; i++)
		{
			strParam = ansfunc(children.item(i),(level+1),strParam);
		};
	}
	else
	{
		strParam = checkCurNode(currentNode, strParam);
	};

return strParam;
};



////////MAIN FUNC ///////////////////////////////////////////
//прередает параметры 
//номер вопроса, тип голосования, выбранный ответ на вопрос и т.д. скрипту vote.php (через dklab)
function voteMake(obj)
{
flag_beginStr = 0; // начало строки параметров
flag_beginAns = 0;
flag_q_id = 0; 
flag_v_id = 0; 
flag_v_showtype = 0; 
flag_cur_cat_id = 0; 

//                 Обработка шаблона и запись параметров
//Все параметры, передающиеся в шаблон опросника, сохраняются в строке paramStr
// и предаются скрипту vote.php
var ansStr = '';
ansStr = ansfunc(obj, 1, ansStr); 

var q_id_val;
var v_id_val;
var v_showtype_val;
var cur_cat_id_val;
var num_vote_val;
var ans_val;
var comment_val;
if(obj.q_id) q_id_val = obj.q_id.value;
if(obj.v_id) v_id_val = obj.v_id.value;
if(obj.v_showtype) v_showtype_val = obj.v_showtype.value;
if(obj.cur_cat_id) cur_cat_id_val = obj.cur_cat_id.value;
if(obj.num_vote) num_vote_val = obj.num_vote.value;
if(obj.ans) ans_val = obj.ans.value;
if(obj.comment) comment_val = obj.comment.value;
ans_val = ansStr;

if( flag_beginAns == 0 ) { alert("Не выбран ответ на вопрос!"); return false; }
else
	{

		var divNode = obj.parentNode;
		if (divNode.nodeName != 'DIV') 	{  alert("DIV is absent!"); return false;	};
	

		divNode.innerHTML="Подождите, идёт запрос";
		var req = new Subsys_JsHttpRequest_Js();
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					if (req.responseJS) {
						divNode.innerHTML=req.responseJS.text;
					}
				}
			}

	//	var url = '/itcms3/user/poll/dklab/vote_test.php?'+paramStr;
		//req.loader = 'FORM';
		req.caching = false;

		req.open(null, '/itcms3/user/poll/dklab/vote.php', true);
	    req.send( { q_id: q_id_val,
					v_id: v_id_val,
					v_showtype: v_showtype_val,
					cur_cat_id: cur_cat_id_val,
					num_vote: num_vote_val,
					ans: ans_val,
					comment: comment_val } );
/*
		req.caching = false;
		req.open('GET', url , true);
		req.send({});
*/

	};
	
	
	return false;	
};
////////////END MAIN FUNC///////////////////////////////////////////////////////////////////////////////


