﻿var weatherdata;
var nextimagedata;
var infodata;
var newsdata;
var wikidata;
var imagedata=[];
var imagecounter;
var sendpreimages;
var epmediasearched;
var lastimagehtml;
var lastvideohtml;
var lastinfohtml;
var lastweatherhtml;
var lasteventshtml;
var wikicount;
var imagesearchterm;
var videosearchterm;
var refineimagesearch = '<input id="txtrisearch" name="txtrisearch" type="text" value="refine image search" size="30" style="font-size:11px;" />'
						+'<input id="btnrisearch" type="button" style="font-size:10px;" value="Find" onclick="refineimages()" />';
						
var refinevideosearch = '<input id="txtrvsearch" name="txtrvsearch" type="text" value="refine video search" size="30" style="font-size:11px;" />'
						+'<input id="btnrvsearch" type="button" style="font-size:10px;" value="Find" onclick="refinevideo()" />';

function mashupsprepopulate(){
	// called from set location when a location changes
	lastimagehtml = '';
	lastvideohtml = '';
	lastinfohtml = '';
	lastweatherhtml = '';
	lasteventshtml = '';
	
	imagedata=[];
	imagecounter=0;
	getweatherpre();
	//getNewspre();
	imagesearchterm = api_inputstring;
	setTimeout("pregetimages();", 1000);
	//pregetimages();
	
}

function getepmedia(mtype){
	
	//turnonloading();
	
	switch(mtype){
		case 'images':
			epmediaanchor = document.getElementById("mimageanchor")
			epmediatitle = '<div id="epmediatitle"><table width="100%" cellpadding="0" border="0"><tr><td align="left">Web Images for <i>'+imagesearchterm+'</i></td><td align="center">'+refineimagesearch+'</td></tr></table></div>';
			if(lastimagehtml == ''){
				//alert('new search');
				videosearchterm = api_inputstring;
				getimages(1);
			}else{
				displayepmedia(lastimagehtml, '550', '450');	
			}
		break;
		
		case 'video':
			epmediaanchor = document.getElementById("mvideoanchor")
			//epmediatitle = '<div id="epmediatitle">Web Video for <i>'+api_inputstring+'</i></div>';
			epmediatitle = '<div id="epmediatitle"><table width="100%" cellpadding="0" border="0"><tr><td align="left">Web Images for <i>'+videosearchterm+'</i></td><td align="center">'+refinevideosearch+'</td></tr></table></div>';
			if(lastvideohtml == ''){
				//alert('new search');
				callgetvideos();
			}else{
				displayepmedia(lastvideohtml, '550', '450');	
			}
		break;
		
		case 'weather':
			epmediaanchor = document.getElementById("mweatheranchor")
			epmediatitle = '<div id="epmediatitle">Local Weather for <i>'+api_inputstring+'</i></div>';
			if(lastweatherhtml == ''){
				//alert('new search');
				setweather();
			}else{
				displayepmedia(lastweatherhtml, '720', '350');	
			}
		break;
		
		case 'info':
			epmediaanchor = document.getElementById("minfoanchor")
			epmediatitle = '<div id="epmediatitle">Local Infomation for <i>'+api_inputstring+'</i></div>';
			if(lastinfohtml == ""){
				//alert('new search');
				wikiinfo();
			}else{
				displayepmedia(lastinfohtml, '600', '450');	
			}
		break;
		
		case 'events':
			epmediaanchor = document.getElementById("meventsanchor")
			epmediatitle = '<div id="epmediatitle">Events within 50 miles of <i>'+api_inputstring+'</i></div>';
			if(lasteventshtml == ""){
				//alert('new search');
				callgetevents();
			}else{
				displayepmedia(lasteventshtml, '600', '450');	
			}
		break;
		
	}
	
	epmediasearched = api_inputstring;
	
	//displayepmedia(loadinghtml, htitle, '700', '350');
	
}


function googlesearch(){
	
	if(api_inputstring){
		var siteurl = 'http://www.google.com/search?hl=en&q='+api_inputstring;	
		framewebsite(siteurl);
	}
	
}


function getweatherpre(){
		//alert(currentlocation[0].lat+' , '+ currentlocation[0].lng);
		WebService.getweather(currentlocation[0].lat, currentlocation[0].lng, weathervar);
}

