﻿
function openNewWindow(myURL) {    
    document.location.href = myURL; 
}

function doRegistrationCheck() {
    try {
        $get('lblLoginMessage').innerHTML = "Checking...";
        var uname = $get('txtUsername').value;
        var pword = $get('txtPassword').value;
        Jayweb.Web.WebServices.WSfunctions.CheckLogin(uname, pword, OnRegistrationCheckWsComplete);
    }
    catch (e) { Jayweb.Web.WebServices.WSfunctions.JsError(arguments.callee.toString(), e, ''); }
}

function OnRegistrationCheckWsComplete(jsontext) {
    try {
        if (jsontext.length > 0) {//make sure there's a data row      
            var JObject = eval('(' + jsontext + ')');
            //var JObject = Sys.Serialization.JavaScriptSerializer.deserialize(e, true);
            var userId = JObject.logindetails[0].ID;
            var username = JObject.logindetails[0].username;
            /** TODO *****************************/
            //var url = JObject.logindetails[0].url; //DON'T USE THE DEFAULT  -  Instead go to My Information           
            var url = '/AccHome.aspx';  //to subscription pages           
            var roleid = JObject.logindetails[0].roleid;
            var isActive = JObject.logindetails[0].isActive;
            var memberId = JObject.logindetails[0].mId;
            var screenName = JObject.logindetails[0].screenName;
            var isTemplate = JObject.logindetails[0].isTemplate;          
            if (isActive == 'True') { //If this userrole is active
                if (isTemplate == 'True') { //if required to set account details (isTemplate)
                    $get('lblLoginMessage').innerHTML = ""; //set some variables          
                    $get('url').value = url; //store in page details we need to copy again into users table
                    $get('roleid').value = roleid;
                    $get('isActive').value = isActive;
                    if (roleid == 8) {
                        document.location.href = '/subscribepreapproved.aspx'; //jumpt to subscriber preapproved account creation form
                    } else {
                        ShowAccountInfo(); //reveal account creation form
                    }
                } else { //else authenticate and continue 
                    if (memberId != "") {
                        defaultURL = url;
                        //If subscriber but not yet approved then NO!
                        Jayweb.Web.WebServices.WSfunctions.SetAuthentication(userId, roleid, screenName, url, OnSetAuthenticationWsComplete);
                    } else {// this should never be reached.
                    $get('lblLoginMessage').innerHTML = "Sorry, this login is invalid.";
                    }
                }
            } else {
            $get('lblLoginMessage').innerHTML = "Sorry, this login is currently inactive.";
            }
        } else {
        $get('lblLoginMessage').innerHTML = "Sorry, credentials not recognised";
        }
    }
    catch (e) { Jayweb.Web.WebServices.WSfunctions.JsError(arguments.callee.toString(), e, ''); }
}

function DisplayReminder() {
    //If username present lookup reminder
    $get('lblLoginMessage').innerHTML = "";
    var usr = $get('txtUsername').value;
    if (usr.length > 0) {
        Jayweb.Web.WebServices.WSfunctions.GetReminder(usr, OnDisplayReminderCompleted);
    } else {
        $get('lblLoginMessage').innerHTML = "Please enter a username";
    }
}
function OnDisplayReminderCompleted(reminderText) {
    //value will be 'Sorry - username unrecognised' or the reminder text
    $get('lblLoginMessage').innerHTML = reminderText;
}

function SendContactEmail() {
    var accMessage = $get('accMessage');
    accMessage.innerHTML = '';
    var emailField = document.forms[0].ctl00_ContentPlaceHolder1_tbFromEmail;
    var uid = 0;
    var fromemail = "";
    try { uid = document.forms[0].uid.value; } catch (e) { }
    try { fromemail = emailField.value; } catch (e) { }
    fromemail = fromemail.trim();
    var validemailexp = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (!fromemail.match(validemailexp)) {
        fromemail = '';
        emailField.style.backgroundColor = '#ff0000';
    } else {
        emailField.style.backgroundColor = '#ffffff';
    }
    var subject = document.forms[0].ctl00_ContentPlaceHolder1_tbSubject.value;
    var message = document.forms[0].ctl00_ContentPlaceHolder1_tbMessage.value;
    if (subject.length > 0 && message.length > 0 && (fromemail.length > 0 || uid > 0)) {
        Jayweb.Web.WebServices.WSfunctions.SendContactEmail(uid, fromemail, subject, message, OnSendContactEmailWsComplete);
    } else {
        accMessage.innerHTML = '<br /><br />Sorry, some information is missing. Please enter a valid From email address, Subject and Message and try again.';
    }
}


function OnSendContactEmailWsComplete(result) {
    if (result) {
        Effect.Fade('ctcMessage',400);
        setTimeout("Effect.Grow('ctcSuccess')",400);         
        var accMessage = $get('accMessageSuccess');
        accMessage.style.color = '#00aa00';
        accMessage.style.fontWeight = 'Bold'; 
        accMessage.innerHTML = '<br /><br />Thank you, your message has been sent successfully.<br><br>You will receive a confirmation email and Jayweb will endeavour to respond within 24 hours.<br /><br />';
    } else {
        var accMessage = $get('accMessage');
        accMessage.style.color = '#ff0000';
        accMessage.innerHTML = '<br /><br />Sorry, there was a problem sending the email. Please use the email link instead to open your default email program.<br /><br />';
    }
}


function togglediv(div, title) {
    var titlediv = $get('portfoliodivtoptitle');
    var closediv = $get('portfoliodivtopx');
    titlediv.innerHTML = title;
    if (title == 'Introduction') {
        closediv.style.display = 'none';
    } else { closediv.style.display = 'inline'; }
        
   
    var dynamicDivs = document.getElementsByTagName('DIV');
    for (var i = 0; i < dynamicDivs.length; i++) {
        nextDiv = dynamicDivs[i];
        if (nextDiv.id.substring(0, 1) == "_") {
            if (nextDiv.style.display != 'none') {
                Effect.toggle(nextDiv.id, 'APPEAR', 200);
                if (nextDiv.id == div) {
                    setTimeout("Effect.toggle('_contentorig', 'APPEAR',300);", 800);
                }
                else { setTimeout("Effect.toggle('" + div + "', 'APPEAR',300);", 800); }
            }
        }
    }
    return false;
}
