bodyOnloadTaskQueue = new Queue();
bodyOnloadTaskQueue.enqueue(MM_preloadImages);
bodyOnloadTaskQueue.enqueue(activateTabbedMenus);
bodyOnloadTaskQueue.enqueue(activateClearingFields);

function getElementsByClassName(className, tag, elm)
{
	var testClass = new RegExp('\\b'+className+'\\b');
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function Queue()
{
  var queue=new Array();
  var queueSpace=0;
  this.enqueue=function(element)
  {
    queue.push(element);
  }
  this.dequeue=function()
  {
    if (queue.length)
    {
      var element=queue[queueSpace];
      if (++queueSpace*2 >= queue.length)
      {
        for (var i=queueSpace;i<queue.length;i++) queue[i-queueSpace]=queue[i];
        queue.length-=queueSpace;
        queueSpace=0;
      }
      return element;
    }
    else
    {
      return undefined;
    }
  }
}
function runTasks()
{			
	var task;
	do
	{
	
		task = bodyOnloadTaskQueue.dequeue();		
		
		if(task)
		{
			task();
		}		
	}while(task);
}
function activateTabbedMenus()
{
	tabs = $$(".tabbed-menu");	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab; 
	}
	tabs = $$(".tabbed-menu2");	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab2; 
		tabs[i].style.cursor = "pointer"; 
	}
	tabs = $$(".tabbed-menu3");	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab3; 
		tabs[i].style.cursor = "pointer"; 
	}
	tabs = $$(".tabbed-menu4");	
	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab4; 
		tabs[i].style.cursor = "pointer"; 
	}
	
	tabs= $$(".tabbed-menu5");
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab5; 
		tabs[i].style.cursor = "pointer"; 
	}
	
}
// *** Convention dependent function
//requires clearable fields to have ids and have class="clearing-field"
function activateClearingFields()
{	
	var fields = getElementsByClassName("clearing-field");
	var i;
	for(i = 0; i < fields.length; i++)
	{
		
		eval(fields[i].id + '_erase = true');
		fields[i].onfocus = function()
		{			
			var erase = eval(this.id + '_erase');
			if(erase == true)
			{
				
				this.value = "";
				this.style.color = "#000000";
				eval(this.id + '_erase = false');
			}
		}
	}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null)
   {
	   document.MM_sr[j++]=x;
	   if(!x.oSrc)
	   x.oSrc=x.src;
	   x.src=a[i+2];
	}
}
function swap_stage(id) {	
	var obj = document.getElementById('stage');
	obj.style.background = "url(/images/"+id+"_bkgd.jpg) no-repeat";
	for(i=1; i<5; i++)
	{ 
		document.getElementById('stage'+i).style.display = "none";
	}
	var a = document.getElementById(id);
	a.style.display = "block";
	//alert(s);
	
}
function swap_stage2(id) {	
	var obj = document.getElementById('stage');
	for(i=1; i<5; i++)
	{ 
		document.getElementById('stage'+i).style.display = "none";
	}
	var a = document.getElementById(id);
	a.style.display = "block";
	//alert(s);
	
}
function swap_group(id) {	
	var obj = document.getElementById('group');
	obj.style.background = "url(/images/"+id+"_bkgd.jpg) no-repeat";
	for(i=1; i<5; i++)
	{ 
		document.getElementById('group'+i).style.display = "none";
	}
	var a = document.getElementById(id);
	a.style.display = "block";

	//alert(s);
	
}
function swap_info(id) {	
	var layers = Array('info_main','research', 'casting_staff', 'classes_training', 'rehersals', 'promoting');
	
	for(i=0; i<6; i++)
	{ 
		document.getElementById(layers[i]).style.display = "none";
	}
	var a = document.getElementById(id);
	a.style.display = "block";
	set_height();
}
function set_height()
	{
	var layers = Array('info_main','research', 'casting_staff', 'classes_training', 'rehersals', 'promoting');
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
			
		for(i=0; i<6; i++)
		{ 
			//document.getElementById(layers[i]).style.height = "212px";
		}	
	}
}
function hide_details() {
	var layers = Array('casting_staff_details','classes_training_details','promoting_details');
	
	for(i=0; i<3; i++)
	{ 
		document.getElementById(layers[i]).style.display = "none";
		document.getElementById(layers[i]+'_btn').src = "/images/arrow_gold.gif";
		document.getElementById(layers[i]+'_link').setAttribute('onClick', 'show_details("'+layers[i]+'");');
	}	
}
function show_details(id)
{
	img = document.getElementById(id+"_btn");
	img.src = img.src.substr(img.src.lastIndexOf("/")+1) == "down_arrow.gif" ? "/images/arrow_gold.gif" : "/images/down_arrow.gif";
	box = document.getElementById(id);
	box.style.display = box.style.display != "block" ? "block" : "none";
	set_height();
	
}
function show_details2(id) {
	hide_details();
	var a = document.getElementById(id);
	a.style.display != "block" ? "block" : "none";
	var img = document.getElementById(id+'_btn');
	img.src = img.src.substr(img.src.lastIndexOf("/")+1) == "down_arrow.gif" ? "/images/arrow_gold.gif" :"/images/down_arrow.gif";
	var link_id = document.getElementById(id+'_link');
	link_id.setAttribute('onClick', 'hide_details();');
}

