var isDHTML = 0;
var isLayers = 0;
var isAll = 0;
var isID = 0;
var isBusy = false;

if (document.getElementById) {
   isID = 1; isDHTML = 1;
} else {
   browserVersion = parseInt(navigator.appVersion);
   if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {
      isLayers = 1; isDHTML = 1;
   } else {
      if (document.all) {
         isAll = 1; isDHTML = 1;
      }
   }
}

function findDOM(objectID,withStyle) {
   if (withStyle == 1) {
      if (isID) {
         return (document.getElementById(objectID).style);
      } else {
         if (isAll) {
            return (document.all[objectID].style);
         } else {
            return getObjNN4(top.document.objectID);
         }
      }
   } else {
      if (isID) {
         return (top.document.getElementById(objectID));
      } else {
         if (isAll) {
            return (top.document.all[objectID]);
         } else {
            if (isLayers) {
               return getObjNN4(top.document.objectID);
            }
         }
      }
   }
}

function getObjNN4(obj,name)
{
   var x = obj.layers;
   for (var i=0;i<x.length;i++)
   {
      if (x[i].id == name)
         return x[i];
      else if (x[i].layers.length)
         var tmp = getObjNN4(x[i],name);
      if (tmp) return tmp;
   }
   return null;
}

function writeToLayer ( id, text )
{
   // first we get a reference to the layer we want
   // to modify
   x = findDOM( id, 0 );

   if ( !x )
      return;
   if ( isLayers ) {
      // NS4 only allows you to have
      // one output stream open at a time
      // so if we are already writing to one
      // we will try this again in 250 ms.
      if ( isBusy ) {
         setTimeout ( "writeToLayer( '" + id + "', '" + text + "' )", 250 );
      } else {
         isBusy = true;
         // write does open for us
         x.document.write(text);
         x.document.close();
         isBusy = false;
      }
   } else {
      x.innerHTML = text;
   }
}

String.prototype.fullTrim = function(){
	theString = this.replace(/\s+/g," ");
	theString = theString.replace(/^\s*([\S\s]*\S+)\s*$/,"$1");
	return (theString==" ")?"":theString;
}

if ((navigator.appName.indexOf('Microsoft')+1)) {
	document.write('<style type="text/css"> .opacity1 {filter:alpha(opacity=45)} .opacity2 {filter:alpha(opacity=100)}</style>'); }
else if ((navigator.appName.indexOf('Netscape')+1)) {
	document.write('<style type="text/css"> .opacity1 {-moz-opacity:0.45} .opacity2 {-moz-opacity:1}</style>'); }
else {
	document.write('<style type="text/css"> .opacity1 {opacity:0.45} .opacity2 {opacity:1}</style>'); }

/*-------------------------------------------------------------------------
*|	The function LaunchMini() launches the minibrowser
*|	-------------------------------------------------------------------------*/

