
var isMrecLoaded = false;
 
 String.prototype.endsWith = function(sEnd){
	return (this.substr(this.length-sEnd.length)==sEnd);
 }

 String.prototype.startsWith = function(sStart){
	return (this.substr(0,sStart.length)==sStart);
 }

 SAPOVideos = {
	showHideElement: function(element, link, textShow, textHide, displayType){
	 var elm = document.getElementById(element);
	 var linkElm = false;
	 if(link && typeof(link) != 'undefined'){
		if(typeof(link) == 'string'){
		 linkElm = document.getElementById(idlink);
		}else{
		 linkElm = link;
		}
	 }
	 if(displayType && typeof(displayType) == 'string'){
		elm.style.display = displayType;
	 }else if(elm.style.display == 'none'){
		elm.style.display = 'block';
		if(textHide && typeof(textHide) != 'undefined'){
		 linkElm.innerHTML = textHide;
		}
	 }else{
		elm.style.display = 'none';
		if(textShow && typeof(textShow) != 'undefined') {
		 linkElm.innerHTML = textShow;
		}
	 }
	},

	debug:function(){}
 };

 function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
	 field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
	 countfield.value = maxlimit - field.value.length;
 }

 function trim(inputString) {
	if (typeof inputString != "string") {
	 return inputString;
	}
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while (ch == " ") {
	 retValue = retValue.substring(1, retValue.length);
	 ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " ") {
	 retValue = retValue.substring(0, retValue.length-1);
	 ch = retValue.substring(retValue.length-1, retValue.length);
	}
	while (retValue.indexOf("  ") != -1)
	 retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
	return retValue;
 }

 function haveSpace(myValue){
	return (myValue.indexOf(' ')>=0);
 }

 function move(from,to){
	for(i=0;i<from.length;i++)
	 if(from.options[i].selected==true){
		addOption(to,from.options[i].text,from.options[i].value);
		deleteOption(from,i);
		i=i-1;
	 }
 }

 var NSX = (navigator.appName == "Netscape");
 var IE4 = (document.all) ? true : false;

 function addOption(theFormList,myText,myValue){
	if (NSX)
	 addOptionNS(theFormList,myText,myValue);
	else if (IE4)
	 addOptionIE(theFormList,myText,myValue);
 }

 function addOptionNS(theFormList,myText,myValue){
	var newOpt  = new Option(myText, myValue);
	var selLength = theFormList.length;
	theFormList.options[selLength] = newOpt;
 }

 function addOptionIE(theFormList,myText,myValue){
	var newOpt = document.createElement("OPTION");
	newOpt.text=myText;
	newOpt.value=myValue;
	theFormList.add(newOpt);
 }

 function deleteOption(theFormList,optionIndex){
	if (NSX)
	 deleteOptionNS(theFormList,optionIndex);
	else if (IE4)
	 deleteOptionIE(theFormList,optionIndex);
 }

 function deleteOptionNS(theFormList,optionIndex){
	theFormList.options[optionIndex]=null;
 }

 function deleteOptionIE(theFormList,optionIndex){
	theFormList.remove(optionIndex);
 }

 function addList(name,add,dest){
	add.value=trim(add.value);
	value_tmp=add.value.toLowerCase();
	if(value_tmp==""){
	 alert("O "+name+" n&atilde;o pode estar vazio!");
	 return;
	}
	if(value_tmp.indexOf(";")>=0 || value_tmp.indexOf("\"")>=0
		 || value_tmp.indexOf("'")>=0 || value_tmp.indexOf("*")>=0){
	 alert("O "+name+" cont&eacute;m caracteres inv&aacute;lidos!");
	 return;
	}
	if(haveSpace(value_tmp)){
	 alert("O "+name+" n&atilde;o pode conter espa&ccedil;os!");
	 return;
	}
	var exist=false;
	for(i=0;i<dest.length && !exist;i++){
	 s=dest.options[i].value;
	 if(s.endsWith("*"))
		s=s.substr(0,s.length-1);
	 if(s==value_tmp)
		exist=true;
	}
	if(!exist)
	 addOption(dest,add.value.toLowerCase(),add.value.toLowerCase())
	else
	 alert("Este "+name+" j&aacute; existe");
	add.value="";
 }

 function deleteList(dest){
	for(i=0;i<dest.length;i++)
	 if(dest.options[i].selected==true){
		deleteOption(dest,i);
		i=i-1;
	 }
 }

 function isUrl(url) {
	var urlPattern = /^(http\:\/\/)?[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|arpa|aero|coop|name|museum|info)(\/\S*)?$/;
	return urlPattern.test(url.toLowerCase());
 }

 function addFavoritos(rand, type){
	 new Ajax.Request('/ajax/addFavoritos.php', {method:'post', postBody:'vid='+rand+'&type='+type, onSuccess:addFavoritosSuccess, onFailure:addFavoritosError});
 }

 function addFavoritosSuccess(req){
	var res = req.responseText.evalJSON();
	var fav = document.getElementById('favorites_text');
	
	if(!res || res['result'] == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else if(res['result'] == 'ADDED'){
	 fav.innerHTML = 'Remover dos Favoritos';
	}else if(res['result'] == 'REMOVED'){
	 fav.innerHTML = 'Adicionar a Favoritos';
	 if (res['type'] == 'manage') {
		 document.location = '/manage/favoritos.html';
	 }
	}
 }

 function addFavoritosError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

	/**
	 * Sends an album link by email
	 */
	function sendAlbumToFriend(formname, user, album){
	var form = document.getElementById(formname);
	var errorVar = '';
	form.de.value = trim(form.de.value);
	if(form.de.value == '') errorVar += "\n Insira o seu nome";
	form.para.value = trim(form.para.value);
	if(form.para.value == '') errorVar += "\n Insira o nome do destinat&aacute;rio";
	form.mail.value = trim(form.mail.value);
	if(form.mail.value == '') errorVar += "\n Insira o e-mail do destinat&aacute;rio";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(form.mail.value != '' && !filter.test(form.mail.value)) errorVar += "\n E-mail do destinat&aacute;rio inv&aacute;lido";
	if(errorVar == ''){
	 new Ajax.Request('/ajax/sendFriend.php', {method:'post', postBody:'user='+user+'&album='+album+'&de='+escape(form.de.value)+'&para='+escape(form.para.value)+'&mail='+escape(form.mail.value), onSuccess:sendFriendSuccess, onFailure:sendFriendError});
	}else{
	 SAPO.Widget.Dialog.alert(errorVar, '/imgs/bok.gif');
	}
 }

	/**
	 *
	 */
 function sendAlbumToFriendError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

	/**
	 *
	 */
 function sendAlbumToFriendSuccess(req){
	var form = document.getElementById('form_friend');
	form.de.value = '';
	form.para.value = '';
	form.mail.value = '';
	SAPOVideos.showHideElement('form_friend');
	var resp = req.responseText;
	if(resp == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else{
	 SAPO.Widget.Dialog.alert('Enviado!', '/imgs/bok.gif');
	}
 }

 function sendFriend(formname, rand){
	var form = document.getElementById(formname);
	var errorVar = '';
	form.de.value = trim(form.de.value);
	if(form.de.value == '') errorVar += "\n Insira o seu nome";
	form.para.value = trim(form.para.value);
	if(form.para.value == '') errorVar += "\n Insira o nome do destinat&aacute;rio";
	form.mail.value = trim(form.mail.value);
	if(form.mail.value == '') errorVar += "\n Insira o e-mail do destinat&aacute;rio";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(form.mail.value != '' && !filter.test(form.mail.value)) errorVar += "\n E-mail do destinat&aacute;rio inv&aacute;lido";
	if(errorVar == ''){
	 new Ajax.Request('/ajax/sendFriend.php', {method:'post', postBody:'vid='+rand+'&de='+escape(form.de.value)+'&para='+escape(form.para.value)+'&mail='+escape(form.mail.value), onSuccess:sendFriendSuccess, onFailure:sendFriendError});
	}else{
	 SAPO.Widget.Dialog.alert(errorVar, '/imgs/bok.gif');
	}
 }

 function sendFriendError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

 function sendFriendSuccess(req){
	var form = document.getElementById('form_friend');
	form.de.value = '';
	form.para.value = '';
	form.mail.value = '';
	SAPOVideos.showHideElement('form_friend');
	var resp = req.responseText;
	if(resp == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else{
	 SAPO.Widget.Dialog.alert('Enviado!', '/imgs/bok.gif');
	}
 }


	function sendImageToFriend(formname, rand){
	var form = document.getElementById(formname);
	var errorVar = '';
	form.de.value = trim(form.de.value);
	if(form.de.value == '') errorVar += "\n Insira o seu nome";
	form.para.value = trim(form.para.value);
	if(form.para.value == '') errorVar += "\n Insira o nome do destinat&aacute;rio";
	form.mail.value = trim(form.mail.value);
	if(form.mail.value == '') errorVar += "\n Insira o e-mail do destinat&aacute;rio";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(form.mail.value != '' && !filter.test(form.mail.value)) errorVar += "\n E-mail do destinat&aacute;rio inv&aacute;lido";
	if(errorVar == ''){
	 new Ajax.Request('/ajax/sendFriend.php', {method:'post', postBody:'vid='+rand+'&de='+escape(form.de.value)+'&para='+escape(form.para.value)+'&mail='+escape(form.mail.value), onSuccess:sendImageToFriendSuccess, onFailure:sendImageToFriendError});
	}else{
	 SAPO.Widget.Dialog.alert(errorVar, '/imgs/bok.gif');
	}
 }

 function sendImageToFriendError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

 //TODO: form_friend here is hardwired!!!
 function sendImageToFriendSuccess(req){
	var form = document.getElementById('form_friend');
	form.de.value = '';
	form.para.value = '';
	form.mail.value = '';
	SAPOVideos.showHideElement('form_friend');
	var resp = req.responseText;
	if(resp == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else{
	 SAPO.Widget.Dialog.alert('Enviado!', '/imgs/bok.gif');
	}
 }


function sendUserToFriend(formname, user){
	var form = document.getElementById(formname);
	var errorVar = '';
	form.de.value = trim(form.de.value);
	if(form.de.value == '') errorVar += "\n Insira o seu nome";
	form.para.value = trim(form.para.value);
	if(form.para.value == '') errorVar += "\n Insira o nome do destinat&aacute;rio";
	form.mail.value = trim(form.mail.value);
	if(form.mail.value == '') errorVar += "\n Insira o e-mail do destinat&aacute;rio";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(form.mail.value != '' && !filter.test(form.mail.value)) errorVar += "\n E-mail do destinat&aacute;rio inv&aacute;lido";
	if(errorVar == ''){
	 new Ajax.Request('/ajax/sendFriend.php', {method:'post', postBody:'user='+user+'&de='+escape(form.de.value)+'&para='+escape(form.para.value)+'&mail='+escape(form.mail.value), onSuccess:sendUserToFriendSuccess, onFailure:sendUserToFriendError});
	}else{
	 SAPO.Widget.Dialog.alert(errorVar, '/imgs/bok.gif');
	}
 }

 function sendUserToFriendError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

 //TODO: form_friend here is hardwired!!!
 function sendUserToFriendSuccess(req){
	var form = document.getElementById('form_friend');
	form.de.value = '';
	form.para.value = '';
	form.mail.value = '';
	SAPOVideos.showHideElement('form_friend');
	var resp = req.responseText;
	if(resp == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else{
	 SAPO.Widget.Dialog.alert('Enviado!', '/imgs/bok.gif');
	}
 }


 function sendIlegal(formname, rand){
	var form = document.getElementById(formname);
	var errorVar = '';
	var type = 'illegal';
	if(form.type[0].checked){
	 type = 'inapropriate';
	}
	form.comment_ilegal.value = trim(form.comment_ilegal.value);
	if(form.comment_ilegal.value == '' && type == 'illegal'){
	 errorVar += "\n Insira a raz&atilde;o pela qual considera foto impr&ograve;pria";
	}
	if(form.comment_ilegal.value.length > 500){
	 errorVar += "\n Texto demasiado comprido";
	}
	if(errorVar == ''){
	 new Ajax.Request('/ajax/censorSuggest.php', {method:'post', postBody:'vid='+rand+'&type='+type+'&comment='+escape(form.comment_ilegal.value), onSuccess:sendIlegalSuccess, onFailure:sendIlegalError});
	}else{
	 SAPO.Widget.Dialog.alert(errorVar, '/imgs/bok.gif');
	}
 }

 function sendIlegalError(req){
	SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
 }

 function sendIlegalSuccess(req){
	var form = document.getElementById('form_ilegal');
	form.comment_ilegal.value = '';
	form.type[0].checked = true;
	SAPOVideos.showHideElement('form_ilegal');
	var resp = req.responseText;
	if(resp == 'ERROR'){
	 SAPO.Widget.Dialog.alert('Ocorreu um erro!', '/imgs/bok.gif');
	}else{
	 SAPO.Widget.Dialog.alert('Enviado com sucesso.', '/imgs/bok.gif');
	}
 }

 function isdefined(variable){
	return (typeof(window[variable]) == "undefined")? false: true;
 }

function changeMrec(){
  if (isMrecLoaded) {
    var mrec = document.getElementById('mrec');
    
    if (mrec) {
      mrec.innerHTML='';
      var scr = document.createElement('iframe');
      var params='';
      if(isdefined('usermrec')){
        params = '?aff='+usermrec;
      }
      scr.setAttribute('src','/mrec.html'+params);
      scr.setAttribute('frameborder','0');
      scr.setAttribute('marginwidth','0');
      scr.setAttribute('marginheight','0');
      scr.setAttribute('width','300');
      scr.setAttribute('height','250');
      scr.setAttribute('scrolling','no');
      scr.setAttribute('style','border:none;');
      mrec.appendChild(scr);
      if(isdefined('wreport_ok') && wreport_ok==1){
        var w_counter = new wreport_counter(WRP_SECTION, WRP_SUBSECTION, WRP_ID, WRP_ACC, WRP_CHANNEL, WRP_SECTION_GRP, WRP_SUBSECTION_GRP);
        w_counter.add_content(WRP_CONTENT);
        w_counter.count();
      }
    }
  }
}

function loadMrec(){
  var loaderOfMrecs = function(){
    var mrec = document.getElementById('mrec');
    if (!mrec) {
      return;
    }
    var aObjs = document.getElementsByTagName('IFRAME');
    var visivel = true;
    if(aObjs.length > 0) {
        for(var i=0; i < aObjs.length; i++) {
            visivel = visivel && (aObjs[i].style.visibility != 'hidden');
        }
    }
    mrec.innerHTML='';
    var scr = document.createElement('iframe');
    var params='';
    if(isdefined('usermrec')){
     params = '?aff='+usermrec;
    }
    var mdirmrec;
    if(isdefined('dirmrec')){
     mdirmrec = 'http://'+dirmrec;
    }else{
     mdirmrec = '';
    }
    if(isdefined('subchan')){
     if(params==''){
      params+='?';
     }else{
      params+='&';
     }
     params += 'subchan='+subchan;
    }
    scr.setAttribute('src',mdirmrec+'/mrec.html'+params);
    scr.setAttribute('frameborder','0');
    scr.setAttribute('marginwidth','0');
    scr.setAttribute('marginheight','0');
    scr.setAttribute('width','300');
    scr.setAttribute('height','250');
    scr.setAttribute('scrolling','no');
    scr.setAttribute('style','border:none;');
    if(!visivel){
     scr.style.visibility = 'hidden';
    }
    mrec.appendChild(scr);
    isMrecLoaded = true;
  };
  
  if (SAPO.Browser.IE && SAPO.Browser.version < 7) {
    setTimeout(loaderOfMrecs, 500);
  } else {
    Event.observe(document, 'dom:loaded', loaderOfMrecs);
  }
}
