
// global request and XML document objects
var req;
// global vars
var curTran; 		//Current Tranceiver: stores the value of the source or direction of the ajax request
var arrVideo;		//all video information within the chart (navigation)
var this_URL;		//url to the video playing.

function initDivs(){
	hidediv('saving-file');
}

function finishPlayList(){
//	if (clipType == 'wvpvc'){
//		playVCFlash(ver, zip, tid, zcode, rep, lvl)
//	}
}

function showVideoContent(cat, act){
	var nextClipId = clipId;

	switch (act) {
	case '1':
		for (i=0;i<parent.arrVideoList.length;i++)
		{
			if (parent.arrVideoList[i] == clipId){
				if (i == parent.arrVideoList.length-1){
					nextClipId = parent.arrVideoList[0];
				}else{
					nextClipId = parent.arrVideoList[i+1];
				}
			}
		}
		parent.location='/default.aspx?cliptype='+clipType+'&clipId='+nextClipId+'&'+parent.qs2;
		break;
	case '2':
		window.open('/videoShare.aspx?cliptype='+clipType+'&clipId2='+nextClipId+'&'+parent.qs2,
			'ShareVideo','left=20,top=20,width=400,height=76,status=0,toolbar=0,resizable=0');
		break;
	case '3':
		parent.location='/default.aspx?cliptype=wvpcv&'+parent.qs2;
		break;
	case '4':
		parent.location='/default.aspx?cliptype=wvpvc&'+parent.qs2;
		break;
	case '5':
		parent.location='/default.aspx?cliptype=wvpfv&'+parent.qs2;
		break;
	case '6':
		parent.location='/default.aspx?cliptype=wvpsc&'+parent.qs2;
		break;	
	case '7':
		parent.location='/default.aspx?cliptype=wvpfv&'+parent.qs2;
		break;
	default :
		buildArray();
	}
}
function loadXMLDoc(url, transceiver) {
    showdiv('saving-file');
	curTran = transceiver;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}


// handle onreadystatechange event of req object
function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
				channelResponse();
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
            hidediv('saving-file');
         }
    }
}

// handle onreadystatechange event of req object

/*  	channels or directs the response of the ajax function to
		the requester or the appropriate function		*/
function channelResponse() {
	switch (curTran) {
	case 'chart_new':
		buildArray('new');
		break;
	case 'chart_pop':
		buildArray('pop');
		break;
	case 'chart_top':
		buildArray('top');
		break;
	case 'chart_shr':
		buildArray('shr');
		break;
	case 'chart_sch':
		buildArray('sch');
		break;
	case 'rate':
		rateVideoResponse();
		break;	
	case 'subscribe':
		subscribeVideoResponse();
		break;
	case 'share':
		shareVideoResponse();
		break;
	case 'review':
		reviewVideoResponse();
		break;
	case 'reviews':
		reviewsResponse();
		break;
	case 'media':
		mediaVideoResponse();
		break;
	default :
		buildArray();
	}
	hidediv('saving-file');
}


/*		initialize function  */
function playerInit(ClipId, BlnStart) {
	var q = 'clipurl='+escape(clipUrl+'|'+oasUrl+'|'+clipType);
	playNewFlash('http://'+curDomain+'/ucastservices/flashplaylist.aspx?'+q, -1, BlnStart);
}

function playerVCInit() {
	clipUrlVC = 'FSS_WMP.swf?08012006';

	var q = '';
	if (oasUrl != '' && oasUrl != null){
		q = 'clipUrl='+escape(clipUrlVC+'|'+oasUrl);
	}else{
		q = 'clipUrl='+escape(clipUrlVC);
	}
	playNewFlash2('http://'+curDomain+'/ucastservices/vcplaylist.aspx?'+q, -1, 1);
}


/*  	i_menu
		channels or directs the response of the any call to
		change the chart/navigation or to search		*/
