	var aaaButIDs = new Array();
	var aaaButObjects = new Array();
	aaaButIDs['rentallist'] = new Array();
	aaaButObjects['rentallist'] = new Array(); 
	aaaButIDs['rentallist']['all']=new Array("btnrental");
	aaaButIDs['rentallist']['one']=new Array("btnrental");
	aaaButIDs['rentallist']['mult']=new Array("btnrental");
	aaaButIDs['rentallist']['none'] = new Array();
	//download listing in my cart
	aaaButIDs['dnldlist'] = new Array();
	aaaButObjects['dnldlist'] = new Array(); 
	aaaButIDs['dnldlist']['all']=new Array("btndnld");
	aaaButIDs['dnldlist']['one']=new Array("btndnld");
	aaaButIDs['dnldlist']['mult']=new Array("btndnld");
	aaaButIDs['dnldlist']['none'] = new Array();
//trim the response of ajax
	function Trim(sString) {
	    while (sString.substring(0,1) == ' '){
	    sString = sString.substring(1, sString.length);
	    }
	    while (sString.substring(sString.length-1, sString.length) == ' '){
	    sString = sString.substring(0,sString.length-1);
	    }
	    return sString;
	} 
//set the header of action panel
	function setpanelheader(headertxt){
                sWhichPanel = "";
                YAHOO.freado.panel.actionpanel = new YAHOO.widget.Panel("panelcontainer",{width: "450px",fixedcenter:true,constraintoviewport:true,modal:false,draggable:false});
                YAHOO.freado.panel.actionpanel.setHeader(headertxt);
                YAHOO.freado.panel.actionpanel.setBody("<div id='panelbody'>"+loadingStr+"<\/div>");
                YAHOO.freado.panel.actionpanel.render();
                YAHOO.freado.panel.actionpanel.show();
	}
	var panelaction = "";
	var panelparam = "";
	var loadingStr = "<img src='"+ sImgSiteUrl+"loading.gif' \/>  Loading, Please wait...";
//function to toggle checkboxes within select and deselect
	function toggleChecked(oElement,strDatatableIndex){ 
	    oForm = oElement.form; 
	    oElement = oForm.elements[oElement.name];
		nChecked=0;
	    if(oElement.length){
	      bChecked = oElement[0].checked; 
	      for(i = 1; i < oElement.length; i++) {
	        oElement[i].checked = bChecked;
	        if(bChecked)nChecked++;
	      }
	    }
	    dt_checkbox_update_but_states(nChecked,strDatatableIndex); 
	}
//function to toggle checkboxes within select and deselect
	function toggleIndeterminate(oElement,strDatatableIndex){ 
	    oForm = oElement.form; 
	    oElement = oForm.elements[oElement.name]; 
	    if(oElement.length){
	      bIndeterminate = false; 
	      bChecked = true; 
	      nChecked = 0; 
	      for(i = 1; i < oElement.length; i++) 
	        if(oElement[i].checked){nChecked++;}           
			if(nChecked < oElement.length - 1){	
	        if(nChecked){
	          bIndeterminate = true; 
	        }else{ 
	          bIndeterminate = false; 
	        } 
	        bChecked = false; 
	      }else{ 
	        bIndeterminate = false; 
	      } 
	      oElement[0].checked = bChecked; 
	    } 
	    dt_checkbox_update_but_states(nChecked,strDatatableIndex);
	}	
//function to enable buttons if checboxes are clicked
	function dt_checkbox_update_but_states(numSelRows,strDatatableIndex) {
		switch (numSelRows) {
	    case 0 :
	      asTempButs = aaaButIDs[strDatatableIndex]['none'];
	      break;
	    case 1 :
	      asTempButs = aaaButIDs[strDatatableIndex]['one'];
	      break;
	    default :
	      asTempButs = aaaButIDs[strDatatableIndex]['mult'];
	      break;
	    }
	
	    var sTempButs = asTempButs.join(",");
	    var numButs = aaaButIDs[strDatatableIndex]['all'].length;
	    for ( var i=0; i < numButs; i++ ) {
	        var strButID = aaaButIDs[strDatatableIndex]['all'][i];
	        var oBut = document.getElementById(strButID);
	        if( oBut ) {
	        oBut.disabled = (sTempButs.indexOf(strButID) == -1);
	        }
	    }
	}	
