/* OPEN AUTH */

var loginCheck=false;
var displayName="";

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=ra1OeSMhlXLkMHjL&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{
				loginCheck=true;
				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=ra1OeSMhlXLkMHjL"+openAuthObj.referer+"&f=json&c=doGetInfo.gotInfo";
			JSONReqB=new JSONscriptRequest(reqUrlB);
			JSONReqB.buildScriptTag();
			JSONReqB.addScriptTag();
		},gotInfo:function(jsonObjB){
			if(!(jsonObjB.response.statusCode==200 || jsonObjB.response.statusCode==401)){
				alert("Please Log In Again");
				loginCheck=true;
				domElems.makeLoginLink();
			}else{
				displayName=jsonObjB.response.data.userData.displayName;
				openAuthObj.userId=jsonObjB.response.data.userData.loginId;
				domElems.hideLoginLink();loginCheck=true;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.onclick=function(){
					var loginUrl="http://api.screenname.aol.com/auth/login?devId=ra1OeSMhlXLkMHjL&f=qs&succUrl="+escape(domElems.getHostName()+"/_uac/sns_login.html");
					domElems.makeIframe(loginUrl);
					loginCheck=true;
				}
				var loginText=document.createTextNode("Sign In / Register");
				loginLink.appendChild(loginText);
				domElems.loginStatus().appendChild(loginLink);
			}
		},makeLogOutLink:function(){
		       	if(!openAuthObj.userId){
				window.location.reload();
			}if(domElems.loginStatus()&&openAuthObj.userId&&(!(document.getElementById("logoutLink")))){
				if(loginCheck){
					domElems.loginStatus().innerHTML="";
				}
				
				var loggedInText=document.createTextNode("Hi, ");
				var userName=document.createElement("span");
				userName.setAttribute("id","userName");
				var userNameText=document.createTextNode(displayName);
				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.onclick=function(){
					var logoutUrl="https://api.screenname.aol.com/auth/logout?a="+openAuthObj.token+"&devId=ra1OeSMhlXLkMHjL&doSNSLogout=1&f=qs&succUrl="+escape(domElems.getHostName()+"/_uac/sns_logout.html");
					domElems.makeIframe(logoutUrl);
					displayName="";
				}
				
				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);
					loginCheck=false;
				}
				ifrm=openAuthIframe.getElementsByTagName("IFRAME")[0];
				ifrm.parentNode.removeChild(ifrm);
			}
			closeMe=document.createElement("DIV");
			closeMe.setAttribute("id","closeMe");
			var closemelink=document.createElement("A");
			closemelink.setAttribute("onclick","return false;");
			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 (!openAuthObj.userId){
			//alert("anu - if "+ openAuthObj.userId);
				domElems.hideLoginLink();
				domElems.makeLogOutLink();
			}else {
			//alert("anu - else "+ openAuthObj.userId);
				//hideLogOutLink();
				//domElems.makeLogInLink();
			}
			
			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);

/* OPEN AUTH END */
