// can be used everywhere, eg on band pages for fans/stations box
//
function openTab(url,tabContainer,tabSelected,divHeight) {
	var targetContainer=tabContainer+"_content";
	var ullist=document.getElementById(tabContainer).getElementsByTagName("li")
	for (var i=0; i<ullist.length; i++) {
		ullist[i].className=""  //deselect all tabs
	}
	document.getElementById(tabSelected).className="selected";
	ajaxGet(url,targetContainer,divHeight);
}
//
// on band music pages
//
function openSongDiv(songsOnPage,url,songDiv) {
	var targetContainer=songDiv+"_content";
	for (var i=1;i<=songsOnPage;i++) {
		document.getElementById("songHiddenDiv_"+i).style.display = "none";
	}
	document.getElementById(songDiv).style.display = "block";
	ajaxGet(url,targetContainer);
}
//
// for the "to" in a send module (shareModuleTo)
//
function shareMod_select(tabSelected){
	//deselect all
	document.getElementById('shareModuleTab_manual').className="";
	document.getElementById('shareModuleTab_contacts').className="";
	document.getElementById('shareModuleTab_manual_content').style.display='none';
	document.getElementById('shareModuleTab_contacts_content').style.display='none';
	//select
	document.getElementById(tabSelected).className="selected";
	document.getElementById(tabSelected+'_content').style.display='block';
	document.getElementById('hiddenType').value=tabSelected;
}
function shareMod_checkAllContacts(){
	var contact=document.getElementsByName('sendToContact');
	var isChecked = contact[0].checked;
	for (var i=0; i < contact.length; i++) {
		if (isChecked){
			contact[i].checked=false;
		} else {
			contact[i].checked=true;
		}
	}
}
// to copy the code to embed videos or similar
function highlight(field) {
	document.getElementById(field).focus();
	document.getElementById(field).select();	
}
//toggles layer visibility on and off
function showBlock(id) {
	document.getElementById(id).style.visibility = "visible";
	document.getElementById(id).style.display="block";
}
function hideBlock(id) {
	document.getElementById(id).style.visibility = "hidden";
	document.getElementById(id).style.display="none";
}
function toggleVisibilityBlock(id) {
	if (document.getElementById(id).style.visibility == "hidden") {
		document.getElementById(id).style.visibility = "visible";
		document.getElementById(id).style.display="block";
	} else {
		document.getElementById(id).style.visibility = "hidden";
		document.getElementById(id).style.display="none";
	}
}
function switchDisplay(fromID,toID){
		document.getElementById(fromID).style.display="none";
		document.getElementById(toID).style.display="block";
}
function toggleChecked(id){
	thisField = document.getElementById(id);
	if (thisField.checked){
		thisField.checked=false;
	} else {
		thisField.checked=true;
	}
}
// for pic uploads (we now accept gif, jpg, png)
function checkPicExt(file) {
	 var ext = file.substring(file.lastIndexOf('.')+1);
	 ext = ext.toLowerCase();
	 if (ext!='jpg' && ext!='gif' && ext!='png') {
		alert("Please upload only GIF, JPG, or PNG files!");
	}
}
// limit number of characters in form fields
function textCounter(field, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
	{field.value = field.value.substring(0, maxlimit);
	alert("Sorry, you've reached the maximum number of " + maxlimit + " characters!")
	}
}
// to add another field (like "add another screen name" on edit  member profile -> contacts)
function add_another_field(maxNumber,fieldName){
	var new_number = parseInt(document.getElementById(fieldName+'_number').value) + 1;
	var secondToLast = maxNumber - 1;
	if (new_number > secondToLast){
		document.getElementById('add_new_'+fieldName).style.display='none';
	}
	document.getElementById(fieldName+'_number').value=new_number;
	document.getElementById(fieldName+'_'+new_number).style.display='';
}
// moves the cursor to a specified position on a textarea or input field (like on edit member profile > basic > status update)
// if you only need cursor set at the end without highlighting, use the same start and endPos
function setInputSelection(divID, startPos, endPos) {   
	divID=document.getElementById(divID);
    if(divID.createTextRange) {   
        /* IE */  
        var range = divID.createTextRange();   
        range.moveStart("character", startPos); 
		range.moveEnd("character", endPos);
        range.select();   
    } else if(divID.selectionStart) {   
        /* Gecko, Firefox*/  
        divID.focus();   
        divID.setSelectionRange(startPos, endPos);   
    }   
}  
//
// insert text into a textarea field from an open ThickBox overlay
function tb_addTextToDiv(divID, myText) {   
	divID=parent.document.getElementById(divID);
	divID.focus();  
	if (divID.value==''){
		divID.value=unescape(myText);
	} else {
		if(divID.createTextRange) {   /* IE (set at end)  */  
			divID.value = divID.value+' '+unescape(myText);
		} else if(divID.selectionStart) {   /* Gecko, Firefox */  
			var insertPos = divID.selectionStart; 
			var endPos  = divID.selectionEnd;  
			var cursorEndPos = endPos + myText.length;
			divID.setSelectionRange(insertPos, endPos);   
			divID.value = divID.value.substr(0, insertPos) + unescape(myText) + divID.value.substr(endPos, divID.value.length); 
			divID.setSelectionRange(cursorEndPos, cursorEndPos);   
		} 
	}
	parent.tb_remove();  
	divID.focus();
}  
/////////////////////////////////////////////////////////////////////
// song rating
//
var img_star_off = new Image();
	img_star_off.src = "/images/navigation/star_off.png";
