
var podPressHttp_LoadFileInfo = getHTTPObject();
var podPressHttp_DetectLength = getHTTPObject();
var podPressHttp_DetectDuration = getHTTPObject();

var podPressLoadedMP3Info = '';
var podPressVarNum = '';
var podPressVarNum2 = '';

var podPressMediaFiles = new Array();
var podPressMediaContentNum = 0;

var podPressMediaFileForRSS = 'NOTSET';

var podPress_colorLocked = false;
var podPress_colorInput = '';


function podPressDetectLength(VarNum, params) {
	podPressVarNum = VarNum;
	document.getElementById('podPressMedia['+podPressVarNum+'][size]').value = 'DETECTING...';
	podPressHttp_DetectLength.open("GET", podPressBackendURL+params, true);
	podPressHttp_DetectLength.onreadystatechange = podPressDetectLengthHandler;
	podPressHttp_DetectLength.send(null);
}

function podPressDetectLengthHandler() {
 	if (podPressHttp_DetectLength.readyState == 4) {
		var tmp = podPressHttp_DetectLength.responseText;
		if(podPressHttp_DetectLength.responseText == '' || podPressHttp_DetectLength.responseText == 'M' || podPressHttp_DetectLength.responseText == '4096' ) {
			if(podPressMediaFiles[podPressVarNum]['size'] == '') {
				podPressMediaFiles[podPressVarNum]['size'] = 'UNKNOWN';
			}
		} else {
			podPressMediaFiles[podPressVarNum]['size'] = podPressHttp_DetectLength.responseText;
		}
		document.getElementById('podPressMedia['+podPressVarNum+'][size]').value = podPressMediaFiles[podPressVarNum]['size'];
	}
}

function podPressDetectDuration(VarNum, params) {
	podPressVarNum = VarNum;
	document.getElementById('podPressMedia['+podPressVarNum+'][duration]').value = 'DETECTING...';
	podPressHttp_DetectDuration.open("GET", podPressBackendURL+params, true);
	podPressHttp_DetectDuration.onreadystatechange = podPressDetectDurationHandler;
	podPressHttp_DetectDuration.send(null);
}

function podPressDetectDurationHandler() {
 	if (podPressHttp_DetectDuration.readyState == 4) {
		var tmp = podPressHttp_DetectDuration.responseText;
		if(podPressHttp_DetectDuration.responseText == '' || podPressHttp_DetectDuration.responseText == 'M' || podPressHttp_DetectDuration.responseText == '4096' ) {
			if(podPressMediaFiles[podPressVarNum]['duration'] == '') {
				podPressMediaFiles[podPressVarNum]['duration'] = 'UNKNOWN';
			}
		} else {
			podPressMediaFiles[podPressVarNum]['duration'] = podPressHttp_DetectDuration.responseText;
		}
		document.getElementById('podPressMedia['+podPressVarNum+'][duration]').value = podPressMediaFiles[podPressVarNum]['duration'];
	}
}


function podPressShowHideDiv(divname) {
	if(document.getElementById(divname).style.display == 'none') {
		document.getElementById(divname).style.display='block';
		if(document.getElementById(divname+'_text') != undefined) {
			document.getElementById(divname+'_text').innerHTML = '(Hide)';
		}
		if(document.getElementById(divname+'_button') != undefined) {
			document.getElementById(divname+'_button').value = 'Hide';
		}
	} else {
		document.getElementById(divname).style.display='none';
		if(document.getElementById(divname+'_text') != undefined) {
			document.getElementById(divname+'_text').innerHTML = '(Show)';
		}
		if(document.getElementById(divname+'_button') != undefined) {
			document.getElementById(divname+'_button').value = 'Show';
		}
	}
}

function podPressShowHideRow(rowname) {
	if(document.getElementById(rowname).style.display == 'none') {
		document.getElementById(rowname).style.display='';
	} else {
		document.getElementById(rowname).style.display='none';
	}
}

