var questArray=[];
var questPointer=0;
var myAnswerId=0;
var idArray=new Array();
var idPointer=0;
var container;
var errorDiv;
var survey;
var showContent = true;
var hasTaken;
var matchUsers;
var surveyURL;
var osContainer;
var surveyImgUrl;
var PAGE=0;
var allFriends = []; 
var SURVEY_QUESTIONS = null;
var QUIZE_RESULTS = null;
var SURVEY = null;
var OWNER_ANSWER;
var showOwnerAnswer = false;
var totalLikeMe = null;
var msgCount = null;
var LIKEME_USER_COUNT = 20;
var HAS_PROFILE_INFO;
var firstAnswer = true;
var totalTakenCount = 0;
var IS_SHARED = true;
var myResults;
var InvitationSubject = "";
var InvitationContent = "";
var friendsToInvite = [];
var ADMIN_USER = 330343129;
var ADS_DATA = {};
var allowNotExactMatch = true;
var AD_SURVEYS = [];
					 
var isSuperApp = false;
var inviteMessage = null;
var surveyType;
var init = function(){	
	//inviteMessage = opensocial.newMessage("Let's play [app]. I want to compare our results.");
	SERVICE_URL = SERVICE_URL+"/"+SURVEY_TYPE_SURVEY; 
	req_getAdsData();
    saveUser();
}

var saveUser = function (){
	
	var data="query=addUser&"+getUserPostData();
	data+="&surveyId="+surveyId+"&surveyType="+SURVEY_TYPE_SURVEY;
	Request.sendPOST(SERVICE_URL, data, doNothing);
	
}


var req_getAdsData = function(){
	Request.sendGET(SERVICE_URL+"/ad", resp_getAdsData);
}

var timesRefreshed = 0;
var nextURL = null;
var nextURLs = [];

/**************************************/
var resp_getAdsData = function(response){
	var data = response.data;
	ADS_DATA = data.ads;
	if (ADS_DATA == null) ADS_DATA = [];
	AD_SURVEYS = AD_SURVEYS.concat(data.surveys);
	doSurveyRequest();	
}

function doSurveyRequest(){
	selectTab("take");
	var flag;
	var randomNumber;
	do {
		flag=0;
		randomNumber=Math.floor(Math.random()*AD_SURVEYS.length);
		var surveyId=AD_SURVEYS[randomNumber].id;
		for(var i=0;i<idArray.length;i++) 
		{
			if(surveyId==idArray[i]){flag=1;break;}
		} 	
	}while (flag!=0);
	idArray[idPointer]=surveyId;
	idPointer++;
	Request.sendGET(SERVICE_URL+"/randomSurvey/"+surveyId,initQuestions);
	
	
}

var logError = function(){
	container.innerHTML = "<center><h1>Error occured while loading data. Try again in a few minutes.</h1></center>";
}

var likeMePage;
/////////////////////////////////////////// RESULTS ///////////////////////////////////////////
var req_getResults = function(){
	selectTab("results");
	if (!hasTaken) {
		requireTakeSurvey();
		return;
	}
	Request.sendGET(SERVICE_URL+"/results/"+userId+"/"+surveyId, resp_getResults);

}

