// JavaScript Document
/*
Title : displayprofiles.js
Author : Balu Kiri, City of Toronto - Web Competency Centre
URL : http://www.toronto.ca/

Description : script containing functions to load xml file, populate appropriate images and data links on webpage.

Created : 02/Feb/2009
Modified : 
*/



function profgeneration(para)
{
	/*
	This function is trigerred on htm page body onLoad event
	to detect the browser and load xml file
	*/
	if(typeof window.ActiveXObject != 'undefined') //If browser is IE
		{
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); //create xmlDoc object
			xmlDoc.async=false;
			xmlDoc.load("xml/resprofile.xml"); //loading xml file
			}
	
	else if(window.XMLHttpRequest)//If browser is FF,Opera,Safari
		{
			try 
				{
					xmlDoc = new XMLHttpRequest();
					//xmlDoc.onreadystatechange = processReqChange;
					//xmlDoc.async=false;
					 //if (xmlDoc.overrideMimeType) 
				      //xmlDoc.overrideMimeType('text/xml'); 
					xmlDoc.open("GET", "xml/resprofile.xml", false);
					//xmlDoc.onreadystatechange = handleResponse;
					xmlDoc.send(null);
					//alert(xmlDoc.status);
					//alert(typeof xmlDoc);
				} 
			catch(e) 
				{
					xmlDoc= false;
				}
		}
	else if(document.implementation && document.implementation.createDocument) 	//if browser is FF / Opera
		{
			xmlDoc=document.implementation.createDocument("","",null); //creates xmlDoc document
		}
	else
		{
		alert("Your browser does not support this script");
		return;
		}
	
	/*if(typeof window.ActiveXObject != 'undefined') //If browser is IE
		{
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); //create xmlDoc object
		}
	else if(document.implementation && document.implementation.createDocument) 	//if browser is FF / Opera
		{
			xmlDoc=document.implementation.createDocument("","",null); //creates xmlDoc document
		}
	else
		{
			alert("Your browser does not support this script");
			return;
		}*/
		
	/* the below is alternate code block which can above code.
	
	try 	//Internet Explorer
		{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		}
	catch(e)
		{
			try //Firefox, Mozilla, Opera, etc.
				{
				xmlDoc=document.implementation.createDocument("","",null);
				}
			catch(e)
				{
				alert(e.message);
				return;
				}
		}*/
		
//	xmlDoc.async=false;
	
	/*xmlDoc.load("assets/xml/resprofile.xml");*/
	/*randomprofiles(para);*/
	/*
	
}

function randomprofiles(para)
	{*/
		/*
		This function is trigerred when 
		second dropdown value is changed.
		
		It displays the appropriate values on the  
		web page based on the selection 
		made in the second dropdown i.e. based 
		on the value contained in -- 'selectedvalue' the parameter
		*/
		/* 'selectedvalue' contains value of second dropdown selection */
		var portalrequest;
		portalrequest = '';
		var img = new Array();
		var title = new Array();
		var txt = new Array();
		var newno;
		switch(para)
			{
				case 'res':
					portalrequest = 'resrow';
					break;
				case 'biz':
					portalrequest = 'bizrow';
					break;
				case 'viz':
					portalrequest = 'vizrow';
					break;
				case 'cit':
					portalrequest = 'citrow';
					break;
				default:
					portalrequest = '';
					break;
			}
			
			var divsection = document.getElementById("nbrhoods");// a div tag is defined on htm page with id='divLinks'. This is to display the links
			divsection.innerHTML='';
			//alert(portalrequest);
			
				if(typeof window.ActiveXObject != 'undefined')
				{
					for(var i=0; i<xmlDoc.getElementsByTagName(portalrequest).length; i++)
						{
							img[i] = xmlDoc.getElementsByTagName(portalrequest)[i].getAttribute("imageurl");
							/*title[i] = xmlDoc.getElementsByTagName(portalrequest)[i].getAttribute("rowtitle");
							txt[i] = xmlDoc.getElementsByTagName(portalrequest)[i].firstChild.nodeValue;*/
							newno = xmlDoc.getElementsByTagName(portalrequest).length;
						}
				}
				else if(window.XMLHttpRequest)
				{
					//if (portalrequest== null)
						//{
							//alert(portalrequest);
						//}
					//else
						//{
						//alert('');
						//var xDoc = xmlDoc.responseXML;
						for(var i=0; i<xmlDoc.responseXML.getElementsByTagName(portalrequest).length; i++)
							{
								img[i] = xmlDoc.responseXML.getElementsByTagName(portalrequest)[i].getAttribute("imageurl");
								/*title[i] = xmlDoc.responseXML.getElementsByTagName(portalrequest)[i].getAttribute("rowtitle");
								txt[i] = xmlDoc.responseXML.getElementsByTagName(portalrequest)[i].firstChild.nodeValue;*/
								newno = xmlDoc.responseXML.getElementsByTagName(portalrequest).length;
							}
						
						//}
				}
				else
				{
					alert("Your browser does not support this script");
					return;
				}
				
				var htmlText = '';
				var finalno;
				finalno = Math.floor(Math.random()*newno)
				htmlText = htmlText + "<img src='" + img[finalno] + "' alt='Poster' width='274' height='227' border='0'/><img src='images/votehomepage_animated.gif' alt='Vote 10.25.10' width='139' height='227' border='0'></td>"; /*+ title[finalno] + "</h2>  <p>" + txt[finalno] + "</p>";*/
				divsection.innerHTML= htmlText;
			
			
	}
/*
function handleResponse() 
	{ 
	    if (xmlDoc.readyState == 4) 
		{
        	if (xmlDoc.status == 200) 
			{
            	// update the HTML DOM based on whether or not message is valid
       			alert (xmlDoc.responseText); 
	   		}
    	}
	}
	*/
function handleResponse() 
	{
    // only if req shows "loaded"
		//alert(xmlDoc.readyState);
		if (xmlDoc.readyState == 4) 
			{
			// only if "OK"
				alert(xmlDoc.readyState);
				alert(xmlDoc.status);
				if (xmlDoc.status == 200) 
					{
						//clearTopicList();
						//buildTopicList();
					}
				else 
					{
						
						alert("There was a problem retrieving the XML data:\n" + xmlDoc.statusText);
				 	}
			}
	}


