function toggle_div(obj)
{
	var el = document.getElementById(obj); // object to be hidden
	if(el.style.display == 'none')
	{
		el.style.display = '';
	}
	else
	{
		el.style.display = 'none';
	}
}

function swap_menu(obj1,obj2)
{
	var el1 = document.getElementById(obj1); // object to be hidden
	var el2 = document.getElementById(obj2); // object to be shown
	if(el1.style.display != 'none')
	{
		el1.style.display = 'none';
		el2.style.display = '';
	}
	else if(el2.style.display != 'none')
	{
		el1.style.display = '';
		el2.style.display = 'none';
	}
}

function slide_swap_menu(obj1,obj2)
{
	var el1 = document.getElementById(obj1); // object to be hidden
	var el2 = document.getElementById(obj2); // object to be shown
	if(el1.style.display != 'none')
	{
		el1.style.display = 'none';
		el2.style.display = '';
	}
	else if(el2.style.display != 'none')
	{
		el1.style.display = '';
		el2.style.display = 'none';
	}
}

// generic function to toggle between tab sections
// use: see templates/modules/recent_updates/body.tpl
// author: mike horn
// modified by: regina luk
function toggleTab(module,section) {

  // get all ULs in module
  var uls = document.getElementById(module).getElementsByTagName('ul');

  // find the tabs
  var tabs = new Array();
  for (i=0;i<uls.length;i++)
    if (uls[i].className == 'tabs') tabs = uls[i].getElementsByTagName('li');

  // get all DIVs in module
  var divs = document.getElementById(module).getElementsByTagName('div');

  // get sections
  var sections = new Array();
  for (i=0;i<divs.length;i++)
    if (divs[i].className == 'section') sections[sections.length++] = divs[i];

  // check if tab # is equal to section #
  if (tabs.length != sections.length) {
    alert('warning: your number of tabs ('+tabs.length+') differs from your number of sections ('+sections.length+')');
    return;
  }

  // turn on selected tab
  section--;
	for (i=0;i<tabs.length;i++) {
		if (i == section)
		{
			if ((tabs[i].className != '') && (tabs[i].className.indexOf(' on') < 0)) tabs[i].className = tabs[i].className + ' on'
			else if(tabs[i].className == '') tabs[i].className = 'on'
		}
		else
		{
			if (tabs[i].className.indexOf(' on') > 0) tabs[i].className = tabs[i].className.slice(0,tabs[i].className.indexOf(' on'));
			else if(tabs[i].className.indexOf('on') >= 0) tabs[i].className = '';
		}
	}

  // turn on selected content
  for (i=0;i<sections.length;i++) {
    if (i == section) sections[i].style.display = '';
    else sections[i].style.display = 'none';
  }
}

function toggleFormSection(hidden_div,section)
{
	var divs = document.getElementById(hidden_div).getElementsByTagName('div');
	var all_b = document.getElementById(hidden_div).getElementsByTagName('b');
	var sections = new Array();
	var btns = new Array();

	for(i=0;i<divs.length;i++)
		if(divs[i].className == 'section') sections[sections.length++] = divs[i];

	for(i=0;i<all_b.length;i++)
		if((all_b[i].parentNode.className.indexOf('btn') >= 0) && (all_b[i].parentNode.parentNode.className != 'section')) btns[btns.length++] = all_b[i];

	if (sections.length != btns.length)
	{
		alert("Warning: your number of buttons (" + btns.length + ") differs from your number of sections (" + sections.length + ")!");
		return;
	}

	for(i=0;i<sections.length;i++) {
		if(i == section)
		{
			if (sections[i].style.display == '')
			{
				sections[i].style.display = 'none';
				btns[i].innerHTML = "Change";
			}
			else
			{
				sections[i].style.display = '';
				btns[i].innerHTML = "Close";
			}
		}
		else
		{
			sections[i].style.display = 'none';
			btns[i].innerHTML = "Change";
		}
	}
}

