/*
Name:  - view
Desc:  - schimba locatia
Input: - pagina dorita
Used: - left.inc, center_detail.inc, center_send.inc 
*/
function view(x)
  {
	y = x.replace(" ","-");
	document.location = y;
	}


/*
Name:  - Trim
Desc:  - face trim pentru un sir 
Input: - sirul
Used: - java.js:
*/	
function Trim(TheString)
{
var len; 
len = TheString.length;
while(TheString.substring(0,1) == " ")
  { 
  TheString = TheString.substring(1, len);
  len = TheString.length;
  } 
while(TheString.substring(len-1, len) == " ")
  { 
  TheString = TheString.substring(0, len-1);
  len = TheString.length;
  }
return TheString;
}


/*
Name:  - getBrowserType
Desc:  - returneaza browserul pe care se lucreaza  
Used: - java.js:
*/		
function getBrowserType()
  {
  var navigatorName = new String(navigator.appName + " " + navigator.appVersion); 
  navigatorName = navigatorName.toUpperCase();
  if((navigatorName.indexOf("NETSCAPE") >= 0) && (parseInt(navigator.appVersion) >= 5) && document.getElementById)    
    return "Netscape6"; 
  else if (document.layers)
 	  return "Netscape4";
  else if (document.all) 
    return "Explorer";
  else 
    return "Unknown";	 
  }


/*
Name:  - openFile
Desc:  - acces la un fisier prin GET
Input: - numele fisierului  
Used: - java.js:doVote
*/		
function openFile(f)
  { 
  if(getBrowserType()=="Explorer"){
    objXml = new ActiveXObject("Microsoft.XMLHTTP");
    objXml.open("GET", f, true); 
    objXml.send(null);
	  }	
  if(getBrowserType()=="Netscape4")
	  {
		objXml = new ActiveXObject("Microsoft.XMLHTTP");
		objXml.open("GET", f, true);
		objXml.send(null);		
		}			
  if(getBrowserType()=="Netscape6")
		{			
    objXml = new XMLHttpRequest();
    objXml.open("GET",f,false);
    objXml.send(null);       			
    }		 			 		 		 		 
}

/*
Name:  - getElDocument
Desc:  - returneaza forma de apelare a unui element de pe doc fct de browser
Input: - numele elementului de pe doc  
Used: - java.js:
*/		
function getElDocument(elName)
  {
	if(getBrowserType()=="Netscape6")
    return document.getElementById(elName)		
	else if (getBrowserType()=="Netscape4")
    return document.layers[elName];
	else if (getBrowserType()=="Explorer")
    return document.all(elName); 			  
  }
 

/*
Name:  - refreshDetail
Desc:  - actualizeaza controalele de pe pagina de detail dupa ce s-a votat (punctaj, nr voturi, votat sau nu)
Input: - numarul de voturi acordat  
Used: - java.js:
*/		
function refreshDetail(n)
 { 
	if(getBrowserType()=="Netscape6") 
	  {
    getElDocument("selectVot").style.visibility = "hidden";
    getElDocument("selectVot").style.position="absolute";	
		}
	else if (getBrowserType()=="Netscape4")
	  {
	  getElDocument("selectVot").visibility = "hide";
		getElDocument("selectVot").position="absolute";
		}		 	 
	if (getBrowserType()=="Explorer")
	  {
	  getElDocument("selectVot").style.visibility  = "hidden";
	  getElDocument("selectVot").style.position="absolute";		
		}		 		 		 		 
 	noVot.innerHTML = noVot.innerHTML*1 + 1;
	valVot.innerHTML = valVot.innerHTML*1 + n*1;	
	if ((noVot.innerHTML*1)!=0)
	  {
		x=valVot.innerHTML*1 / noVot.innerHTML*1;
		x += 0;
		punctVot.innerHTML = (Math.round(x*100)/100);
		}	 			
	if(n!="")
	  if(n=="1")
		  textVot.innerHTML = "Multumim pentru punctul acordat!";
		else	
		  textVot.innerHTML = "Multumim pentru cele "+n+" puncte acordate!";
	else		
  	textVot.innerHTML = "Multumim pentru votul acordat!";
 }  
 