function loadChart(c, _from, _to) {
	if (nChartView == null || nChartView == '') {
		nChartView = 50;
	}
	var vlist = 'new';
	var nrand=Math.floor(Math.random()*100000000); 
	
	function _url (_list) {
		return '/uCastServices/getListData.aspx?list='+_list+'&count='+nChartView+'&clipType='+clipType+'&r='+nrand+'&user='+activeUser+'&zcode='+zcode;
	}
	
	function _url_sch(_f, _t) {
		//_by = document.getElementById('searchby').value;
		_by = 'title';
		
		if (_f != null && _t != null) {
			_uri = '/uCastServices/getIndexData.aspx?clipType='+clipType+'&count='+nChartView+'&r='+nrand+'&user='+activeUser+'&zcode='+zcode+'&searchby='+_by;
			_uri += '&start='+_f+'&end='+_t;
		} else {
		_s = document.getElementById('searchphrase').value;
			_uri = '/uCastServices/getSearchData.aspx?clipType='+clipType+'&count='+nChartView+'&r='+nrand+'&user='+activeUser+'&zcode='+zcode+'&searchby='+_by;
			_uri += '&searchphrase=' +_s;
		}
		return _uri;
	}
	
	switch (c) {
	case 'new':	//New
		vlist = 'new'
		loadXMLDoc(_url(vlist), 'chart_new');
		break;
	case 'pop':		//Most Popular
		vlist = 'most_popular'
		loadXMLDoc(_url(vlist), 'chart_pop');
		break;	
	case 'top':		//Top Rated
		vlist = 'top_rated'
		loadXMLDoc(_url(vlist), 'chart_top');
		break;
	case 'shr':		//Most Shared
		vlist = 'most_shared'
		loadXMLDoc(_url(vlist), 'chart_shr');
		break;
	case 'all':		//Search
		vlist = 'all'
		loadXMLDoc(_url(vlist), 'chart_sch');
		break;
	case 'sch':		//Search
		loadXMLDoc(_url_sch(_from, _to), 'chart_sch');
		break;
	case 'alt':		//Alter Search
			//onchange (search by)
		break;
	default :
		loadXMLDoc(_url(vlist), 'chart_new');
	}
		
}


/*  	Function creates the array for all videos displayed in the menu (chart).
		Stores all information about the videos in this array.  */
function buildArray(tab) {
	var x = req.responseXML.getElementsByTagName('video');    //xmlDoc.getElementsByTagName('video');

	arrVideo= new Array();
	for (i=0;i<x.length;i++)
	{
		arrVideo[i] = new Array();
		for (j=0;j<x[i].childNodes.length;j++)
		{
			var thjs = x[i].childNodes[j];
			if (thjs.nodeType != 1) continue;
			if (thjs.firstChild == null){
				arrVideo[i][thjs.nodeName]='';
			}else{
				arrVideo[i][thjs.nodeName]=thjs.firstChild.nodeValue;
			}
		}
	}
	createList(arrVideo, tab);
}

// ----

/*  	Function creates the video menu (chart)  */
function createList(_arr, _tab) {
	var th2 = '';
	switch (_tab) {
	case 'new':		//New
		th2 = 'date';
		break;
	case 'pop':		//Most Popular
		th2 = 'views';
		break;	
	case 'top':		//Top Rated
		th2 = 'rating';
		break;
	case 'shr':		//Most Shared
		th2 = 'shared';
		break;
	case 'sch':		//Search
		//additional logic to get variables of search
		th2 = 'date';
		break;
	default :
		th2 = 'date';
	}
	
	arrVideoList= new Array();
	var htmlx ='';
	htmlx += '<table border="0" cellspacing="0" cellpadding="0">';
		htmlx += '<tbody>';
			htmlx += '<tr class="video_list_cols">';
				htmlx += '<th id="video_list_title" class="video_list_title">';
					htmlx += 'title';
				htmlx += '</th>';
				htmlx += '<th id="video_list_date" class="video_list_date">';
					htmlx += th2;
				htmlx += '</th>';
			htmlx += '</tr>';
		
		for (i=0;i<_arr.length;i++)
		{
			arrVideoList[i] = _arr[i]['id'];
			htmlx += '<tr id="'+ _arr[i]['id'] +'" onClick=" playVideo(this, \'' + _arr[i]['id'] + '\', \''+ _arr[i]['url'] +'\');" onMouseOver="mhover(this, \'over\');" onMouseOut="mhover(this, \'out\');">';
				htmlx += '<td class="video_list_title">';
						htmlx += /*i+1 + '. ' + */ _arr[i]['title'];
				htmlx += '</td>';
				htmlx += '<td class="video_list_date">';
					htmlx += '(' + _arr[i][th2] + ')';
				htmlx += '</td>';
			htmlx += '</tr>';
		}
		htmlx += '</tbody>';
	htmlx += '</table>';
	document.getElementById('chart_list').innerHTML = htmlx;
	setVideoListTab(_tab);
}

