/**
 *	Funzioni utili JS
 */

 function cleartext() {
	 if (document.getElementById('login').usr.value=='username' && document.getElementById('login').pwd.value=='password') {
	   document.getElementById('login').usr.value='';
	   document.getElementById('login').pwd.value='';
	 }
 }
 
/** Controlla se le funzionalita' DOM di JS sono funzionanti
 *  ritorna false se non vengono supportate true altrimenti.
 *  
 */ 
function noclick(){
	
///////////////////////////////////
function clickie() {
	if (document.all) {
		alert(message);
		return false;
	}
}
 
function clickff(e) {
  if (document.layers||(document.getElementById&&!document.all)) {
    if (e.which==2||e.which==3) {	 
	  return false;
	}
  }
 }
	 
 if (document.layers) {
	document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickff;
 }else{
	document.onmouseup=clickff;
	document.oncontextmenu=clickie;
 }

  document.oncontextmenu=new Function("return false")
 }
 
 
function isDOMBrowser(){
 if(document.getElementById && document.createTextNode){
  	return false;
 }else{
 	return true;
 }
}

function isset(varname){
  return(typeof(window[varname])!='undefined');
}

function StripAll(StripAllBlanks) {
  return StripAllBlanks.replace(/\s+/g," ");
}
   
function StripSlash(txtTostrip){
  return txtTostrip.replace(/\\/g," ");
}

function Trim(value_trim){
   re=/\s+$|^\s+/g;
   value_trim.replace(re,"");
   return value_trim;
 }

/**
 *	Riceve il sesso e il messaggio in base al sesso inserisce 
 *  la maschera corretta nell mssaggio in base alla maschera
 *  si avra' una faccina da uomo o da donna;
 */
function parseSmileSex(msg_txt, sex) {
	var mask1 = '';
	var mask2 = ''; 
	switch (sex) {
		case 'm':
		case 'mg':
			mask1 = '[';
			mask2 = ']';
			break;
		case 'f':
		case 'fg':
			mask1 = '<';
			mask2 = '>';
			break;			
	}
	msg_txt = msg_txt.replace(/:\)/g, mask1 + ':)' + mask2);
	msg_txt = msg_txt.replace(/:\(/g, mask1 + ':(' + mask2);
	msg_txt = msg_txt.replace(/:o/g, mask1 + ':o' + mask2);
	msg_txt = msg_txt.replace(/:O/g, mask1 + ':O' + mask2);
	msg_txt = msg_txt.replace(/:p/g, mask1 + ':p' + mask2);
	msg_txt = msg_txt.replace(/:P/g, mask1 + ':P' + mask2);
	msg_txt = msg_txt.replace(/:d/g, mask1 + ':d' + mask2);
	msg_txt = msg_txt.replace(/:D/g, mask1 + ':D' + mask2);
	msg_txt = msg_txt.replace(/:s/g, mask1 + ':s' + mask2);
	msg_txt = msg_txt.replace(/:S/g, mask1 + ':S' + mask2);
	msg_txt = msg_txt.replace(/:X/g, mask1 + ':X' + mask2);
	msg_txt = msg_txt.replace(/\(k\)/g, mask1 + '(k)' + mask2);
	msg_txt = msg_txt.replace(/\(K\)/g, mask1 + '(K)' + mask2);
	msg_txt = msg_txt.replace(/\(8\)/g, mask1 + '(8)' + mask2);
	msg_txt = msg_txt.replace(/;\)/g, mask1 + ';)' + mask2);
	msg_txt = msg_txt.replace(/\(f\)/g, mask1 + '(f)' + mask2);
	msg_txt = msg_txt.replace(/\(F\)/g, mask1 + '(F)' + mask2);
	msg_txt = msg_txt.replace(/\(l\)/g, mask1 + '(l)' + mask2);
	msg_txt = msg_txt.replace(/\(L\)/g, mask1 + '(L)' + mask2);
	msg_txt = msg_txt.replace(/:\$/g, mask1 + ':$' + mask2);
	msg_txt = msg_txt.replace(/:l/g, mask1 + ':l' + mask2);
	msg_txt = msg_txt.replace(/\(g\)/g, mask1 + '(g)' + mask2);
	msg_txt = msg_txt.replace(/\(G\)/g, mask1 + '(G)' + mask2);
	msg_txt = msg_txt.replace(/\(\^\)/g, mask1 + '(^)' + mask2);
	msg_txt = msg_txt.replace(/;\(/g, mask1 + ';(' + mask2);
	msg_txt = msg_txt.replace(/\(bl\)/g, mask1 + '(bl)' + mask2);
	msg_txt = msg_txt.replace(/\(ff\)/g, mask1 + '(ff)' + mask2);
	msg_txt = msg_txt.replace(/\(c\)/g, mask1 + '(c)' + mask2);
	msg_txt = msg_txt.replace(/\(C\)/g, mask1 + '(C)' + mask2);
	
	return msg_txt;	
}

