﻿var sLoginRetURL = "";
var sCurrentURL = "";
var sRefPage ="";
var sRefSite = "";
var bUserLoggedIn = false;
var sRegPageType = "";
var logonKeepMe = false;

var strUserName = getCookie("ATRUID");
var strUserID = getCookie("ATRUserID");
var cleanedUserName = (strUserName) ?strUserName.replace(/\+/g, " "):""; 
var hashXML = new objXML();

var domain = document.domain;

if(domain.indexOf(".info") > -1) {
  domain = "attheraces.info";
} else {
  domain = "attheraces.com";
}

//set cookie to test for cookies
setCookie("ATRtest","test");
var hasCookies = (!isCookie("ATRtest")) ? false : true; 
deleteCookie("ATRtest",'/', domain);


function IsMicrosite() {

}

function DoLogout() {

  var contentArea = arguments[0];
  contentArea = ( (""+contentArea) == "undefined" || contentArea=="" ) ? "atr" : contentArea;

  
  //old site clearing
  deleteCookie('ATRUID','/');
  deleteCookie('ATRUserID','/');
  deleteCookie('ATRlogged','/');
    
  deleteCookie('ATRUID','/', domain);
  deleteCookie('ATRUserID','/', domain);
  deleteCookie('ATRlogged','/', domain);
  deleteCookie('ATRToken','/', domain);
  deleteCookie('ATRHash','/', domain);
  deleteCookie('ATRLevel','/', domain);
  deleteCookie('VideoProEmail','/', domain);
  deleteCookie('VideoProToken','/', domain);
  deleteCookie('VideoProHash','/', domain);
  deleteCookie('ptvzon','/', domain);
  deleteCookie('ptvuid','/', domain);
  deleteCookie('ptvliet','/', domain);
  deleteCookie('ptvliv','/', domain)

  var sRemember = (isCookie("ATRRemember")) ? getCookie("ATRRemember") : "False";
  if (sRemember == "False"){
   deleteCookie('ATREmail','/', domain);
   deleteCookie('ATRRemember','/', domain);
  }
  
  switch (contentArea.toLowerCase()) {
    case "videoconsole":
      parent.localReload();
      break;
    default:
      switch(sSubSite) {
        case "galway":
        case "goodwood":        
        case "mini":
        case "ebor":
        case "cheltenham":
        case "national":
        case "ascot":
        case "breederscup":
        case "punchestown":
        case "derby":      
        case "leger": 
          location.href= "/" + sCurrentSite + "/";
        break;          
        default:
          location.href= "/home/?ref=main+nav&nav=home";
        break;
      }      
      break;    
  }
  
}

function checkRegLogin(f) {
  if (f.useremail.value == "email" || f.useremail.value == "Enter your e-mail…"  || f.useremail.value == "" || f.userpassword.value == "") {
    alert("Please enter a valid email and/or password.");
     return false;    
  } else {
    return true;
  }
}

function loginPassFocus(obj) {
  if (obj.value=="password") {obj.value="";}
  obj.className = "loginboxpassblank";
  
}


function ForgetMe(obj) 
{
  if(document.logonform.rememberme.checked == false) {
    deleteCookie('ATRRemember','/');
    logonKeepMe = false;
    document.logonform.useremail.value = "";
  }   
}

function CheckForLevelThree()
{
  if(isCookie('ATRUID'))
  {
    //No need to check for Level 3 as user is logged on
    //alert('No check - user is logged on');
  }
  else
  {
    //alert(isCookie('VideoProEmail'));
    if(isCookie('VideoProEmail') && isCookie('VideoProToken') && isCookie('VideoProHash'))
    {
      //Get VideoProHash from Web service
      //alert('User is logged on to level3');

      hashXML.getXML("/includes.net/ws/atrCookieHash.asmx/GetHashForCookie?username=" + getCookie("VideoProEmail") + "&token=" + getCookie("VideoProToken"),getXML);   

    }
  }
}