/*  	Function makes mouse over (hover) possible for the menu (chart): 
		switches classes because switching styles is not as flexible.  */
function mhover(xelement, yswitch) {
	if (xelement.className!='video_list_playing') {
		if (yswitch == 'over') {
			xelement.className="video_list_hover";
		}
		if (yswitch == 'out') {
			xelement.className="";
		}
	}
}



/* 	gets the video index of elementx having value elementxVal
		and is useful for getting the index of the array based on the 
		unique id of the movie, to access other information about the video
		(could also be used to find the first index of non unique identifiers:
		 find the most popular of this_user in the array )  */
function getVideoIndex(elementx, elementxVal) {
	for (i=0;i<arrVideo.length;i++) {
		if (arrVideo[i][elementx] == elementxVal) {
			return i;
		}
	}
}

/*		i_player    */
var videoPlaying = Array('','')

function playVideo(xthis, xid, xurl) {
	if (xthis != videoPlaying[1]) {
		xthis.className = 'video_list_playing';
		if (videoPlaying[1].className) {
			videoPlaying[1].className = '';
		}
		videoPlaying[1] = xthis;
	
		var i = getVideoIndex('id', xid);  //array search for index of video based on id

		var nrand=Math.floor(Math.random()*100000000); 
		
		var xFrame = document.getElementById('video-frame');
		var vUrl = 'video.aspx';
		vUrl += '?clipid2=' + xid;
		vUrl += '&' + queryString;
		vUrl += '&' + nrand;
		xFrame.src = vUrl;
	}
}

/*		These functions are to be accessed as a result of a video change FROM the menu.
		These functions rely on the array of which the menu (chart) was built.  */
var arrTab = new Array();
	arrTab[0]='new';
	arrTab[1]='pop';
	arrTab[2]='top';
	arrTab[3]='shr';
	arrTab[4]='sch';
var prevTab = '';

function setVideoListTab(nextTab) {
	if (prevTab == '' || prevTab != nextTab ) { // check if we need to switch tabs

		for (i=0; i<arrTab.length; i++) {
			if (arrTab[i] == nextTab) {
				var tabSelected = arrTab[i];
				document.getElementById('chart_tab_'+arrTab[i]).className = 'chart_tab_'+arrTab[i]+'_on';
				prevTab = tabSelected;
			} else {
				document.getElementById('chart_tab_'+arrTab[i]).className = 'chart_tab_'+arrTab[i]+'_off';
			}
		}
	}
	//tabSelected = (tabSelected == null || tabSelected == 'undefined') ? ('new') : ( tabSelected );
}
		
function setVideoTitle(i) {
	var video_title = arrVideo[i]['title'].toUpperCase();	
	document.getElementById('video_title').innerHTML = video_title;
}

function setVideoUser(i) {
	var this_user = arrVideo[i]['user'];
	document.getElementById('this_user').innerHTML = this_user;
}

function setVideoDesc(i) {
	var desc = (arrVideo[i]['desc'] == '---') ? ('no description') : (arrVideo[i]['desc']);  // checks to make sure there is a description.
	document.getElementById('desc').innerHTML = desc;
}