/**
 *	Formatta il messaggio inserendo le faccine in formato html
 *  @param msg_txt riceve il messaggio processato in passato da 
 *  il parser di "censura"
 */
function smileToHtml(msg_txt) {
	var smiles_path = "images/smiles/";
	var smiles_img = new Array();
	var smiles_code = new Array();
	
	// UOMINI
	smiles_img[0] = 'allegro_m.gif';
	smiles_img[1] = 'triste_m.gif';
	smiles_img[2] = 'sorpreso_m.gif';
	smiles_img[3] = 'linguetta_m.gif';
	smiles_img[4] = 'risata_m.gif';
	smiles_img[5] = 'confuso_m.gif';
	smiles_img[6] = 'occhiali_m.gif';
	smiles_img[7] = 'occhiolino_m.gif';
	smiles_img[8] = 'arrabbiato_m.gif';
	smiles_img[9] = 'piange_m.gif';								
	smiles_img[10] = 'imbarazzato_m.gif';	
	smiles_img[11] = 'innamorato_m.gif';
	smiles_img[12] = 'fiore_m.gif';
	smiles_img[13] = 'cuore_m.gif';
	smiles_img[14] = 'cuore_infranto_m.gif';
	smiles_img[15] = 'rosa_m.gif';
	smiles_img[16] = 'bocca_m.gif';
	smiles_img[17] = 'regalo_m.gif';
	smiles_img[18] = 'torta_m.gif';
	smiles_img[19] = 'natale_m.gif';
	
	// DONNE
	smiles_img[20] = 'allegro_f.gif';
	smiles_img[21] = 'triste_f.gif';
	smiles_img[22] = 'sorpreso_f.gif';
	smiles_img[23] = 'linguetta_f.gif';
	smiles_img[24] = 'risata_f.gif';
	smiles_img[25] = 'confuso_f.gif';
	smiles_img[26] = 'occhiali_f.gif';
	smiles_img[27] = 'occhiolino_f.gif';
	smiles_img[28] = 'arrabbiato_f.gif';
	smiles_img[29] = 'piange_f.gif';								
	smiles_img[30] = 'imbarazzato_f.gif';	
	smiles_img[31] = 'innamorato_f.gif';											
	smiles_img[32] = 'fiore_f.gif';
	smiles_img[33] = 'cuore_f.gif';
	smiles_img[34] = 'cuore_infranto_f.gif';
	smiles_img[35] = 'rosa_f.gif';
	smiles_img[36] = 'bocca_f.gif';
	smiles_img[37] = 'regalo_f.gif';
	smiles_img[38] = 'torta_f.gif';	
	smiles_img[39] = 'natale_f.gif';

	//Blocco uomini
	msg_txt = msg_txt.replace(/\[:\)\]/g, '<img src="' + smiles_path + smiles_img[0] + '">');
	msg_txt = msg_txt.replace(/\[:\(\]/g, '<img src="' + smiles_path + smiles_img[1] + '">');
	msg_txt = msg_txt.replace(/\[:o\]/g, '<img src="' + smiles_path + smiles_img[2] + '">');
	msg_txt = msg_txt.replace(/\[:O\]/g, '<img src="' + smiles_path + smiles_img[2] + '">');
	msg_txt = msg_txt.replace(/\[:p\]/g, '<img src="' + smiles_path + smiles_img[3] + '">');
	msg_txt = msg_txt.replace(/\[:P\]/g, '<img src="' + smiles_path + smiles_img[3] + '">');
	msg_txt = msg_txt.replace(/\[:d\]/g, '<img src="' + smiles_path + smiles_img[4] + '">');
	msg_txt = msg_txt.replace(/\[:D\]/g, '<img src="' + smiles_path + smiles_img[4] + '">');
	msg_txt = msg_txt.replace(/\[:s\]/g, '<img src="' + smiles_path + smiles_img[5] + '">');
	msg_txt = msg_txt.replace(/\[:S\]/g, '<img src="' + smiles_path + smiles_img[5] + '">');
	msg_txt = msg_txt.replace(/\[\(8\)\]/g, '<img src="' + smiles_path + smiles_img[6] + '">');	
	msg_txt = msg_txt.replace(/\[;\)\]/g, '<img src="' + smiles_path + smiles_img[7] + '">');
	msg_txt = msg_txt.replace(/\[:X\]/g, '<img src="' + smiles_path + smiles_img[8] + '">');
	msg_txt = msg_txt.replace(/\[;\(\]/g, '<img src="' + smiles_path + smiles_img[9] + '">');
	msg_txt = msg_txt.replace(/\[:\$\]/g, '<img src="' + smiles_path + smiles_img[10] + '">');
	msg_txt = msg_txt.replace(/\[:l\]/g, '<img src="' + smiles_path + smiles_img[11] + '">');
	msg_txt = msg_txt.replace(/\[:L\]/g, '<img src="' + smiles_path + smiles_img[11] + '">');
	msg_txt = msg_txt.replace(/\[\(ff\)\]/g, '<img src="' + smiles_path + smiles_img[12] + '">');
	msg_txt = msg_txt.replace(/\[\(k\)\]/g, '<img src="' + smiles_path + smiles_img[16] + '">');
	msg_txt = msg_txt.replace(/\[\(K\)\]/g, '<img src="' + smiles_path + smiles_img[16] + '">');
	msg_txt = msg_txt.replace(/\[\(l\)\]/g, '<img src="' + smiles_path + smiles_img[13] + '">');
	msg_txt = msg_txt.replace(/\[\(L\)\]/g, '<img src="' + smiles_path + smiles_img[13] + '">');
	msg_txt = msg_txt.replace(/\[\(bl\)\]/g, '<img src="' + smiles_path + smiles_img[14] + '">');
	
	msg_txt = msg_txt.replace(/\[\(f\)\]/g, '<img src="' + smiles_path + smiles_img[15] + '">');
	msg_txt = msg_txt.replace(/\[\(F\)\]/g, '<img src="' + smiles_path + smiles_img[15] + '">');
	msg_txt = msg_txt.replace(/\[\(g\)\]/g, '<img src="' + smiles_path + smiles_img[17] + '">');
	msg_txt = msg_txt.replace(/\[\(G\)\]/g, '<img src="' + smiles_path + smiles_img[17] + '">');

	msg_txt = msg_txt.replace(/\[\(c\)\]/g, '<img src="' + smiles_path + smiles_img[19] + '">');
	msg_txt = msg_txt.replace(/\[\(C\)\]/g, '<img src="' + smiles_path + smiles_img[19] + '">');
	msg_txt = msg_txt.replace(/\[\(\^\)\]/g, '<img src="' + smiles_path + smiles_img[18] + '">');



	
	//Blocco donne
	msg_txt = msg_txt.replace(/\<:\)\>/g, '<img src="' + smiles_path + smiles_img[20] + '">');
	msg_txt = msg_txt.replace(/\<:\(\>/g, '<img src="' + smiles_path + smiles_img[21] + '">');
	msg_txt = msg_txt.replace(/\<:o\>/g, '<img src="' + smiles_path + smiles_img[22] + '">');
	msg_txt = msg_txt.replace(/\<:O\>/g, '<img src="' + smiles_path + smiles_img[22] + '">');
	msg_txt = msg_txt.replace(/\<:p\>/g, '<img src="' + smiles_path + smiles_img[23] + '">');
	msg_txt = msg_txt.replace(/\<:P\>/g, '<img src="' + smiles_path + smiles_img[23] + '">');
	msg_txt = msg_txt.replace(/\<:d\>/g, '<img src="' + smiles_path + smiles_img[24] + '">');
	msg_txt = msg_txt.replace(/\<:D\>/g, '<img src="' + smiles_path + smiles_img[24] + '">');
	msg_txt = msg_txt.replace(/\<:s\>/g, '<img src="' + smiles_path + smiles_img[25] + '">');
	msg_txt = msg_txt.replace(/\<:S\>/g, '<img src="' + smiles_path + smiles_img[25] + '">');
	msg_txt = msg_txt.replace(/\<:X\>/g, '<img src="' + smiles_path + smiles_img[28] + '">');
	msg_txt = msg_txt.replace(/\<\(k\)\>/g, '<img src="' + smiles_path + smiles_img[36] + '">');
	msg_txt = msg_txt.replace(/\<\(K\)\>/g, '<img src="' + smiles_path + smiles_img[26] + '">');
	msg_txt = msg_txt.replace(/\<\(8\)>/g, '<img src="' + smiles_path + smiles_img[26] + '">');
	msg_txt = msg_txt.replace(/\<;\)\>/g, '<img src="' + smiles_path + smiles_img[27] + '">');
	msg_txt = msg_txt.replace(/\<\(f\)\>/g, '<img src="' + smiles_path + smiles_img[35] + '">');
	msg_txt = msg_txt.replace(/\<\(F\)\>/g, '<img src="' + smiles_path + smiles_img[35] + '">');
	msg_txt = msg_txt.replace(/\<\(g\)\>/g, '<img src="' + smiles_path + smiles_img[37] + '">');
	msg_txt = msg_txt.replace(/\<\(G\)\>/g, '<img src="' + smiles_path + smiles_img[37] + '">');
	msg_txt = msg_txt.replace(/\<\(l\)\>/g, '<img src="' + smiles_path + smiles_img[33] + '">');
	msg_txt = msg_txt.replace(/\<\(L\)\>/g, '<img src="' + smiles_path + smiles_img[33] + '">');
	msg_txt = msg_txt.replace(/\<\(c\)\>/g, '<img src="' + smiles_path + smiles_img[39] + '">');
	msg_txt = msg_txt.replace(/\<\(C\)\>/g, '<img src="' + smiles_path + smiles_img[39] + '">');
	msg_txt = msg_txt.replace(/\<\(\^\)\>/g, '<img src="' + smiles_path + smiles_img[38] + '">');
	msg_txt = msg_txt.replace(/\<\(bl\)\>/g, '<img src="' + smiles_path + smiles_img[34] + '">');
	msg_txt = msg_txt.replace(/\<\(ff\)\>/g, '<img src="' + smiles_path + smiles_img[32] + '">');
	msg_txt = msg_txt.replace(/\<:l\>/g, '<img src="' + smiles_path + smiles_img[31] + '">');
	msg_txt = msg_txt.replace(/\<:L\>/g, '<img src="' + smiles_path + smiles_img[31] + '">');
	msg_txt = msg_txt.replace(/\<:\$\>/g, '<img src="' + smiles_path + smiles_img[30] + '">');
	msg_txt = msg_txt.replace(/\<;\(\>/g, '<img src="' + smiles_path + smiles_img[29] + '">');
		
	return msg_txt;
}

