/********************************************************
	Javascript Functions defined by Jyoti
*******************************************************/

function URLEncode(decodedstr)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	//var plaintext = document.URLForm.F1.value;
	var plaintext = decodedstr;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
	//document.URLForm.F2.value = encoded;
	//return false;
}

function URLDecode(encodedstr)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   //var encoded = document.URLForm.F2.value;
   var encoded = encodedstr;
   
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
	return plaintext;
   //document.URLForm.F1.value = plaintext;
   //return false;
}
function openwindow2(url)
{
        win = window.open(url, 'action', 'titlebar=no,menubar=no,resizable=yes,scrollbars=yes,width=980,height=650');
        win.focus();
}

function preload(){
	var imageLocation = '/boostweb/images/'; // directory where images are stored
	if(document.images){
		for (var i = 0; i< arguments.length; i++){
			//alert(arguments[i] + '_over');
			self[arguments[i] + '_over'] = new Image();
			self[arguments[i] + '_over'].src = imageLocation + arguments[i] + '_over.gif';
			self[arguments[i] + '_off'] = new Image();
			self[arguments[i] + '_off'].src = imageLocation + arguments[i] + '.gif';
		}
	}
}

function rollover(src, state){
	if (document.images && self[src + '_' + state]){
		document.images[src].src = self[src + '_' + state].src;
	}
}

/********************************************************
	Using the Enter button for Search on the top right
***************************************************************/
		function doNextelSearch(buttonName,e) {
		//the purpose of this function is to allow the enter key to 
		//point to the correct button to click.
		        var key;
		
		         if(window.event)
		              key = window.event.keyCode;     //IE
		         else
		              key = e.which;     //firefox
		    
		        if (key == 13) //Enter key
		        {
		        	//alert('here1');
		            //Get the button the user wants to have clicked
		            var btn = document.getElementById(buttonName);
		            if (btn != null)
		            { //If we find the button click it
		            
		            	checkkeyword();
		                //btn.click();
		                event.keyCode = 0
		            }
		        }
		}
			
		function checkkeyword() {
			var formId = document.getElementById("dlSearch");
			
			if (formId) {
				
				var isAdvancedSearch = formId.clicked_advancedsearch.value;
				
			}
			
			var searchtype = "";
			
			//SearchByArtist
			if (formId.dlSearchBy[0].checked && 'Y' == isAdvancedSearch) {
				var searchfield = formId.dlSearchFieldAdvanced.value;
				searchfield = js_RemoveChar(searchfield); //remove double quotes
				searchfield = trimString(searchfield);
				searchtype = "artist";
				//alert("1");
			}
			else if (formId.dlSearchBy[1].checked && 'Y' == isAdvancedSearch){
				//GlobalSearch
				var searchfield = formId.dlSearchFieldAdvanced.value;
				searchfield = js_RemoveChar(searchfield); //remove double quotes
				searchfield = trimString(searchfield);
				searchtype = "global";
				//alert("2");
			}
			else
				return;
				
			if (searchfield.length < 2) {
				searchfield = '';
				alert('SearchField should have at least 2 characters');
				return;
			}
			
			//formId.dlSearchField.value = searchfield;
			//alert('x'+searchfield+'x');
			
			if (searchtype == 'global') {
				//alert('x'+searchfield+'x');
				window.location.href = "globalsearch.do?dlSearchField="+URLEncode(searchfield);
			
			}
			
			if (searchtype == 'artist') {
				//alert('x'+searchfield+'x');
				var window_url="ringtones.do?formname=ringtoneForm&fromglobalsearch=Y&command=searchbysongs&rtsearchtype=2&rowcount=&searchvalue="+URLEncode(searchfield);
				window.location.href = window_url+"&url="+URLEncode(window_url);
			
			}
		}

