// JavaScript Document for ranking pages
function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj["e"+type+fn] = fn;
    obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
    obj.attachEvent( "on"+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}

function handleError()
{
return true;
}
window.onerror = handleError;



// Initialize
addEvent(window,"load",init2);



var loaded=false;

function init2(){ //We call the init2 function when the page is completely inited
	loaded=true;
	init();
}

function init() //We call the init function at the end of the html code,
{


	if (loaded==true){
		loaded=false;
		return;
	}

	//Hide loading
	document.getElementById('loading').style.display="none";
	//Getting the ranking list items

	var x = document.getElementById('list').getElementsByTagName('li');
	TotalItems=x.length;
	for (var i=0;i<x.length;i++)
	{
		//Init mouse event on items
		addEvent(x[i],"mouseover",LiMouseOver);
		addEvent(x[i],"mouseout",LiMouseOut);
		//addEvent(x[i],"mousedown",ExtendClick);



		//Localize extendbutton in list item

		e=document.getElementById('e'+eval(i+1));
		if (e!="null"){
			addEvent(e,"mouseup",ToggleMedia);
		}
	}



	//Localize ExpandAll button
		ea = document.getElementById('eAll');

		if (ea!="null"){
			//Initialize style
			document.getElementById('expandAll').style.display="inline-block";
			//Initialize actions
			DisableSelection(ea);
			addEvent(ea,"mousedown",ExpandAllMedia);
		}



	//Initialize Tabs Tip Menu
		e=document.getElementById('logo');	// Unload tabstip
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseover",unloadTabsTip);
			addEvent(e,"click",gohome);
		}
		e=document.getElementById('tCreate');	// Show loop create ranking
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseover",loadTabsTip);
		}
		e=document.getElementById('tExplore');	// Show loop create ranking
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseover",loadTabsTip);
		}
		e=document.getElementById('tShare');	// Show loop create ranking
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseover",loadTabsTip);
		}



	//Initialize extendbutton in modules
		initToggleModules();

		e=document.getElementById('tSeenOn');	// toggle SeenOn
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseup",ToggleModule);
		}

		e=document.getElementById('trelatedRankings');	// toggle ToYourSite
		if (e!="null"){
			DisableSelection(e);
			addEvent(e,"mouseup",ToggleModule);
		}



	//Initialize other stuff

		//Expand first item
		ToggleMedia(document.getElementById('e1'));



}
//TOP HEADER LOGIN TEXTBOX

function clear_login_textbox(id)
{
	if (document.getElementById(id).value == document.getElementById(id).alt){
		document.getElementById(id).value = "";
	}
}
function set_login_textbox(id)
{
	if (document.getElementById(id).value == ""){
		document.getElementById(id).value = document.getElementById(id).alt;
	}
}
//End TOP HEADER LOGIN TEXTBOX


function RemoveAllEvents()
{
	var x = document.getElementById('list').getElementsByTagName('li');
	for (var i=0;i<x.length;i++)
	{
		removeEvent(x[i],"mouseover",LiMouseOver);
		removeEvent(x[i],"mouseout",LiMouseOut);

		//Localize extendbutton in list item
		e=document.getElementById('e'+eval(i+1));
		removeEvent(e,"mousedown",ToggleMedia);

	}

}

// Top page menu TABS
var tabActive ="0"; // Saves the last clicked tab id
var firstItemSaved=false;
function loadTabsTip(e) // Top page menu (create explore share)
{
	if (tabActive=="tCreate"){
		if(this.id == "tCreate"){
		 return;
		}else{
			if (firstItemSaved==true){

					return;
			}
		}
	}
	if (!(this.id==tabActive)){
		if (tabActive=="0"){
			document.getElementById('ctExplore').style.display = "none";
			document.getElementById('cttExplore').setAttribute((document.all ? "className" : "class"), "content");
			document.getElementById('tttExplore').setAttribute((document.all ? "className" : "class"), "title");

		}else{
			document.getElementById('c'+tabActive).style.display = "none";
			document.getElementById('ct'+tabActive).setAttribute((document.all ? "className" : "class"), "content");
			document.getElementById('tt'+tabActive).setAttribute((document.all ? "className" : "class"), "title");

		}
		tabActive=this.id;
		document.getElementById('c'+this.id).style.display = "block";
		document.getElementById('ct'+tabActive).setAttribute((document.all ? "className" : "class"), "contentOn");
		document.getElementById('tt'+tabActive).setAttribute((document.all ? "className" : "class"), "titleOn");
		document.getElementById('tipTabsContent').style.display = "block";
		pageTracker._trackPageview('viewedTabs_'+this.id);
	}
}
function gohome()
{
		window.location ="http://www.all-rankings.com";
}

function unloadTabsTip() // Top page menu (create explore share)
{
		if (tabActive=="tCreate"){
			if (firstItemSaved==true){
					return;
			}
		}
		if (tabActive!=0){
		document.getElementById('ct'+tabActive).setAttribute((document.all ? "className" : "class"), "content");
		document.getElementById('tt'+tabActive).setAttribute((document.all ? "className" : "class"), "title");
		}
		document.getElementById('ctCreate').style.display = "none";
		document.getElementById('ctExplore').style.display = "none";
		document.getElementById('ctShare').style.display = "none";
		tabActive=0;
		tabLogo="1";
}

function DisableSelection(target){
	target.style.cursor = "pointer"

	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart=function(){return false}
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "pointer"
}