//AJAX Engine & DOM Function

function requestobj(){
	var browser=navigator.appName;
	if (browser == 'Microsoft Internet Explorer'){
			request_type= new ActiveXObject("Microsoft.XMLHTTP");
	}else{
			request_type= new XMLHttpRequest();
	}
	return request_type;
}



//Nasconde o mostra  un oggetto avente id = a blockid 
//@hidden se false mostra altrimenti nasconde
function hideblock(blockid,hidden){
	domobj = document.getElementById(blockid);
	if (hidden==true){
		domobj.style.display='none';
	}else{
	    domobj.style.dispaly='block';
	}
}

//distrugge l'elemento che gli ? stato passato 
function destroyElement(element_id){
	if (remelement=document.getElementById(element_id)){
		remelement.parentNode.removeChild(remelement);	
	}
}


//Genera un popup restituisce l'oggetto
//url=none popupgen.php
//userone = utente loggato se = a '' verra' ignorato
//usertwo = altro utente se = a '' verra' ignorato
function genPopUp(url,height,width,name,html,userone,usertwo){
	if (url=='none'){
		url = "popupgen.php?xcode=" + html;
	}
	
	if (userone!=''){
	    url = url + '&userone=' + userone;
	}
	
	if (usertwo!=''){
		url = url + '&usertwo=' + usertwo;
	}
	
	if (name==''){
		name='_blank';
	}
	
	var style = "top=10, left=30, width=" + width + " , height=" + height + ", status=no, menubar=no, toolbar=no , scrollbar=no";
	if ( name =='deleteprofile'){ var style = "top=10, left=30, width=" + width + " , height=" + height + ", status=no, menubar=yes, toolbar=no , scrollbar=no";}
	return window.open(url, name, style);
}