function setVideoURL(i) {
	// Text for link
	bookmark_txt = (bookmark_txt == '' || bookmark_txt == null ) ? ('Bookmark this Clip') : (bookmark_txt) ;
	// url you wish to have bookmarked
	bookmark_url = 'http://' + document.domain + arrVideo[i]['url'];
	// caption to appear with bookmark
	bookmark_what = "WeatherBug uCast: " + arrVideo[i]['user'] + "'s " + arrVideo[i]['title']

	var b =	'<A HREF="javascript:bookmark(bookmark_url, bookmark_what);" ';
	b += 	'onMouseOver="window.status=bookmark_what; return true;" ';
	b +=	'onMouseOut="window.status=\'\'; return true; " >'+bookmark_txt+'</a>';
	

	document.getElementById('this_bookmark').innerHTML = b;
	document.getElementById('this_link').href = bookmark_url;
	
	/* Other Bookmarks   */
	var delicious = "http://del.icio.us/post?url=" + bookmark_url + "&title=" + bookmark_what;
	var yahoo = "http://synergy2.search.yahoo.com/myresults/bookmarklet?u=" + bookmark_url + "&t=" + bookmark_what;
	var spurl = "http://www.spurl.net/spurl.php?v=3&title=" + bookmark_what + "u=" + bookmark_url ;
	var furl = "http://furl.net/storeIt.jsp?t=" + bookmark_url +  "&u=" + bookmark_what;
	var newsvine = "http://www.newsvine.com/_tools/seed&save?u=" + bookmark_url + "&h=" + bookmark_what;
	var fark = "http://cgi.fark.com/cgi/fark/edit.pl?new_url=" + bookmark_url + "&new_comment=" + bookmark_what + "&URL=" + bookmark_url;
	
	document.getElementById('link_delicious').href = delicious;
	document.getElementById('link_spurl').href = spurl;
	document.getElementById('link_yahoo').href = yahoo;
	document.getElementById('link_furl').href = furl;
	document.getElementById('link_newsvine').href = newsvine;
	document.getElementById('link_fark').href = fark;
}

function setVideoViews(i) {
	var this_views = arrVideo[i]['views'];
	document.getElementById('this_views').innerHTML = this_views;
}

function setVideoRatings(i, rating, ratings) {
	if (ratings == null && ratings == null ) {
		var this_rating = arrVideo[i]['rating'];
		var this_ratings = arrVideo[i]['ratings'];
	} else {
		var this_rating = rating;
		var this_ratings = ratings;
	}
	this_rating_class = 'current-rating-' + replaceChars(this_rating, ".", "-");

	document.getElementById('current_rating').className = this_rating_class;
	document.getElementById('this_ratings').innerHTML = this_ratings;
}

function setVideoId(i) {
	var v_id = arrVideo[i]['id'];
	document.getElementById('share_id').value = v_id;
	document.getElementById('review_id').value = v_id;
}


/*		 Video Player Functions/Object		*/
function playNew(video_id, uid, blnStart, blnChangeZipCode) {
	if (blnChangeZipCode == undefined)
	{
		blnChangeZipCode = "0";
	}
	playNewFlash(clipUrl, -1, "true");
}

/*		 Video Windows Media Player Functions/Object		*/
//function playNewMedia(video_id, uid, blnStart) {
function playNewMedia(video_url, uid, blnStart) {
	document.getElementById('video_player').innerHTML='<object width="320" height="280"  align="center" hspace="1"  style="border: 0px solid #C4C5D3;" VIEWASTEXT '
      +'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" '
      +'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
      +'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
      +'<param name="url" value="' + video_url + '">'
      +'<param name="uiMode" value="full">'
      +'<param name="TransparentAtStart" value="1">'
      +'<param name="autoStart" value="' + blnStart + '">'
      +'<embed type="application/x-mplayer2" '
      +'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
      +'showcontrols="true" uimode="full" width="320" height="280" hspace="10" '
      +'src="' + video_url + '" autostart="1">'
	  +'</object>';
		setVideoPlayerImage(imageUrl, imageClickUrl);
}