function DisplayLogon() {
  
  var now = new Date();
  var pageURL = window.location.href;
  var sURL = (sLoginRetURL) ? sLoginRetURL : pageURL; //sLoginRetURL set in commonhead
  var sRefPageLocal = (sRefPage) ? sRefPage : sRegPageType; //sRefPage set in commonhead
  var sRefSiteLocal = (sRefSite) ? sRefSite : sCurrentSite; //sRefSite set in commonhead 

  switch(sSubSite) { 
    case "turkey":
      document.write('' +
      '<div id="login" class="login">' +
      '</div>')      
    break;
  }  

  if(isCookie('ATRUID'))
  {
    bUserLoggedIn = true;

   switch(sSubSite) {
      case "turkey":
        //do nowt
        break; 
      case "cheltenham":
      case "national":
      case "ascot":
      case "breederscup":
      case "punchestown":
      case "derby":    
      case "leger": 
      case "goodwood":
      case "galway":
      case "mini":
      case "ebor":
        if(sSubSite != sCurrentSite) {
          //do nowt - white label
        } else {
          document.write('' +
          '<div id="login" class="login">' +
          ' <h3>You are now logged in</h3>' + 
          ' <p>You are now logged in <strong>' +  cleanedUserName + '</strong></p>' +
          ' <ul class="logged_in">  '+
          '   <li><a href="/profile/?id='+ Math.random()+ '" target="_blank">Update Profile</a></li>'+
          '   <li><a href="javascript:DoLogout();">Log out</a></li>'+
          ' </ul>' +
          '</div>')
        }

      break;          
      default:
        document.write('' +
        '<!-- User Logged In -->' +   
        '<div id="login">' +
        ' <h3>You are now logged in ' +  cleanedUserName + '</h3>' +
        ' <ul>  '+
        '   <li><a href="/profile/?id='+ Math.random()+ '">Update Profile</a></li>'+
        '   <li><a href="javascript:DoLogout();">Log out</a></li>'+
        ' </ul>' +
        '</div>')
      break;
    }
           
  }
  else
  {
    logonKeepMe = false;
    var writeBoxOnFocus = "if (this.value=='email') {this.value='';}";
    var cleartext = "if (logonKeepMe=='false') {useremail.value='';}";
    var writeBoxOnFocusPass = "if (this.value=='password') {this.value='';}";
    var sExpired = (isCookie("ATRlogged")) ? '<h3 style="color:#A70000;">Your session has expired - please login again.</h3>' : '';
    var sTarget = (sCurrentSite=='atr') ? '' : '';//' target="_blank"';
    var sEmail = (isCookie("ATREmail")) ? getCookie("ATREmail") : "email";    
    var sRemember = (isCookie("ATRRemember")) ? getCookie("ATRRemember") : "false";
    
    //so expired not shown next time
    if (isCookie("ATRlogged")) { deleteCookie('ATRlogged','/');   }
   
    switch(sSubSite) {
      case "turkey":
        //do nowt
        break; 
      case "cheltenham":
      case "national":
      case "ascot":
      case "breederscup":
      case "punchestown":
      case "derby":    
      case "leger": 
      case "goodwood":
      case "galway":
      case "mini":
      case "ebor":
        if(sSubSite != sCurrentSite) {
          //do nowt - white label
        } else {
          var err = getQuerystring("err");
          var errMsg = (err == "nodetails") ? "Please enter an email address and password." : "Login to At The Races to access exclusive content.";

          document.write('' +
          '<div id="login" class="login">' + 
          '  <h3>Login</h3>' + 
          '  <p>' + errMsg + '</p>')
          
          if (hasCookies) {
            document.write('' +
            '  <form id="logonform" name="logonform" action="/process/verifyuser.aspx" method="post" onsubmit="return checkRegLogin(this)">' +
            '  <input class="hidden" type="hidden" name="ReturnURL" value="' + sURL + '"/>' +
            '  <input class="hidden" type="hidden" name="contentArea" value="' + sCurrentSite + '"/>' +   
            '  <fieldset>' +      
            '  <label for="email">E-mail address:</label>' + 
            '' + 
            '    <input id="useremail" name="useremail" type="text" title="Enter your e-mail&hellip;"/>' + 
            '    <label for="password">Password:</label>' + 
            '    <div class="positioning">' + 
            '    <input name="userpassword" id="userpassword" type="password" title="password" class="password" />' + 
            '' + 
            '    <input type="image" src="/images/microsites/template/button_signin.gif" class="button" />' + 
            '    </div>' + 
            '  </fieldset>' + 
            '  </form>');
          } else {       
            document.write('<p>Please enable cookies to login to At The Races. <br/><a href="/support/" target="_blank">Need further assistance?</a></p>');
          }
          document.write('' +
          '  <ul>' + 
          '    <li><a id="bannerreglink" href="/registration/register.aspx?loginreturl=' + escape(sURL) + '&refpagetype='+sRefPageLocal+'&refsite='+sRefSiteLocal+'" target="_blank"><strong>Register for FREE</strong></a></li>' + 
          '    <li><a href="/password/" target="_blank">Forgotten password?</a></li>' + 
          '    <li><a href="/help/" target="_blank">Need Help?</a></li>' + 
          '  </ul>' +         
          '</div>'); 
        }    
      
        break;      
      default:
        document.write('' +
        '<style>.loginboxpass { background-repeat:no-repeat;background-image:url("/images/static/password.gif"); }</style>' +
        '<!-- User Logged out -->' +   
        '<div id="login">' +    
          '<form id="logonform" name="logonform" action="/process/verifyuser.aspx" method="post" onsubmit="return checkRegLogin(this)">'+
            '<fieldset>' +
              '<legend>Please log in below</legend>'+
              '<input type="hidden" name="ReturnURL" value="' + sURL + '"/>' );
              if (sRemember == "True")
	            {
	            logonKeepMe = true;
	            document.write(' <input id="useremail" name="useremail" type="text" value="'+ sEmail +'"  onfocus="' + writeBoxOnFocus + '"/> ' );
             }
             else
             {
              logonKeepMe = false;
             document.write(' <input id="useremail" name="useremail" type="text" value="email" onfocus="' + writeBoxOnFocus + '"/> ' );
             }
             
             document.write('' +
              '<input name="userpassword"  class="loginboxpass" type="password" value="" onfocus="loginPassFocus(this);"/>' );
              
              if (hasCookies)
                {
                 document.write('' +
                '<input name="Submit" type="image" src="/images/template/login_button.gif" value="Go"  class="submit"/> ' +
	              '<br class="clear" /> ');
      	        
      	        	       
	              if (sRemember == "True")
	              {
      	        
	              document.write('' +
	              '<input id="rememberme" name="rememberme" type="checkbox" value="true" class="remember" checked onclick="javascript:ForgetMe(this);" onChange="' + cleartext +'"/>');
	              }
	              else
	              {
	              document.write('' +
	              '<input  id="rememberme" name="rememberme" type="checkbox" value="true" class="remember" onChange="' + cleartext +'"/>');
	              }
    	        
	            document.write('' + '<span>Remember my details</span>');
	            }
            document.write('' + '</fieldset> '+
          '</form> ');
          if (hasCookies) {
            document.write('' +
            '<ul>  '+
             ' <li><a id="bannerreglink" href="/registration/register.aspx?loginreturl=' + escape(sURL) + '&refpagetype='+sRefPageLocal+'&refsite='+sRefSiteLocal+'">Register for FREE</a></li>' +
             ' <li><a href="/password/">Forgotten password?</a></li>'+
            '</ul>');
          } else {
              document.write('<h3 style="color:#A70000;">Please enable cookies to login to At The Races. <br/><a href="/support/">Need further assistance?</a></h3>');
          }
          document.write('' + '</div>');        
      break;
    
    }
    
  
  }
}