function podPressLoadFileInfo(VarNum) {
	podPressVarNum2 = VarNum;
	var mp3filename = document.getElementById('podPressMedia['+VarNum+'][URI]').value;
	if(mp3filename != podPressLoadedMP3Info) {
		podPressLoadedMP3Info = mp3filename;
		document.getElementById('podPressMedia['+VarNum+'][mp3_details]').innerHTML='Loading ID tag information.<br/> If file is remote this could take several seconds.';
		podPressHttp_LoadFileInfo.open("GET", podPressBackendURL+'standalone=no&action=showID3Contents&filename='+mp3filename, true);
 	 	podPressHttp_LoadFileInfo.onreadystatechange = podPressLoadFileInfoHandler;
		podPressHttp_LoadFileInfo.send(null);	
	}
}

/* MP3 info functions */
function podPressLoadFileInfoHandler() {
	if (podPressHttp_LoadFileInfo.readyState == 4) {
		document.getElementById('podPressMedia['+podPressVarNum2+'][mp3_details]').innerHTML=podPressHttp_LoadFileInfo.responseText;
	} 	
}

function podPressShowHideMP3Details(VarNum) {
	if(document.getElementById('podPressMedia['+VarNum+'][mp3_details]').style.display=='block') {
		document.getElementById('podPressMedia['+VarNum+'][mp3_details_button]').value='Show';
		document.getElementById('podPressMedia['+VarNum+'][mp3_details]').style.display='none';
		return;
	} else {
		document.getElementById('podPressMedia['+VarNum+'][mp3_details_button]').value='Hide';
		document.getElementById('podPressMedia['+VarNum+'][mp3_details]').style.display='block';
		podPressLoadFileInfo(VarNum);
	}
}

function podPress_updateImage(imageName, imageUri) {
	if(imageUri == '') {
		document.getElementById(imageName).src = 'http://www.mightyseek.com/images/powered_by_podpress_large.jpg';
	} else {
		document.getElementById(imageName).src = imageUri;
	}
}

function podPress_updateItunesImage() {
	if(document.getElementById('iTunes[image]').value == '') {
		if(document.getElementById('rss_image').value == '') {
			document.getElementById('iTunesPreviewImage').src = 'http://www.mightyseek.com/images/powered_by_podpress_large.jpg';
		} else {
			document.getElementById('iTunesPreviewImage').src = document.getElementById('rss_image').value;
		}
	} else {
		document.getElementById('iTunesPreviewImage').src = document.getElementById('iTunes[image]').value;
	}
}

function podPress_updateItunesDescription() {
	if(document.getElementById('iTunes[summary]').value == '') {
		if(document.getElementById('blogdescription').value == '') {
			document.getElementById('itunesDescriptionPreview').innerHTML = 'NO DESCRIPTION IS SET. APPLE WILL REJECT THIS FEED.';
		} else {
			document.getElementById('itunesDescriptionPreview').innerHTML = document.getElementById('blogdescription').value;
		}
	} else {
		document.getElementById('itunesDescriptionPreview').innerHTML = document.getElementById('iTunes[summary]').value;
	}
}

function podPress_updateItunesPreview() {
	podPress_updateItunesImage();
	podPress_updateItunesDescription();
	document.getElementById('blognamePreview').innerHTML = document.getElementById('blogname').value;
	document.getElementById('itunesAuthorPreview').innerHTML = document.getElementById('iTunes[author]').value;
	var rsslanguageIDX = document.getElementById('rss_language').selectedIndex;
	document.getElementById('rsslanguagePreview').innerHTML = document.getElementById('rss_language').options[rsslanguageIDX].text;
	var catArray = document.getElementById('iTunes[category][0]').value.split(':');
	if (catArray[1] == undefined) {
		var cat = catArray[0];
	} else {
		var cat = catArray[1];
	}
	document.getElementById('itunesCategoryPreview').innerHTML = cat;
}

function podPressID3ToPost(VarNum) {
	document.getElementById('title').value = document.getElementById('podPressMedia['+VarNum+'][tagTitle]').innerHTML;
	document.getElementById('content').value = document.getElementById('podPressMedia['+VarNum+'][tagDescription]').innerHTML;
}