function playNewFlash(video_url, uid, blnStart) {
	if (isRightFlashVersion){
		var objS_SWF = "/FLV_PlayList.swf?08012006";
		var objS_ID = "FLV_PlayList";
		var objS_Width = "320";
		var objS_Height = "280";
		var objS_Version = "8.0.22.0";
	//	var objS_Version = "7";
		var objS_BGColor = "#FFFFFF";

		var so = new SWFObject(objS_SWF, objS_ID, objS_Width, objS_Height, objS_Version, objS_BGColor);

		so.addVariable("x", "x");
		so.addVariable("playListXML", video_url);
		so.addVariable("bgColor", "0xCACACA");
	//	so.addVariable("bgColor", "0x0D3D7D");
		//so.addVariable("autoStart", "false");
		so.addVariable("autoStart", "true");
		so.addVariable("clipType", clipType);
		so.addVariable("clipID", clipId);
		so.addVariable("callJS", "true");
		so.addVariable("x", "x");
		so.write("video_player");
		document.getElementById(objS_ID).focus();
	}
}
function playNewFlash2(video_url, uid, blnStart) {
	var objS_SWF = "/FLV_PlayList.swf?08012006";
	var objS_ID = "FLV_PlayList";
	var objS_Width = "320";
	var objS_Height = "240";
	var objS_Version = "8.0.22.0";
//	var objS_Version = "7";
	var objS_BGColor = "#FFFFFF";

	var so = new SWFObject(objS_SWF, objS_ID, objS_Width, objS_Height, objS_Version, objS_BGColor);

	so.addVariable("x", "x");
	so.addVariable("playListXML", video_url);
	so.addVariable("bgColor", "0xCACACA");
//	so.addVariable("bgColor", "0x0D3D7D");
	//so.addVariable("autoStart", "false");
	so.addVariable("autoStart", "true");
	so.addVariable("allowScriptAccess", "sameDomain");
	so.addVariable("zipcode", zip);
	so.addVariable("orderData", "1|2|7|4|5|8");
	so.addVariable("soundData", "snd_A_1.mp3|snd_B_1.mp3|snd_G_1.mp3|snd_D_1.mp3|snd_E_1.mp3|snd_H_1.mp3");
	so.addVariable("bgSound", "StimulationOne.mp3");
	so.addVariable("feedbackURL", "");
	so.addVariable("ThemeID", tid);
	so.addVariable("uid", "1");
	so.addVariable("zcode", zcode);
	so.addVariable("rep", rep);
	so.addVariable("lvl", lvl);
	so.addVariable("clipType", clipType);
	so.addVariable("clipId", "-1");
	so.addVariable("callJS", "true");
	so.addVariable("x", "x");
	so.addParam("quality", "high");
	so.addParam("scale", "Showall");
	so.addParam("salign", "lt");
	so.write("video_player");
	document.getElementById(objS_ID).focus();
}
function playVCFlash(version, zip, tid, zcode, rep, lvl) {
	var clipUrlVC = 'FSS_WMP.swf?08012006';
	var q = '';
	if (oasUrl != '' && oasUrl != null){
		q = 'clipUrl='+escape(clipUrlVC+'|'+oasUrl);
	}else{
		q = 'clipUrl='+escape(clipUrlVC);
	}
	playNewFlash2('http://'+curDomain+'/ucastservices/vcplaylist.aspx?'+q, -1, 1);

	return;
	
	var objS_SWF = "/FSS_WMP.swf?08012006&"+ver;
	var objS_ID = "FSS_WMP";
	var objS_Width = "320";
	var objS_Height = "240";
	var objS_Version = "7.0.69.0";
	var objS_BGColor = "#FFFFFF";

	var so_vc = new SWFObject(objS_SWF, objS_ID, objS_Width, objS_Height, objS_Version, objS_BGColor);

	so_vc.addVariable("x", "x");
	so_vc.addVariable("allowScriptAccess", "sameDomain");
	so_vc.addVariable("zipcode", zip);
	so_vc.addVariable("orderData", "1|2|7|4|5|8");
	so_vc.addVariable("soundData", "snd_A_1.mp3|snd_B_1.mp3|snd_G_1.mp3|snd_D_1.mp3|snd_E_1.mp3|snd_H_1.mp3");
	so_vc.addVariable("bgSound", "StimulationOne.mp3");
	so_vc.addVariable("feedbackURL", "");
	so_vc.addVariable("Themeid", tid);
	so_vc.addVariable("uid", "1");
	so_vc.addVariable("zcode", zcode);
	so_vc.addVariable("rep", rep);
	so_vc.addVariable("lvl", lvl);
	so_vc.addVariable("x", "x");

	so_vc.addParam("quality", "high");
	so_vc.addParam("scale", "Showall");
	so_vc.addParam("salign", "lt");
	
	so_vc.write("video_player_vc");
	document.getElementById(objS_ID).focus();

	return;
	
	var h = '<OBJECT classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
		h += 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" ';
		h += 'WIDTH="320" ';
		h += 'HEIGHT="240" ';
		h += 'ID="FSS" ';
		h += 'ALIGN="middle" VIEWASTEXT> ';
		h += '<PARAM NAME="allowScriptAccess" VALUE="sameDomain" /> ';
		h += '<PARAM NAME="FlashVars" VALUE="&x=x&zipcode=' + zip + '&cityData=some town&stateData=MD&orderData=1|2|7|4|5|8&soundData=snd_A_1.mp3|snd_B_1.mp3|snd_G_1.mp3|snd_D_1.mp3|snd_E_1.mp3|snd_H_1.mp3&bgSound=StimulationOne.mp3&feedbackURL=&Themeid=' + tid + '&uid=1&zcode=' + zcode + '&rep=' + rep + '&lvl=' + lvl + '&x=x&" /> ';
		h += '<PARAM NAME="movie" VALUE="FSS_WMP.swf?' + version + '" /> ';
		h += '<PARAM NAME="quality" VALUE="high" /> ';
		h += '<PARAM NAME="bgcolor" VALUE="#ffffff" /> ';
		h += '<EMBED SRC="FSS_WMP.swf?' + version + '" ';
			h += 'FlashVars="&x=x&zipcode=' + zip + '&cityData=some town&stateData=MD&orderData=1|2|7|4|5|8&soundData=snd_A_1.mp3|snd_B_1.mp3|snd_G_1.mp3|snd_D_1.mp3|snd_E_1.mp3|snd_H_1.mp3&bgSound=StimulationOne.mp3&feedbackURL=&Themeid=' + tid + '&uid=1&zcode=' + zcode + '&rep=' + rep + '&lvl=' + lvl + '&x=x&" ';
			h += 'QUALITY="high"  ';
			h += 'BGCOLOR="#ffffff" ';
			h += 'WIDTH="320" ';
			h += 'HEIGHT="240" ';
			h += 'NAME="FSS" ';
			h += 'ALIGN="middle" ';
			h += 'allowScriptAccess="sameDomain" ';
			h += 'TYPE="application/x-shockwave-flash" ';
			h += 'swLiveConnect="true" ';
			h += 'PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" /> ';
	h += '</OBJECT> ';


	document.getElementById('video_player').innerHTML = h;
	return;

}