function CheckLoginStatus() {

  var windowType = arguments[0];
  var sURL = arguments[1];
  var sPageType = arguments[2];
  var sCurrentSite = arguments[3]; 
  sURL = ( (""+sURL) == "undefined" || sURL=="" ) ? "" : sURL;
  sPageType = ( (""+sPageType) == "undefined" || sPageType=="" ) ? "" : sPageType;
  sCurrentSite = ( (""+sCurrentSite) == "undefined" || sCurrentSite=="" ) ? "atr" : sCurrentSite;
  
  if( (isCookie("ATRUID")) || (sCurrentSite=="ascot") || (sCurrentSite=="goffs") ) {
    if(windowType == 'popup') {
      if(window.opener) {
        if(!window.opener.closed && window.opener.bUserLoggedIn && window.opener.bUserLoggedIn != true) {
          window.opener.bUserLoggedIn = true; //gets set anyway on following call for this page view
          window.opener.document.location.reload();
        }
      }
    }
  } else {
    if(windowType == 'popup') {
      location.href='/unregistered/?loginreturl='+sURL+'&refpagetype='+sPageType+'&refsite='+sCurrentSite;
    } else {
      location.href='/article.aspx?hlid=unregistered&loginreturl='+sURL+'&refpagetype='+sPageType+'&refsite='+sCurrentSite;
    }
  }
   
}