var img_star_blank = new Image();
	img_star_blank.src = "/images/navigation/star_blank.png";
var img_star_on = new Image();
	img_star_on.src = "/images/navigation/star_on.png";
var img_star_off_big = new Image();
	img_star_off_big.src = "/images/navigation/star_off_big.png";
var img_star_blank_big = new Image();
	img_star_blank_big.src = "/images/navigation/star_blank_big.png";
var img_star_on_big = new Image();
	img_star_on_big.src = "/images/navigation/star_on_big.png";

function star_active(rating,imgSequ,bigVersion) {
	for (var i=1; i <= 5; i++) {
		var imgname = imgSequ + i;
		if (i <= rating) {
			document.getElementById(imgname).src = (bigVersion=='big') ? img_star_on_big.src : img_star_on.src;
		} else {
			document.getElementById(imgname).src = (bigVersion=='big') ? img_star_blank_big.src : img_star_blank.src;	
		}
	}
}
function star_passive(rating,imgSequ,bigVersion,voted) {
	for (var i=1; i <= 5; i++) {
		var imgname = imgSequ + i;
		if (i <= rating) {
			if (voted==true) {
				document.getElementById(imgname).src = (bigVersion=='big') ? img_star_on_big.src : img_star_on.src;
			} else {
				document.getElementById(imgname).src = (bigVersion=='big') ? img_star_off_big.src : img_star_off.src;
			}
		} else {
			document.getElementById(imgname).src = (bigVersion=='big') ? img_star_blank_big.src : img_star_blank.src;
		}
	}
}
function star_inParent(rating,imgSequ,voted) {
	for (var i=1; i <= 5; i++) {
		var imgname = imgSequ + i;
		if (i <= rating) {
			parent.document.getElementById(imgname).src = (voted==true) ? img_star_on.src : img_star_off.src;
		} else {
			parent.document.getElementById(imgname).src = img_star_blank.src;
		}
	}
}
function rateSong(targetContainer,rating,songID,bigVersion) {
	// reset (rating=0) or post?
	if (rating==0) {
		var url = '/common/cf_pages/songRating_reset.cfm?songID='+songID+"&bigVersion="+bigVersion+"&container="+targetContainer;
	} else {
		var url = '/common/cf_pages/songRating_post.cfm?songID='+songID+"&rating="+rating+"&bigVersion="+bigVersion+"&container="+targetContainer;	
	}
	ajaxGet(url,targetContainer,0);
	// if we have a parent (like on band music pages), update the parent as well.
	var parentTarget=targetContainer+'_'+songID;
	if (parent.document.getElementById(parentTarget)) {
		var imgSequ = 'star'+songID+'_';
		if (rating==0) {
			star_inParent(0,imgSequ,false);
		} else {
			star_inParent(rating,imgSequ,true);	
		}
	}
	// on /bands/_music_songRating we need to remove the previous combined information
	if (document.getElementById('extraInfo')) {
		document.getElementById('extraInfo').style.display='none';	
	}
}
// for the comments page, where we post several ratings 
function comment_setRating (field,rating,bigVersion){
	for (var i=1; i <= 5; i++) {
		var imgname = field + i;
		document.getElementById(imgname).onmouseout = '';
		document.getElementById(imgname).onmouseover = '';
		if (i <= rating) {
			document.getElementById(imgname).src = (bigVersion=='big') ? img_star_on_big.src : img_star_on.src;
		} else {
			document.getElementById(imgname).src = (bigVersion=='big') ? img_star_blank_big.src : img_star_blank.src;
		}
	}
	document.getElementById(field).value = rating;
}
// end song rating
///////////////////////////////////////////////////////////////////////