/*
	Tyco Survey JAVASCRIPT settings and functions
	Author: Eytan Chen
	Published: December 2007
	all rights reserved to Tyco Interactive ltd.
	http://www.tyco.co.il
*/

/////////////////////////////////// SURVEY CONFIG VARIABLES ///////////////////////////////////////////////

var lang = "heb"; // site language
var survey_cookies = 1; // use cookies when voting, to block re-voting of same user. if false, user will be able to re-vote after each refresh of page.
var survey_showDates = 0; // show survey date range
var counter_speed = 2;
var _Submit = "שלח";
var _survey_noAnswer = "אנא סמנו את תשובתכם";
var _survey_noAnswerall = "אנא סמנו את תשובתכם בכל השאלות";
var _survey_dateRange = "סקר פעיל: ";
var _survey_tovote = "להצבעה";
var _survey_toscore = "לתוצאות";
var _survey_histseker = "&raquo; סקרים קודמים";

/////////////////////////////////// DO NOT CHANGE AFTER THIS //////////////////////////////////

function show_survey()
{
	result = get_survey();
	if (result)
	{
		if (!survey_cookies || !survey_Get_Cookie("tyco_survey_vote"))
		{
			// Show survey form
			build_survey_form(result,1);
		}
		else
		{
			// Show survey results
			build_survey_form(result,0);
		}
	}
}

function get_survey()
{
	var url = "tyco_survey.ajax.php?action=get";
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "n")
		{
			var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
			document.write(message);
			return false;
		}
		result = new Array();
		for (i=0; i < xml.childNodes.length; i++)
		{
			key = xml.childNodes[i].tagName;
			if (xml.childNodes[i].firstChild && xml.childNodes[i].firstChild.data)
				value = xml.childNodes[i].firstChild.data;
			else
				value = "";
			result[key] = value;
		}
	}
	return result;
}

function get_quesbyid(queid)
{
	var url = _base+"/tyco_survey.ajax.php?action=getid&id="+queid;
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "n")
		{
			var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
			document.write(message);
			return false;
		}
		result = new Array();
		for (i=0; i < xml.childNodes.length; i++)
		{
			key = xml.childNodes[i].tagName;
			if (xml.childNodes[i].firstChild && xml.childNodes[i].firstChild.data)
				value = xml.childNodes[i].firstChild.data;
			else
				value = "";
			result[key] = value;
		}
	}
	return result;
}

/* tyco_survey basic build
function build_survey_form(data)
{
	//Build survey form on document
	survey_form = 	"<link href='tyco_survey.css' type='text/css' rel='stylesheet'>"+
					"<div id='survey_mc'>"+
					"<form id='survey_form' action='survey.php' method='GET' onSubmit='return submit_survey(this, \""+data['id']+"\")'>"+
					"<div id='survey_title'>"+data['survey_title']+"</div>";
	if (survey_showDates) survey_form += "<div id='survey_dates'>"+_survey_dateRange+data['survey_fromDate']+" - "+data['survey_toDate']+"</div>";
	for (i=1; i<=6; i++)
	{
		if (data['ans_'+i] != "")
		{
			survey_form += "<div class='survey_answer'>"+
							"<input type='radio' name='survey_ans' value='"+i+"'><p>"+data['ans_'+i]+"</p></div>";
		}
	}
	survey_form += "<div class='survey_submit'><input type='submit' class='submit' value='"+_Submit+"'></div>";
	survey_form +=	"</form></div>";

	document.write(survey_form);

}*/
// local site build 
function build_survey_form(data,vote)
{
	//Build survey form on document
	survey_form ="<div id='survey_mc'>"+
					"<h3 id='survey_title' class='pollBtn'>"+data['survey_title']+"</h3><form class='text' id='survey_form' action='survey.php' method='GET' onSubmit='return submit_survey(this, \""+data['id']+"\")'><input type='hidden' name='survey_id' value='"+data['survey_id']+"'/><h4>"+data['survey_q']+"</h4>";
	if (survey_showDates) survey_form += "<div id='survey_dates'>"+_survey_dateRange+data['survey_fromDate']+" - "+data['survey_toDate']+"</div>";
	for (i=1; i<=6; i++)
	{
		if (data['ans_'+i] != "")
		{
			survey_form += "<div  class='radio'>"+
							"<input type='radio' name='survey_ans' value='"+i+"'>"+data['ans_'+i]+"</div>";
		}
	}
	if(vote)
	{
		survey_form += "<div class='inputs'><input class='pollSubmit' type='submit' value='"+_survey_tovote+"'/><input class='pollSubmit' type='button' onclick='javascript:window.location.href=\"survey.php?results=y&survey_id="+data['survey_id']+"\"'  value='"+_survey_toscore+"'/><a href='histsurvey.php'>"+_survey_histseker+"</a></div>";
	}
	else
	{
		survey_form += "<div class='inputs'><input class='pollSubmit' type='button' onclick='javascript:window.location.href=\"survey.php?results=y&survey_id="+data['survey_id']+"\"'  value='"+_survey_toscore+"'/><a href='histsurvey.php'>"+_survey_histseker+"</a></div>";
	}
	survey_form +=	"</form></div>";

	document.write(survey_form);

}

function submit_survey(f, survey_id)
{
	c_ans = false;
	for (i=0; i<f.survey_ans.length; i++)
	{
		if (f.survey_ans[i].checked == true) c_ans = f.survey_ans[i].value;
	}
	if (!c_ans)
	{
		alert(_survey_noAnswer);
		return false;
	}
	
/*	var url = "tyco_survey.ajax.php?survey_id="+survey_id+"&survey_ans="+c_ans+"&action=vote&survey_cookies="+survey_cookies;
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "y")
		{
			result = get_survey();
			if (result)
				build_survey_results(result);
		}
		else
		{
			var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
			alert (message);
		}
	}*/
	return true;
}