function showLogMsg() {
  alert('You need to be a registered user and logged in to view archive video.');
}

function getQuerystring()	
{
	if(arguments.length>2) return 'error : max of two arguments may be used';
	  var resArray = new Array();	
    //override qs if passing in 2nd argument
    var qs = (arguments.length==2) ? ((arguments[1].indexOf("?")==0)?arguments[1]:("?" + arguments[1])) : self.location.search; 
	  var raw = qs.substring(1,qs.length);
    var keys = raw.split('&');
	
	  if(arguments.length>0)	
	  { 
	    var txt = arguments[0].toString();	
	    var txtLen = txt.length; var y = 0;					
		
		  for(var x=0;x<keys.length;x++)	
		  {
			  if(keys[x].substring(0,txtLen) == txt)	
			  {
				  resArray[y] = keys[x].substring(txt.length+1,keys[x].length); y++;
			  }
		  } 
		  
		  if(resArray.length>0) 
			  return resArray
		  else 
		    return '';
    }		
	  else	
	  {
		return keys
	  }	
}


function DisplayArticleRegLink() {
  var regLinkObj = document.getElementById("lhsreglink");
  var sLink = "/registration/register.aspx";
  if(regLinkObj) {
    sLink = regLinkObj.href;
  }
  document.write('<a href="' + sLink + '"><strong>click here to register</strong></a>.');
}

function getXML() {
  //alert('hashXML.CheckStatus: '+hashXML.checkStatus());
  if(hashXML.checkStatus()) {
    //alert('in getXML function');
    var xDoc = hashXML.getResponseXML();
    
    var xNode = xDoc.getElementsByTagName("message")[0];
    if(xNode) 
    {
      var cNode = xDoc.getElementsByTagName("hashcookie")[0];
      if(cNode.text) 
      {
        //alert(cNode.text);
        hashValue = cNode.text;
      } 
      else 
      {
        //alert(cNode.textContent);
        hashValue = cNode.textContent;
      }
    }

    if(hashValue==getCookie('VideoProHash'))
    {
      //User is valid
      setCookie('ATREmail', getCookie('VideoProEmail'));  //sets the email address
      setCookie('ATRToken', getCookie('VideoProToken'));  //sets the token
      setCookie('ATRHash', hashValue); //sets the hash value
      setCookie('ATRUID', getCookie('VideoProEmail'));
      setCookie('ATRLevel', 'SUBSCRIBED'); //Sets the subscription value, as the user has come from level3, then they must be subscribed
      
      //alert('User passed hash test - user is logged on to level3');
    }
    else
    {
      //User is invalid so delete all cookies
      //alert('User failed hash test - user is logged on to leve3');
      
    }
    
  }
}