//handlisng ajax response failure
	function ResponseFailure(o){}
//handling ajax response success
	function handleResponse(o){
		if (o && o.responseText && Trim(o.responseText).length >= 1) {
		 	var sRes = Trim(o.responseText);
		 	if(o.argument){
		 	 	if(o.argument.div){
		 	 	 var obj = document.getElementById(o.argument.div);
		 	 	 if(obj){
		 	 	  	if(o.argument.div == "panelbody" && o.argument.reqtype == "result"){
						aData = sRes.split("^A");
						if(aData[0]=="pass"){
						 	obj.innerHTML = "";
						 	obj.innerHTML = "<div class='status_pass' style='padding:4px 0px 4px 20px;text-align:center;'>"+aData[1]+"<\/div>";
							if(sLocation!=""){
								window.location=sLocation;
							}	
						}
						if(aData[0]=="fail"){
							obj.innerHTML = "";
						 	obj.innerHTML = "<div class='status_warn' style='padding:4px 0px 4px 20px;text-align:center;'>"+aData[1]+"<\/div>";
						 	if(aData[1]=="You cannot add yourself as favourate"){
								if(sLocation!=""){
									window.location=sLocation;
								}
							}
						 	/*var obj1 = document.getElementById('status_warn');
						 	if(obj1){
						 	 	obj1.style.display="block";
								obj1.innerHTML = aData[1];	
							}else{
								var obj2 = document.getElementById('panelbody');
								obj2.innerHTML = "";
								if(obj2){
									var sD = document.createElement('div');
									sD.setAttribute('id', 'status_warn');
									sD.setAttribute('class', 'status_warn');
									obj2.insertBefore(sD,obj2.firstChild);
									document.getElementById('status_warn').innerHTML = aData[1];	
								}
							}*/
						} 
					}else{
					 	if(o.argument.reqtype){
						 	if(o.argument.reqtype == "result" || o.argument.reqtype == "status" ){
								aData = sRes.split("^A");
								if(aData[0]=="pass"){
								 	obj.innerHTML = "";
								 	obj.innerHTML = "<div class='status_pass' style='padding:4px 0px 4px 20px;text-align:center;'>"+aData[1]+"<\/div>";
									if(sLocation!=""){
										window.location=sLocation;
									}
								}else{
									obj.innerHTML = "";
								 	obj.innerHTML = "<div class='status_warn' style='padding:4px 0px 4px 20px;text-align:center;'>"+aData[1]+"<\/div>";	
								 	if(aData[1]=="You cannot add yourself as favourate"){
										if(sLocation!=""){
											window.location=sLocation;
										}
									}
									if (txtfield = document.getElementById('anonymous_email')){
										if(document.getElementById('anonymous_email').value==""){
											setTimeout("document.getElementById('anonymous_email').focus()",100);
										}
									}
									//setting the focus to the password field in case of login while favouriting
									if (txtfield = document.getElementById('password')){
										if(document.getElementById('anonymous_email').value!=""){
											setTimeout("document.getElementById('password').focus()",100);
										}
								 	}
								}
							}
						}else{
							obj.innerHTML = sRes;
						}
		 	 	  		
		 	 	  	}
				 }
		 		}
		 		if(o.argument.callback){
					o.argument.callback();
				}
			}
		}
	}
//ajax call to panel_mail and print the result in div
	function panel_loadbody(req){
		var sUrl = sBaseUrl+'panel_main.php?action='+panelaction+panelparam+'&rand='+Math.random();
		var callback = {success: handleResponse,failure:ResponseFailure,argument: {div:"panelbody",reqtype:req}};
		var cObj = YAHOO.util.Connect.asyncRequest('GET',sUrl, callback);	
	}
//show if panel is loading
	function show_panel_loading(divid){
	 	var obj1 = document.getElementById(divid);
	 	if(obj1){
	 	 	obj1.style.display="block";
	 	 	obj1.innerHTML = loadingStr;
		}
	}
//add the user as friend
	function alert_friend(tp,id,url){
		sLocation = url;
		setpanelheader("Add as Friend");
		panelaction = tp;
		panelparam = '&puid='+id+"&reload_url="+url;
		panel_loadbody('result');
	}