/* 	Show video_player_image */
function setVideoPlayerImage(imageUrl, imageClickUrl) {
	var z = '<a href="' + imageClickUrl + '" target="_blank"><img src="' + imageUrl + '" border=0></a>';
	document.getElementById('video_player_image').innerHTML = z;
}

/*		i_user_action   */
/*		Function for initiating rate this video.  */
function rateThis(r) {
	var rate_url = '/uCastServices/rateClip.aspx';
	rate_url += '?clipid=' + clipId;
	rate_url += '&clipRating=' + r;
	rate_url += '&clipType=' + clipType;
	
	loadXMLDoc(rate_url, 'rate');
	// http://ucast.weatherbug.com/uCastServices/rateClip.aspx?clipid=<clipId>&clipRating=<clipRating>
}
/*		Function for completing rate video.  */
function rateVideoResponse() {
	
	var x = req.responseXML.getElementsByTagName('rating'); 
	var y = req.responseXML.getElementsByTagName('ratings'); 
	if (x.length != 0 && y.length != 0) {
		for (i=0;i<x.length;i++)	{
			var rating = x[i].firstChild.nodeValue;
			var ratings = y[i].firstChild.nodeValue;
		}
	setVideoRatings(null, rating, ratings);
	} else {
			alert('Sorry, you may only rate once.');
	}
}

/*		Function for completing media video.  */
function mediaVideoResponse() {
	var vu = req.responseXML.getElementsByTagName('videoUrl'); 
	var iu = req.responseXML.getElementsByTagName('imageUrl'); 
	var icu = req.responseXML.getElementsByTagName('imageClickUrl'); 
	if (vu.length != 0 && iu.length != 0 && icu.length != 0) {
		for (i=0;i<vu.length;i++)	{
			var vuVal = vu[i].firstChild.nodeValue;
			imageUrl = iu[i].firstChild.nodeValue;
			imageClickUrl = icu[i].firstChild.nodeValue;
		}
		playNewMedia(vuVal, -1, 1);
	}
}

