// SNS login code by Sobia Ali, spinner.com

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=pa1_aCzd-d3Hm873&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=pa1_aCzd-d3Hm873"+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");
			domElems.makeLoginLink();
		} else {
			openAuthObj.userId = jsonObjB.response.data.userData.loginId;
			domElems.hideLoginLink();
			domElems.makeLogOutLink();
		}
	}
}
var domElems = {
	loginStatus: function (){return document.getElementById("loginStatus")},
	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("style", "cursor : pointer"); 			
			loginLink.onclick = function (){
				var loginUrl = "http://api.screenname.aol.com/auth/login?devId=pa1_aCzd-d3Hm873&f=qs&succUrl=http://news.bigdownload.com/category/login";				
				domElems.makeIframe(loginUrl)
			}
			var loginText = document.createTextNode("sign in or register"); 
			loginLink.appendChild(loginText);
			domElems.loginStatus().appendChild(loginLink);
		}
	},
	makeLogOutLink: function(){
		if (domElems.loginStatus() && openAuthObj.userId && (!(document.getElementById("logoutLink")))){
			var loggedInText = document.createTextNode("");
			var userName = document.createElement("span");   
			userName.setAttribute("id", "userName"); 	
			var userNameText = document.createTextNode(openAuthObj.userId); 
			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 (){
				setCookie('userName','',-100,'.bigdownload.com');
				var logoutUrl = "https://api.screenname.aol.com/auth/logout?a="+openAuthObj.token+"&devId=pa1_aCzd-d3Hm873&doSNSLogout=1&f=qs&succUrl=http://news.bigdownload.com/category/logout";				
				domElems.makeIframe(logoutUrl)
			}	
			var logoutText = document.createTextNode(" / log out"); 
			logoutLink.appendChild(logoutText); 
			domElems.loginStatus().appendChild(logoutLink);	
                        //setCookie('userName',openAuthObj.userId,7,'.bigdownload.com');
                        $.ajax({
                           type: "POST",
                           url: "/?a=ajax-login-encrypt&input=" + openAuthObj.userId,
                           success: function(msg){
                             setCookie('userName',msg,7,'.bigdownload.com');
                           }
                         });

		}
	},
	makeIframe: function(ifrmURL){
		var iframeDiv = document.getElementById("iframeDiv")
		iframeDiv.style.display="block";
		var close_me = document.createElement("DIV");    
		close_me.setAttribute("id", "closeMe"); 
		var closemelink = document.createElement("A");
		closemelink.setAttribute("href", "#");
		closemelink.onclick = function (){
			document.getElementById("iframeDiv").style.display="none";
		}
		var closemeimg = document.createElement('img');
		closemeimg.src="http://www.blogsmithmedia.com/www.spinner.com/media/closeme.jpg";
		closemelink.appendChild(closemeimg);	
		close_me.appendChild(closemelink);
		iframeDiv.appendChild(close_me);
		ifrm = document.createElement("IFRAME");	
		ifrm.setAttribute("frameborder","0");
		ifrm.src = ifrmURL; 
		ifrm.style.border= "0px";
		ifrm.setAttribute("frameborder", "0"); 
		ifrm.style.backgroundColor = "#fff";
		iframeDiv.appendChild(ifrm);
		ifrm.style.width = 530+"px";
		ifrm.style.height = 365+"px";
	},
	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("iframeDiv")){
			var iframeDiv = document.getElementById("iframeDiv");
			iframeDiv.style.display="none";
			while (iframeDiv.firstChild) {
    				iframeDiv.removeChild(iframeDiv.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);


function posMore(e){
 var oDiv=p_o('smore');
 var oLnk=p_o('smorea');
 posY = findMousePos(e);
agt=navigator.userAgent.toLowerCase();
if(navigator.appName=="Microsoft Internet Explorer"){
	oDiv.style.left='700px';
	oDiv.style.top='170px';
} else if (agt.indexOf("safari") != -1){
	oDiv.style.left='515px';
 	oDiv.style.top='165px';
	
} 	else{
	
 
 	oDiv.style.left='660px';
 	oDiv.style.top='165px';
 }
}
function srchSub(ref){
var frm=p_o("search");
 var queryval = frm.aolMusicSearch.value.trim();
 queryval = queryval.replace( /\+/, " ");
 newurl = ref.href + queryval;
 window.open(newurl,'');
 return false;
}
var makeCallin = true;
var spinnerLeftNavUrl = "http://music.aol.com/artist/main/ajax/navigation.jsp?"; 
function  getLeftNavForSpinner(){ 
	if (document.URL.indexOf('?') != -1){ 
		var url = window.location.href;
		var qparts = url.split('?');
		var strTagQuery = qparts[1];
		strTagQuery = strTagQuery.split('=');
		if (strTagQuery[0] == "navid"){
			var makeCallin = false;		
				  strTag = strTagQuery[1];


		}
	} 
	if (strTag != undefined){
		if (document.getElementById("lftNav")){
			var script =  document.createElement("SCRIPT");      
			script.setAttribute("src", spinnerLeftNavUrl +"aolID="+strTag+"&format=json&c=gotLeftNavForSpinner");    
			document.getElementsByTagName("head")[0].appendChild(script);   
		}
	}
}   
function gotLeftNavForSpinner(json){   
	var ArtlftNavTop = document.createElement("DIV");    
	ArtlftNavTop.setAttribute("id", "ArtlftNavTop");    
	var ArtlftNavbot = document.createElement("DIV");    
	ArtlftNavbot.setAttribute("id", "ArtlftNavbot");
	ArtlftNavTop.appendChild(ArtlftNavbot); 
	var spinartnav = document.createElement("DIV");    
	spinartnav.setAttribute("id", "spinartnav"); 
	var h4 = document.createElement("H4");   
	var artistnamelink = document.createElement("A");
	artistnamelink.setAttribute("href", json.links[json.displayOrder[0]].href);
	var h4Text = document.createTextNode(json.artist); 
	artistnamelink.appendChild(h4Text);   
	h4.appendChild(artistnamelink);    
	spinartnav.appendChild(h4);   
	var dottedline1= document.createElement("DIV");    
	dottedline1.setAttribute("id", "dottedline"); 
	spinartnav.appendChild(dottedline1);  
	var ul = document.createElement("UL");    
	for(i=0; i<json.displayOrder.length; i++) {
		var li = document.createElement("LI");       
		var a = document.createElement("A");        
		a.setAttribute("href", json.links[json.displayOrder[i]].href);   
		a.setAttribute("target", "_blank");     
		if (json.links[json.displayOrder[i]].count){        
			var aText = document.createTextNode(json.links[json.displayOrder[i]].name+" ("+json.links[json.displayOrder[i]].count+")");       
		} 
		else {            
			var aText = document.createTextNode(json.links[json.displayOrder[i]].name);        
		}        
	a.appendChild(aText);        
	li.appendChild(a);        
	ul.appendChild(li);    
	}    
	spinartnav.appendChild(ul); 
	ArtlftNavbot.appendChild(spinartnav);
	var lftNav = document.getElementById("lftNav");  
	lftNav.appendChild(ArtlftNavTop);
}
var arr_aolId = new Array(); 
function getIDFromStrTag(strLongTag){
	var artRegEx = /<a href='[^']+'>([^<]+)<.a>/g;
	strID=strLongTag.replace(artRegEx, "$1");
	var artRegEx2 = /\d{3,10}/g;
	strID2=strID.match(artRegEx2)
	return(strID2);
}

function setCookie(c_name,value,expiredays,domain)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+
	( ( domain ) ? ";domain=" + domain : "" );
}