function openPlayer(slang,id,type) {
	if (slang=='en') {
		slang = '';
	}
	remote = open('http://www.samurai.fm/player/index'+slang+'.php?id='+id+'&t='+type, "minibrowser", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=468,height=430,left=40,top=40");
	remote.focus();
}

function openWin(name,url,width,height,scrollbars) {
	remote = open(url, name, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scrollbars+",resizable=no,copyhistory=no,width="+width+",height="+height+",left=60,top=60");
	remote.focus();
}

/*-------------------------------------------------------------------------
*|	The function IsValidDate() validates dates
*|	-------------------------------------------------------------------------*/

function IsValidDate(day, month, year) {
	var shortMonths = new String(" 4 6 9 11 ");
	if (month == 2 && day > 28) {
		if (day > 29) {
			return false;
		}
		if ((year % 4) != 0) {
			return false;
		}
	}
	if (shortMonths.indexOf(' ' + month + ' ') >= 0) {
		if (day > 30) {
			return false;
		}
	}
	if ((day > 31) || (day < 1) || (month > 12) || (month < 1) || (year < 1900)) {
		return false;
	}
	return true;
}

/*-------------------------------------------------------------------------
*|	The function checkButton() ensures selection of radio buttons
*|	-------------------------------------------------------------------------*/

function checkButton(radio) {
	radio_errors = false;
	option = -1;
	for (i=0; i<radio.length; i++) {
		if (radio[i].checked) {
			option = i;
		}
	}
	if (option == -1) {
		radio_errors = true;
	}
	return !radio_errors;
}

/*-------------------------------------------------------------------------
*|	The function ValidateForm() provides the return url for all browsers
*|	-------------------------------------------------------------------------*/

function ValidateForm(form_id) {
    var Check = 0;
	document.getElementById(form_id + 'Location').value = document.URL;
       switch (form_id)  {
           case 'In_' : document.LOGIN.submit.disabled = true;
                        break;
           case 'Out_': document.LOGOUT.submit.disabled = true;
                        break;
       }
    return true;
}

function Submit_Form() {
    document.getElementById('Out_Location').value = document.URL;
    document.LOGOUT.submit();
}

/*-------------------------------------------------------------------------
*|	Form validation functions
*|	-------------------------------------------------------------------------*/

function isValidEmail(src) {
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
}

function ValidateEvent(form) {
	// Check for Empty fields
	errors = false;
	errorlist = "Please correct the following errors:\n\n";
	
	if (form.title.value.fullTrim()=='') {
		errorlist += '- Please enter a Title\n';
		errors=true;
	}
	if (form.description.value.fullTrim()=='') {
		errorlist += '- Please enter a Description\n';
		errors=true;
	}
	if (form.pri_genre.options[form.pri_genre.selectedIndex].value=='') {
		errorlist += '- Please select a Primary Genre\n';
		errors=true;
	}
	if (!IsValidDate(form.start_day.value,form.start_month.value,form.start_year.value)) {
		errorlist += '- Invalid Start Date\n';
		errors=true;
	}
	if (!form.english.checked && !form.japanese.checked) {
		errorlist += '- Please set a Language\n';
		errors=true;
	}
	
	if (errors) {alert (errorlist);}
	
	return !errors;
}

function ValidateAsset(form) {
	// Check for Empty fields
	errors = false;
	errorlist = "Please correct the following errors:\n\n";
	
	if (form.title.value.fullTrim()=='') {
		errorlist += '- Please enter a Show Title\n';
		errors=true;
	}
	if (!form.preroll.checked && !form.intjingle.checked && !form.outjingle.checked
		&& !form.advert.checked && form.pri_genre.options[form.pri_genre.selectedIndex].value=='') {
		errorlist += '- Please select a Primary Genre\n';
		errors=true;
	}
	if (form['mediatype[]'].selectedIndex=='-1') {
		errorlist += '- Please select one or more Media Types\n';
		errors=true;
	}
	if (form.filename.value.fullTrim()=='') {
		errorlist += '- Please enter a Filename\n';
		errors=true;
	}
	if (form.asset_email.value.fullTrim() != '' && !isValidEmail(form.asset_email.value)) {
		errorlist += '- Please correct the Email\n';
		errors=true;
	}
	if (errors) {alert (errorlist);}
	
	return !errors;
}

function preloadimages() {
	var myimages=new Array();
	for (i=0;i<preloadimages.arguments.length;i++) {
		myimages[i]=new Image();
		myimages[i].src=preloadimages.arguments[i]; 
	}
}

function hidePlaylist() {
	writeToLayer ('playlist','');
	var x = findDOM('playlist',0);
	x.style.visibility = 'hidden';
	x.style.left = 0;
	x.style.top = 0;
}

function showPlaylist(e,id,iframe)
{	
	var posx = 0;
	var posy = 0;
	var listhtml = "";
	if (!e) var e = window.event;
	
	if (e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	} else if (e.clientX || e.clientY)	{
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}
		
	var x = findDOM('playlist',0);
	
	if (iframe) {
		var a = findDOM('Fra'+iframe,0);	
		var ay = 0;
		while (a!=null) {
			ay += a.offsetTop;
			a = a.offsetParent;
		}
		x.style.left = posx+top.document.body.clientWidth/2-240;
		x.style.top = posy+10+ay-document.body.scrollTop;
	} else {
		x.style.left = posx-100;
		x.style.top = posy+10;
	}
	
	listhtml = '<table cellspacing="0" cellpadding="0" border="0" width="100%">\n';
	listhtml += '<tr><td colspan="3">\n';
	listhtml += '<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr bgcolor="#FF0000"><td height="18" class="heading" colspan="3"><img src="../assets/spacer.gif" width="6" height="18" align="absmiddle">Track List. </td><td align="right"><img src="../assets/close.gif" width="15" height="15" hspace="6" title="Close" border="0" onclick="hidePlaylist()" class="opacity1" onmouseover="this.className=\'opacity2\'" onmouseout="this.className=\'opacity1\'"></td></tr></table>\n';
	listhtml += '</td></tr>\n';
	listhtml += '<tr bgcolor="#CCCCCC"><td colspan="3"><img src="../assets/spacer.gif" width="1" height="6"></td></tr>\n';
	listhtml += '<tr><td bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="6" height="1"></td><td><iframe src="../player/getplaylist.php?id=' + id + '" scrolling=Auto width=348 height=300 frameborder=0></iframe></td><td bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="6" height="1"></td></tr>\n';
	listhtml += '<tr><td colspan="3" bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="1" height="6"></td></tr>\n';
	listhtml += '</table>\n';
	
	writeToLayer ('playlist',listhtml);
	x.style.visibility = 'visible';
}

function showMail(e,id,lang,iframe)
{	
	var posx = 0;
	var posy = 0;
	var listhtml = "";
	if (!e) var e = window.event;
	
	if (e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	} else if (e.clientX || e.clientY)	{
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}
		
	var x = findDOM('playlist',0);
	
	if (iframe) {
		var a = findDOM('Fra'+iframe,0);	
		var ay = 0;
		while (a!=null) {
			ay += a.offsetTop;
			a = a.offsetParent;
		}
		x.style.left = posx+top.document.body.clientWidth/2-240;
		x.style.top = posy+10+ay-document.body.scrollTop;
	} else {
		x.style.left = posx-100;
		x.style.top = posy+10;
	}
	
	if (lang=='en') {lang = '';}
	
	listhtml = '<table cellspacing="0" cellpadding="0" border="0" width="100%">\n';
	listhtml += '<tr><td colspan="3">\n';
	listhtml += '<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr bgcolor="#FF0000"><td height="18" class="heading" colspan="3"><img src="../assets/spacer.gif" width="6" height="18" align="absmiddle">Contact Artist </td><td align="right"><img src="../assets/close.gif" width="15" height="15" hspace="6" title="Close" border="0" onclick="hidePlaylist()" class="opacity1" onmouseover="this.className=\'opacity2\'" onmouseout="this.className=\'opacity1\'"></td></tr></table>\n';
	listhtml += '</td></tr>\n';
	listhtml += '<tr bgcolor="#CCCCCC"><td colspan="3"><img src="../assets/spacer.gif" width="1" height="6"></td></tr>\n';
	listhtml += '<tr><td bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="6" height="1"></td><td><iframe src="../player/getmail' + lang + '.php?id=' + id + '" scrolling=Auto width=348 height=220 frameborder=0></iframe></td><td bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="6" height="1"></td></tr>\n';
	listhtml += '<tr><td colspan="3" bgcolor="#CCCCCC"><img src="../assets/spacer.gif" width="1" height="6"></td></tr>\n';
	listhtml += '</table>\n';
	
	writeToLayer ('playlist',listhtml);
	x.style.visibility = 'visible';
}

if (window.location.href.indexOf('index')) {
	document.write ('<div id="playlist" style="position:absolute;visibility:hidden;width:360px;height:240px;background-color:#FFFFFF;top:0px;left:0px;"></div>');
}