/*
Carmil 1
(c) 2006-2008
show_poll.js
*/

function PageShowPollById ()
{
this.mydebugger= new DebugHelper("PageShowPollById");
this.strtbl= new StringTable (getDocs() + "/polls/xml/strtbl_en.xml", "show_poll", null);
this.pcsize= 100;
this.isSkipAllIntro= false;
this.refHost= "";
this.pageHidden= "";
this.inviteeEmail= "";
this.invitationCode= "";
this.debugerr= "";
this.status= "";

this.setBusy = function(isBusy)
{
document.body.style.cursor= (isBusy ? "wait" : "auto");
showHtmlElement("idSyPleaseWait", isBusy);
};

this.showDefaultPage = function ()
{
window.self.location= "./polls.html";
};

this.getQsDelimiter = function (url)
{
var delim= "&";
var pos= url.indexOf("?", 0);
if (pos < 0)
{
delim= "?";
}
return delim;
};

this.showLastErr = function ()
{
alert("Status: " + this.status + "\nError: " + this.debugerr );
}

this.PollGetPollCallback = function (parent)
{
this.parent= parent;

this.onXmlLoaded = function (xmlreq)
{
this.parent.setBusy(false);
showHtmlElement("idSyMsgSoon", false);

try
{
var doc = xmlreq.req.responseXML.documentElement;
this.parent.status = getValidTextOfFirstXmlElement( doc.getElementsByTagName('status') );

if (this.parent.status == "OK")
{
var data = getValidTextOfFirstXmlElement( doc.getElementsByTagName('data') );

data= data + this.parent.getQsDelimiter(data) + "jscaller=1";

if (this.parent.pcsize != 100)
{
data= data + this.parent.getQsDelimiter(data);
data= data + "size=" + encodeURIComponent(this.parent.pcsize);
}

if (this.parent.isSkipAllIntro)
{
data= data + this.parent.getQsDelimiter(data) ;
data= data + "skip_all_intro=1";
}

if (0 && (this.parent.refHost != null) && (this.parent.refHost != ""))
{
data= data + this.parent.getQsDelimiter(data) ;
data= data + "refhost=" + encodeURIComponent(this.parent.refHost);;
}

if ((this.parent.pageHidden != null) && (this.parent.pageHidden != ""))
{
data= data + this.parent.getQsDelimiter(data) ;
data= data + "hiddenpage=" + encodeURIComponent(this.parent.pageHidden);;
}

var curuser= new CurrentUser();
if (curuser.isSignedIn())
{
data= data + this.parent.getQsDelimiter(data);
data= data + curuser.getQS();
}

if ((this.parent.inviteeEmail != null) && (this.parent.inviteeEmail != ""))
{
data= data + this.parent.getQsDelimiter(data) ;
data= data + "invitee=" + encodeURIComponent(this.parent.inviteeEmail) +
"&invitation=" + encodeURIComponent(this.parent.invitationCode);
}

data= data + this.parent.getQsDelimiter(data);
 
 

window.self.location= data ;
}
else
{
this.parent.debugerr = getValidTextOfFirstXmlElement( doc.getElementsByTagName('debug-err') );
this.parent.mydebugger.warn(this.parent.debugerr);
showHtmlElement("idSyErrorGeneral", true);
}
}
catch( exc )
{
this.parent.mydebugger.warn(convertErrObjToStr(exc));
if (confirm( this.parent.strtbl.get("idErrGeneralOperationFailed") ))
{
alert(convertErrObjToStr(exc) );
}
}
};

this.onError = function (xmlreq, err)
{
this.parent.mydebugger.warn( convertErrObjToStr(err) );
this.parent.setBusy(false);
this.parent.showDefaultPage ();
};
};

this.go = function  ()
{
var idPoll= getAndDeleteMyCookie( "ap_recent_poll" );
var format= "";
var size= "";

 

if (!isNonEmptyString(idPoll))
{
idPoll= getQueryStringParam("id_poll", "");
}

var publisher= getQueryStringParam("publisher", "");

if (!isNonEmptyString(format))
{
format= getQueryStringParam("format", "");
}

if (!isNonEmptyString(size))
{
size= getQueryStringParam("size", "");
}
var pc= parseInt(size, 10);
if ((isNaN(pc)) || (pc <= 0))
{
pc= 100;
}
this.pcsize= pc;

{
var strSkipAllIntro= "";
if (!isNonEmptyString(strSkipAllIntro))
{
strSkipAllIntro= getQueryStringParam("skip_all_intro", "");
}
var nSkipAllIntro= parseInt(strSkipAllIntro, 10);
if (nSkipAllIntro == 1)
{
this.isSkipAllIntro= true;
}
}

{
var strRefHost= "";
if (!isNonEmptyString(strRefHost))
{
strRefHost= getQueryStringParam("refhost", "");
}
this.refHost= strRefHost;
}

{
var strPageHidden= "";
if (!isNonEmptyString(strPageHidden))
{
strPageHidden= getQueryStringParam("hiddenpage", "");
}
this.pageHidden= (strPageHidden == null) ? "" : strPageHidden;
}
{
var strInviteeEmail= "";
if (!isNonEmptyString(strInviteeEmail))
{
strInviteeEmail= getQueryStringParam("invitee", "");
}
this.inviteeEmail= (strInviteeEmail == null) ? "" : strInviteeEmail;
}
{
var strInvitationCode= "";
if (!isNonEmptyString(strInvitationCode))
{
strInvitationCode= getQueryStringParam("invitation", "");
}
this.invitationCode= (strInvitationCode == null) ? "" : strInvitationCode;
}

if (isNonEmptyString(idPoll))
{
var curuser= new CurrentUser ();

var referrer= "";
if (document.referrer && (document.referrer!=""))
{
referrer= document.referrer;
}

var url= getCgibin() + "/ap_get_poll.pl?" +
curuser.getQS() +
"&id_poll=" + encodeURIComponent(idPoll) +
"&publisher=" + encodeURIComponent(publisher) +
"&invitee=" + encodeURIComponent(this.inviteeEmail) +
"&invitation=" + encodeURIComponent(this.invitationCode) +
"&format=" + encodeURIComponent(format) +
"&ref=" + encodeURIComponent(referrer)
;

this.setBusy(true);
var requestPoll= new XmlRequest();
requestPoll.loadAsync( url, new this.PollGetPollCallback(this), null, null );
}
else
{
this.showDefaultPage ();
}
};
}

 