function weathervar(retResult){
		//alert(retResult);
		weatherdata=retResult
}

function setweather(){
	var htitle = '<div id="epmediatitle">Local Weather for <i>'+api_inputstring+'</i></div>';
	
	if(non_usaloc == false){
		if(weatherdata){
			
			//document.getElementById("menu").innerHTML = '<div align="center"><img src="globalgraphics/resellertool/cploading.gif" /></div>';
			//swapcontent('menu');
			//setlayout('standard');
			//highslidecontrol('mediacontent');
			//document.getElementById('menu').innerHTML = weatherdata;
			//contentnavigation('weather');
			lastweatherhtml = weatherdata;
			displayepmedia(weatherdata, '720', '300');
		}else{
			weatherdata = 'Cplanet can not retrieve weather data for this destination.';
			lastweatherhtml = weatherdata;
			displayepmedia(weatherdata, '720', '300');
		}
	}else{
		weatherdata = '<span class="cpfontheading">No weather data available for this location.</span>';
		lastweatherhtml = weatherdata;
		displayepmedia(weatherdata, '720', '300');
	}
	
}

function findimages(searchterm){
	var imagepurpose = 'search';
	var pagenumber = 1;
	WebService.getflickrimages(api_inputstring,pagenumber,imagepurpose,imagesvar);
	document.getElementById("imagesid").style.visibility = 'hidden';
}

function refineimages(){
	imagedata=[];
	imagecounter=0;
	var imagepurpose = 'display';
	var pagenumber = 1;
	var risearchterm = document.getElementById("txtrisearch").value;
	imagesearchterm = risearchterm;
	//alert(risearchterm);
	WebService.getflickrimages(risearchterm,pagenumber,imagepurpose,imagesvarrefine);
	document.getElementById("imagesid").style.visibility = 'hidden';
}

function pregetimages(){
	var imagepurpose = 'display';
	var pagenumber = 1;
	WebService.getflickrimages(imagesearchterm,pagenumber,imagepurpose,imagesvar);
	document.getElementById("imagesid").style.visibility = 'hidden';	
}

function getpicmarquee(){
	var imagepurpose = 'marquee';
	var pagenumber = 1;
	WebService.getflickrimages(imagesearchterm,pagenumber,imagepurpose,displaypicmarquee);	
}

function getimages(pagenumber){
	var imagepurpose = 'display';
	if(api_inputstring){
		//swapcontent('menu');		
		//alert('pagenumber: '+pagenumber+'\nimagecounter: '+imagecounter);
		
		if(sendpreimages == true){
			buildimagecontent(imagedata[0], false);
			pagenumber = 2;
			WebService.getflickrimages(imagesearchterm,pagenumber,imagepurpose,imagesvar);
			sendpreimages = false;	
		}else{
			if(pagenumber>=imagecounter){
				var nextpage = parseInt(pagenumber) + 1;
				//alert(nextpage);
				WebService.getflickrimages(imagesearchterm,nextpage,imagepurpose,imagesvar);
				buildimagecontent(imagedata[pagenumber-1], false);
			}else{
				buildimagecontent(imagedata[pagenumber-1], true);
			}
		}
		
	}else{
		alert('Please select a location first.');
	}
}


function imagesvar(retResult){
	//alert('Images Have been returned.\nImageCounter: '+imagecounter);
	if(imagecounter == 0){
		document.getElementById("imagesid").style.visibility = 'visible';
		sendpreimages = true;
	}else{
		try{
			document.getElementById("nextimagegroup").style.visibility = 'visible';
			document.getElementById("nextimagegroupbot").style.visibility = 'visible';
			sendpreimages = false;
		}catch(err){
			//no action
		}
	}
	imagedata[imagecounter]=retResult;
	//document.getElementById('menu').innerHTML=retResult;
	retResult='';
	imagecounter=imagecounter+1;
}

function imagesvarrefine(retResult){
	//alert('Images Have been returned.\n '+retResult);
	if(imagecounter == 0){
		document.getElementById("imagesid").style.visibility = 'visible';
		sendpreimages = true;
	}else{
		try{
			document.getElementById("nextimagegroup").style.visibility = 'visible';
			document.getElementById("nextimagegroupbot").style.visibility = 'visible';
			sendpreimages = false;
		}catch(err){
			//no action
		}
	}
	imagedata[imagecounter]=retResult;
	//document.getElementById('menu').innerHTML=retResult;
	displayepmedia(retResult, '550', '450');
	retResult='';
	imagecounter=imagecounter+1;
}