//questa funzione restituisce un array di oggetti
//DOM
//Passandogli in entrata il nome del tag da prendere e l'eventuale classname
//nel caso Classname==null li prende tutti.

function getObjects(tagname,classname){     
    dom_elements=document.getElementsByTagName(tagname);
    if (classname==null){
      return dom_element;
	}else{
	  var dom_array_temp;
      for (i=0;i<dom_element.lenght;i++){
		if (dom_elements[i].className==classname){
		  dom_array_temp=dom_elements[i];
		}
	  }
    }
  }

function showRicev(fund,trs_id,dest,currency){
	url="print.php?fund=" + fund + "&trs_id=" + trs_id + "&dest=" + dest + "&currency="+ currency;
    genPopUp(url,200,500,'stamparicevuta','','','')
}


function charsCount(max_chars){
	textarea=document.getElementById('message');
	ins_chars = textarea.value;
    tot_chars = ins_chars.length+1;
	chars_remain= max_chars - tot_chars;
	if (max_chars<tot_chars){
	   textarea.value = textarea.value.substring(0, max_chars);  
	}else{
		document.getElementById('charscount').innerHTML=chars_remain;
	}
}

function firstChatter(usertodestroy){
  total=countProperty(chatterinfo);
  
if (total>0){
	for (chatter in chatterinfo){  
      if (chatter.indexOf('user_')>-1){  
	    if ( ('user_'+ usertodestroy!=chatter) && (chatterinfo[chatter]!=null) ){    		
	      return chatterinfo[chatter][3];
        }
	  }
	}
  }else{
	return -1;
  }
}