function subscribeThis(clipId){
	var subscribe_to = document.getElementById('subscribe_to').value;
	if (subscribe_to != '' &&  subscribe_to != 'Your Email' &&  
		subscribe_to != 'No Email address' &&  subscribe_to != 'Subscribed! Thank you.' &&
		subscribe_to != 'System busy. Please try again later.' &&
		subscribe_to.indexOf('@') != -1) {
		var subscribe_aspx = '/uCastServices/subscribe.aspx';
		
		var subscribe_url = subscribe_aspx;
		subscribe_url += '?clipid=' +clipId;
		subscribe_url += '&clipType=' + clipType;
		subscribe_url += '&email=' + encodeURI(subscribe_to);
		loadXMLDoc(subscribe_url, 'subscribe');
	} else {
		document.getElementById('subscribe_to').value = 'No Email address';
	}
}
/*		Function for initiating share video.  */
function shareThis() {
	var share_id = document.getElementById('share_id').value;
	if (share_id != '') {
		var share_aspx = '/uCastServices/shareClip.aspx';
		var share_to = document.getElementById('share_to').value;
		if (share_to.indexOf('@') != -1) {
			var share_from = document.getElementById('share_from').value;
			//var share_self = (document.getElementById('share_self').checked) ? ('yes') : ('no');
			
			var share_url = share_aspx;
			share_url += '?clipid=' +share_id;
			share_url += '&to=' + encodeURI(share_to);
			share_url += '&from=' + encodeURI(share_from);
			share_url += '&copyme=no';
			share_url += '&clipType=' + clipType;
			loadXMLDoc(share_url, 'share');
			//shareClip.aspx?clipid=123&to=ENCODE(to_email_address)&from=ENCODE(from_email_address)&copyme=yes/no      (returns SUCCESS/FAILURE)
		} else {
			document.getElementById('share_to').value = 'No Email address';
		}
	} else {
		document.getElementById('share_feedback').innerHTML = '<span style="color:#ff0000;">No Video Selected</span>';
	}
}

/*		Function for completing share video.  */
function shareVideoResponse() {
	var s = req.responseXML.getElementsByTagName('shared'); 
	if (s.length != 0) {
		document.getElementById('share_to').value = 'Sent! Thank you.';
		//var f = document.getElementById('share_feedback')
		//for (i=0;i<s.length;i++)	{
		//	f.innerHTML = 'Sent! Thank you.';
		//}
	
	} else {
		document.getElementById('share_to').value = 'System busy. Please try again later.';
		//f.innerHTML = '<span style="color:#ff0000;">Error, Please try again later.</span>';
	}
}
function subscribeVideoResponse() {
	var x = req.responseXML.getElementsByTagName('Clip'); 
	if (x.length != 0)
	{
		for (i=0;i<x.length;i++)	{
			var success = x[i].firstChild.nodeValue;
			if (success == 'DONE') {
				document.getElementById('subscribe_to').value = 'Subscribed! Thank you.';
			} else {
				document.getElementById('subscribe_to').value = 'System busy. Please try again later.';
			}
		}
	}
}


/*		Function for initiating review video.  */
function reviewThis() {
	review_id = document.getElementById('review_id').value;
	
	if (review_id != '') {
		var review_aspx = '/uCastServices/submitReview.aspx';
		var reviewer = document.getElementById('reviewer').value;
		var review_com = document.getElementById('comments').value;
		
		var review_url = review_aspx;
		review_url += '?clipid=' +review_id;
		review_url += '&name=' +encodeURI(reviewer);
		review_url += '&comment=' +encodeURI(review_com);
		review_url += '&clipType=' + clipType;
		loadXMLDoc(review_url, 'review');
		//http://ucast.weatherbug.com/uCastServices/submitReview.aspx?clipid=<clipId>&name=ESCAPE (<name>)&comment=ESCAPE(<comment>)
		//getClipReviews.aspx?clipid=123
	} else {
		document.getElementById('review_feedback').innerHTML = '<span style="color:#ff0000;">No Video Selected</span>';
	}
}

/*		Function for completing review video.  */
function reviewVideoResponse() {
	var x = req.responseXML.getElementsByTagName('result'); 
	if (x.length != 0)
	{
		var f = document.getElementById('review_feedback')
		for (i=0;i<x.length;i++)	{
			var success = x[i].firstChild.nodeValue;
			if (success = 'SUCCESS') {
				//f.innerHTML = 'Sent! Thank you.';
				getVideoReviews();
				document.getElementById('comments').value='';
			} else {
				f.innerHTML = '<span style="color:#ff0000;">System busy. Please try again later.</span>';
			}
		}
	}
}