//function to add content as fav	
	function addfav(id,name,type,url){
		sLocation = url;
		message="Add this "+type+" as favourite";
	 	setpanelheader(message);
	 	panelaction="addfav";
		panelparam="&id="+id+"&name="+name+"&type="+type+"&reload_url="+url;
		panel_loadbody('status');	
	}
	
	//function to add anonymous fan
	function addAnonymousFav(id,name,type,anonymous_name,anonymous_email,anonymous_url,txt_captcha,errmsg,existing,anonymousid,url){
		var sCaptcha="";
		//////Ajax to get the Captcha session value/////////
		var xmlHttp;
		var sessionVal;
		try
  		{
  			// Firefox, Opera 8.0+, Safari
  			xmlHttp=new XMLHttpRequest();
  		}
		catch (e)
  		{
  			// Internet Explorer
  			try
    		{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    		}
  			catch (e)
    		{
    			try
      			{
      				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      			}
    			catch (e)
      			{
      				return false;
      			}
    		}
  		}
  		xmlHttp.open("GET",sBaseUrl+"includes/getCaptchaSession.php",true);
		xmlHttp.send(null);
  		xmlHttp.onreadystatechange=function()
    	{
    		if(xmlHttp.readyState==4)
    		{    			
    			sCaptcha=xmlHttp.responseText;
      			if((anonymous_name=="Full Name" || anonymous_name=="") && existing==0){
					document.getElementById(errmsg).innerHTML="Please enter your name";
				}else if((!echeckEmail(anonymous_email)) && existing==0){
					document.getElementById(errmsg).innerHTML="Please enter the valid Email ID";
				}else if(txt_captcha!=sCaptcha && existing==0){
					document.getElementById(errmsg).innerHTML="Please Enter correct code";
				}else{
				 	panelaction="addanonymousfav";
				 	if(anonymous_url=="Website"){ anonymous_url=""; }
				 	if(existing==0){
						panelparam="&id="+id+"&name="+name+"&type="+type+"&anonymous_name="+anonymous_name+"&anonymous_email="+anonymous_email+"&anonymous_url="+anonymous_url+"&exist=0&reload_url="+url;
					}else{
						panelparam="&id="+id+"&name="+name+"&type="+type+"&anonymous_name="+anonymous_name+"&anonymous_email="+anonymous_email+"&anonymous_url="+anonymous_url+"&exist=1&anonymousid="+anonymousid+"&reload_url="+url;
					}
					panel_loadbody('status');
				}	
      		}
    	}
	}
	//function to send mail to the author
	function sendAccount(author_id,creator_id,url){
		sLocation = url;
		message="Send account details to author";
	 	setpanelheader(message);
	 	panelaction="sendaccount";
		panelparam="&id="+author_id+"&creator_id="+creator_id+"&reload_url="+url;
		panel_loadbody('status');	
	}
	//function to delete book/user from fav. list	
	function deletefav(id,name,type,url){
		sLocation = url;
		message="Delete this "+type+" from favourite list";
	 	setpanelheader(message);
	 	panelaction="deletefav";
		panelparam="&id="+id+"&name="+name+"&type="+type+"&reload_url="+url;
		panel_loadbody('status');	
	}
	//function to delete comments
	function deletecomment(to_id,comm_id,url){
		sLocation = url;
		message="Delete this comment from comments";
		setpanelheader(message);
		panelaction="deletecomment";
		panelparam="&id="+to_id+"&comment_id="+comm_id+"&reload_url="+url;
		panel_loadbody('status');
	}
//function to add the content to wishlist
	function addwish(id,name,type,url){
		sLocation = url;
		message="Add this"+type+" in your wishlist";
	 	setpanelheader(message);
	 	panelaction="addwish";
		panelparam="&id="+id+"&name="+name+"&type="+type+"&reload_url="+url;
		panel_loadbody('status');	
	}
	//function to delete the content from wishlist
	function deletewish(id,name,type,url){
		sLocation = url;
		message="Delete this"+type+" from your wishlist";
	 	setpanelheader(message);
	 	panelaction="deletewish";
		panelparam="&id="+id+"&name="+name+"&type="+type+"&reload_url="+url;
		panel_loadbody('status');	
	}