/*
Name:  - doVote
Desc:  - apel fisier care voteaza o povestea (voting.php)
Input: - f- fisierul (apelat $Url....)
         id- id poveste votat
				 n - punctajul acordat  
Used: - center_detail.inc
*/		
function doVote(f,id,n)
 {
	openFile(f+'?story='+id+'&avg='+n);
	refreshDetail(n);
 }
 

/*
Name:  - isValidMail
Desc:  - verifica daca un sir este o adresa corecta de mail
Input: - s- sirul dat
Return: true daca este sirul este adresa de mail valida 
Used: - java.js
*/		   
function isValidMail(s)
{
 var emailchar=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
 return emailchar.test(s)
}

 
/*
Name:  - tryAddStory
Desc:  - face verificarile controalelor si, daca totul este OK, face submit
Input: - c- fisierul catre care se face action
Used: - center_add.inc
*/		   
function tryAddStory(c)
{ 
 if(document.forms["add"].ic.selectedIndex==0)
   {
	 alert("Selectati categoria in care doriti sa inscrieti povestea!");
	 document.forms["add"].ic.focus();
	 }	 	 
 else if (Trim(document.forms["add"].titlu.value)=="" )
   {
   alert("Lipseste titlul povestirii!");	
 	 document.forms["add"].titlu.focus();
	 } 	 	 
 else if (Trim(document.forms["add"].text.value)=="" )
   {
   alert("Lipseste textul povestirii!");	
 	 document.forms["add"].text.focus();
	 } 	 
 else if(Trim(document.forms["add"].nume.value)=="")
   {	 
   alert("Specificati numele dumneavoastra!");
	 document.forms["add"].nume.focus();
	 }
 else if(Trim(document.forms["add"].email.value)=="")
   {	 
   alert("Specificati e-mail-ul dumneavoastra!");
	 document.forms["add"].email.focus();
	 }	 
 else if(!isValidMail(document.forms["add"].email.value))
   {
   alert("E-mail-ul dumneavoastra nu este valid!");
	 document.forms["add"].email.focus();	 
	 }	 
 else
    document.forms["add"].submit();
} 
 

/*
Name:  - tryCheck
Desc:  - verifica daca sunt completate numele si mail-ul pentru un prieten si, daca da, bifeaza
Input: - n- ordinul prietenului
Used: - center_send.inc
*/		   
function tryCheck(n)
 {
	 sCk="";
	 sName="";
	 sMail="";
	 sCk = "document.forms['send'].ck" + n;
	 sName = "document.forms['send'].name" + n;
	 sMail = "document.forms['send'].mail" + n;	 	
   if(Trim(eval(sName).value)!="" && Trim(eval(sMail).value)!="")  
	   eval(sCk).checked = true 			
 }
 

/*
Name:  - CheckAll
Desc:  - bifeaza sau debifeaza toti prietenii
Input: - fn- numarul de prieteni
Used: - center_send.inc
*/		   
function CheckAll(fn)
 {
  for(i=1;i<=fn;i++)
    {
	  s="";
	  s = "document.forms['send'].ck" + i;
	  (ckall.innerHTML=="Selecteaza tot!")?(eval(s).checked = true):(eval(s).checked = false);
	  }
  (ckall.innerHTML=="Selecteaza tot!")?(ckall.innerHTML="Deselecteaza tot!"):(ckall.innerHTML="Selecteaza tot!");
 }