/*		Function for getting the reviews for a video (clip)  */
function getVideoReviews() {
	review_id = document.getElementById('review_id').value;
	review_url = '/uCastServices/getClipReviews.aspx?clipid=' + review_id + '&cliptype=' + clipType;
	if (review_id != '') {
		loadXMLDoc(review_url, 'reviews');
	} else {
		alert('No clip selected.');
	}
}


function reviewsResponse() {
	var x = req.responseXML.getElementsByTagName('review');    //xmlDoc.getElementsByTagName('video');

	arrReview= new Array();
	for (i=0;i<x.length;i++)
	{
		arrReview[i] = new Array();
		for (j=0;j<x[i].childNodes.length;j++)
		{
			var thjs = x[i].childNodes[j];
			if (thjs.nodeType != 1) continue;
			arrReview[i][thjs.nodeName]=thjs.firstChild.nodeValue;
		}
	}
	
	var htmlx ='';
		for (i=0;i<arrReview.length;i++)
		{
			htmlx += '<div id="'+ arrReview[i]['reviewId'] +'" class="review">';
				htmlx += '<div class="review_user">';
						htmlx += arrReview[i]['username'];
				htmlx += '</div>';
				htmlx += '<div class="review_date">';
					htmlx += arrReview[i]['reviewDate'];
				htmlx += '</div>';
				htmlx += '<div class="review_comment">';
					htmlx += arrReview[i]['comment'];
				htmlx += '</div>';
			htmlx += '</div>';
		}

	document.getElementById('reviews').innerHTML = htmlx;	
}

function reloadVideo()
{
	location.reload();
}

function hidediv(id) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

function showdiv(id) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}

/*		i_functions  */
/*		Validation Functions   */
	function hasValue(strValue)	{
		if(strValue.length == 0) {
			return false;
		}
	return true;
	}
	
	function isInteger(s)
	{   var i;
		for (i = 0; i < s.length; i++)
		{ 
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		return true;
	}

	function replaceChars(_string, _nix, _add) {
		temp = "" + _string; // temporary holder
		while (temp.indexOf(_nix)>-1) {
			pos= temp.indexOf(_nix);
			temp = "" + (temp.substring(0, pos) + _add + 
			temp.substring((pos + _nix.length), temp.length));
		}
		return temp;
	}
	
	function trimString(sInString) {
	  sInString = sInString.replace( /^\s+/g, "" );// strip leading
	  return sInString.replace( /\s+$/g, "" );// strip trailing
	}

	
/*
	function ValidateFields()
	{
		var err = "";
		var doc = document.forms[0];
		var email =  doc.<%=email.ClientID%>.value;
		var cfemail = doc.<%=cfemail.ClientID%>.value;
		var fname = doc.<%=fname.ClientID%>.value;
		var lname = doc.<%=lname.ClientID%>.value;
		var dob1 = doc.<%=dob1.ClientID%>.value;
		var dob2 = doc.<%=dob2.ClientID%>.value;
		var dob3 = doc.<%=dob3.ClientID%>.value;
		var zip = doc.<%=zip.ClientID%>.value;
		var regEx = /^[a-zA-Z ]+$/;
		
		if(!hasValue(email))
		{
				err += "- Email\n";
		}
		else if (email.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/) == -1)
		{
			err += "- E-mail\n";
		}
		
		if(!hasValue(cfemail))
		{
				err += "- Confirmation Email\n";
		}	
		else if (cfemail.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/) == -1)
		{
			err += "- Confirmation E-mail\n";
		}
		
		if ((email.toLowerCase() != cfemail.toLowerCase()) && email.length != "" && cfemail.length != "")
		{
				err += "- Emails should match\n";
		}
		
		if(!hasValue(fname))
		{
			 err += "- First Name\n";
		}
		else if(fname.search(regEx) == -1) 
		{
			err += "- Only characters a-z and A-Z allowed for First Name\n";
		}
		
		if(err != "")
		{
			alert("The following fields contain errors or are incomplete:\n\n"+ err);
			return false;
		}		
	}
*/