/************************************************
	Function fired for AdvancedSearch Go Button clicked from AdvancedSearch Page
******************************************************/	
function OnClickOfAdvancedSearch() {

	//alert('here');
	var href_url = "";
	var artistVal = document.getElementById("advSearchArtist").value;
	var titleVal = document.getElementById("advSearchTitle").value;
	//alert(titleVal);
	if (isEmptyStr(artistVal) && isEmptyStr(titleVal)) {
		alert("Both Artist and Title cannot be empty");
		return false;
	}
	
	if (!isEmptyStr(artistVal) && artistVal.length < 2) {
		alert('Artist should have at least 2 characters');
		return;
	}
	
	if (!isEmptyStr(titleVal) && titleVal.length < 2) {
		alert('Title should have at least 2 characters');
		return;
	}
	
	//Do Global Search if  only title is specified
	if (isEmptyStr(artistVal) && !isEmptyStr(titleVal)) {
		
		hrefurl = 'globalsearch.do?advancedSearch=Y&searchBy=title&advsearchtitle='+titleVal;
	}
	
	//Do ordinary artist search if only artist is specified
	if (!isEmptyStr(artistVal) && isEmptyStr(titleVal)) {
		
		var window_url= 'ringtones.do?formname=ringtoneForm&fromglobalsearch=Y&command=searchbysongs&rtsearchtype=2&rowcount=&searchvalue='+URLEncode(artistVal);
		hrefurl = window_url + "&url="+URLEncode(window_url);
	}
	
	//if both are specified , do ringtone search as Artist is only for Ringtones
	if (!isEmptyStr(artistVal) && !isEmptyStr(titleVal)) {
		
		var window_url= 'ringtones.do?formname=ringtoneForm&advancedSearch=Y&command=searchbysongs&rtsearchtype=2&rowcount=&searchBy=both&advsearchtitle='+URLEncode(titleVal)+'&advsearchartist='+URLEncode(artistVal);
		hrefurl =  window_url + "&url="+URLEncode(window_url);
	}
	
	if (!isEmptyStr(hrefurl)) {
	
		//alert(hrefurl);
		window.location.href=hrefurl;
	}
	else
		return;
		

	
}

function submitPage(formObj,commandvalue) {
	 try {
	   // var pageoffset = document.all("pager.offset");
	 
	    var pageoffset = document.getElementById("pageroffset");
	    
	    if (pageoffset) {
	    	//document.all("pager.offset").value = 0;
	    	pageoffset.value = 0;
	    }
	    
	    if (formObj.pagenumberclicked)
			formObj.pagenumberclicked.value = "0";
	   
	   	//alert(commandvalue);
		//document.all("command").value=commandvalue;
		formObj.command.value=commandvalue;
		//alert(formObj.command.value);
		 
		formObj.submit();
	
	  }
	  catch(Exception) {
	  	alert("in Exception of SubmitPage");
	  }
	 
}

function selectphoneaction() {

		var formObj = document.getElementById("contentform");
		if (!formObj)
			formObj = document.getElementById("detailsform");
		//alert(formObj.name);
		if (formObj) {
			var command = formObj.command.value;
			formObj.action = 'selectphone.do?command=&prevcommand='+command;
			
			formObj.submit();
		}

}

function firstlistsearch(formname,act,commandvalue,listtype,totalrows,offsetval) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		//alert(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var personalize = "person";
		var overview = "overview";
		var business = "business";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		//alert(urltouse);
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		//var formObj = document.getElementById("contentform");
		try {
			if (formObj) {
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1) 
			    	action = "/NextelDigitalLounge/ringtones.do?formname="+formname+"&itemsize="+totalrows+"&url=/ringtones.do&pager.offset="+offsetval;
			    if (formname.indexOf(wallpaper) != -1) 
			    	action = "/NextelDigitalLounge/wallpapers.do?formname="+formname+"&itemsize="+totalrows+"&url=/wallpapers.do&pager.offset="+offsetval;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do?formname="+formname+"&itemsize="+totalrows+"&url=/games.do&pager.offset="+offsetval;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do?formname="+formname+"&itemsize="+totalrows+"&url=/applications.do&pager.offset="+offsetval;
			    if (formname.indexOf(personalize) != -1) 
			    	action = "/NextelDigitalLounge/personalization.do?formname="+formname+"&itemsize="+totalrows+"&url=/personalization.do&pager.offset="+offsetval;
			    if (formname.indexOf(overview) != -1) 
			    	action = "/NextelDigitalLounge/overview.do?formname="+formname+"&itemsize="+totalrows+"&url=/overview.do&pager.offset="+offsetval;
			    if (act.indexOf(business) != -1) 
			    	action = "/NextelDigitalLounge/business.do?formname="+formname+"&itemsize="+totalrows+"&url=/business.do&pager.offset="+offsetval;
			    
			    //alert(commandvalue);
				formObj.command.value=commandvalue;
				if (listtype != '' && listtype != 'undefined' && listtype != null)
					formObj.searchby.value=listtype;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//alert(formObj.searchby.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			alert("InException");
		}
	}