var showResults = function(question, flirt,totalTakenCount,statArray){
	var colspan = 3;
	myResults = "";
	var answerCount;
	var answerId;
	var str = "<form name=match id='match'><div style='border:1px solid #D8DEEE'><table cellspacing=0 cellpadding=0 width=100% ><tbody>"+
				"<tr>"+
					"<td class=resultHead>Answer</td>"+
					"<td class=resultHead>You</td>";
					if (showOwnerAnswer && !flirt){
						str+=
						"<td class=resultHead>"+ownerName+"</td>";
						colspan = 4;
					}
					str+=
					"<td class=resultHead>All</td>"+
				"</tr>";
	var answers, percent, width,userEmail;
			if (question.imgUrl){
				myResults += "<img src='"+SURVEY_IMG_URL+question.imgUrl+"' />";
			}
			if (question.text){
				myResults += "<b>"+question.text+"</b>";
			}
		
		str +="<tr><td colspan="+colspan+" class=question><table cellspacing=0 cellpadding=0 width=100%><tr>" + (question.imgUrl ? "<td class='question_img_td'><img class=question_Img src='"+SURVEY_IMG_URL+question.imgUrl+"' /></td>" : "");
		str += (question.text ? "<td style='padding-left: 5px; font-weight: bold;'>"+question.text+"</td>" : "" )+"</tr></table></td></tr>";
		
		if(question.answers)
		{
		answers=question.answers;
		for (var j=0;j<answers.length;j++){
		    answerId=answers[j].id;
		    for(var z=0;z<statArray.length;z++){
		    if(answerId==statArray[z].id) {answerCount=statArray[z].count;break;}
		    }
			percent = 100 * answerCount / totalTakenCount;
			percent = roundToDecimals(percent, 2);
			if (answers[j].count == null){
				answers[j].count = 0;
			}
			if(answers[j].id==myAnswerId){
				if(question.id != "age" && question.id != "gender"){
					if (answers[j].imgUrl){
						myResults += "<img src='"+SURVEY_IMG_URL+answers[j].imgUrl+"' />";
					}
					if (answers[j].text){
						myResults += "&nbsp;&nbsp;"+answers[j].text;
					}
				}
			}
			
			str +="<tr class=result>"+
						"<td width=40% style='padding-left: 10px;'>"+
							"<table cellspacing=0 cellpadding=0 width=100% height=31px>"+
								"<tr>"+(answers[j].imgUrl ? "<td width=50 >"+
									"<img onmouseover=\"imageMouseOver('"+0+"_"+j+"', '"+answers[j].imgUrl+"')\" id='answerImg_"+0+"_"+j+"' class=answer_Img src='"+SURVEY_IMG_URL+answers[j].imgUrl+"' />"+
									"<img onmouseover=\"imageMouseOver('"+0+"_"+j+"', '"+answers[j].imgUrl+"')\" id='Img_"+0+"_"+j+"' src='"+IMG_URL+"plus_icon.png' />"+ 
								  "</td>" : "" );
						str += (answers[j].text ? "<td>"+answers[j].text+"</td>" : "" )+"</tr></table></td>";
						
						str+=
						"<td align=center width=5%>"+(answers[j].id==myAnswerId? "<img src='"+IMG_URL+"ok.png' />" : "" )+"</td>";
						if (showOwnerAnswer) str+=
						"<td align=center width=5%>"+(answers[j]==myAnswerId ? "<img src='"+IMG_URL+"ok.png' />" : "" )+"</td>";
					
						str+=
						"<td width=35%>"+
							"<div class=bgParent style='width:100%'>"+
								"<div class=bg style='background-image:url("+IMG_URL+"progress.jpg);width:"+percent+"%' ></div>"+
								"<div class=count>"+percent+"% ("+answerCount+")</div>"+
							"</div>"+
						"</td>"+
				  "</tr>";
		}
		}
		
	str+="<tbody></table></div>";
	str+="</form>";
	str += "<div id='matchDiv' /><input type='button' value='Next' onclick='draw()' >";
	fillContainer(str);
	gadgets.window.adjustHeight();
}


var imageMouseOver = function(id,imgUrl) {
	var imgDiv = document.createElement("DIV");
	var div = $("answerImg_"+id);
	var left_ = findPosX(div);
	var top_ = findPosY(div);
	imgDiv.id = "imgDiv_"+id;
	imgDiv.style.position = "absolute";
	imgDiv.style.left = left_ -8  + "px";
	imgDiv.style.top = top_ + "px";
	imgDiv.innerHTML = "<img src='"+SURVEY_IMG_URL+imgUrl+"' class='imgOver' onmouseout=\"imageMouseOut('"+id+"')\"><img src='"+IMG_URL+"minus_icon.png'>"
	document.body.appendChild(imgDiv);
}