function buildimagecontent(imagehtml, justsend){
	//document.getElementById("menu").innerHTML=' <img src="globalgraphics/general/LoadingProgressBar.gif" /> Loading...';
	//document.getElementById("webmediatitle").innerHTML='Web Images for <i>'+api_inputstring+'</i>';
	//document.getElementById('menu').innerHTML = imagehtml;
	//highslidecontrol('mediacontent');
	
	lastimagehtml = imagehtml;
	displayepmedia(imagehtml, '550', '450');
	
	if(justsend == false){
		try{
			document.getElementById("nextimagegroup").style.visibility = 'hidden';
			document.getElementById("nextimagegroupbot").style.visibility = 'hidden';
		}catch(err){
			//no action
		}
		
	}
}

function refinevideo(){
	
	var rvsearchterm = document.getElementById("txtrvsearch").value;
	videosearchterm = rvsearchterm;
	getVideos(videosearchterm);
	
}

function callgetvideos(){
	if(videoscripts == false){
		var pageid = 'vidsearch';
		var filename = 'http://api.searchvideo.com/AOLVideoSearchAPIv3.js';
		var headTag = document.getElementsByTagName('head')[0]; 
		script = document.createElement('script'); 
		script.id = pageid; 
		script.type = 'text/javascript'; 
		script.src = filename; 
		headTag.appendChild(script);
	
		addjspage('cpvideo');
		setTimeout("VSLoad()", 500);
		videoscripts = true;
	}
	
	if(api_inputstring!=''){
		setTimeout("getVideos('"+videosearchterm+"')", 700);
	}else{
		alert('Please select a location first.')
	}
}

function displayvideoresults(videohtml){
	
	lastvideohtml = videohtml;
	displayepmedia(videohtml, '550', '450');
	//contentnavigation('video');
	
}


function callgetevents(){
	
	if(eventscripts == false){
		var pageid = 'eventsearch';
		var filename = 'http://api.eventful.com/js/api';
		var headTag = document.getElementsByTagName('head')[0]; 
		script = document.createElement('script'); 
		script.id = pageid; 
		script.type = 'text/javascript'; 
		script.src = filename; 
		headTag.appendChild(script);
		
		eventscripts = true;
	}
	
	if(api_inputstring){
		//document.getElementById("menu").innerHTML = '<div align="center"><img src="globalgraphics/resellertool/cploading.gif" /></div>';
//		document.getElementById("webmediatitle").innerHTML='Events within 50 miles of <i>'+api_inputstring+'</i>';
//		//swapcontent('menu'); 
//		highslidecontrol('mediacontent');
//		document.getElementById('menu').innerHTML=xmlRequest.responseText;
		
		var xmlRequest=DoCallback('controls/Mashups.aspx',api_inputstring+',events');
		var htitle = '<div id="epmediatitle">Events within 50 miles of <i>'+api_inputstring+'</i></div>';
		
		var tempevents = xmlRequest.responseText;
		
		if(tempevents==''){
			tempevents = '<span class="cpfontheading" ><i>No events found in this area.</i></span>';
		}
		lasteventshtml = tempevents;
		displayepmedia(tempevents, '600', '450');
		//contentnavigation('events')
	}else{
		alert('Please select a location first.');
	}
}


function wikivar(retResult){
	wikidata=retResult;
}

function wikiinfo(){
	wikidata = '';
	wikicount = 0;
	if(api_inputstring){
		//document.getElementById("menu").innerHTML = '<div align="center"><img src="globalgraphics/resellertool/cploading.gif" /></div>';
		url='controls/Wikipedia.aspx?lat='+currentlocation[0].lat+'&lng='+currentlocation[0].lng;
		if(window.XMLHttpRequest){
			req=new XMLHttpRequest();
			req.onreadystatechange=formatwiki;
			req.open("GET",url,true);
			req.send(null);
			//contentnavigation('info');
		}else if(window.ActiveXObject){
			req=new ActiveXObject("Microsoft.XMLHTTP");
			if(req){
				req.onreadystatechange=formatwiki;
				req.open("GET",url,true);
				req.send();
			}
		}
		
	}else{
		alert('Please select a location first.');
	}
}