//This function fired when a page number from list results on default page is clicked on .
	
	function listsearch(formname,act,commandvalue,listtype) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		//alert(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var personalize = "person";
		var overview = "overview";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		//var formObj = document.getElementById("contentform");
		try {
			if (formObj) {
			    //var a = document.all("pager.offset").value;
			    if (listtype == 'whatnewsearch')
			    	 var a = document.getElementById("newpageroffset").value;
			     if (listtype == 'listsearch')
			    	 var a = document.getElementById("ftpageroffset").value;
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1) 
			    	action = "/NextelDigitalLounge/ringtones.do"+querystring;
			    if (formname.indexOf(wallpaper) != -1) 
			    	action = "/NextelDigitalLounge/wallpapers.do"+querystring;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do"+querystring;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do"+querystring;
			    if (formname.indexOf(personalize) != -1) 
			    	action = "/NextelDigitalLounge/personalization.do"+querystring;
			    if (formname.indexOf(overview) != -1) 
			    	action = "/NextelDigitalLounge/overview.do"+querystring;
			    	
			    //var a = document.getElementById("pageroffset").value;
				formObj.command.value=commandvalue;
				formObj.searchby.value=listtype;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//alert(formObj.searchby.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			//alert("InException");
		}
	}
	
	function submitsearch(formname,act,commandvalue) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		//alert(urltouse);
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		try {
			if (formObj) {
			    //var a = document.all("pager.offset").value;
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1)
			    	action = "/NextelDigitalLounge/ringtones.do"+querystring;
			    if (formname.indexOf(wallpaper) != -1)
			    	action = "/NextelDigitalLounge/wallpapers.do"+querystring;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do"+querystring;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do?"+querystring;
			    
			    	
			    //alert(action);
			    var a = document.getElementById("pageroffset").value;
			    //alert(a);
				formObj.command.value=commandvalue;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			//alert("InException");
		}
	}
	
	
	//To display the first number in the page for forward only index in pg:pager
	function submitsearchfirstnumber(formname,act,commandvalue,offset) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		//alert(urltouse);
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		try {
			if (formObj) {
			    //var a = document.all("pager.offset").value;
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1)
			    	action = "/NextelDigitalLounge/ringtones.do?pager.offset="+offset;
			    if (formname.indexOf(wallpaper) != -1)
			    	action = "/NextelDigitalLounge/wallpapers.do?pager.offset="+offset;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do?pager.offset="+offset;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do?pager.offset="+offset;
			    	
			    //alert(action);
			   
				formObj.command.value=commandvalue;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			//alert("InException");
		}
	}
	
	/**
	// Used in searchresultfooter
	**/
	function customsearch(formname,act,commandvalue,offsetval) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		//alert(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var personalize = "person";
		var overview = "overview";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		//alert(urltouse);
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		//var formObj = document.getElementById("contentform");
		try {
			if (formObj) {
			    var action = "";
			    if (act.indexOf("fromglobalsearch=Y") != -1) {
			    	//alert(act);
			    	
			    	var query = fleegix.uri.getQuery(act);
					var url_base = fleegix.uri.getBase(act); //portion before the question mark
					query = fleegix.uri.setParam('pager.offset', offsetval, query); 
					query = fleegix.uri.setParam('startrow', offsetval, query); 
					var finalURL = url_base + "?"+query;
					query = fleegix.uri.setParam('url', URLEncode(finalURL), query);  
					//alert(url_base + query);
			    	window.location.href = url_base + "?"+query;
			    	return;
			    }
			    else if (act.indexOf("advancedSearch=Y") != -1) {
			    	//alert(act);
			    	
			    	var query = fleegix.uri.getQuery(act);
					var url_base = fleegix.uri.getBase(act); //portion before the question mark
					query = fleegix.uri.setParam('pager.offset', offsetval, query); 
					query = fleegix.uri.setParam('startrow', offsetval, query); 
					var finalURL = url_base + "?"+query;
					query = fleegix.uri.setParam('url', URLEncode(finalURL), query);  
					//alert(url_base + query);
			    	window.location.href = url_base + "?"+query;
			    	return;
			    }
			    else if (formname.indexOf(ringtone)!= -1) 
			    	action = "/NextelDigitalLounge/ringtones.do?pager.offset="+offsetval;
			    else if (formname.indexOf(wallpaper) != -1) 
			    	action = "/NextelDigitalLounge/wallpapers.do?pager.offset="+offsetval;
			    else if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do?pager.offset="+offsetval;
			    else if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do?pager.offset="+offsetval;
			    else if (formname.indexOf(personalize) != -1) 
			    	action = "/NextelDigitalLounge/personalization.do?pager.offset="+offsetval;
			    else if (formname.indexOf(overview) != -1) 
			    	action = "/NextelDigitalLounge/overview.do?pager.offset="+offsetval;
			    
			    //alert(action);
				formObj.command.value=commandvalue;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//alert(formObj.searchby.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			alert("InException");
		}
	}
	