/*function tab(id)
{
	var tabs = Array('plots', 'partfinder', 'casting', 'arts');
	for(i=0; i<tabs.length;i++)
	{
		document.getElementById(tabs[i]).style.display = "none";
		document.getElementById(tabs[i]+'_tab').style.background = "url(/images/tab.jpg) no-repeat";
		document.getElementById(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		document.getElementById(tabs[i]+'_txt').style.color = "#999999";
		
	} 

	var layer = document.getElementById(id);
	layer.style.display = "block";
	var selected_tab = document.getElementById(id+'_tab');
	var img = document.getElementById(id+'_img');
	selected_tab.style.background = "url(/images/tab_select.jpg) no-repeat";
	img.src = "/images/arrow_select.gif";
	var txt = document.getElementById(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}*/
// *** Convention Dependent Function
// calling element should have id with container div id
// specifically "container_tab"
// if there are more than zero argument then an id is given
function tab()
{
	var id;
	
	if(arguments.length > 0 && typeof(arguments[0]) != "object")
	{
		id = arguments[0];		
	}
	else
	{		
		id = this.id.substring(0,this.id.lastIndexOf("_")); // parse id
	}		
	var tabs = Array('plots', 'partfinder', 'casting');
	for(i=0; i<tabs.length;i++)
	{
		if ($(tabs[i]) != null)
		{
		$(tabs[i]).style.display = "none";
		$(tabs[i]+'_tab').style.background = "url(/images/tab.jpg) no-repeat";
		$(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		$(tabs[i]+'_txt').style.color = "#999999";
		}
	} 
	
	var layer = document.getElementById(id);
	layer.style.display = "block";
	var selected_tab = document.getElementById(id+'_tab');
	var img = document.getElementById(id+'_img');
	selected_tab.style.background = "url(/images/tab_select.jpg) no-repeat";
	img.src = "/images/arrow_select.gif";
	var txt = document.getElementById(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}

function tab3()
{
	var id;
	
	if(arguments.length > 0 && typeof(arguments[0]) != "object")
	{
		id = arguments[0];		
	}
	else
	{		
		id = this.id.substring(0,this.id.lastIndexOf("_")); // parse id
	}		
	var tabs = Array('search_venues','add_venues');
	for(i=0; i<tabs.length;i++)
	{
		$(tabs[i]).style.display = "none";
		$(tabs[i]+'_tab').style.background = "url(/images/tab_venues.jpg) no-repeat";
		$(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		$(tabs[i]+'_txt').style.color = "#999999";
	} 
	
	var layer = document.getElementById(id);
	layer.style.display = "block";
	var selected_tab = document.getElementById(id+'_tab');
	var img = document.getElementById(id+'_img');
	selected_tab.style.background = "url(/images/tab_select_venues.jpg) no-repeat";
	img.src = "/images/arrow_select_venues.gif";
	var txt = document.getElementById(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}


function tab2()
{
	var id;
	
	if(arguments.length > 0 && typeof(arguments[0]) != "object")
	{
		id = arguments[0];		
	}
	else
	{		
		id = this.id.substring(0,this.id.lastIndexOf("_")); // parse id
	}	
	var tabs = Array('plots', 'partfinder', 'casting');
	for(i=0; i<tabs.length;i++)
	{
		$(tabs[i]).style.display = "none";
		$(tabs[i]+'_tab').style.background = "url(/images/profile/tab.gif) no-repeat";
		$(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		$(tabs[i]+'_txt').style.color = "#999999";
		
	} 

	var layer = $(id);
	layer.style.display = "block";
	var selected_tab = $(id+'_tab');
	var img = $(id+'_img');
	selected_tab.style.background = "url(/images/profile/tab_select.gif) no-repeat";
	img.src = "/images/arrow_select.gif";
	var txt = $(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}
function cursor(id)
{
	document.getElementById(id).style.cursor = "pointer";
}
function toggle(id)
{
	var layer = $(id);
	
}
function showResources(id, layer)
{		
	tab(layer);
	for(n=1;n<5;n++){
		$('more_resources'+n).style.display = "none";
		$('more_resources'+n).style.visibility = "hidden";
	}
	
	$(id).style.display = "block";
	$(id).style.visibility = "visible";
	
}
function profile_tabs(id, btn)
{
	var tabs = Array('productions', 'classes', 'auditions', 'rehersals');
	var parent = Array('btn_prods', 'btn_classes', 'btn_audi', 'btn_rehersals');
	for(i=0; i<4; i++)
	{
        
		document.getElementById(tabs[i]).style.display = "none";
		
		document.getElementById(parent[i]).firstChild.className = "none";
	}
	
	document.getElementById(id).style.display = "block";
	var b = document.getElementById(btn).firstChild;
		b.className = "selected";
}


function venue_tabs(id,btn)
{
	var tabs = Array('upcomingevents', 'pastevents', 'reviews','organizations');
	var parent = Array('btn_upcoming', 'btn_past', 'btn_reviews','btn_orgs');
	for(i=0; i<4; i++)
	{
		document.getElementById(tabs[i]).style.display = "none";
		
		document.getElementById(parent[i]).firstChild.className = "none";
	}
	
	document.getElementById(id).style.display = "block";
	var b = document.getElementById(btn).firstChild;
		b.className = "selected";
}
function admin_tabs(id, tab)
{
	var tabs = Array('productions_admin', 'classes_admin', 'auditions_admin', 'rehersals_admin');
	for(i=0; i<4; i++)
	{
		document.getElementById(tabs[i]).style.display = "none";
	}
	
	document.getElementById(id).style.display = "block";
	setBkgd_mini(tab);
}

function setBkgd_mini(id)
{	var btns = Array('btn_prods_mini', 'btn_classes_mini', 'btn_audi_mini', 'btn_rehersals_mini');
	var layer = Array('productions_admin', 'classes_admin', 'auditions_admin', 'rehersals_admin');
	for(i=0; i<4; i++)
	{
		if(elem = document.getElementById(btns[i])){
		a = elem.firstChild;
		a.setAttribute("class", "");
		//alert(a.innerHTML);
		/*b = document.createElement('a');
		b.setAttribute("href", "###");
		b.setAttribute("onclick", "admin_tabs('"+layer[i]+"', '"+btns[i]+"');");
		elem.removeChild(a);
		elem.appendChild(b);*/
		} 
	}
	if(display_layer = document.getElementById(id)){
		child = display_layer.firstChild;
		child.setAttribute("class", "selected");
	}
}
function setBkgd_search(id, tab)
{	var btns = Array('add_search_options', 'see_your_friends', 'find_a_friend');
	var layer = Array('options', 'friends_perform', 'friend_to_go');
	for(i=0; i<3; i++)
	{
		if(elem = document.getElementById(btns[i])){
		document.getElementById(layer[i]).style.display = "none";
		a = elem.firstChild;
		click_event = function (){a.onclick;}
		//alert(click_event);
		txt = a.innerHTML;
		b = document.createElement('a');
		b.href = "###";
		b.style.backgroundPosition = "0 -41px";
		b.style.color = "#fff";
		b.style.font = "bold 11px arial";
		b.innerHTML = txt;
		b.writeAttribute()
		//alert(txt);
		elem.removeChild(a);
		elem.appendChild(b);
		}

	}
	if(display_layer = document.getElementById(tab)){
		//alert("child");	
		child = display_layer.firstChild;
		child.style.backgroundPosition = "0 0";
		document.getElementById(id).style.display = "block";
		} else {
			alert("no child left behind");
		
		
	} 
}
function search_tabs(id, tab)
{
	var tabs = Array('options', 'friends_perform', 'friend_to_go');
	for(i=0; i<3; i++)
	{
		document.getElementById(tabs[i]).style.display = "none";
	}
	
	document.getElementById(id).style.display = "block";
	setBkgd_search(tab);
}




function choices()
{
	document.getElementById('more_choices').style.display = document.getElementById('more_choices').style.display != "block" ? "block" : "none";
	var img = document.getElementById('more_btn');
	img.src = document.getElementById('more_btn').src.substr(img.src.lastIndexOf("/")+1) != "more_plus.gif" ? "/images/profile/more_plus.gif" : "/images/profile/more_minus.gif";
}

function toggle2(id1, id2){
	document.getElementById('featured_profile_bod').style.display = "none";
	document.getElementById('feat_tab').style.background = "url(../../images/profile/orgs/feat_tabs_off.gif) no-repeat";
	document.getElementById('recently_viewed_bod').style.display = "none";
	document.getElementById('recently_viewed').style.background = "url(../../images/profile/orgs/feat_tabs_off.gif) no-repeat";
	
	document.getElementById(id1).style.display = "block";
	document.getElementById(id2).style.background = "url(../../images/profile/orgs/feat_tabs_on.gif) no-repeat";
	

}
function t_tab(id){
	tabs = Array('announcements', 'testimonials', 'sponsors', 'reviews');
	for(i=0; i<4; i++)
	{
		document.getElementById(tabs[i]).style.display = "none";
		document.getElementById(tabs[i]+'_tab').style.background = "url(../../images/profile/orgs/testimonials_off.gif) no-repeat";
	}
	
	document.getElementById(id).style.display = "block";
	document.getElementById(id+'_tab').style.background = "url(../../images/profile/orgs/testimonials_on.gif) no-repeat";
}

function insertMovie1(){
	
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="661" height="210"><param name="movie" value="/flash/banner.swf"><param name="quality" value="high"><EMBED SRC="/flash/banner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" WIDTH="661" HEIGHT="210" WMODE="TRANSPARENT" MENU="FALSE" BGCOLOR="WHITE"></EMBED></object>');
	
}
function insertMovie2(){
	
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" WIDTH="420" HEIGHT="300"><param name="movie" value="/flash/ecard.swf"><param name="quality" value="high"><EMBED SRC="/flash/ecard.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" WIDTH="420" HEIGHT="300" WMODE="TRANSPARENT" MENU="FALSE" BGCOLOR="WHITE"></EMBED></object>');
	
}

function clearText(text, element) {
	if( $(element).value == text ) {
		$(element).value = '';
	}
}

function addFavoriteShow(show_id){
	
	new Ajax.Request('/Ajax/AddFavoriteShowJSON', {
				  method: 'post',
				  parameters: {show_id:show_id},
				  onSuccess: function(res) {	
					var response = eval('(' + res.responseText + ')');
	
					if( response.success != 0 ) {
						displayMessage('/Modal/AddFavoriteShow/'+show_id+'/'+response.success, 400, 235);
					}
					if( response.success == 0 ) {
						window.location='/Login/';
					}
				
				}
			});
}

function tab4()
{
	var id;
	
	if(arguments.length > 0 && typeof(arguments[0]) != "object")
	{
		id = arguments[0];		
	}
	else
	{		
		id = this.id.substring(0,this.id.lastIndexOf("_")); // parse id
	}		
	var tabs = Array('search_orgs','add_orgs','browse_orgs');

	for(i=0; i<tabs.length;i++)
	{
		$(tabs[i]).style.display = "none";
		$(tabs[i]+'_tab').style.background = "url(/images/tab_org.jpg) no-repeat";
		$(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		$(tabs[i]+'_txt').style.color = "#999999";
	} 
	
	var layer = document.getElementById(id);
	layer.style.display = "block";
	var selected_tab = document.getElementById(id+'_tab');
	var img = document.getElementById(id+'_img');
	selected_tab.style.background = "url(/images/tab_select_org.jpg) no-repeat";
	img.src = "/images/arrow_select_venues.gif";
	var txt = document.getElementById(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}

function tab5()
{
	var id;
	
	if(arguments.length > 0 && typeof(arguments[0]) != "object")
	{
		id = arguments[0];		
	}
	else
	{		
		id = this.id.substring(0,this.id.lastIndexOf("_")); // parse id
	}		
	var tabs = Array('search_auditions','add_auditions');
	for(i=0; i<tabs.length;i++)
	{
		$(tabs[i]).style.display = "none";
		$(tabs[i]+'_tab').style.background = "url(/images/tab_audition.jpg) no-repeat";
		$(tabs[i]+'_img').src = "/images/arrow_gold.gif";
		$(tabs[i]+'_txt').style.color = "#999999";
	} 
	
	var layer = document.getElementById(id);
	layer.style.display = "block";
	var selected_tab = document.getElementById(id+'_tab');
	var img = document.getElementById(id+'_img');
	selected_tab.style.background = "url(/images/tab_select_audition.jpg) no-repeat";
	img.src = "/images/arrow_select_venues.gif";
	var txt = document.getElementById(id+'_txt');
	txt.style.color = "#FFFFFF";
	
}


var login={
        login:function(email,pwd,app){
        new Ajax.Request('/Ajax/login', {
                    method: 'post',
                    parameters: {email:email,
                                 password:pwd},
                    onSuccess: function(res) {
                        var response = eval('(' + res.responseText + ')');
                        if (response.success == 1){
                           // window.location = Orgs.url;
                           var localfn=app+".localfn()";
                           eval(localfn);
                        }
                        if (response.success == 0){
                            alert("Invalid Username/Password.");
                        }else if (response.success == 2){
                            alert("You need to activate your account before logging in");
                        }else if (response.success == 3){
                            alert("Invalid E-Mail Address.");
                        }
                    }
        });
    }
}