/*
Name:  - trySendStory
Desc:  - face verificarile controalelor si, daca totul este OK, face submit
Input: - c- fisierul catre care se face action
			 - n- numarul de prieteni
Used: - center_add.inc
*/		   
 function trySendStory(fn)
 {  
 isOk=true;
 destNo=0;
 for(i=0;i<=fn;i++)
   {
	 sCk="";
	 sName="";
	 sMail="";
	 sCk = "document.forms['send'].ck" + i;
	 sName = "document.forms['send'].name" + i;
	 sMail = "document.forms['send'].mail" + i;	 
	 if (i==0 || (i>0 && (eval(sCk).checked==true || (eval(sCk).checked==false && (Trim(eval(sName).value)!="" || Trim(eval(sMail).value)=="")) )))
	   {
		 if(i>0 && eval(sCk).checked==true)
		   { 
		   destNo++;
			 }
		 //cond 1		
		 if	(i>0 && eval(sCk).checked==false && (Trim(eval(sName).value)!="" || Trim(eval(sMail).value)=="") )
		    {
				if (Trim(eval(sName).value)!="")
				  {
				  alert("Ati completat numele prietenului din pozitia " + i + ", dar nu l-ati selecta pentru trimitere!")
					isOk=false;
					break;
					}
				if (Trim(eval(sMail).value)!="")
				  {
				  alert("Ati completat e-mail-ul prietenului din pozitia " + i + ", dar nu l-ati selecta pentru trimitere!")
					isOk=false;
					break;
					}													
				}//1	
		 //cond2											
		 if	(i==0 || (i>0 && eval(sCk).checked==true))
		    {	
		    //validare nume
		    if(Trim(eval(sName).value)=="")
		      {
			    (i==0)?(alert("Numele expeditorului nu este completat!")):(alert("Numele prietenului din pozitia " + i + " nu este completat!"));
			    isOk=false;
			    break;			 
			    }
		    if(Trim(eval(sName).value).length>30)
		      {
			    (i==0)?(alert("Numele expeditorului are mai mult de 30 caractere!")):(alert("Numele prietenului din pozitia " + i + " are mai mult de 30 caractere!"));
			    isOk=false;
			    break;			 
			    }  			   
		    //validare e-mail
		    if(Trim(eval(sMail).value)=="")
		      {
			    (i==0)?(alert("Adresa de mail a expeditorului nu este completata!")):(alert("Adresa de mail a prietenului din pozitia " + i + " nu este completata!"));
			    isOk=false;
			    break;			 
			    }
		    if(Trim(eval(sMail).value).length>30)
		      {
			    (i==0)?(alert("Adresa de mail a expeditorului are mai mult de 30 caractere!")):(alert("Adresa de mail a prietenului din pozitia " + i + " are mai mult de 30 caractere!"));
			    isOk=false;
			    break;			 
			    }			
		    if(!isValidMail(Trim(eval(sMail).value)))
		      {
			    (i==0)?(alert("Adresa de mail a expeditorului nu este valida!")):(alert("Adresa de mail a prietenului din pozitia " + i + " nu este valida!"));
			    isOk=false;
			    break;			 
			    }
			   //
				} //2  						   			   		 
		 }	   
	 } 
	 if (isOk)
	   {
		 if(destNo == 0 )   
		   {
			 alert("Nu ati bifat nici un prieten caruia sa-i trimiteti povestea!");
			 }
		 else	 
		   {
       document.forms["send"].submit();
		   }		 
		 }	  	 	
 }

  	
/*
Name:  - do_popup
Desc:  - deschide popup
Input: - pagina - url
			 - x- numele paginii
			 - pw- width
			 - ph- height			 
Used: - bottonm.inc
*/		   
function do_popup(pagina,x,pw,ph)
  {
   sw =1;
   sh =1;
   if (window.screen) 
     {
      sw = screen.availWidth;
      sh = screen.availHeight;
     }
   else
     {
      sw = 800;
      sh = 600;
     }
   pleft = ((sw * 1) - ( pw * 1 )) / 2 ; 
   if((pleft * 1) < 1){ pleft = 1  ; }
   ptop = ((sh * 1) - ( ph * 1 )) / 2 ; 
   if((ptop * 1) < 1){ ptop = 1  ; }
   if((pw * 1) > (sw * 1)){ pwidth = ((sw * 1) - 15)  ; } else { pwidth = pw ; }
   if((ph * 1) > (sh * 1)){ pheight = ((sh * 1) - 40)  ; } else { pheight = ph ; }
   var w=window.open(pagina,'xrc' + x,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width='+pwidth+',height='+pheight+',top='+ptop+',left='+pleft);
   w.focus();
  }
	
