/*openAuth*/
//adSetAdURL('/_uac/adpage.html');

var openAuthObj = {
	token: null,
	loggedIn: false,
	userId: null,
	referer: ""
}
function JSONscriptRequest(fullUrl) {
	this.fullUrl = fullUrl; 
	this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
	this.headLoc = document.getElementsByTagName("head").item(0);
	this.scriptId = 'JscriptId' + JSONscriptRequest.scriptCounter++;
}
JSONscriptRequest.scriptCounter = 1;
JSONscriptRequest.prototype.buildScriptTag = function () {
	this.scriptObj = document.createElement("script");
	this.scriptObj.setAttribute("type", "text/javascript");
	this.scriptObj.setAttribute("charset", "utf-8");
	this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
	this.scriptObj.setAttribute("id", this.scriptId);
}
JSONscriptRequest.prototype.removeScriptTag = function () {
	this.headLoc.removeChild(this.scriptObj);  
}
JSONscriptRequest.prototype.addScriptTag = function () {
	this.headLoc.appendChild(this.scriptObj);
}
var doGetToken = {
	getToken: function(){
		if (domElems.loginStatus()){
			reqUrlA = "https://api.screenname.aol.com/auth/getToken?devId=ru1m1hWVLRPqEkwX&f=json&c=doGetToken.gotToken";
			JSONReqA = new JSONscriptRequest(reqUrlA);
			JSONReqA.buildScriptTag();
			JSONReqA.addScriptTag();	
		}	
},
	gotToken: function(jsonObj){
	if (jsonObj.response.statusCode != 200){
			openAuthObj.loggedIn = false;
			domElems.makeLoginLink();
	}
	else {
		openAuthObj.loggedIn = true;
		openAuthObj.token = jsonObj.response.data.token.a;
		JSONReqA.removeScriptTag();

    	if (openAuthObj.token){
			doGetInfo.getInfo();
			}
		}
	},
	sns: function (){
		if (document.getElementById("sns")){
			sns.calls.getToken();
		}
	}
}
var doGetInfo = {
	getInfo: function(){
		reqUrlB = "https://api.screenname.aol.com/auth/getInfo?a="+openAuthObj.token+"&devId=ru1m1hWVLRPqEkwX"+openAuthObj.referer+"&f=json&c=doGetInfo.gotInfo";
		JSONReqB = new JSONscriptRequest(reqUrlB);
		JSONReqB.buildScriptTag();
		JSONReqB.addScriptTag();	
	},
	gotInfo: function(jsonObjB){
		if (jsonObjB.response.statusCode != 200) {
			// alert("Please Log In Again");
			// window.location.reload();
			domElems.makeLoginLink();
		} else {
			openAuthObj.userId = jsonObjB.response.data.userData.loginId;
			domElems.hideLoginLink();
			domElems.makeLogOutLink();
		}
	}
}
var domElems = {
	loginStatus: function (){return document.getElementById("loginStatus")},
        getHostName: function(){
           hostName = window.location.href;
           hostName = hostName.substr(0,  hostName.indexOf(".com")+4);
           return hostName;
        },
	makeLoginLink: function(){
		if (domElems.loginStatus()){
			if (document.getElementById('sns_screenname') && document.getElementById('sns_password')){
			}
			var loginLink = document.createElement("SPAN");
			loginLink.setAttribute("id", "loginLink");
			loginLink.setAttribute("class", "lstLI"); 			
			loginLink.onclick = function (){
				var loginUrl = "http://api.screenname.aol.com/auth/login?devId=ru1m1hWVLRPqEkwX&f=qs&succUrl="+escape(domElems.getHostName()+"/_uac/sns_login.html");				
				domElems.makeIframe(loginUrl)
			}
			var loginText = document.createTextNode("Sign In / Register"); 
			loginLink.appendChild(loginText);
			try {
				var oldChild = document.getElementById("loginLink");
				if (oldChild) domElems.loginStatus().removeChild(oldChild);
			} catch(err) { ; }
			domElems.loginStatus().appendChild(loginLink);
		}
	},
	makeLogOutLink: function(){
		if (domElems.loginStatus() && openAuthObj.userId && (!(document.getElementById("logoutLink")))){
			var loggedInText = document.createTextNode("Hi ");
			var userName = document.createElement("span");   
			userName.setAttribute("id", "userName");
			var userNameValue = openAuthObj.userId+'!';
			var userNameText = document.createTextNode(userNameValue); 
			userName.appendChild(userNameText);
			domElems.loginStatus().appendChild(loggedInText);
			domElems.loginStatus().appendChild(userName);
			var logoutLink = document.createElement("SPAN");
			logoutLink.style.cursor = "pointer";
			logoutLink.setAttribute("id", "logoutLink");
			logoutLink.setAttribute("class", "lstLI");
			logoutLink.onclick = function (){
				var logoutUrl = "https://api.screenname.aol.com/auth/logout?a="+openAuthObj.token+"&devId=ru1m1hWVLRPqEkwX&doSNSLogout=1&f=qs&succUrl="+escape(domElems.getHostName()+"/_uac/sns_logout.html");			
				domElems.makeIframe(logoutUrl)
			}	
			var logoutText = document.createTextNode("Sign Out"); 
			logoutLink.appendChild(logoutText); 
			domElems.loginStatus().appendChild(logoutLink);	
		}
	},
	makeIframe: function(ifrmURL){
		var openAuthIframe = document.getElementById("openAuthIframe")
		openAuthIframe.style.display="block";
                var closeMe = null;
                var ifrm = null;
                if(openAuthIframe.getElementsByTagName("IFRAME").length > 0){
                   closeMe = openAuthIframe.getElementById("closeMe");
                   if(closeMe){
                     closeMe.parentNode.removeChild(closeMe);
                   }
                   ifrm = openAuthIframe.getElementsByTagName("IFRAME")[0];
                   ifrm.parentNode.removeChild(ifrm);
                }
		closeMe = document.createElement("DIV");
		closeMe.setAttribute("id", "closeMe");
		var closemelink = document.createElement("A");
		closemelink.setAttribute("href", "#");
		closemelink.onclick = function (){
			document.getElementById("openAuthIframe").style.display="none";
		}
		var closemeimg = document.createElement('img');
		closemeimg.src="http://www.blogsmithmedia.com/www.spinner.com/media/closeme.jpg";
		closemelink.appendChild(closemeimg);	
		closeMe.appendChild(closemelink);
		openAuthIframe.appendChild(closeMe);
		ifrm = document.createElement("IFRAME");	
		ifrm.setAttribute("frameborder","0");
		ifrm.src = ifrmURL; 
		ifrm.style.border= "0px";
		ifrm.setAttribute("frameborder", "0"); 
		ifrm.style.backgroundColor = "#fff";
		openAuthIframe.appendChild(ifrm);
	},
	hideLoginLink: function(){
		while (domElems.loginStatus().firstChild) 
		 {
			domElems.loginStatus().removeChild(domElems.loginStatus().firstChild);
		 };
	},
	hideLogOutLink: function(){
		while (domElems.loginStatus().firstChild) 
		 {
			domElems.loginStatus().removeChild(domElems.loginStatus().firstChild);
		 };
	},
	hideIframe: function(){
		if (document.getElementById("openAuthIframe")){
			var openAuthIframe = document.getElementById("openAuthIframe");
			openAuthIframe.style.display="none";
			while (openAuthIframe.firstChild) {
    				openAuthIframe.removeChild(openAuthIframe.firstChild);
			}
		}
	},
	clearForm: function(){
		if (document.getElementById('cmtuinfo_sns')){
			var snsInput = getElementsByClassName(document, "input", "formtext");
			for(a=0; a<snsInput.length; a++) {
				snsInput[a].value = '';
			}
		}
	}
}
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
addLoadEvent(doGetToken.getToken);

var sports3 = {
   toggleMenu:function(e){
      if (!e) e = window.event;
      var cObj = e.srcElement || e.target
      pNode = cObj.parentNode;;
      if(pNode.className == 'hideMenu'){
         pNode.className = '';
      }else if(pNode.className == ''){
         pNode.className = 'hideMenu';
      }
      return false;
   },
   addLoadEvent:function(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
          window.onload = func;
      } else {
         window.onload = function() {
            oldonload();
            func();
         }
      }
   },
   onload:function(){
      $("#leftNav .listHead").click(sports3.toggleMenu);
   }
}

sports3.addLoadEvent(sports3.onload);