function ExpandAllMedia()
{

	if(document.getElementById('expandAll').style.display == "inline-block") {
		document.getElementById('expandAll').style.display="none";
		document.getElementById('contractAll').style.display = "inline-block";
			for (var i=0;i<TotalItems;i++)
			{
				var $id ='e'+ eval(i+1);

				document.getElementById('m'+$id).style.display="inline-block";
				document.getElementById('upimg'+$id).style.display = "inline-block";
				document.getElementById('downimg'+$id).style.display = "none";
			}
	} else {
		document.getElementById('contractAll').style.display="none";
		document.getElementById('expandAll').style.display="inline-block";
			for (var i=0;i<TotalItems;i++)
			{
				var $id ='e'+ eval(i+1);
				document.getElementById('m'+$id).style.display="none";
				document.getElementById('upimg'+$id).style.display = "none";
				document.getElementById('downimg'+$id).style.display = "inline-block";
			}



	}
}



function ToggleMedia(e)
{
	if(this.id){
	 	var $id = this.id;
	}else{
	 	var $id = e.id;
	}

	if(document.getElementById('upimg'+$id).style.display == "inline-block") {
		document.getElementById('m'+$id).style.display="none";
		document.getElementById('upimg'+$id).style.display = "none";
		document.getElementById('downimg'+$id).style.display = "inline-block";
	}else {
		document.getElementById('m'+$id).style.display="block";
		document.getElementById('downimg'+$id).style.display = "none";
		document.getElementById('upimg'+$id).style.display = "inline-block";


	}

}




//INITIALIZE TOGGLE MODULES
function initToggleModules()
{
	//tSeenOn
	document.getElementById('uptSeenOn').style.display = "inline-block";
	document.getElementById('downtSeenOn').style.display = "none";
	//trelatedRankings
	document.getElementById('uptrelatedRankings').style.display = "inline-block";
	document.getElementById('downtrelatedRankings').style.display = "none";

}
function ToggleModule(e)  //To improve this function we are going to use classnames in conditional in stead of style.display
						 //if(document.getElementById('up'+$id).classname == "visible")
{
	var $id = this.id;

	if(document.getElementById('up'+$id).style.display == "inline-block") {
		document.getElementById('c'+$id).style.display="none";
		document.getElementById('up'+$id).style.display = "none";
		document.getElementById('down'+$id).style.display = "inline-block";
	}else{ //If collapsed
		document.getElementById('c'+$id).style.display="block";
		document.getElementById('down'+$id).style.display = "none";
		document.getElementById('up'+$id).style.display = "inline-block";
	}
}



function LiMouseOver(e)
{
	var $id = this.id;
	this.className += ' current';

	//Show vote buttom Hide votes

	//document.getElementById('v'+$id).style.display="none";
	//document.getElementById('vb'+$id).style.display="inline-block";

	//Show media content
	//document.getElementById('m'+$id).style.display="block";


}

function LiMouseOut(e)
{
	var $id = this.id;
	this.className = this.className.replace(/current/g,'');

	//Hide vote buttom Show votes
	//document.getElementById('v'+$id).style.display="inline-block";
	//document.getElementById('vb'+$id).style.display="none";

	//Hide media content
	//document.getElementById('m'+$id).style.display="none";

	noBubble(e);
}

function noBubble(e) // df
{
	if (e && e.stopPropagation)
		e.stopPropagation();
	else
		window.event.cancelBubble = false;
}


//OTHER SHOW / HIDE

function toggleSignup()
{
	status = document.getElementById('register').style.display;
	if( status == "none" || status=="") {

		document.getElementById('login').style.display="none";
		document.getElementById('register').style.display = "inline-block";

		set_login_textbox('iregmail'); //Set label text "Email:"
		set_login_textbox('iregpass'); //Set label text
	}else {

		document.getElementById('register').style.display="none";
		document.getElementById('login').style.display = "inline-block";

		set_login_textbox('iuser'); //Set label text "User:"
		set_login_textbox('ipass'); //Set label text
	}
}


//RANKING STAR RATING SYSTEM



//END RANKING RATING

//RANKING CREATION LOOP


function addMediaItem(url,mediacontent) {
  //Base div

  var base = document.getElementById('mediaDisplay');
  var total = document.getElementById('totalMediaItems');
  var num = (document.getElementById("totalMediaItems").value -1)+ 2;
  total.value = num;
  var divIdName = "myMediaDisplay"+num;
  var newCreationItem = document.createElement('span');
  newCreationItem.setAttribute("id",divIdName);
  newCreationItem.style.width="50px";
  newCreationItem.style.height="50px";
  newCreationItem.style.display="inline-block";
  newCreationItem.style.margin="2px";
  newCreationItem.style.backgroundImage="url("+url+")";


  newCreationItem.innerHTML = "<img src='Presentation/img/lookandfeel/icons/bullet_delete.png' border=0 width=16 height=16 onclick=\"removeMediaItem('"+divIdName+"')\"><input type='hidden' value='"+mediacontent+"' id='"+divIdName+"' />";

  base.appendChild(newCreationItem);
}

function removeMediaItem(divNum) {
  var d = document.getElementById('mediaDisplay');
  var olddiv = document.getElementById(divNum);
  d.removeChild(olddiv);
}


function getScreenShotYoutube(url)
{
  if(url === null){ return ""; }

  var vid;
  var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  return "http://img.youtube.com/vi/"+vid+"/2.jpg";


}

function getYoutubeID(url)
{
  if(url === null){ return ""; }

  var vid;
  var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  return vid;


}

//END RANKING CREATION LOOP
function searchKeyPress()
{
  if(event.keyCode=='13'){searchNow(document.getElementById('ctFSearch').value,'1');}
}