function delaywiki(wikidata){
	alert(wikidata);
	displayepmedia(wikidata, '600', '450');
}

function calltravelocity(){
	if(api_inputstring!=''){
		framewebsite('/travelocity.html');
		//contentnavigation('siteframe');
	}else{
		alert('Please select a location first.')
	}
}


function callexpedia(){
	if(api_inputstring!=''){
		framewebsite('/expedia.html');
		//contentnavigation('siteframe');
	}else{
		alert('Please select a location first.');
	}
}


//function processReqChange(){
//	document.getElementById("menu").innerHTML=' <img src="globalgraphics/general/LoadingProgressBar.gif" /> Loading...';
//	document.getElementById("webmediatitle").innerHTML='Local Infomation for <i>'+globallocation+'</i>';
//	swapcontent('menu'); 
//	highslidecontrol('mediacontent');
//	
//	var wikiresults='';
//	if(req.readyState==4){
//		if(req.status==200){
//			var xmlDoc=req.responseXML;
//			var entry=xmlDoc.documentElement.getElementsByTagName("entry");
//			if(entry.length>0){
//				for(var x=0;x<entry.length;x++){
//					var title=entry[x].getElementsByTagName("title")[0].childNodes[0].nodeValue;
//					var summary=entry[x].getElementsByTagName("summary")[0].childNodes[0].nodeValue;
//					var url=entry[x].getElementsByTagName("wikipediaUrl")[0].childNodes[0].nodeVallert('Please select a location first.');
//				}
//			}
//		}
//	}
//}

function formatwiki(){
	wikidata = processReqChange();
	if(wikidata!=''){
		displayepmedia(wikidata, '600', '450');	
	}
}

function processReqChange(){
	//document.getElementById("menu").innerHTML = '<div align="center"><img src="globalgraphics/resellertool/cploading.gif" /></div>';
	//document.getElementById("webmediatitle").innerHTML='Local Infomation for <i>'+api_inputstring+'</i>';
	//swapcontent('menu'); 
	//highslidecontrol('mediacontent');
	var wikiresults='';
	if(req.readyState==4){
		if(req.status==200){
			var xmlDoc=req.responseXML;
			var entry=xmlDoc.documentElement.getElementsByTagName("entry");
			if(entry.length>0){
				for(var x=0;x<entry.length;x++){
					var title=entry[x].getElementsByTagName("title")[0].childNodes[0].nodeValue;
					var summary=entry[x].getElementsByTagName("summary")[0].childNodes[0].nodeValue;
					var url=entry[x].getElementsByTagName("wikipediaUrl")[0].childNodes[0].nodeValue;
					var lat=entry[x].getElementsByTagName("lat")[0].childNodes[0].nodeValue;
					var lng=entry[x].getElementsByTagName("lng")[0].childNodes[0].nodeValue;
					var distance=entry[x].getElementsByTagName("distance")[0].childNodes[0].nodeValue;
					var description='<b>'+title+'</b>';
					wikiresults+='<a href="javascript:sendwikiinfo(\''+url+'\','+lat+', '+lng+', \''+description+'\')">'+title+' : </a><span class="previewfont">'+summary+'</span><br><hr>';
					//alert(summary);
				}
				
			}else{
				wikiresults='No Wikipedia results found in proximity to area marked on map';
			}
		}else{
			wikiresults='No Wikipedia results found';
		}
	}
	
	return wikiresults;
	//displayepmedia(wikiresults, htitle, '700', '350');
	
}


function sendwikiinfo(url,lat,lng,description){
	var winfobubble = '<div class="bubble" >'
					+'<p class="cpfontheading" ><i>'+description+'</i></p>'
					+'<p><b>Lat:</b> '+lat+'<br />'
					+'<b>Lng:</b> '+lng+'</p><br />'
					+'<a href="'+url+'" target="_blank"><b>Open Wikipedia Ariticle</b></a>';
					
	//framewebsite(url);
	closeactiveexpander();
	
	plotmedia('info',lat,lng,winfobubble);
}