//usage
//<a href="=" onClick="return goTo(document.forms['ringtoneForm'],'/mam/showAccountsforpmamadmin.do?<%=(SessionConstants.COMMAND)%>=<%=(SessionConstants.COMMAND_CONTINUE)%>');return false;">
function goTo(formObj,action) 
{ 
	formObj.action = action; 	
	formObj.submit();return false; 
} 

function CheckPhoneNumber(PhoneNo,TagStr)

{

	// get rid of non-numerics

	var checkOK = new String("0123456789");
	//var strNo = new String(PhoneNo);
	var strNo = PhoneNo;
	
	if (strNo == 'undefined' || strNo == null || strNo.length < 1) {
		alert("Phone Number cannot be blank");
		return false;
	}

	PhoneNo="";
	for ( i = 0; i < strNo.length; i++ )

	{
		ch = strNo.charAt(i);

		for (j = 0;  j < checkOK.length;  j++)

			if (ch == checkOK.charAt(j))

				break;

		if (j != checkOK.length)

		{
			PhoneNo=String(PhoneNo)+String(ch);
		}
	}

	// get rid of leading 1

	if ( ( PhoneNo.length == 11 ) && ( PhoneNo.charAt(0) == 1 ) )

	{

		PhoneNo = PhoneNo.substr(1,10);

	}



	if ( (PhoneNo.length != 0) && (PhoneNo.length < 10) )
	{
		alert("Please enter exactly 10 digits in \"" + TagStr + "\".");
		PhoneNo.focus();
		return false;
	}

	if (PhoneNo.length > 10)
	{
		alert("Please enter exactly 10 digits in \"" + TagStr + "\".");
		PhoneNo.focus();
		return false;
	}

	var checkStr = PhoneNo;
	var allValid = true;
	var decPoints = 0;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		alert("Please enter only digits in \"" + TagStr + "\".");

		PhoneNo.focus();

		return false;

	}
	if ( checkStr.length == 10 )
	{
		if ( checkStr.charAt(0) < '2' )
		{
			alert("The first digit of the area code in \"" + TagStr + "\" cannot be a '1' or '0'");

			PhoneNo.focus();

			return false;

		}
		if ( checkStr.charAt(3) < '2' )
		{
			alert("The first digit of the prefix in \"" + TagStr + "\" cannot be a '1' or '0'");

			PhoneNo.focus();

			return false;

		}
		if ( checkStr.substring(0,3) == "900" )
		{
			alert("The area code in \"" + TagStr + "\" cannot be '900'");
			PhoneNo.focus();
			return false;
		}
	}
	
	//else {
		return true;
		//alert("OK");
	//}	
}

// -------------------------------------------------------------------
// tabNext(input_object)
//   Pass an form input object. Will focus() the next field in the form
//   after the passed element.
//   a) Will not focus to hidden or disabled fields
//   b) If end of form is reached, it will loop to beginning
//   c) If it loops through and reaches the original field again without
//      finding a valid field to focus, it stops
// -------------------------------------------------------------------
function tabNext(obj) {
	//alert('here');
	if (navigator.platform.toUpperCase().indexOf("SUNOS") != -1) {
		obj.blur(); return; // Sun's onFocus() is messed up
		}
	var theform = obj.form;
	//alert(theform.name);
	var tabtonext = false;
	var i = getElementIndex(obj);
	//alert(i);
	var j=i+1;
	if (j >= theform.elements.length) { j=0; }
	if (i == -1) { return; }
	while (j != i) {
		if ((theform.elements[i].name!="ptn1") && (theform.elements[i].name!="ptn2"))
			return;
		if ((theform.elements[i].name =="ptn1")) {
			var len = theform.elements[i].value.length;
			//alert(len);
			if (len == 3) {
				tabtonext = true;
				//alert("entered");
			}
		}
		if ((theform.elements[i].name =="ptn2")) {
			var len = theform.elements[i].value.length;
			if (len == 3)
				tabtonext = true;
		}
		//alert(tabtonext);
		if ((theform.elements[j].type!="hidden") && 
		    (theform.elements[j].name != theform.elements[i].name) && 
			(!theform.elements[j].disabled) && tabtonext) {
			theform.elements[j].focus();
			break;
			}
		j++;
		if (j >= theform.elements.length) { j=0; }
		}
}