function countProperty(obj){
  var n = 0;
  for (var i in obj){
    if (i.indexOf('user_')>-1){	  
      if (obj[i]!=null){
    	  n++;
	  }
	}
  }
  return n;
}

function forceWordWrap(str,maxlen){
	if (str.length<maxlen){
		return str;
	}
	leng=str.length;   //lunghezza totale
	
	max_i=Math.ceil(leng/maxlen);
	tmp='';
	mat=0;

	for (i=0;i<=max_i;i++){
    	tmp += str.substring(mat,maxlen);
		tmp += '<br />';
		mat=mat+maxlen;
	}
	//alert(tmp);
	return tmp;
	
	
}

function trunkString(str,max_length){
	
	if (str.length<=max_length){
	    return str;	
	}else{
	    return str.substring(0, max_length) + '...'; 
	}
}

function goMenu(){  //TODO Aggiungere altre voci
	ele = document.getElementById('selectmenu').value;
	switch (ele){
		case 'newmsg':
		   window.location='home.php?action=message';
		   break;
		case 'friend':
		   window.location='home.php?action=friendships';
		   break;
		case 'visited': 
		   window.location='home.php?action=visitedme';
		   break;
		case 'mysoulmate':
		   window.location='home.php?action=mysoulmate';
		   break;
		case 'wowreceived':
		   window.location='home.php?action=wow';
		   break;
	    case 'saccount':
	       window.location='home.php?action=stataccount';
	       break;
	    case 'wowsend':
	       window.location='home.php?action=wowsended';
	       break;
		case 'blacklist':
           window.location='home.php?action=blacklist';
		   break;
	    case 'subonline':
	       window.location='home.php?action=subonline';
	       break;
	    case 'visitedyou':
	       window.location='home.php?action=visitedyou';
	       break;
	}
}

function goMenu2(){  /*TODO Aggiungere altre voci*/
	ele1 = document.getElementById('select3').value;
	switch (ele1){
	    case 'restourant':
		   window.location='home.php?action=service';
		   break;
		case 'hotel':
		   window.location='home.php?action=service';
		   break;
		case 'catalogift':
		   window.location='home.php?action=giftcatalog';
		   break;
		case 'competitions':
		   window.location='home.php?action=service';
		   break;
		case 'competyear':
		   window.location='home.php?action=competitionyear';
		   break;
		case 'meteo':
		   window.location='home.php?action=service';
		   break;
		case 'flower':
		   window.location='home.php?action=service';
		   break;
		   
		   }
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}




  function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;
//The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";
      if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
          var value = arr[item]; 
          if(typeof(value) == 'object') { //If it is an array,
            dumped_text += level_padding + "'" + item + "' ...\n";
            dumped_text += dump(value,level+1);
          } else {
            dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
          }
        }
      } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
      }
    return dumped_text;
} 



function setCookie(name, value, expires, path, domain, secure)
{
	var todayDate = largeExpDate = new Date ();

    largeExpDate.setTime(todayDate.getTime() + expires * 1000);
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + largeExpDate.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function selectDefault(select_id,value){
  	sel_element = document.getElementById(select_id);	
	total_option = sel_element.options.length;
	for (i=0;i<total_option;i++){
	  if (sel_element.options[i].value==value){
	    sel_element.selectedIndex=i;
	  }
	}
  }



  function submitForm(id){
   document.getElementById(id).submit();
	}