function update_user_stars(score,item_subtype,in_form)
{
	var rate_item = item_subtype == '' ? 'rate' : item_subtype + '_rate';
	var score_item = item_subtype == '' ? '' : document.getElementById(item_subtype+'_user_score');

	if (score == '')
	{
		if (score_item == '' || score_item.value == '' || score_item.value == '0')
		{
			score = 0;
		}
		else
		{
			score = score_item.value;
		}
	}

	var score_inc = new Array(rate_item+'_1',rate_item+'_2',rate_item+'_3',rate_item+'_4',rate_item+'_5');

	if (!in_form || score_item.value == '' || score_item.value == '0')
	{
		for(var i=0; i < score_inc.length; i++)
		{
			if ( (i+1)*2 <= score )
			{
				document.getElementById(score_inc[i]).className = 'star2';
			}
			else if ( (i+1)*2-1 <= score )
			{
				document.getElementById(score_inc[i]).className = 'star1';
			}
			else
			{
				document.getElementById(score_inc[i]).className = '';
			}
		}
	}
}

function update_user_stars_scores(score)
{
	var star_forms = document.getElementsByName('user_review_form');
	for(var i=0;i<star_forms.length;i++)
	{
		var item_subtype = star_forms[i].title;
		var inputs = star_forms[i].getElementsByTagName('input');
		var divs = star_forms[i].getElementsByTagName('div');

		var star_rated, star_rater, score_reset;

		for(var j=0;j<divs.length;j++)
		{
			if(divs[j].className.indexOf('rated') >= 0) star_rated = divs[j];
			else if(divs[j].className.indexOf('rater') >= 0) star_rater = divs[j];
			else if(divs[j].className == 'reset') score_reset = divs[j];
		}

		for(var j=0;j<inputs.length;j++)
		{
			if (inputs[j].name == "user_review_score")
			{
				if (star_rater.style.display == '')
				{
					if (score == '' || score == 0)
					{
						inputs[j].value = score;
						score_reset.style.display = 'none';
						update_user_stars(score,item_subtype,"1");
					}
					else if (inputs[j].value == '' || inputs[j].value == 0)
					{
						score_reset.style.display = '';
						update_user_stars(score,item_subtype,"1");
						inputs[j].value = score;
					}
				}
				else
				{
					star_rater.style.display = '';
					star_rated.style.display = 'none';
					inputs[j].value = '';
					score_reset.style.display = 'none';
				}
			}
		}
	}
}

function tagItem(ref_type_id, ref_id, region)
{
	var tags = $('tags_field').value;

	var post_body = 'tags='+encodeURI(tags)+'&ref_type_id='+ref_type_id+'&ref_id='+ref_id+'&region='+region;

//	new ajax('/pages/tagging/submit_tags.php', {postBody : post_body, onComplete :  returnTagItem});
	new Ajax('/pages/tagging/submit_tags.php', {postBody : post_body, onComplete :  returnTagItem}).request();
}

function returnTagItem(request)
{
	if (request == 1)
	{
		var return_html = document.getElementById("tag_ue_tracking").value + "<strong>Tags Submitted.  Thanks.</strong>";
		document.getElementById("submit_tags").innerHTML = return_html;
		delay(function(){foldUp("submit_tags", .5, 150);}, 1);
	}
	else
	{
		var old_html = document.getElementById("submit_tags").innerHTML
		document.getElementById("submit_tags").innerHTML = "<strong>Error Submitting Tags.</strong>";
		foldUp("submit_tags", .5, 150);
		document.getElementById("submit_tags").innerHTML = old_html;
	}
}

function toggleShowTags()
{
	var blogTags = "submit_tags";
	var all_a = $(blogTags).getElementsByTagName("a");
	var btns = Array();
	var j = 0;

	for(i=0;i<all_a.length;i++)
	{
		if (all_a[i].className.indexOf("btn") >= 0)
		{
			all_a[i].style.display = "none";
			btns[j++] = all_a[i];
		}
	}

	if($(blogTags).style.display == "none")
	{
		fadeIn(blogTags, 1.2);
		foldDown(blogTags, .5, 150);
		for(i=0;i<btns.length;i++)
		{
			fadeIn(btns[i], 1.6);
		}
	}
	else
	{
		fadeOut(blogTags, 1.2);
		foldUp(blogTags, .5, 150);
	}
}

