﻿var utilQ = new QJAXQueue();
var defaultHeader='<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>';
var defaultFooter='</soap:Body></soap:Envelope>';

function setReader(post,act,url,cb,q,val) {
	var reader = new QJAXRequest;
    reader.addHeader('SOAPAction',act);
	reader.url = url;
	reader.callback = cb;
	reader.addHeader('Content-Type','text/xml; charset=utf-8');
	reader.callerror = function(id,xml,text) {alert(text);};
	reader.data=post;
	reader.inputVal=val;
	q.add(reader);
}

function El(el) {
    return document.getElementById(el);
}

function cE(type) {
    return document.createElement(type);
}

function cT(txt) {
    return document.createTextNode(txt);
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else {begin += 2;}
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {end = dc.length;}
    return unescape(dc.substring(begin + prefix.length, end));
}

function getText(xml,node) {
    try {
        return dirty(xml.getElementsByTagName(node)[0].childNodes[0].nodeValue);
    } catch (ex) {return '';}
}

function getNodeText(xml) {
    try {
        return dirty(xml.childNodes[0].nodeValue);
    } catch (ex) {return '';}
}

function clean(str) {
	var c = str.toString().replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
	return c;
}

function dirty(str) {
	var c = str.toString().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');
	return c;
}

function checkEnterKeyLogin(e) {
    e = (e) ? e : event;
    if (e.keyCode == 13) {login();}
}

function login() {
    var post = defaultHeader + '<login xmlns="http://tempuri.org/gregextreme/utilWS"><username>' + clean(El('txtUsername').value) + '</username><password>' + clean(El('txtPassword').value) + '</password></login>' + defaultFooter;
    setReader(post,'http://tempuri.org/gregextreme/utilWS/login','utilws.asmx',readLogin,utilQ,El('txtUsername').value);
}

var loggedOn = false;
function readLogin(id,xml,text,time,req) {
    var b = parseInt(getText(xml,'loginResult'));
    if (b >= 0) {
        if (El('lnkPics')) {El('lnkPics').className = 'inline';}
        if (El('lnkVids')) {El('lnkVids').className = 'inline';}
    }
    if (b >= -1) {
        El('login').className = 'hidden';
        El('lblUsername').firstChild.nodeValue = req.inputVal;
        El('logout').className = 'block';
        if (El('groupTitle')) {window.location = window.location;}
        document.cookie = 'usernamev2=' + req.inputVal + ';expires=1/1/2100';
        El('btnLogout').focus();
        El('imgBlue').style.width = '98%';
        El('imgGrey').style.width = '98%';
    } else {
        setMsg('Username or password are incorrect',true);
    }
}

function logout() {
    var post = defaultHeader + '<logout xmlns="http://tempuri.org/gregextreme/utilWS" />' + defaultFooter;
    setReader(post,'http://tempuri.org/gregextreme/utilWS/logout','utilws.asmx',readLogout,utilQ);
}

function readLogout(id,xml,text,time,req) {
    var b = getText(xml,'logoutResult');
    if (b == 'true') {
        if (El('groupTitle')) {window.location = window.location;return;}
        window.location = 'home.aspx';
    } else {
    }
}

function setMsg(msg,timeout) {
    El('msg').innerHTML = msg;
    El('msg').style.display = 'block';
    if (timeout) {setTimeout("El('msg').style.display = 'none';",4000);}
}