//-------------------------------------------------------------------
// getElementIndex(input_object)
//   Pass an input object, returns index in form.elements[] for the object
//   Returns -1 if error
//-------------------------------------------------------------------
function getElementIndex(obj) {
	var theform = obj.form;
	for (var i=0; i<theform.elements.length; i++) {
		if (obj.name == theform.elements[i].name) {
			return i;
			}
		}
	return -1;
	}
	
	
function OnViewAll(viewallvalue) {
		var formObj = document.getElementById("contentform");
		try {
			if (formObj) {
				//formObj.categorydisplaypath.value='RingTone';
				if (viewallvalue == "ringtones") {
					//formObj.viewallvalue.value = 'Ringers';
					//formObj.categorysearchvalue.value = 'Ringers'; //since always its Music tones or Poly Tones
					//formObj.searchby.value = 'category';
					//submitPage(formObj,'searchbycategory');
					
					formObj.categorysearchvalue.value = ''; //since always its Music tones or Poly Tones
					formObj.searchby.value = 'category';
					submitPage(formObj,'viewallringtones');
				}
				if (viewallvalue == "wallpapers") {
					formObj.categorysearchvalue.value = 'Screensavers';
					formObj.searchby.value = 'category';
					submitPage(formObj,'wpsearchbycategory');
					//submitPage(formObj,'viewallwallpapers');
				}
				if (viewallvalue == "games") {
					formObj.categorysearchvalue.value = '';
					formObj.searchby.value = 'category';
					submitPage(formObj,'viewallgames');
					//submitPage(formObj,'viewallwallpapers');
				}
				if (viewallvalue == "applications") {
					formObj.categorysearchvalue.value = '';
					formObj.searchby.value = 'category';
					submitPage(formObj,'viewallapps');
					//submitPage(formObj,'viewallwallpapers');
				}
			}
		}
		catch(Exception) {
			//alert("InException");
		}
	}
	
function OnViewAllFromLeftNav(viewallvalue,pagetype) {
		var formObj = document.getElementById("contentform");
		var leftnavformObj = document.getElementById("leftnavform");
		try {
			if (formObj) {
				formObj.rowcount.value='';
				formObj.sortby.value='';
				formObj.sortorder.value='';
				//formObj.viewallvalue.value=viewallvalue;
				formObj.searchby.value="category";
				formObj.categorysearchvalue.value=viewallvalue;
				
				//formObj.categorydisplaypath.value='RingTone';
				if (viewallvalue == "Ringtone") {
					formObj.selectedcategorytext.value='Ringers';
					formObj.pagetype.value=pagetype;
					formObj.searchvalue.value = '';
					formObj.action="/NextelDigitalLounge/ringtones.do?ignoredeviceinsession=Y";
					submitPage(formObj,'viewpolyphonicringtones');
				}
				if (viewallvalue == "Wallpapers") {
					formObj.selectedcategorytext.value='Screensavers';
					formObj.action="/NextelDigitalLounge/wallpapers.do?ignoredeviceinsession=Y";
					submitPage(formObj,'viewallwallpapers');
				}
			}			
			else {
				
				leftnavformObj.rowcount.value='';
				leftnavformObj.sortby.value='';
				leftnavformObj.sortorder.value='';
				leftnavformObj.searchby.value="category";
				if (viewallvalue == 'Ringtone') {
					leftnavformObj.pagetype.value=pagetype;
					leftnavformObj.searchvalue.value = '';
					leftnavformObj.action="/NextelDigitalLounge/ringtones.do";
					submitPage(leftnavformObj,'viewpolyphonicringtones');
				}
				if (viewallvalue == 'Wallpapers') {
					leftnavformObj.action="/NextelDigitalLounge/wallpapers.do";
					submitPage(leftnavformObj,'viewallwallpapers');
				}
			}
		}
		catch(Exception) {
			//alert("In Exception");
		}
}
	