//function to report a content as abused
	function reportabuse(id,name,type,url){
		sLocation = url;
		message="Report this "+type+" abuse";
	 	setpanelheader(message);
	 	panelaction="reportabuse";
		panelparam="&id="+id+"&name="+name+"&type="+type+"&reload_url="+url;
		panel_loadbody('status');	
	}
	
	//function to log in
	function userLogin(id,email,password,remember,user_website,url,type,name){
		sLocation = url;
		if(remember){
			remember="on";
		}else{
			remember="";
		}
		if(!echeckEmail(email)){
			document.getElementById('errmsg').innerHTML="Please enter the valid Email ID";
			document.getElementById('anonymous_email').focus();
		}else if(password==""){
			document.getElementById('errmsg').innerHTML="Please enter your password";
			document.getElementById('password').focus();
		}else{
			panelaction="userlogin";
			panelparam="&id="+id+"&type="+type+"&name="+name+"&email="+email+"&password="+password+"&user_website="+user_website+"&reload_url="+url+"&chk_remember="+remember;
			panel_loadbody('status');
		}
	}
//function that returns the list of all values of checkboxes within a given form
function get_all_val(frm){
    var aData = new Array();
    if(frm == ""){
    	var oForm = document.frmlist;
    }else{
		var oForm = eval("document."+frm);
	}
	
    oElement = oForm.elements['chklist'];
    nChecked=0;
    if(oElement.length){ 
      for(i = 1; i < oElement.length; i++) {
        	aData.push(oElement[i].value);
      }
    }
    return aData;
}
//function that returns the list of selected items by checkboxes of a given form
function get_selected_val(frm){
    var aData = new Array();
    if(frm == ""){
    	var oForm = document.frmlist;
    }else{
		var oForm = eval("document."+frm);
	 }
	
    oElement = oForm.elements['chklist'];
    nChecked=0;
    if(oElement.length){ 
      for(i = 1; i < oElement.length; i++) {
        if(oElement[i].checked){
        	aData.push(oElement[i].value);
		}
      }
    }
    return aData;
}
	//function to validate and submit the search form