function build_multi_results(quesid)
{
	var quesdata=get_quesbyid(quesid);
	build_survey_results(quesdata,quesid)
}

function build_survey_results(data,quesid)
{
	survey_result = "<div class='survey_title'>"+data['survey_q']+"</div>";
	if (survey_showDates) survey_result += "<div id='survey_dates"+quesid+"'>"+_survey_dateRange+data['survey_fromDate']+" - "+data['survey_toDate']+"</div>";
	for (i=1; i<=6; i++)
	{
		if (data['ans_'+i] != "")
		{
			survey_result  += "<div class='survey_answer'><p>"+data['ans_'+i]+" ("+data['count_'+i]+")</p></div>";
			survey_result  += "<div class='survey_result'><div class='counter' id='"+quesid+"counter_"+i+"' style='width:0px;'></div><div class='counter_text' id ='"+quesid+"counter_text_"+i+"'>0%</div></div>";
		}
	}
	
		
		survey_result ="<link href='css/tyco_survey.css' type='text/css' rel='stylesheet'>"+
						"<div class='survey_mc'>"+survey_result+"</div>";
		document.write(survey_result);
	
	for (i=1; i<=6; i++)
	{
		if (data['ans_'+i] != "")
		{

			countPercent = (parseFloat(data['total_votes'])>0) ? Math.round((parseFloat(data['count_'+i]) / parseFloat(data['total_votes'])) *100) : 0;
			eval ("ans_"+i+"_counter"+quesid+" = setInterval('build_counter("+i+", "+countPercent+", "+quesid+")', "+counter_speed+");");
		}
	}
}

function build_counter(i, percent,quesid)
{
	counter_percent = document.getElementById(quesid+"counter_text_"+i);
	counter_bar = document.getElementById(quesid+"counter_"+i);
	if (counter_bar)
	{
		if (parseFloat(counter_bar.style.width) < parseFloat(percent))
		{
			step = (parseFloat(counter_bar.style.width)+counter_speed < parseFloat(percent)) ? (parseFloat(counter_bar.style.width)+counter_speed) : percent;
			counter_bar.style.width = step+"px";
			counter_percent.innerHTML = step+"%"
		}
		else
		{
			if (parseFloat(counter_bar.style.width) === 0) counter_bar.style.width = "3px";
			eval ("clearInterval(ans_"+i+"_counter"+quesid+");");
		}
	}
}

function survey_Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this deletes the cookie when called
function survey_Delete_Cookie( name, path, domain )
{
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

// this function gets the cookie, if it exists
function survey_Get_Cookie( name )
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function getHTTPObject()
{
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest(); } catch(e) {}
	alert("XMLHttpRequest not supported");
	return null;
 }

function LoadHTML(url)
{

	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		   if (xmlHttp.readyState != 4)  { return; }
		   var serverResponse = xmlHttp.responseText;

	}
	xmlHttp.send(null);
	return xmlHttp.responseText;
}
function LoadXML(url)
{
	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		   if (xmlHttp.readyState != 4)  { return; }
		   var serverResponse = xmlHttp.responseText;
	};
	xmlHttp.send(null);
	return xmlHttp.responseXML.documentElement;
}

Array.prototype.getUnique = function () {
var o = new Object();
var i, e;
for (i = 0; e = this[i]; i++) {o[e] = 1};
var a = new Array();
for (e in o) {a.push (e)};
return a;
} 


function check_survey(curForm)
{
	var z=0;
	var a=new Array();
	var uniqarr=new Array();
	for (i=0; i<curForm.childNodes.length; i++)
	{
		cElement = curForm.childNodes[i];
		
		for (v=0; v<cElement.childNodes.length; v++)
		{
			innerElement=cElement.childNodes[v];
			if(innerElement.tagName=='INPUT' && innerElement.type=='radio')
			{
				
				a[z]=innerElement.name;
				z=z+1;
			}
		}
	}
	
	uniqarr=a.getUnique();
	
	for(v=0;v<uniqarr.length;v++)
	{
		qustiona=document.getElementsByName(uniqarr[v]);
		
		c_ans = false;
		for (i=0; i<qustiona.length; i++)
		{
			if (qustiona[i].checked == true) c_ans = qustiona[i].value;
		}
		if (!c_ans)
		{
			alert(_survey_noAnswerall);
			return false;
		}
	}
	
	
	var fields_array=new Array("firstName","lastName","email", "phone");
	for (i=0;i<fields_array.length;i++)
	{
		if (curForm[fields_array[i]].value=="")
		{
			cMessage = eval("_alert_"+fields_array[i]);
			alert(cMessage);
			curForm[fields_array[i]].focus();
			return false;
		}
		else if (fields_array[i] == "email" && !checkEmail(curForm[fields_array[i]].value))
		{
			alert(_emailNotValid);
			curForm[fields_array[i]].focus();
			return false;
		}
		else if (fields_array[i] == "phone" && !checkPhone(curForm[fields_array[i]].value))
		{
			alert(_contact_phoneInvalid);
			curForm[fields_array].focus();
			return false;
		}
	}

	var contact_data = $(curForm).serialize();

	if (confirm(_recomend_confirm))
	{
		$.ajax({
		type: "POST",
		url: _base +"/hff_ajax.php?action=survey",
		data: contact_data,
		success: function(msg){
				if(msg == "success")
				{
					alert (_recomend_success);
		    			curForm.reset();
		    		}
		    		else
		    		{
		    			alert (_recomend_fail);
		    		}
			} 
		});
		return false;
	}
	return false;
	
	//return true;
}