function setDetailValues(artistval,developerNameval,deviceDisplayNameval,itemid,companyid,fileExtRank) {
	//var formObj = document.forms['ringtoneForm'];
	var formObj = document.getElementById("contentform");
	if (!formObj)
		formObj = document.getElementById("detailsform");
	try {
		if (formObj) {
			if (formObj.artist)
				formObj.artist.value = artistval;
			formObj.developerName.value = developerNameval;
			//alert(developerNameval);
			//alert(deviceDisplayNameval);
			formObj.deviceDisplayName.value = deviceDisplayNameval;
			//alert(formObj.deviceDisplayName.value);
			formObj.itemId.value = itemid;
			formObj.companyId.value = companyid;
			if (formObj.fileExtrank)
				formObj.fileExtrank.value = fileExtRank;
			//alert(formObj.artist.value);
			//alert(formObj.developerName.value);
			//alert(formObj.deviceDisplayName.value);
			//alert(formObj.itemId.value);
			//alert(formObj.companyId.value);
			//alert(formObj.fileExtrank.value);
		}
		
	}
	catch(Exception) {
		alert("InException");
	}
}


	


	function ValidatePhone(formObj) {
		try {
			if (formObj) {
				var ptn1=formObj.ptn1.value;
				var ptn2=formObj.ptn2.value;
				var ptn3=formObj.ptn3.value;
				var ptn = ""+ptn1+ptn2+ptn3;
				//alert(ptn);
				if (CheckPhoneNumber(ptn,'Phone Number')) {
					//alert("Berfore submit");
					formObj.command.value="sendtophone";
					formObj.submit();
				}
			}
		}
		catch(Exception) {
			//alert("InException");
		}
	
	}
	
	function OnKeyDownforPTN(formObj) {
		if ((window.event.keyCode == 13) && ((window.event.srcElement.name == "ptn3")||(window.event.srcElement.name == "ptn2")||(window.event.srcElement.name == "ptn1"))) {
			ValidatePhone(formObj);
		}
	}

	function doSearchByRingTone(range) {
		
			
			var formObj = document.getElementById("contentform");
			alert(formObj.name);
			var searchval = range;
			var rtsearchtype = "By Artist";
			var pagetype= "5";
			if (searchval == 'undefined' || searchval == '' || searchval.length < 3) {
				alert("Please type at least 3 characters for search");
				return;
			}
		
		try {
			if (formObj) {
				alert(formObj.name);
				formObj.searchvalue.value = searchval;
				formObj.rtsearchtype.value=rtsearchtype;
				formObj.rowcount.value='';
				formObj.sortby.value='';
				formObj.sortorder.value='';
				submitPage(formObj,'searchbyartist');
			}
			else {
				//Enters here when serach is done from details page
				alert("in else");
				//alert("In leftnavformobj");
				//leftnavformObj.rowcount.value='';
				//leftnavformObj.sortby.value='';
				//leftnavformObj.sortorder.value='';
				//leftnavformObj.action="/web/ringtones.do";
				//submitPage(leftnavformObj,'searchbysongs');
			}
		}
		catch(Exception) {
			//alert("InException");
		}
	}

function doSearchByWallpaper() {
	var leftnavformObj = document.getElementById("leftnavform");
	var formObj = document.getElementById("contentform");
	//alert(formObj.name);
	var searchval = leftnavformObj.searchtitlevalue.value;
	if (searchval == 'undefined' || searchval == '' || searchval.length < 3) {
		alert("Please type at least 3 characters for search");
		return;
	}
		
		try {
			if (formObj) {
				formObj.searchtitlevalue.value = searchval;
				formObj.rowcount.value='';
				formObj.sortby.value='';
				formObj.sortorder.value='';
				submitPage(formObj,'wpsearchbytitle');
			}
			else {
				//alert(appType);
				leftnavformObj.rowcount.value='';
				leftnavformObj.sortby.value='';
				leftnavformObj.sortorder.value='';
				leftnavformObj.action="/NextelDigitalLounge/wallpapers.do";
				submitPage(leftnavformObj,'wpsearchbytitle');
			}
		}
		catch(Exception) {
			//alert("InException");
		}
}


function setListValues(listid,appType) {
	var formObj = document.getElementById("contentform");
	
	try {
			if (formObj) {
				formObj.listid.value=listid;
				if (appType == 'Ringers')
					submitPage(formObj,'rtlistitems');
				if (appType == 'Screensavers')
					submitPage(formObj,'wplistitems');
				//alert(formObj.listid.value);
			}
		}
		catch(Exception) {
			//alert("InException");
		}

}

/*************************************************
Cookie relates functions or see cookies.js .. delete cookie function is there
***************************************************/

/**
If 0 is passed to the function, expires is not set and the cookie expires when the user closes his browser..
**/

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//See cookies.js .. below does not work
//function eraseCookie(name) {
	//createCookie(name,"",-1);
//}