function srch(){
    oB = document.frmsearch.vl;
    if(Trim(oB.value)==''){
	   	alert('Search value cannot be empty');
    	oB.focus();
    	return false;
	}else{
			document.frmsearch.submit();
		}
}
	//function to clear the search text box when user clicks on it
	function clearsrch(obj,tp){
			if((Trim(obj.value) == "Search") && tp=="1"){
				obj.value = "";
			}
			if(Trim(obj.value) == "" && tp=="2"){
					obj.value = "Search";
			}
	}
	//function to show loading when we click to open the panel
	function loading_panel(){
		YAHOO.freado.panel.wait = new YAHOO.widget.Panel("wait",{width:"240px",fixedcenter:true, close:false, draggable:false, zindex:4,modal:true,visible:false});
		YAHOO.freado.panel.wait.setHeader("Loading, please wait...");
		YAHOO.freado.panel.wait.setBody('<img src="images/loading_bar.gif" />');
		YAHOO.freado.panel.wait.render("loading_panel");
		YAHOO.freado.panel.wait.show();
	}
	//function to launch the audio player
	function playaudio(contentid,preview){
		strWidth = "500";
		strHeight = "20";
		tools = "maximize=no,resizable=no,toolbar=no,location=no,scrollbars=yes,width="+strWidth+",height="+strHeight+",left=0,top=0";
		url = sBasePlayerUrl+"popcheck.php?contentid="+contentid+"&preview="+preview;
		newWindow = window.open(url, 'newWin', tools);
		if(!newWindow){
			alert('Please enable popup window from Freado in your browser');
		}else{
		 	newWindow.focus();
		}
	}
	//function to launch the video player
	function playvideo(contentid,preview){
		strWidth = "510";
		strHeight = "410";
		tools = "width="+strWidth+",height="+strHeight+",left=0,top=0";
		url = sBasePlayerUrl+"videoplayer.php?contentid="+contentid+"&preview="+preview;
		newWindow = window.open(url, 'newWin', tools);
		if(!newWindow){
			alert('Please enable popup window from Freado in your browser');
		}else{
		 	newWindow.focus();
		}
	}
	//function to launch the book player
	function playbook(contentid,authorid,preview){
		strWidth = screen.width;
		strHeight = screen.height;
		tools = "width="+strWidth+",height="+strHeight+",left=0,top=0";
		url = sBasePlayerUrl+"bookplayer.php?contentid="+contentid+"&authorid="+authorid+"&preview="+preview;
		newWindow = window.open(url, 'newWin', tools);
		if(!newWindow){
			alert('Please enable popup window from Freado in your browser');
		}else{
		 	newWindow.focus();
		}
	}
	function checkLength(field, max) {
		// if the length of the string in the input field is greater than the max value, trim it
		if (field.value.length > max)
			field.value = field.value.substring(0, max);
	}
	 function checkFileExtension(elem) {
        var filePath = elem.value;

        if(filePath.indexOf('.') == -1)
            return false;
        
        var validExtensions = new Array();
        var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
    
        validExtensions[0] = 'jpg';
        validExtensions[1] = 'jpeg';
        validExtensions[3] = 'png';
        validExtensions[4] = 'gif';  
    
        for(var i = 0; i < validExtensions.length; i++) {
            if(ext == validExtensions[i]){
            	loading_panel();
				return true;
			}
        }

        alert('The file extension ' + ext.toUpperCase() + ' is not allowed!');
        return false;
    }
    function changeCaptcha(myForm)
	{
		var xmlHttp;
		try
  		{
  			// Firefox, Opera 8.0+, Safari
  			xmlHttp=new XMLHttpRequest();
  		}
		catch (e)
  		{
  			// Internet Explorer
  			try
    		{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    		}
  			catch (e)
    		{
    			try
      			{
      				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      			}
    			catch (e)
      			{
      				return false;
      			}
    		}
  		}
  		xmlHttp.onreadystatechange=function()
    	{
    		if(xmlHttp.readyState==4)
    		{
      			myForm.imgcaptcha.src=xmlHttp.responseText;
      			myForm.txt_captcha.value="";
      			myForm.txt_captcha.focus();
      		}
    	}
  		xmlHttp.open("GET",sBaseUrl+"includes/getCaptcha.php",true);
		xmlHttp.send(null);
	}
	
	//function to ceheck any new text is written to the text field. If written do not clear else clear it
	function checkText(text){
		if(text.name=='txt_guestname'){
			if(text.value=="Full Name"){
				text.value="";
			}
		}else if(text.name=='txt_guestemail'){
			if(text.value=="Email"){
				text.value="";
			}
		}else if(text.name=='txt_guesturl'){
			if(text.value=="Website"){
				text.value="";
			}
		}else if(text.name=='txt_captcha'){
			if(text.value=="Type the code shown above"){
				text.value="";
			}
		}
	}
	
	//function to check whther any filed is having null values in anonymous favorating form
	function checkNull(text){
		if(text.name=='txt_guestname'){
			if(text.value==""){
				text.value="Full Name";
			}
		}else if(text.name=='txt_guestemail'){
			if(text.value==""){
				text.value="Email";
			}
		}else if(text.name=='txt_guesturl'){
			if(text.value==""){
				text.value="Website";
			}
		}else if(text.name=='txt_captcha'){
			if(text.value==""){
				text.value="Type the code shown above";
			}
		}
	}
	
	//function to validate email id
	function echeckEmail(str) {
		return (str.lastIndexOf(".") > 2) && (str.indexOf("@") > 0) && (str.lastIndexOf(".") > (str.indexOf("@")+1)) && (str.indexOf("@") == str.lastIndexOf("@"));
	} 
	/*function echeckEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}*/
    
    function nextAuthorList(start, count, url){
        var divSubscribedAuthors=document.getElementById("divSubscribedAuthors");
        var divLoading=document.getElementById("divLoading");
        divLoading.style.visibility="visible";
		var xmlHttp;
		try
  		{
  			// Firefox, Opera 8.0+, Safari
  			xmlHttp=new XMLHttpRequest();
  		}
		catch (e)
  		{
  			// Internet Explorer
  			try
    		{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    		}
  			catch (e)
    		{
    			try
      			{
      				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      			}
    			catch (e)
      			{
      				return false;
      			}
    		}
  		}
  		xmlHttp.onreadystatechange=function()
    	{
    		if(xmlHttp.readyState==4)
    		{
                divSubscribedAuthors.innerHTML=xmlHttp.responseText;
      		}
    	}
  		xmlHttp.open("GET",url+"rpc_nextAuthorList.php?start="+start+"&count="+count);
		xmlHttp.send(null);
    }
