 function trim(s) {
    s = s.replace(/^\s+/,"");
    s = s.replace(/\s+$/,"");
    return s;
  }

//the validation of the text fields
function validate_required(field,alerttxt)
{
  with (field)
  {
    if (value==null||value=="")
    {
      if(field.name=='fname')		
      alert("Friend Name must be filled properly")
      else  if(field.name=='femail')		
      alert("Friend Email must be filled properly")
      else  if(field.name=='confemail')		
      alert("Email Confirmation must be filled properly")
      else  if(field.name=='tut_name')		
      alert("Tutorial Name must be filled properly")
      else  if(field.name=='tut_descr')		
      alert("Tutorial Description must be filled properly")
      else  if(field.name=='zip_file')		
      alert("Zip File must be filled properly")
        else  if(field.name=='weburl')		
      alert("Website Url must be filled properly")
      else
      alert(alerttxt);
      return false;
    }
         
     else if (field.name=='Email'||field.name=='femail' || field.name=='confemail')
     {
       if(echeck(field.value)== false)
       return false;
     }
  
     else {return true;}
  }
}
  
 //the general validation
function validate_form(thisform)
{ 
  with (thisform)
  {
    testcheckboxgroup="";
    testradiogroup="";
    j=0;r=0;rradio=0;
    while(thisform.elements[j]!=null)
    {
    	//alert(thisform.elements[j].type);

      if(thisform.elements[j].type=='checkbox'&& testcheckboxgroup!=thisform.elements[j].name)
      r=0;
      if(thisform.elements[j].type=='radio' && testradiogroup!=thisform.elements[j].name)
      rradio=0;
      
      if(thisform.elements[j].type=='text')
      {
      	
        if (validate_required(thisform.elements[j],thisform.elements[j].name +" must be filled properly!")== false)
        {  
          thisform.elements[j].focus();return false;
        }
        if(thisform.elements[j].name=='confemail')
        {
        	
		        if(thisform.elements[j].value!=document.getElementsByName('Email')[0].value)
		    {
		          				alert("Emails are different!");
		          				thisform.elements[j].focus();
		          				return false;
		    }
		   
		}
		
    

      }
      
         if(thisform.elements[j].type=='textarea')
      {
      	
        if (validate_required(thisform.elements[j],thisform.elements[j].name +" must be filled properly!")== false)
        {  
          thisform.elements[j].focus();return false;
        }
    

      }
      
      //validaton for the file upload
      else if(thisform.elements[j].type=='file')
      {
      	 if (validate_required(thisform.elements[j],thisform.elements[j].name +" must be filled!")== false)
        {  
          thisform.elements[j].focus();return false;
        }
      	
      }
      else if(thisform.elements[j].type=='select-multiple'||thisform.elements[j].type=='select-one')
      {
      	
      	
		var len=thisform.elements[j].options.length;
		flag="false";
		for(i=0;i<len;i++)
		{

			if(thisform.elements[j].options[i].selected)
			{
				
				flag="true";
				break;
			}
		}		

		if(flag=="false")

		{

        	alert("You need to select the "  + thisform.elements[j].name);
        	return false;

		}
      	
      }
      
      
      else if(thisform.elements[j].type=='radio'&&rradio==0)
      {
        testradiogroup = thisform.elements[j].name;
        var arrayyradio = new Array();
        arrayyradio= document.getElementsByName(thisform.elements[j].name);
        bifatradio=false;
        for(z=0;z<arrayyradio.length;z++)
        {
          if(arrayyradio[z].checked==true)
          { 
            bifatradio=true;
          }
        }
        if(bifatradio==false)
        {
          alert("You need to check the " + thisform.elements[j].name +" radio buttons");
          return false;
        }
        rradio=1;
      }
      else if(thisform.elements[j].type=='checkbox'&&r==0)
      {
      	
        testcheckboxgroup = thisform.elements[j].name;
        var arrayy = new Array();
        bifat=false;
        var inputs = document.getElementsByTagName('input');
		for(var i=0; i<inputs.length; i++)
		{
			if(inputs[i].getAttribute('type')=='checkbox')
			{
	
         		if(inputs[i].checked==true)
          			{ 
            			bifat=true;
          			}
        
		       
        	r=1;
      		}
      }
      if(bifat==false)
        			{
        				
          				alert("You need to check at least one category!");
          				return false;
        			}
}
      j++;
       
    } 
   
    return true;
  }
}


function echeck(str) {

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1)
    {
		    alert("Invalid E-mail ID");
		    return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID");
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID");
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID");
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }

 		 return true;					
	}

function GetSelectedItemFromASelect(thisform,fieldname) {

len = document.thisform.fieldname.length
i = 0
chosen = ""

for (i = 0; i < len; i++) {
if (document.thisform.fieldname[i].selected) {
chosen = chosen + document.thisform.fieldname[i].value + "\n"
}
}

return chosen
} 

function ScrollToElement(theElement){

  var selectedPosX = 0;
  var selectedPosY = 0;
              
  while(theElement != null){
    selectedPosX += theElement.offsetLeft;
    selectedPosY += theElement.offsetTop;
    theElement = theElement.offsetParent;
  }
                        		      
 window.scrollTo(selectedPosX,selectedPosY);

}


function bookmark(url,title){
  

    if (window.sidebar) window.sidebar.addPanel(title, url,"");

   

    else if( document.all ) window.external.AddFavorite( url, title);
    else {
alert("Please push CTRL + D too bookmark the page!");
}

}
 
function imgOn(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "on.src");}
}
function imgOff(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "off.src");}
}

 function rate_note(rate,tut_id) 
 {
    
  
       var ax = new XHConn();
       var on_finish = function(bx) {
	        var div = document.getElementById('but');
	        div.innerHTML = bx.responseText;
       }
       ax.connect('http://learnfobia.com/rate.php','GET','rate='+rate+'&tut_ID='+tut_id,on_finish);
 }