// JavaScript Document

var fav = 'false';
var querystring="";
var responseValues = "";
var sorter = 1;
var recordNo = new Array();
var myhtml = "";
var myrow = "";
var pageNumber = 1;
var nQuery = true;  // variable to see if a new query and so reset the pageNumber
var recordNo;
var numberRows;
myfavpicon= new Image(25,25); 
myfavpicon.src="http://www.stream43.com/images/page/favorites-small-on.gif";
myfavpicoff= new Image(25,25); 
myfavpicoff.src="http://www.stream43.com/images/page/favorites-small-off.gif";


function valueList(name,streamUrl,webUrl,imgUrl,description,popularity,quality,created_date,country,sid,fav,totalRecords,numberPages) {
	this.name = name;
	this.streamUrl = streamUrl;
	this.webUrl = webUrl;
	this.imgUrl = imgUrl;
	this.description = description;
	this.popularity = popularity;
	this.quality = quality;
	this.created_date = created_date;
	this.country = country;
	this.sid = sid;
	this.fav = fav;
	this.totalRecords = totalRecords;
	this.numberPages = numberPages;
}

function changeFav(sid) {
	if (theUsername != null && theUsername != "") {
		for (a = 0; a < 10; a++) {
			if (recordNo[a].sid == sid) {
				switch (recordNo[a].fav) {
				case "n":	changeMyFav = document.getElementById(sid).src = "/images/template/my-favorite.gif";
			    			recordNo[a].fav = "y";
							favQuery='streamId=' + sid + '&customerId=' + theId + '&request=add&media='+ favMedia;
							requestFavorite(favQuery);
							break;
				case "y": 	changeMyFav = document.getElementById(sid).src = "/images/template/non-favorite.gif";
			    			recordNo[a].fav = "n";
							favQuery='streamId=' + sid + '&customerId=' + theId + '&request=delete&media='+ favMedia;
							requestFavorite(favQuery);
							break;
				default:    break;
				}
			}
		}
	} else { alert("You need to be logged in to use this function!") }
}


function previousPage() {
	pageNumber --;
	if (pageNumber < 1) { 
		pageNumber = 1;
		}
	nQuery = false;
	sendData(sorter);
}

function nextPage() {
	pageNumber ++;
	if (pageNumber > recordNo[0].numberPages) {
		pageNumber = recordNo[0].numberPages;
		}
	nQuery = false;
	sendData(sorter);
}

function changeCountry(sortValue) {
	var frm = document.searchStream;
	var flag = frm.country.value;
	var flagstring = "/images/flags/"+ flag + ".gif";
	document.flag_image.src = flagstring;
	sendData(sortValue);
	buildCookie('country', flag);
}




function sendData(listSort) {
	if (nQuery) {
		pageNumber = 1;
	}
    nQuery = true;
	
	var url="/include/php/query.php";
	var asynch = true;
	var frm = document.searchStream;
	var country = frm.country.value;
	var words = frm.streamWords.value;
	var words = encodeURIComponent(words);
	var media = frm.mediaType.value;
	if (listSort == 1) {
		document.rating.src="/images/template/popularity-down.jpg";
		document.atoz.src="/images/template/atoz-up.jpg";
		document.byDate.src="/images/template/bydate-up.jpg";
		sorter = 1;
	}
	if (listSort == 2) {
		document.rating.src="/images/template/popularity-up.jpg";
		document.atoz.src="/images/template/atoz-down.jpg";
		document.byDate.src="/images/template/bydate-up.jpg";
		sorter = 2;
	}
	if (listSort == 3) {
		document.rating.src="/images/template/popularity-up.jpg";
		document.atoz.src="/images/template/atoz-up.jpg";
		document.byDate.src="/images/template/bydate-down.jpg";
		sorter = 3;
	}

	
	// make the seach lowercase and remove any double quotes

	words = words.toLowerCase();
	words = escape(words);
	
	var findQuotes = words.indexOf( "%2522" );
	
	while ( findQuotes != -1){

	words = words.replace( '%2522', '' )
 
	findQuotes = words.indexOf( "%2522" );
}
	queryString = "country=" + country + "&words=" + words + "&media=" + media + "&fav=" + fav + "&listSort=" + listSort + "&pageNumber=" + pageNumber + "&custId=" + theId;
	
	for (i = 0; i < recordNo.length; i++) {
			recordNo[i] = null;
	}
		
	httpRequest("POST",url,true,queryString);
}

function favToggle() {
	if (theUsername != null && theUsername != "") {
		if (fav == 'false'){
			document.favButton.src="/images/template/favs-down.jpg";
			fav = 'true';
			buildCookie("favorites","on");
			} else {
			document.favButton.src="/images/template/favs-up.jpg";
			fav = 'false';
			deleteCookie('favorites','/','stream43.com');
			}
	} else { alert("You need to be logged in to use this function!") }
	
	sendData(sorter);
	
}


