/*****************************************************************************
 * Utility Function Javascript Object
 *
 * Author: Venkata Sivashankar
 * Date:   27-May-2007
 *
 * Copyright 2007 Venkata Sivashankar, Inc. All Rights Reserved.
 *
 *
 * Each function listed below along with its parameters is documented further
 * down the page with its implementation.  
 *****************************************************************************/

/**
 * Makes a call to the server and fetches the page. The page content is
 * set on the 'content' id-ed pane.
 *
 * @param pageName the name of the page to fetch on the content pane
 */
function fetchPage(pageName)
{
	var req = new AjaxRequest('fetchPage.jsp', handlePageResponse);
	req.setParameter('pageName', pageName);
	if (fetchPage.arguments.length == 2 && fetchPage.arguments[1])
	{
		var serachForm = document.getElementById('searchFormID');
		var searchTerm = searchForm.elements['searchTF'].value;
		req.setParameter('searchTerm', searchTerm);
	}
	req.submit();
 }

/**
 * Handles the response from an Ajax Request back from the server.
 * Content is set on the 'content' id-ed pane.
 *
 * @param xmlDoc the server either sends the response in XML 
 * @param text or a simple text
 */
function handlePageResponse(xmlDoc, text)
{
	var element = document.getElementById('contents');
	element.innerHTML = text;
}

/**
 * Hides the elements in hideArray depending on the
 * selection object.
 *
 * @param selectedText the select object text
 * @param hideArray array of elements that are to be hiden.
 */
function audioClipComposer(selectedText, hideArray)
{
	if (selectedText == 'Unknown') {
		for (var i = 0; i < hideArray.length; i++ ){
			var hEle = document.getElementById(hideArray[i]);
			hEle.style.visibility = 'visible';
		}
	} else {
		for (var i = 0; i < hideArray.length; i++ ){
			var hEle = document.getElementById(hideArray[i]);
			hEle.style.visibility = 'hidden';
		}
	}
}

function changeSearchPane(paneId, radio) {
	var divEle = document.getElementById(paneId);
	if(radio.value == 'Composition') {
		divEle.innerHTML = "<table><tr><td>Raga</td><td><input type='text' name='raga' /></td><tr><td>Tala</td><td><input type='text' name='tala' /></td></tr><tr><td>Composer</td><td><input type='text' name='composer' /></td></tr><tr><td>Deity</td><td>"
		+ getDeitySelectStr() + "</td></tr><tr><td>Genre</td><td>"
		+ getGenreSelectStr() + "</td></tr><tr><td>Language</td><td>"
		+ getLanguageSelectStr() +"</td></tr><tr><td>Sahitya</td><td><input type='text' name='sahitya' /></td></tr></table>";	
	} else if (radio.value == 'Person') {
		divEle.innerHTML = "<table><tr><td>Name</td><td><input type='text' name='fName' /></td></tr><tr><td>Disciple of:</td><td><input type='text' name='guru' /></td></tr></table>";
	} else if (radio.value == 'Article') {
		divEle.innerHTML = "<table><tr><td>Keyword</td><td><input type='text' name='title' /></td></tr><input type='hidden' name='description' /><tr><td>Author</td><td><input type='text' name='author' /></td></tr></table>";
	} else if (radio.value == 'Raga') {
		divEle.innerHTML = "<table><tr><td>Name</td><td><input type='text' name='name' /></td></tr><input type='hidden' name='description' /><tr><td>Melam</td><td><select name='melam'><option value=''>unknown</option><option value='1'>Kanakangi(1)</option><option value='2'>Ratnangi(2)</option><option value='3'>Ganamurthy(3)</option><option value='4'>Vanaspati(4)</option><option value='5'>Manavati(5)</option><option value='6'>Tanarupi(6)</option><option value='7'>Senavati(7)</option><option value='8'>Hanumatodi(8)</option><option value='9'>Dhenuka(9)</option><option value='10'>Natakapriya(10)</option><option value='11'>Kokilapriya(11)</option><option value='12'>Rupavati(12)</option><option value='13'>Gayakapriya(13)</option><option value='14'>Vakulabharana(14)</option><option value='15'>Mayamalavagoula(15)</option><option value='16'>Chakravaka(16)</option><option value='17'>Suryakanta(17)</option><option value='18'>Hatakambari(18)</option><option value='19'>Jhankaradhvani(19)</option><option value='20'>Nathabhairavi(20)</option><option value='21'>Kiravani(21)</option><option value='22'>Kharaharapriya(22)</option><option value='23'>Gourimanohari(23)</option><option value='24'>Varunapriya(24)</option><option value='25'>Mararanjani(25)</option><option value='26'>Charukeshi(26)</option><option value='27'>Sarasangi(27)</option><option value='28'>Harikambhoji(28)</option><option value='29'>Dhirashankarabharana(29)</option><option value='30'>Naganandini(30)</option><option value='31'>Yagapriya(31)</option><option value='32'>Ragavardhani(32)</option><option value='33'>Gangeyabhushani(33)</option><option value='34'>Vagadhishwari(34)</option><option value='35'>Shulini(35)</option><option value='36'>Chalanata(36)</option><option value='37'>Salagam(37)</option><option value='38'>Jalarnavam(38)</option><option value='39'>Jhalavarali(39)</option><option value='40'>Navanitam(40)</option><option value='41'>Pavani(41)</option><option value='42'>Raghupriya(42)</option><option value='43'>Gavambodhi(43)</option><option value='44'>Bhavapriya(44)</option><option value='45'>Shubha Pantuvarali(45)</option><option value='46'>Shadvidha Margini(46)</option><option value='47'>Suvarnangi(47)</option><option value='48'>Divyamani(48)</option><option value='49'>Dhavalambari(49)</option><option value='50'>Namanarayani(50)</option><option value='51'>Kamavardhani(51)</option><option value='52'>Ramapriya(52)</option><option value='53'>Gamanashrama(53)</option><option value='54'>Vishwambari(54)</option><option value='55'>Shyamalangi(55)</option><option value='56'>Shanmukhapriya(56)</option><option value='57'>Simhendra Madhyama(57)</option><option value='58'>Hemavati(58)</option><option value='59'>Dharmavati(59)</option><option value='60'>Nitimati(60)</option><option value='61'>Kantamani(61)</option><option value='62'>Rishabhapriya(62)</option><option value='63'>Latangi(63)</option><option value='64'>Vachaspati(64)</option><option value='65'>Mechakalyani(65)</option><option value='66'>Chitrambari(66)</option><option value='67'>Sucharitra(67)</option><option value='68'>Jyoti Swarupini(68)</option><option value='69'>Dhatuvardhani(69)</option><option value='70'>Nasikabhushani(70)</option><option value='71'>Kosalam(71)</option><option value='72'>Rasikapriya(72)</option></select></td></tr><tr><td>Is Karta</td><td><input type='checkbox' name='karta' /></td></tr></table>";
	} else if (radio.value == 'Tala') {
		divEle.innerHTML = "<table><tr><td>Name</td><td><input type='text' name='name' /></td></tr><input type='hidden' name='description' /><tr><td>Beats</td><td><input name='beats' type='text' size='5'/></td></tr></table>";
	}
}

