
function DOM (id) {
    return document.getElementById(id);
}

function timeStamp() {
    var timestr = new Date().getTime();
    return timestr;
}

var start = 1;
var max = 10;
var query = "";
var total = "";
var player = "";
var index = 0;

function checkEnter (e) {
    var characterCode;
    if(e && e.which){ e = e; characterCode = e.which; }
    else{ e = event; characterCode = e.keyCode; }
    if(characterCode == 13){ 
	var run = DOM('submitQueryButton').onclick; run();
    }
}

function submitAutoQuery (query, form, start, max, urlDiv) {
    DOM(form).value = query;
    submitQuery (form, start, max, urlDiv);
}

function submitQuery (form, start, max, urlDiv) {	
    submitQueryUpdate (form, start, max, urlDiv);
    var tag = query + Math.random();
}


function launchQuery (form, start, max, urlDiv) {
    var str = DOM(form).value;
	if(!str) return false;
	str = str.replace(/ /ig, "+");

    window.location = "./tv.php?v="+escape(str);
	return false;
    submitQueryUpdate (form, start, max, urlDiv);
    var tag = query + Math.random();
}

function submitQueryUpdate(form, start, max, urlDiv) {
	//alert(form + " - " + start + " - " + max + " - " + urlDiv);

    if(start<=1) { start = 1; }
    //DOM('loadGIF').style.display="inline";

    if(query!=DOM(form).value) {
	var queryInput = DOM(form).value;
	    query = queryInput;
    }
    if(!query) {
	var widget = new browseMediaWidget('root', start, max, urlDiv, total);
	widget.displayErrorWidget();
	return false;
    }

 
    var callback = function (jSON) {
	if(!jSON || jSON == 'null') { 
	    //DOM('loadGIF').style.display="none";
	    DOM('searchcontrol').innerHTML =  "<span style='color: red'>No results found.</span>";

	    var widget = new browseMediaWidget('', start, max, urlDiv, total);
	    widget.displayErrorWidget();
	    return false;
	}
	
	player = eval('player=('+jSON+')');
	total = player.feed.openSearch$totalResults.$t;
	player = player.feed.entry;	
	if(!player) {
		var widget = new browseMediaWidget('root', start, max, urlDiv, total);
		widget.displayErrorWidget();
		return false;
	}
	
	index = 0;
	var video = player[index]['id']['$t'];
 	video = video.replace('http://gdata.youtube.com/feeds/api/videos/','http://www.youtube.com/watch?v=');
 	videoID = video.replace('http://www.youtube.com/watch?v=','');

	var widget = new browseMediaWidget('searchcontrol', start, max, urlDiv, total);
	widget.displayQueryWidget();
	//DOM('loadGIF').style.display="none";

	updatePreview(0, 'choseMediaDiv');
	start = (start)+max;
    }
    
    var XOBJ;
    if (window.XMLHttpRequest) {
	XOBJ = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
	XOBJ = new ActiveXObject("Microsoft.XMLHTTP");
    }

    XOBJ.onreadystatechange = function() {
	if (XOBJ.readyState == 4) {
	    if(callback) { callback(XOBJ.responseText); }
	}
    }
    
    XOBJ.open('GET', 'php/ytl/queryRaw.php?q=' + query + '&s=' + start + '&m=' + max + '&t=' + timeStamp());
    XOBJ.send(null);
}

function onPlayerError(errorCode) {
  alert("An error occured of type:" + errorCode);
}

var playervid;
function updatePreview(idTag, urlDiv) {
	index = idTag;
	if(index>=max) { start=(start)+max; submitQueryUpdate('searchInput', start, max, ''); return false; }
	
	playervid = player[idTag];

    var params = { allowScriptAccess: "always", movie: "http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=ytplayer", wmode: "transparent" };
    var atts = { id: "player2" };
    swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=ytplayer","chooseMediaDiv2", "640", "480", "8", null, null, params, atts, runVideo);
}

function runVideo (e) {
	if(!ytplayer){ return false;}

	var video = playervid['id']['$t'];
 	video = video.replace('http://gdata.youtube.com/feeds/api/videos/','http://www.youtube.com/watch?v=');
 	videoID = video.replace('http://www.youtube.com/watch?v=','');
    
	ytplayer.stopVideo();
	ytplayer.loadVideoByUrl(videoID, 1, 'default');
	shareButtons(playervid);
	playButtons(true);
	ytplayer.cueVideoById(videoID);
	ytplayer.playVideo();

	resetObjects('bubble', player.length);
	document.getElementById('bubble'+index).className="glass";
}

function updateValidPreview(idTag, urlDiv) {
    var attack = new browseMediaWidget('chooseMediaDiv', start, 10, urlDiv, total);
    var results = previewResult[idTag];
    attack.result = results;
    attack.displayPreviewWidget();
    updateCategorySelect(results['label']);
    DOM(urlDiv).style.backgroundColor = '#CCFF99';
}

function setResults(rawData) {
    eval('player=(' + rawData + ')');
    return player;
}

function previewVideo() {
    var attack = new browseMediaWidget('chooseMediaDiv', start, 10, total);
    attack.displayPreviewWidget();
}

function autoValidate (input, div) {
    var embed = input.value; 
    var callback = function (jSON) {
	if(!jSON) {
	    DOM('url1').style.backgroundColor = 'pink';
	    return false;
	}

	eval('previewResult=(' + jSON + ')');
	updateValidPreview(0, div);
    }
    
    var XOBJ;
    if (window.XMLHttpRequest) {
	XOBJ = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
	XOBJ = new ActiveXObject("Microsoft.XMLHTTP");
    }

    XOBJ.onreadystatechange = function() {
	if (XOBJ.readyState == 4) {
	    if(callback) { callback(XOBJ.responseText); }
	}
    }    
    
    XOBJ.open('POST', './warMonitor/php/ytl/validate.php?url=' + escape(embed)  + '&t=' + timeStamp(), true);
    XOBJ.send(null);
}