function ajaxfirstlistsearch(formname,act,commandvalue,listtype,totalrows,offsetval,noofitemsperpage,divtagnumber) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		//alert(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var personalize = "person";
		var overview = "overview";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		//alert(urltouse);
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		//var formObj = document.getElementById("contentform");
		var pagenumber = 1;
		if (offsetval > 0) {
			pagenumber = (offsetval / noofitemsperpage ) + 1;
			//alert(pagenumber);
		}
		try {
			if (formObj) {
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1) 
			    	action = "/NextelDigitalLounge/ringtones.do?formname="+formname+"&itemsize="+totalrows+"&url=/ringtones.do&pager.offset="+offsetval;
			    if (formname.indexOf(wallpaper) != -1) 
			    	action = "/NextelDigitalLounge/wallpapers.do?formname="+formname+"&itemsize="+totalrows+"&url=/wallpapers.do&pager.offset="+offsetval;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do?formname="+formname+"&itemsize="+totalrows+"&url=/games.do&pager.offset="+offsetval;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do?formname="+formname+"&itemsize="+totalrows+"&url=/applications.do&pager.offset="+offsetval;
			    if (formname.indexOf(personalize) != -1) 
			    	action = "/NextelDigitalLounge/personalization.do?formname="+formname+"&itemsize="+totalrows+"&url=/personalization.do&pager.offset="+offsetval;
			    if (formname.indexOf(overview) != -1) 
			    	action = "/NextelDigitalLounge/overview.do?formname="+formname+"&itemsize="+totalrows+"&url=/overview.do&pager.offset="+offsetval+"&currentpagenumber="+pagenumber+"&command="+commandvalue+"&divtagnumber="+divtagnumber+"&ajaxcall=Y";
			    
			    if (listtype != '' && listtype != 'undefined' && listtype != null)
			    		action = action + "&searchby="+listtype;
			    		
			    //alert(action);
			    
			    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		            http_request = new XMLHttpRequest();
		            if (http_request.overrideMimeType) {
		                http_request.overrideMimeType('text/xml');
		                // See note below about this line
		            }
		        } else if (window.ActiveXObject) { // IE
		            try {
		                http_request = new ActiveXObject("Msxml2.XMLHTTP");
		            } catch (e) {
		                try {
		                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
		                } catch (e) {}
		            }
		        }

		        if (!http_request) {
		            alert('Giving up :( Cannot create an XMLHTTP instance');
		            return false;
		        }
		        http_request.onreadystatechange = function() { getAjaxListContents(http_request,divtagnumber); };
		        http_request.open('GET', action, true);
		        http_request.send(null);
			    
		}
			
	}
	catch(Exception) {
		alert("In Exception of ajaxfirstlistsearch");
	}
}

function getAjaxListContents(http_request,divtagnumber) {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
            	var respString = http_request.responseText;
            	//alert("divtagnumber"+divtagnumber);
                //alert(respString);
                var list_by_tag = document.getElementById("listdetails_"+divtagnumber);
                var list_page_no_tag = document.getElementById("listpageno_"+divtagnumber);
                var response_arr = split_string(respString,"==++");
                var pagination_str = "";
                var listdetails_str = "";
            	pagination_str = response_arr[0];
            	listdetails_str = response_arr[1];
            	list_page_no_tag.innerHTML = pagination_str;
            	alert(pagination_str);
               	list_by_tag.innerHTML = listdetails_str;
                 //alert(list_page_no_tag.innerHTML);
                //alert(list_by_tag.innerHTML);
                
            } else {
                alert('There was a problem with the request.');
            }
        }

}

	
	function ajaxlistsearch(formname,act,commandvalue,listtype) {
		//var formObj = document.forms['ringtoneForm'];
		//var formObj = document.all(formname);
		//alert(formname);
		var ringtone = "ringtone";
		var wallpaper = "wallpaper";
		var games = "games";
		var app = "app";
		var personalize = "person";
		var overview = "overview";
		
		var pos = act.indexOf("?");
		var urltouse;
		if (pos != -1)
			urltouse = act.substring(0,pos);
		else
			urltouse = act;
		var querystring = act.substr(pos);
		//alert(querystring);
		var formObj = document.forms[formname];
		//var formObj = document.getElementById("contentform");
		try {
			if (formObj) {
			    //var a = document.all("pager.offset").value;
			    if (listtype == 'whatnewsearch')
			    	 var a = document.getElementById("newpageroffset").value;
			     if (listtype == 'listsearch')
			    	 var a = document.getElementById("ftpageroffset").value;
			    var action = "";
			    if (formname.indexOf(ringtone)!= -1) 
			    	action = "/NextelDigitalLounge/ringtones.do"+querystring;
			    if (formname.indexOf(wallpaper) != -1) 
			    	action = "/NextelDigitalLounge/wallpapers.do"+querystring;
			    if (formname.indexOf(games) != -1) 
			    	action = "/NextelDigitalLounge/games.do"+querystring;
			     if (formname.indexOf(app) != -1) 
			    	action = "/NextelDigitalLounge/applications.do"+querystring;
			    if (formname.indexOf(personalize) != -1) 
			    	action = "/NextelDigitalLounge/personalization.do"+querystring;
			    if (formname.indexOf(overview) != -1) 
			    	action = "/NextelDigitalLounge/overview.do"+querystring+"&ajaxcall=Y";
			    	
			    //var a = document.getElementById("pageroffset").value;
				formObj.command.value=commandvalue;
				formObj.searchby.value=listtype;
				if (formObj.pagenumberclicked)
					formObj.pagenumberclicked.value = "1";
				//alert(formObj.command.value);
				//alert(formObj.searchby.value);
				//formObj.action = act;
				formObj.action = action;
				formObj.submit();
			}
			
		}
		catch(Exception) {
			//alert("InException");
		}
	}
	
	