var imageMouseOut = function(id) {
	document.body.removeChild($("imgDiv_"+id));
}

////////////////////////////////////////// TAKE SURVEY ////////////////////////////////////////
var takeSurvey = function(questions, srv, hasProfileInfo,i){
	var str="";
	var answers, checked;
	str += "<form name=questions><table border=0 cellpadding=0 cellspacing=0 width=100%><tbody>";
	str += "<tr><td class=question><table border=0 ><tr>";
	str += (questions.imgUrl ? "<td><img class=question_Img src='"+SURVEY_IMG_URL+questions.imgUrl+"' /></td>" : "" );
	str += (questions.text ? "<td><b>"+questions.text + "</b></td>" : "" ) + "</tr></table></td></tr>";
	answers = questions.answers;
		for(var j=0;j<answers.length;j++){
			checked = "";
			if (answers[j].isMine == true || (answers[j].isMine == undefined && j==0))
				checked = "checked";
			str += "<tr><td class=answers><table><tr><td><input type=radio "+ checked +" value='"+answers[j].id+"' name='"+questions.id+"' qIndex="+0+" aIndex="+j+" /></td>";
			str += (answers[j].imgUrl ? "<td><img onmouseover=\"imageMouseOver('"+0+"_"+j+"', '"+answers[j].imgUrl+"')\" id='answerImg_"+0+"_"+j+"' class=answer_Img src='"+SURVEY_IMG_URL+answers[j].imgUrl+"' style='cursor: pointer' />"+
											"<img onmouseover=\"imageMouseOver('"+0+"_"+j+"', '"+answers[j].imgUrl+"')\" id='Img_"+0+"_"+j+"' src='"+IMG_URL+"plus_icon.png' />"+ 
								  		"</td>" : "" );	
			str += (answers[j].text ? "<td>" +answers[j].text+ "</td>" : "" ) + "</tr></table></td></tr>"; 
		}
	str +=	 "</tbody></table></form>"+
		 "<input id=doneButton class=button type=button value=Submit onclick=saveResult() />"; 
	fillContainer(str);
	adjustHeight();
}

var saveResult = function(){
	
	var	inputs = document.questions.elements;
	for (var i=0;i<inputs.length;i++){
		if (inputs[i].checked){
			myAnswerId=questArray[questPointer-1].answers[i].id;
		
		}
	}
	var questionId=questArray[questPointer-1].id;
	var data="query=addResult&questionId="+questionId;//surveyID;
	data += "&userId="+userId+"&answerId="+myAnswerId;	
	Request.sendPOST(SERVICE_URL, data, resp_saveResult);
}

var resp_saveResult = function(response){
	var statArray=response.data;
	var total=0;
	for(var k=0;k<statArray.length;k++){
		var answerId=questArray[questPointer-1].answers[k];
		total+=parseInt(statArray[k].count);	
	}
	showResults(questArray[questPointer-1],true,total,statArray);
}

