﻿// JScript File
function loadXslDoc(dname)
{
var xmlDoc;
if (window.XMLHttpRequest)
  {
  xmlDoc=new window.XMLHttpRequest();
  xmlDoc.open("GET",dname,false);
  xmlDoc.send("");
  return xmlDoc.responseXML;
  }
// IE 5 and IE 6
else if (window.ActiveXObject)
  {
  req = new ActiveXObject("Microsoft.XMLHTTP");
  req.open("GET",dname,false);
  req.send("");
  return req.responseXML;
  }
alert("Error loading document");
return null;
} 
function GetXMLobj(xmlContent)
{
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject)
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.loadXML(xmlContent);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation
    && document.implementation.createDocument)
    {
        parser=new DOMParser();
        xmlDoc=parser.parseFromString(xmlContent,"text/xml");
    }
    else
    {
        alert('Your browser cannot handle this script');
    }
    return xmlDoc;
}

function GetXSLobj()
{
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject)
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation
    && document.implementation.createDocument)
    {
        xmlDoc=document.implementation.createDocument("","",null);
    }
    else
    {
        alert('Your browser cannot handle this script');
    }
    xmlDoc.async=false;
    return xmlDoc;
}

function HtmlResult(xmlContent, xslPath)
{   
    //Get obj with content      
    var xmlDom = GetXMLobj(xmlContent);
    
    //Get obj and load content
    var xslDom = GetXSLobj();
    xslDom.async = false;
    xslDom = loadXslDoc(xslPath);
    // due to safari browser this has been commented out
    //xslDom.load(xslPath);
    
    // code for IE
    if (window.ActiveXObject)
    {
        ex=xmlDom.transformNode(xslDom);        
        return ex;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation
    && document.implementation.createDocument)
    {    
        xsltProcessor=new XSLTProcessor();
        xsltProcessor.importStylesheet(xslDom);
        resultDocument = xsltProcessor.transformToFragment(xmlDom,document);
                
        return resultDocument.childNodes[0].innerHTML;
    }
}


function ReplaceMediaPath(html)
{
    //Replace 'MediaBasePath' string by actual media path from variable in master page  
    var newhtml = html.replace(/MediaBasePath/g, mediaPath);
    return newhtml;
}

function formateDate(UnformatedDate)
{
return (UnformatedDate.getFullYear() + "/" + (UnformatedDate.getMonth()+1) + "/" + UnformatedDate.getDate())
}

function AttachHtml()
{
    if(pchlottopage != undefined)
    {
        var columnDefault = 'DrawingDate';
        if(pchlottopage == 'home')
        {    
            var today = new Date();
            // we need to get the past 30 days winners and display the Top2.
            var sdt = new Date();
            sdt.setDate(sdt.getDate()-lottoPageAllWinnersDays);
            var edt = new Date(today.getFullYear(), today.getMonth(), today.getDate()-1,23,59,59);
            YdayDrawingHtml(formateDate(sdt), formateDate(edt));  
        }
        else if (pchlottopage == 'drawings1')
        {
            var today = new Date();
            var sdt = new Date(today.getFullYear(),today.getMonth(),today.getDate()-1,0,0,0);
            var edt = new Date(today.getFullYear(),today.getMonth(),today.getDate()-1,23,59,59);
            ByDateDrawingHTML(formateDate(sdt), formateDate(edt),columnDefault);            
        }
        else if (pchlottopage == 'drawings2')
        {
            var today = new Date();
            var edt = new Date(today.getFullYear(),today.getMonth(),today.getDate(),0,0,0);
            var sdt = new Date();
            sdt.setDate(edt.getDate()-lottoPageAllWinnersDays);
            
            var directionDefault = 0;
            ByDateDrawingHTML(formateDate(sdt), formateDate(edt),columnDefault);
            //AllDrawingHTML(sdt.toLocaleString(), edt.toLocaleString(), lottoPageMaxWinnersCount, lottoPageMaxUserPlaysCount, columnDefault, directionDefault);                       
        }
	else if (pchlottopage == 'bonuscontestentry')
        {
            if (BonusContestKey != undefined)
            {
            //email = document.getElementById(hidEmail).value;
            email = "";
            subCode = "15";
            var entryDate = new Date();
            contestKey = BonusContestKey;
            var params = 'EmailAddress=' + email + '&subscriptionCode=' + subCode + '&contestKey=' + contestKey + '&EntryDate=' + entryDate.toLocaleString();
            var xmlobj = CallWebservice('PlaceContestEntry', params);
            }
        }
        
    }
}
    
function YdayDrawingHtml(sdt, edt)
{   
    //call Web service
    var params = 'sdt=' + sdt + '&edt=' + edt;
    var xmlobj = CallWebservice('GetYesterdayWinners', params);
}

function ByDateDrawingHTML(sdt, edt,ordercolumn)
{
    //call Web service
    var params = 'sdt=' + sdt + '&edt=' + edt + '&orderColumn=' + ordercolumn;
    var xmlobj = CallWebservice('GetDrawsByDateV1', params);   
}