function podPressUpdateDimensions(VarNum, val) {
	var valArray = val.split(':');
	podPressMediaFiles[VarNum]['dimensionW'] = valArray[0];
	document.getElementById('podPressMedia['+VarNum+'][dimensionW]').value = valArray[0];
	podPressMediaFiles[VarNum]['dimensionH'] = valArray[1];
	document.getElementById('podPressMedia['+VarNum+'][dimensionH]').value = valArray[1];
	podPressShowPreviewImage(VarNum);
}

function podPressDisplayMediaFiles() {
	for (var i=0; i < podPressMaxMediaFiles; i++) {
		if (podPressMediaFiles[i] != undefined && podPressMediaFiles[i]['showme'] == true) {
			document.getElementById('podPressMediaFileContainer_'+i).style.display = 'block';
		} else {
			document.getElementById('podPressMediaFileContainer_'+i).style.display = 'none';
		}
		podPressSetMediaFileValues(i);
	}
}

function podPressAddMediaFile(showme, txtURI, txtURI_torrent, txttitle, txttype, txtsize, duration, dimensionW, dimensionH, previewImage, rss, atom, content_level) {
	if(rss == 'new') {
		if(podPressMediaFiles.length == 0) {
			rss = true;
		} else {
			rss = false;
		}
	} 
	var newMediaFileData = new Array();
  newMediaFileData['showme'] = showme;
  newMediaFileData['URI'] = txtURI;
  newMediaFileData['URI_torrent'] = txtURI_torrent;
  newMediaFileData['title'] = txttitle;
	newMediaFileData['type'] = txttype;
	newMediaFileData['size'] = txtsize;
	newMediaFileData['duration'] = duration;
	newMediaFileData['dimensionW'] = dimensionW;
	newMediaFileData['dimensionH'] = dimensionH;
	newMediaFileData['previewImage'] = previewImage;
	newMediaFileData['rss'] = rss;
	newMediaFileData['atom'] = atom;
	newMediaFileData['content_level'] = content_level;
	podPressMediaFiles[podPressMediaContentNum] = newMediaFileData;
	podPressMediaContentNum++;
}

function podPressRemoveFile(VarNum) {
	var orig_podPressMediaFiles = podPressMediaFiles;
	if(podPressMediaFileForRSS == VarNum) {
		podPressMediaFileForRSS = 'NOTSET';
	}
  podPressMediaFiles = new Array();
	podPressMediaContentNum = 0;
	max = orig_podPressMediaFiles.length;
	for (var i=0; i<=max; i++) {
		if(i != VarNum) {
			podPressMediaFiles[podPressMediaContentNum] = orig_podPressMediaFiles[i];
			podPressMediaContentNum++;
		}
	}
}


function podPressMoveFile(VarNum, Direction) {
	if(Direction == 'up') {
		var newVarNum	= VarNum - 1;
	}

	if(Direction == 'down') {
		var newVarNum	= VarNum + 1;
	}

	if(podPressMediaFiles[newVarNum] != undefined) {
		var holdme = podPressMediaFiles[newVarNum];
		podPressMediaFiles[newVarNum] = podPressMediaFiles[VarNum];
		podPressMediaFiles[VarNum] = holdme;
	}
}

function podPressSetMediaFileValues (VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		data = newMediaDefaults;
	} else {
		data = podPressMediaFiles[VarNum];
	}
	document.getElementById('podPressMedia['+VarNum+'][URI]').value = data['URI'];
	if(document.getElementById('podPressMedia['+VarNum+'][URI_torrent]') != undefined) {
		document.getElementById('podPressMedia['+VarNum+'][URI_torrent]').value = data['URI_torrent']; 
	}
	document.getElementById('podPressMedia['+VarNum+'][title]').value = data['title']; 	
	document.getElementById('podPressMedia['+VarNum+'][type]').value = data['type']; 	
	document.getElementById('podPressMedia['+VarNum+'][size]').value = data['size']; 	
	document.getElementById('podPressMedia['+VarNum+'][duration]').value = data['duration']; 	
	document.getElementById('podPressMedia['+VarNum+'][dimensionW]').value = data['dimensionW']; 	
	document.getElementById('podPressMedia['+VarNum+'][dimensionH]').value = data['dimensionH'];
	document.getElementById('podPressMedia['+VarNum+'][previewImage]').value = data['previewImage'];
	podPressMediaSetNonTextInputs(VarNum);
	podPressShowPreviewImage(VarNum);
}