function track_contact(contact_username, mode, force_reload ) {
    if('undefined' == typeof force_reload) {force_reload = true;}
    addcontactpop( contact_username, mode );

    if ( force_reload ) {
        // reload the current page with the updated data.
        window.location.reload( force_reload );
    }
}

function addcontactpop(contact_username,mode) {
  popupWin = window.open('/pages/profile/track_contact.php?mode=' + mode + '&username=' + contact_username, 'contactpop', 'width=260,height=260,resizable=1,scrollbars=0');
}


/*
	ValidDate - true for valid date, false for invalid
*/
function is_valid_date(PossibleDate)
{
	var PDate = new String(PossibleDate);

	var regex = /(^\d{1,2})\/(\d{1,2})\/(\d{4,4})|(^\d{1,2})\/(\d{1,2})\/(\d{2,2})/;

	if( regex.test(PDate) )
	{
		var month = new String(RegExp.$1);
		var day = new String(RegExp.$2);
		var year = new String(RegExp.$3);
		if( month.length == 0 )
		{
			month = new String(RegExp.$4);
			day = new String(RegExp.$5);
			year = new String(RegExp.$6);
		}

		var today = new Date();
		var thisYear = new String(today.getFullYear());

		if( year.length == 2 )
		{
			if( year > 50 )
			{
				year = String(Number(thisYear.substring(0,2))-1) + year;
			}
			else
			{
				year = thisYear.substring(0,2) + year;
			}
		}

		if( month < 1 || month > 12 ) { return false; }

		if( day < 1 || day > 31 ) { return false; }

		if ((month==4 || month==6 || month==9 || month==11) && day>30) { return false; }

		if (month == 2) // check for february 29th
		{
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap))
			{
				return false;
			}
		}

		if( (Number(year) < Number(thisYear) - 250) ||
			(Number(year) > Number(thisYear) + 250) )
			{ return false; }

		return true;
	}
	return false;
}

// use: <img onerror="hide_broken_avatar(this)" src="http://broken.com/image.gif" />
function hide_broken_avatar(img) {
//    var url = "http://image.com.com/filmspot/images/user_icons/LaunchIcons/";
//    var ran_unrounded=Math.random()*17;
//    var ran_number=Math.floor(ran_unrounded)+1;
//    img.src=url + ran_number + '.jpg';
    img.src='http://image.com.com/filmspot/images/user_icons/LaunchIcons/3.jpg';
}

function pmpop(tab,user,dw_enable,section,subsec,usecount,count) {
  var pop_url = '/pages/pm/' + tab + '.php?to=' + user;
  if (dw_enable){
    var dw_tag = "&tag=" + section + ";" + subsec;
  dw_tag = usecount ? dw_tag + ";" + count : dw_tag;
  pop_url = pop_url + dw_tag;
  }
  popupWin = window.open(pop_url,'pmpop','width=778,height=480,scrollbars=1,menubar=0,toolbar=0,location=0,status=0,resizable=1');
}

function resize_forum_images() {
    divs = document.getElementsByTagName("div");
    for (i=0; i < divs.length; i++) {
        if (divs[i].className == 'message') {
//            alert('message ' + i);
//            pop.document.write('starting new message<br>');
            child = divs[i].childNodes;
            for (j=0; j < child.length; j++) {
//                pop.document.write(child[j].nodeName + '<br>');
                if (child[j].nodeName.toLowerCase() == 'img' && child[j].width > 600) {
                    child[j].width = 600;
                }
            }
        }
    }
}


// media player popup
function videoPlayer(url) {
	var player = window.open(url, 'VideoPlayer', 'width=960,height=560,resizable=0,scrollbars=0');
	if (window.focus) {player.focus()}
	return false;
}

function launchImageViewer(url) {
	//location=0,menubar=0,statusbar=0,toolbar=0,resizable=1,scrollbars=0,width=790,height=725,left=0,top=0
	var imageViewerWindow = window.open(url,'fsImageViewer','width=790,height=740,left=0,top=0,location=0,menubar=0,statusbar=0,toolbar=0,resizable=0,scrollbars=0');
	imageViewerWindow.focus();
}
