function validateLogin(form)
{
	valid = true;
	var username = form.username.value;
	var userpass = form.userpass.value;
	
	if(username == '') { alert("You must enter a USERNAME."); form.username.style.border="solid 2px red";  form.username.focus(); return false; }
	if(userpass =='') { alert("You must enter a PASSWORD."); form.userpass.style.border="solid 2px red";  form.userpass.focus(); return false; }
	
	return valid;
		
}


function validateTextSearch(id)
{
	valid = true;
	form = document.getElementById(id);
	var searchstring = form.textsearch.value;
	if(searchstring == '') { alert("You must enter a search term for the search to work."); form.textsearch.style.border="solid 2px red";  form.textsearch.focus(); return false; }
	return valid;	
}


function validateArtistSearch(id)
{
	valid = true;
	form = document.getElementById(id);
	var username = form.q.value;
	if(username == '') { alert("You must enter an artist name for the search to work."); form.q.style.border="solid 2px red";  form.q.focus(); return false; }
	return valid;	
}



function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function setMsg(obj,msg)
{
document.getElementById(obj).innerHTML = msg;	
}

function show(id) 
{
//document.getElementById(id).style.display = "block";
var element  = "#"+id;
$(element).show("medium");
}

function hide(id) 
{
//document.getElementById(id).style.display = "none";
var element  = "#"+id;
$(element).hide("medium");
}

function flipvis(id)
{
var element  = "#"+id;
$(element).toggle("medium");
}
/********* FROM QUIRKSMODE.COM **********/
function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}


function setFavoriteStation(id)
{
var stations;
stations = readCookie("favoritestations");
stations = stations + '|'+id;

createCookie("favoritestations",stations,"356");
}

function removeFromArray(item,array) {
var i = 0;
while (i < array.length) {
if (array[i] == item) {
array.splice(i, 1);
} else {
i++;
}
}
return array;
}



function removeFavoriteStation(id)
{
var stations;
stations = readCookie("favoritestations");
var newstations = stations.split("|");
newstations = removeFromArray(id,newstations);
newstations = newstations.join("|");
createCookie("favoritestations",newstations,"356");

var element;
element = "station_"+id;

var msg;
msg = "station_"+id+"_msg";

document.getElementById(element).style.textTransform.value = "strikethrough";

document.getElementById(msg).innerHTML = "<span class=msg_red><b>deleted</b></span>";
}







function showMsg(item,msg)
{ document.getElementById(item).innerHTML = msg; }

function clearMsg(item)
{ document.getElementById(item).innerHTML = ''; }

  

function fixHeight(objidParent,objidChild) {
	Parent = document.getElementById(objidParent);
	Child = document.getElementById(objidChild);
	Parent.style.height = Child.offsetHeight + 'px';
	return true;
  } 
  
  
function fixWidth(objId,width) {
	obj = document.getElementById(objId);
	obj.style.margin = width + 'px';
	obj.style.width = 'auto';
	return true;
  }


//functions for registration

function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
document.forms[0].elements[i].focus();
break;
         }
      }
   }
}
//  End -->

<!-- Begin
 
 function isValidEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}
	
  
//validate the registration box
function validateForm(form) {
valid = true;

email = form.useremail.value;
if(!isValidEmail(email)){ valid = false; alert("That EMAIL is not valid."); }

username = form.username.value;
if(username ==''){alert("You must enter a USERNAME."); valid=false; }

pw1 = form.submit_pw1.value;
pw2 = form.submit_pw2.value;

if(pw1=='') { alert("You must enter a PASSWORD."); valid=false; }

if (pw1 != pw2) {
alert ("\nYou did not enter the same PASSWORD twice. Please re-enter your PASSWORD.")
valid =  false;
}




return valid;
}




//creates a boxy dialgue box

var allDialogs = [];
var seq = 0;

function create(options) {
	
	//code for please register boxy
var regcode = '<div class="bodytext">';
regcode += 'To save your favorite stations as presets - you have to register... <br>It\'s Fast! - It\'s Free!<br><br>';
regcode += '<span class="blueheds">Sign Up And Start Now</span><br><br>';
regcode += '<form action="index.php?av=signup" onSubmit="return validateForm(signup);" method="post" name="signup" >';
regcode += '<input type="hidden" name="stage" value="2">';
regcode += 'Enter your<b> email: </b>';
regcode += '&nbsp;<input type=text size=35 maxlength=100 name=useremail value="" class=form><br><br>';
regcode += 'Enter a <b>username: </b><input type=text size=24 maxlen=24 name=username value="" class=form><br>';
regcode += '<span class=greysmall>maximum 24 characters</span><br><br>';
regcode += 'Enter a <b>password: </b><input type=password size=12  name=submit_pw1 value="" class=form><br>';
regcode += '<span class=greysmall>maximum 8 characters</span><br><br>';
regcode += 'Re-enter password: <input type=password size=12  name=submit_pw2 value="" class=form><br>';

regcode += 'Enter <b>security code: </b><img src="/includes/captchaSecurityImages.php" vspace="4" align="absmiddle"> <input type="text" name="security_code" class=form size=8>';
regcode += '<br>What kind of <b>account</b>?';
regcode += '<br><input type="radio" name="utype" value="1"> <b>listener</b><br><span class="greysmall">save station presets</span>';
regcode += '<br><input type="radio" name="utype" value="2"> <b>broadcaster</b><br><span class="greysmall">add your own radio station</span>';
regcode += '<br><input type="radio" name="utype" value="3"> <b>both</b>';


regcode += '<br><input type=submit value="SIGN ME UP" class=form_rev></form>';
regcode += '</div>';

options = $.extend({title: "Please Register"}, options || {});
var dialog = new Boxy(regcode,options);
allDialogs.push(dialog);
return false;
}



function createSavedPresetOverlay(stationname) {
	
	//code for please register boxy
$("#overlayPresetSaved").overlay({ 
 
    // custom top position 
    top: 272, 
 
    // some expose tweaks suitable for facebox-looking dialogs 
    expose: { 
 
        // you might also consider a "transparent" color for the mask 
        color: '#333333', 
 
        // load mask a little faster 
        loadSpeed: 200, 
 
        // highly transparent 
        opacity: 0.5 
    }, 
 
    // disable this for modal dialog-type of overlays 
    closeOnClick: true, 
 
    // we want to use the programming API 
    api: true 
 
// load it immediately after the construction 
}).load();
}