function podPressShowPreviewImage(VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		data = newMediaDefaults;
	} else {
		data = podPressMediaFiles[VarNum];
	}

	var typeOfMedia = data['type'].substring(0,6);
	if(typeOfMedia != 'video_'){
		document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = 'none';
		document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = 'none';
		document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).src = '';
		document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).width = '0';
		document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).height = '0';
	} else {
		if(data['previewImage'] == '') {
			document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = '';
			document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = 'none';
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).src = '';
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).width = '0';
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).height = '0';
		} else {
			document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = '';
			document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = '';
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).src = data['previewImage'];
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).width = data['dimensionW'];
			document.getElementById('podPressMediaPreviewImageDisplayIMG_'+VarNum).height = data['dimensionH'];
		}
	}
}

function podPressMediaSetNonTextInputs(VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		data = newMediaDefaults;
	} else {
		data = podPressMediaFiles[VarNum];
	}
	document.getElementById('podPressMedia['+VarNum+'][type]').value = data['type']; 	
	podPressAdjustMediaFieldsBasedOnType(VarNum);

	podPressSetSingleRSS(VarNum);
	document.getElementById('podPressMedia['+VarNum+'][atom]').checked =data['atom']; 
	if(document.getElementById('podPressMedia['+VarNum+'][content_level]') != undefined) {
		document.getElementById('podPressMedia['+VarNum+'][content_level]').value = data['content_level'];
	}
}

function podPressSetSingleRSS(VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		data = newMediaDefaults;
	} else {
		data = podPressMediaFiles[VarNum];
	}
	if(podPressMediaFileForRSS == VarNum && data['rss'] == false) {
		podPressMediaFileForRSS = 'NOTSET';
		document.getElementById('podPressMedia['+VarNum+'][rss]').checked = data['rss']; 	
	}
	if(podPressMediaFileForRSS == 'NOTSET' && data['rss'] == true) {
		podPressMediaFileForRSS = VarNum;
	}
	if(podPressMediaFileForRSS != VarNum && podPressMediaFileForRSS != 'NOTSET' && data['rss'] == true) {
		if(podPressMediaFiles[podPressMediaFileForRSS] != undefined) {
			podPressMediaFiles[podPressMediaFileForRSS]['rss'] = false;
		}
		if(document.getElementById('podPressMedia['+podPressMediaFileForRSS+'][rss]') != undefined) {
			document.getElementById('podPressMedia['+podPressMediaFileForRSS+'][rss]').checked = podPressMediaFiles[podPressMediaFileForRSS]['rss']; 	
		}
		podPressMediaFileForRSS = VarNum;
	}
	if(podPressMediaFileForRSS == VarNum && data['rss'] == true) {
		document.getElementById('podPressMedia['+VarNum+'][rss]').checked = true; 
	}
}

function podPressAdjustMediaFieldsBasedOnType(VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		data = newMediaDefaults;
	} else {
		data = podPressMediaFiles[VarNum];
	}
	var typeOfMedia = data['type'].substring(0,6);
	if(typeOfMedia == 'audio_' || typeOfMedia == 'video_'){
		document.getElementById('podPressMediaDurationWrapper_'+VarNum).style.display=''; 	
 } else {
		document.getElementById('podPressMediaDurationWrapper_'+VarNum).style.display='none'; 	
 }
 
 if(typeOfMedia == 'video_'){
		document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display='';
		document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display=''; 	
 } else {
		document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display='none';
		document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display='none';
		document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display='none'; 	
 }
}