var showInviteTab = function(){
	selectTab("invite");
   	var str =
   	"<center><h1 style='font-size:19px'>Invite Your Friends to have more fun!!!<br/></h1>"+
   	"<img style='cursor:pointer;' src='"+IMG_URL+"post_to_bulletin_big.png' onclick='postInvite()'>"+
  	"<div style='margin: 30px 0px;'><h1 style='font-size:19px'>Send invitations to your friends.</h1><div id=friend><div></div>";
    container.innerHTML = str;
    Invite.show();
}
var postInvite = function(){
	var content =
	"Hey I just took this awesome survey and you can too! Its simple and quick, and you can meet tons of people with similar (or the same!) answers.";
	postTo_("Hey, check out this amazing survey!!!", content, user, "BULLETINS", null);
}
var fillBody = function(){
	var popUpDiv = document.createElement("div");
	popUpDiv.id = "popUpCont"; 
	document.body.appendChild(popUpDiv); 
	allContent = $("allContent");
	preloadimages("sendKiss.png", "sendHug.png", "sendFlower.png", "sendWink.png",
                  "sendSmile.png", "sendBeer.png", "sendIcecream.png",
                  "beer.png", "flower.png", "icecream.png", "kiss.png",
                  "hug.png", "wink.png", "smile.png");
    fill();
	getUser();
}
var fill = function(){
allContent.innerHTML = 
'<table><tr>'+
'<td><table cellspacing=0 cellpadding=0>'+
	'<tr class="tabs" id="tabContainer">'+
		'<td name=take id="take_survey"><a href="javascript: doSurveyRequest();">Take Survey</a></td>'+
		'<td name=invite id="srvInvite" style="border:1px solid #898989;"><a href="javascript:showInviteTab()">Invite Friends</a></td>'+
		'</tr>'+
'</table></td>'+
'<td id=enableMail style="padding-left:20px;"></td>'+
'</tr></table>'+
'<div style="margin-top:5px;width:728px;height:90px;overflow: hidden;" id="topAd"></div>'+
//'<div style="margin-top:5px;" id="adDiv1">'+getAd(1)+'</div>'+
'<table class=container><tr>'+
	'<td valign=top>'+
		'<div id=error style="display: none"></div>'+
		'<div id=container><div class=loading>Loading...</div></div>'+
	'</td>'+
'</tr></table>'+
'<div style="margin-top:5px;width:728px;height:90px;overflow: hidden;" id="bottomAd"></div>';
//'<div style="margin-top:5px;" id="adDiv2">'+getAd(2)+'</div>';

	container = $("container");
	errorDiv = $("error");
	gadgets.window.adjustHeight();
	setInterval(refreshIframe, 45000);
	
	try{
		applyAds('adDivTop', 'topAd');
		applyAds('adDivBottom', 'bottomAd');
		if(OS_USER_TYPE != "friendster"){ sr_gof()};
	}catch(ex){
		$('topAd').innerHTML =  '<iframe id=ad1 src="http://ads.socialmedia.com/myspace/monetize.php?width=645&height=60&pubid=dbca0dcd5a282e3c790056cc68783379&bgcolor=FFFFFF&bordercolor=FFFFFF" border="0" width="645" height="60" name="socialmedia_ad" scrolling="no" frameborder="0"></iframe>';
		$('bottomAd').innerHTML = '<iframe src="'+SERVER_URL+'cubics_ad.html" id=ad2 style="border:0px;" width="665" height="75" scrolling="no" frameborder="0"></iframe>';
	} 
	
}

var hideTabs = function(msg) {
	/*
	init();
	var bodyMask = document.createElement("div");
	bodyMask.className = "body-mask";
	bodyMask.id = "body-mask";
	bodyMask.onclick = function(ev){
		if (window.event) ev = window.event;
		ev.cancelBubble = true;
		return false;
	}
	document.body.appendChild(bodyMask);
	
	var wizardBox = document.createElement("div");
	wizardBox.className = "wizardBox-dlg";
	wizardBox.id = "wizardBox-dlg";
	wizardBox.innerHTML = 
	"<center><img src='"+IMG_URL+"arrow_jump.gif'></center>"+
	"<div style='border: 3px solid red; padding:13px'>"+
	"Add / Install this App to start using "+surveyTitle+"</div>";
	document.body.appendChild(wizardBox);
	*/
	$("allContent").innerHTML = "<img style='margin-left: 100px;' src='"+SERVER_URL+"img/add_app.jpg' />";
	gadgets.window.adjustHeight();
}

function draw(){
	if(questPointer==questArray.length){
		doSurveyRequest();
	}else {
		takeSurvey(questArray[questPointer],questPointer,null,false);
		questPointer++;
	}

}
var initQuestions=function(response){
	questPointer=0;
	questArray=response.data.questions;
	draw();
}