function fetchInfoLinkPage(cPath, id, tableName) {
	location.href = cPath  + 
		"/admin/infoLink.do?page=infoLink&action=edit&id=" +
		id + "&tableName=" + tableName;
}

function fetchAudioClipPage(cPath, id, tableName) {
	location.href = cPath  + 
		"/admin/audioClip.do?page=audioClip&action=edit&id=" +
		id + "&tableName=" + tableName;
}

function fetchUserCommentPage(cPath, id, tableName) {
	location.href = cPath  + 
		"/admin/usercontent.do?page=usercontent&action=edit&id=" +
		id + "&tableName=" + tableName;
}

function getDeitySelectStr() {
	var selectStr = "<select name='deity'>";
		selectStr += "<option value=''>Any Deity</option>";	      
		selectStr += "<option value='Generic'>Generic</option>";	      
		selectStr += "<option value='Ganapati'>Ganapati</option>";	  
		selectStr += "<option value='Guru'>Guru</option>";		  
		selectStr += "<option value='Krishna'>Krishna</option>";	      
		selectStr += "<option value='Lakshmi'>Lakshmi</option>";	      
		selectStr += "<option value='Parvati'>Parvati</option>";	      
		selectStr += "<option value='Rama'>Rama</option>";		  
		selectStr += "<option value='Saraswati'>Saraswati</option>";	  
		selectStr += "<option value='Sita'>Sita</option>";		  
		selectStr += "<option value='Siva'>Siva</option>";		  
		selectStr += "<option value='Subrahmanya'>Subrahmanya</option>";   
		selectStr += "<option value='Vishnu'>Vishnu</option>";		  
		selectStr += "</select>";
	return selectStr;
}

function getLanguageSelectStr() {
	var selectStr = "<select name='language'>";
		selectStr += "<option value=''>Any Language</option>";	      
		selectStr += "<option value='Kanada'>Kanada</option>";
		selectStr += "<option value='Malayalam'>Malayalam</option>";
		selectStr += "<option value='Manipravalam'>Manipravalam</option>";
		selectStr += "<option value='Sanskrit'>Sanskrit</option>";
		selectStr += "<option value='Tamil'>Tamil</option>";
		selectStr += "<option value='Telugu'>Telugu</option>";
		selectStr += "</select>";
	return selectStr;
}

function getGenreSelectStr() {
	var selectStr = "<select name='genre'>";
		selectStr += "<option value=''>Any Genre</option>";	      
		selectStr += "<option value='Varase'>Swaravali</option>";			
		selectStr += "<option value='Varase'>Alankara</option>";		
		selectStr += "<option value='Geeta'>Geeta</option>";			
		selectStr += "<option value='Swarajati'>Swarajati</option>"; 		
		selectStr += "<option value='Varna'>Varna</option>";			
		selectStr += "<option value='Kriti'>Kriti</option>";			
		selectStr += "<option value='Divyanamakriti'>Divyanamakriti</option>";	
		selectStr += "</select>";
	return selectStr;
}


function fixSidebarSize()
{
	var content,
		sidebar;

	content = document.getElementById("content");
	sidebar = document.getElementById("sidebar");
	
	if (content != null && sidebar != null)
	{
		sidebar.style.height = content.clientHeight + "px";
	}
}