function handleResponse() {
		if(request.readyState == 4) {
			if(request.status == 200) {
			   responseValues = request.responseText;
			   createArray(responseValues);  
			} 
		}
}

function createArray(values) {
		numChars = values.length;
		var valueRows = values.split( ";");
		var numberRows = valueRows.length-1;
			if (numberRows > 0) {
				for (a = 0; a < numberRows; a++) {
	    		  var item = valueRows[a].split( "|");
				 recordNo[a] = new valueList(item[0],item[1],item[2],item[3],item[4],item[5],item[6],item[7],item[8],item[9],item[10],item[11],item[12]);
				
				} // close for statement
		}  else {
		recordNo[0] = new valueList("","","","","","","","","","","",0,1);	
		} // close if statement
		
		displayValues(numberRows);
} // close function



function displayValues(numberRows) {
	
		// clear all previous values first

		for (a = 1; a < 11; a++) {
				var updateName = 'name' + a;
				var updateGo = 'go' + a;
				var updateDesc = 'desc' + a;
				var updatePop = 'pop' + a;
				var updateQuality = 'qual' + a;
				var updateFav = 'fav' + a;
				myName = document.getElementById(updateName).innerHTML = '&nbsp';
				myGo = document.getElementById(updateGo).innerHTML = '&nbsp';
				myDesc = document.getElementById(updateDesc).innerHTML = '&nbsp';
				myPop = document.getElementById(updatePop).innerHTML = '&nbsp';
				myQuality = document.getElementById(updateQuality).innerHTML = '&nbsp';
				myFav = document.getElementById(updateFav).innerHTML = '&nbsp';
		}
			for (a = 0; a < numberRows; a++) {
				
				var offset = a +1;
				var updateName = 'name' + offset;
				var updateGo = 'go' + offset;
				var updateDesc = 'desc' + offset;
				var updatePop = 'pop' + offset;
				var updateQuality = 'qual' + offset;
				var updateFav = 'fav' + offset;
				var goButtons = "";
				if (recordNo[a].streamUrl) {
					goButtons += '<a href="'+recordNo[a].streamUrl +'" target="stream"><img src="/images/template/' + myPage +'Button-small.gif" alt="Start Streaming" border="0"/></a>&nbsp;';
				}
				if (recordNo[a].webUrl) {
					goButtons += '<a href="'+recordNo[a].webUrl +'" target="webpage"><img src="/images/template/webButton-small.gif" alt="Start Streaming" border="0"/></a>';
				}
				if (recordNo[a].fav == "n") {
							 myFavButton = '<a href="javascript:void(0)"><img src="/images/template/non-favorite.gif" alt="Favorites" onclick="changeFav(this.id)" border="0" id="'+ recordNo[a].sid +'"/><a/>';
							 }
				if (recordNo[a].fav == "y")        {
							 myFavButton = '<a href="javascript:void(0)"><img src="/images/template/my-favorite.gif" alt="Favorites" onclick="changeFav(this.id)" border="0" id="'+ recordNo[a].sid +'"/><a/>';
							 }
					
				myName = document.getElementById(updateName).innerHTML = recordNo[a].name;
				myGo = document.getElementById(updateGo).innerHTML = goButtons;
				myDesc = document.getElementById(updateDesc).innerHTML = recordNo[a].description;
				myPop = document.getElementById(updatePop).innerHTML = recordNo[a].popularity;
				myQuality = document.getElementById(updateQuality).innerHTML = recordNo[a].quality + 'kbs';
				myFav = document.getElementById(updateFav).innerHTML = myFavButton;
				
			}
			var resultsDisplay = recordNo[0].totalRecords + ' Results';
			var noResults = document.getElementById('results').innerHTML = resultsDisplay;
			var prevNextOption = "";
			if (pageNumber > 1) {
				prevNextOption = "<a href='javascript: void(0)' onclick=\"previousPage()\"'><img src='/images/template/previous-page.jpg' alt='Previous Page' border='0' align='absbottom'/></a>";
			} 
			prevNextOption += " Page " + pageNumber + " of " + recordNo[0].numberPages + " (" + recordNo[0].totalRecords + " Results)";
			if (pageNumber < recordNo[0].numberPages) {
				prevNextOption += " <a href='javascript: void(0)' onclick=\"nextPage()\"><img src='/images/template/next-page.jpg' alt='Next Page' border='0' align='absbottom'/></a></a>";
			} 
			var pnOptions = document.getElementById('prevNext').innerHTML = prevNextOption;
			var pnOptionsTop = document.getElementById('prevNextTop').innerHTML = prevNextOption;
			
}