function podPressDetectType(VarNum) {
	var data = new Array();
	if(podPressMediaFiles[VarNum] == undefined) {
		return;
	}
	var lenOfMedia = podPressMediaFiles[VarNum]['URI'].length;
	var extOfMedia = podPressMediaFiles[VarNum]['URI'].substring(lenOfMedia-3, lenOfMedia);
	var result = '';
	switch(extOfMedia) {
		case 'mp3': result = 'audio_mp3'; break
		case 'ogg': result = 'audio_ogg'; break
		case 'm4a': result = 'audio_m4a'; break
		case 'mp4': result = 'video_mp4'; break
		case 'm4v': result = 'video_m4v'; break
		case 'mov': result = 'video_mov'; break
		case '.qt': result = 'video_qt'; break
		case 'avi': result = 'video_avi'; break
		case 'mpg': result = 'video_mpg'; break
		case 'peg': result = 'video_mpg'; break
		case 'asf': result = 'video_asf'; break
		case 'wmv': result = 'video_wmv'; break
		case 'flv': result = 'video_flv'; break
		case 'pdf': result = 'ebook_pdf'; break
		default: result = 'misc_other';
	}
	document.getElementById('podPressMedia['+VarNum+'][type]').value=result; 	
	podPressMediaFiles[VarNum]['type'] = result;
	podPressAdjustMediaFieldsBasedOnType(VarNum);
}

function podPress_colorSet(hval) {
	if (!podPress_colorLocked) {
		if(document.getElementById(podPress_colorInput) != undefined) {
			document.getElementById(podPress_colorInput).value = hval;
			document.getElementById(podPress_colorInput).style.background = hval;
		}
	}
}

function podPress_switchColorInputs(idname) {
	if(idname != podPress_colorInput) {
		podPress_colorInput = idname;
		podPress_colorLocked = false;
	}
}
	
function podPress_colorLock() {
	if (podPress_colorLocked)
	{
		podPress_colorLocked = false;
	} else {
		podPress_colorLocked = true;
	}
}

function podPress_colorReset() {
	document.getElementById('playerSettings[bg]').value = '#F8F8F8';
	document.getElementById('playerSettings[bg]').style.background = '#F8F8F8';
	document.getElementById('playerSettings[leftbg]').value = '#F8F8F8';
	document.getElementById('playerSettings[leftbg]').style.background = '#F8F8F8';
	document.getElementById('playerSettings[text]').value = '#666666';
	document.getElementById('playerSettings[text]').style.background = '#666666';
	document.getElementById('playerSettings[leftbg]').value = '#EEEEEE';
	document.getElementById('playerSettings[leftbg]').style.background = '#EEEEEE';
	document.getElementById('playerSettings[lefticon]').value = '#666666';
	document.getElementById('playerSettings[lefticon]').style.background = '#666666';
	document.getElementById('playerSettings[rightbg]').value = '#CCCCCC';
	document.getElementById('playerSettings[rightbg]').style.background = '#CCCCCC';
	document.getElementById('playerSettings[rightbghover]').value = '#999999';
	document.getElementById('playerSettings[rightbghover]').style.background = '#999999';
	document.getElementById('playerSettings[righticon]').value = '#666666';
	document.getElementById('playerSettings[righticon]').style.background = '#666666';
	document.getElementById('playerSettings[righticonhover]').value = '#FFFFFF';
	document.getElementById('playerSettings[righticonhover]').style.background = '#FFFFFF';
	document.getElementById('playerSettings[slider]').value = '#666666';
	document.getElementById('playerSettings[slider]').style.background = '#666666';
	document.getElementById('playerSettings[track]').value = '#FFFFFF';
	document.getElementById('playerSettings[track]').style.background = '#FFFFFF';
	document.getElementById('playerSettings[loader]').value = '#9FFFB8';
	document.getElementById('playerSettings[loader]').style.background = '#9FFFB8';
	document.getElementById('playerSettings[border]').value = '#666666';
	document.getElementById('playerSettings[border]').style.background = '#666666';
}