function AllDrawingHTML(sdt, edt, maxwinnercount, maxuserplays, ordercolumn, direction)
{
    //call Web service
    var params = 'sdt=' + sdt + '&edt=' + edt + '&maxWinnerCount=' + maxwinnercount + '&maxUserPlays='
                    + maxuserplays + '&orderColumn=' + ordercolumn + '&direction=' + direction;
    var xmlobj = CallWebservice('GetAllDraws', params);   
}

function CallWebservice(methodName, params)
{
    var url = lottoContestWebSvcProxyURL + '/' + methodName + '?';
    var fullurl = url + params;
    xmlhttp=null;
   
    if (window.XMLHttpRequest)
    {   
        // code for all new browsers
        xmlhttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        // code for IE5 and IE6
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp!=null)
    {
        var xmlString;
        xmlhttp.open("GET",fullurl,true);
        xmlhttp.onreadystatechange = function() { //Handler function for call back on state change.  
         if(xmlhttp.readyState == 4) {
                    
         var xml;
         if(window.XMLHttpRequest)
         {
            xml = xmlhttp.responseText;
         }
         else if (window.ActiveXObject)
         {
            xml = xmlhttp.responseXML.xml;
         }
       
         //Clean XML
         var xmllt  = xml.replace(/&lt;/g, "<");  
         var xmlgt = xmllt.replace(/&gt;/g, ">");
         var xmlcleanver = xmlgt.replace('<?xml version="1.0"?>', '');
         var xmlcleanxmlns = xmlcleanver.replace('<string xmlns="http://tempuri.org/">', '');
         var xmlclean = xmlcleanxmlns.replace('</string>', '');
         var xmlcleanR = xmlclean.replace('\r','');
         var xmlcleanN = xmlcleanR.replace('\n','');
         var xmlop = xmlcleanN.replace('<?xml version="1.0" encoding="utf-8"?>' , '');
         
        if(pchlottopage == 'home')
        {    
            //var xslPath = mediaPath + 'Xsl/PCHLotto/YesterdayWinners.xsl';
            var xslPath = '../../xsl/YesterdayWinners.xsl';
            var recentwinnersDiv = document.getElementById('recentWinners');
            var html = HtmlResult(xmlop, xslPath);
            
            var newhtml = ReplaceMediaPath(html);            
            recentwinnersDiv.innerHTML = newhtml;
        }
        else if (pchlottopage == 'drawings1')
        {
            //var xslPath = mediaPath + 'Xsl/ByDateWinners.xsl';
            var xslPath = '../../xsl/ByDateWinners.xsl';
            
            var html = HtmlResult(xmlop, xslPath);
            var newhtml = ReplaceMediaPath(html);
            
            var modulewrapDiv = document.getElementById('module_wrap');
            modulewrapDiv.innerHTML = newhtml;
        }
        else if (pchlottopage == 'drawings2')
        {
            //var xslPath = mediaPath + 'Xsl/AllWinners.xsl';
            var xslPath = '../../xsl/AllWinners.xsl';
            var html = HtmlResult(xmlop, xslPath);
            var newhtml =  ReplaceMediaPath(html);
           
            var drawallwrapDiv = document.getElementById('WinnerNumbers');
            drawallwrapDiv.innerHTML =  newhtml;
            
            var xslPath = '../../xsl/AllUserNumbers.xsl';
            var html = HtmlResult(xmlop, xslPath);
            var newhtml =  ReplaceMediaPath(html);
            
            
            var drawallwrapDiv = document.getElementById('draw_signIn');
            if (newhtml == "<?xml version=\"1.0\" encoding=\"UTF-16\"?><div />")
            {
                newhtml = "";
            }
            if (drawallwrapDiv != null && newhtml != "")
            {
            drawallwrapDiv.innerHTML =  newhtml;
            drawallwrapDiv.id = "draw_signIn1";
            }
            
            var drawallwrapDiv = document.getElementById('draw_signIn1');
            if (drawallwrapDiv != null && newhtml != "")
            drawallwrapDiv.innerHTML =  newhtml;
            
            var drawingDateCtl = document.getElementById('drawingDateSort');
            var contestNameCtl = document.getElementById('contestNameSort');
              if(directionDefault==1)
                {
                    drawingDateCtl.className = '';
                    contestNameCtl.className = 'firstNav currNav';
                }
                else 
                {
                    drawingDateCtl.className = 'firstNav currNav';
                    contestNameCtl.className = '';
                }
        }
        
           }  }
              
        xmlhttp.send(null);
    }
    else
    {
        alert("Your browser does not support XMLHTTP.");
    }
}
var directionDefault; //Desc
function OnAllWinnersSort(sortBy)
{
    var today = new Date();
    var edt = new Date(today.getFullYear(),today.getMonth(),today.getDate(), 0, 0, 0);
    var sdt = new Date();
    sdt.setDate(edt.getDate()-lottoPageAllWinnersDays);    
    var column = sortBy;    
    directionDefault=0; //Desc
   
    if(sortBy=='GameName')
    {
        directionDefault=1; //Asc
    }
    else if(sortBy=='DrawingDate')
    {
        directionDefault=0; //Desc
    }
    
    //AllDrawingHTML(sdt.toLocaleString(), edt.toLocaleString(), lottoPageMaxWinnersCount, lottoPageMaxUserPlaysCount, column, directionDefault);
    ByDateDrawingHTML(formateDate(sdt), formateDate(edt),sortBy);
}