function split_string(string_to_split,string_sep)
{
	var str_array;
	var sep_len = string_sep.length;
	if (string_to_split.indexOf(string_sep)== -1) {
		str_array=new Array(string_to_split);
		return str_array;
	}
	else
	{
		str_array = new Array(2);
		var first_occur = string_to_split.indexOf(string_sep);
		str_array[0] = string_to_split.substring(0,first_occur);
		var next_occur = first_occur + sep_len;
		str_array[1] = string_to_split.substring(next_occur,string_to_split.length);
		//alert(str_array[0]);
		//alert(str_array[1]);
	}
	
	return str_array;
}

/***********************************************************************************************
	Functions Relating image mouseovers ,image previews etc given by Lis Vesurai..Do Not Change
*************************************************************************************************/

/***********************************/
/* Begin script for preview images */

//var offsetfrommouse=[0,0]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var offsetfrommouse=[15,-20]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 75;	// maximum image size.

function getPreviewObj(){
if (document.getElementById)
return document.getElementById("PreviewLayer").style;
else if (document.all)
return document.all.PreviewLayer.style;
}

function getPreviewObjnostyle(){
if (document.getElementById)
return document.getElementById("PreviewLayer");
else if (document.all)
return document.all.PreviewLayer;
}

function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function displayPreview(This){
getPreviewObjnostyle().innerHTML = '<img src="' + This + '"/>';
getPreviewObj().display="block";
}


function hidePreview(This){
getPreviewObj().display="none";
}

/*function followmouse(e){
	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15;
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight);

	if (typeof e != "undefined"){
			xcoord += e.pageX;
		if (docheight - e.pageY < (currentimageheight + 20)){
			ycoord += e.pageY-412 - Math.max(0,(20 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY-412;
		}

	} else if (typeof window.event != "undefined"){
			xcoord += truebody().scrollLeft+event.clientX;
		if (docheight - event.clientY < (currentimageheight + 20)){
			ycoord += event.clientY-182 + truebody().scrollTop - Math.max(0,(20 + currentimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop+event.clientY-182;
		}
	}

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15;
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight);
		if(ycoord < 0) { ycoord = ycoord*-1; }
	getPreviewObj().left=xcoord+"px";
	getPreviewObj().top=ycoord+"px";
}*/

function followmouse(e){
        var xcoord=offsetfrommouse[0];
        var ycoord=offsetfrommouse[1];

        var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15;
        var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight);

                if (typeof e != "undefined"){ //for Firefox
                        xcoord += e.pageX;
                        if (docheight - e.pageY < (currentimageheight + 0)){
                                ycoord += e.pageY - Math.max(0,(0 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
                } else {
                                ycoord += e.pageY;
                        }
       
                } else if (typeof window.event != "undefined"){ //for IE
                        xcoord += truebody().scrollLeft+event.clientX;
                        if (docheight - event.clientY < (currentimageheight + 0)){
                                ycoord += event.clientY + truebody().scrollTop - Math.max(0,(0 + currentimageheight + event.clientY - docheight));
                } else {
                                ycoord += truebody().scrollTop + event.clientY;
                        }
                }
       
                if(ycoord < 0) { ycoord = ycoord*-1; }
        getPreviewObj().left=xcoord+"px";
        getPreviewObj().top=ycoord+"px";
       
        //window.status = "x = " + xcoord + " y = " + ycoord;
}
 

/* End script for preview images    */


	


