// JavaScript Document
//
//////////////////////////////////////////
// 20110528 Carlos Mason 
// 20110712 updated
//////////////////////////////////////////

// file:
// include_once('C:\Inetpub\wwwroot\carlosmason.com\_repository\_functions.js');


function strip_tags(input, allowed) {
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('');
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi;
    var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}

function getScrollY() {
  var scrOfY = 0; 
  if (typeof(window.pageYOffset) == 'number') {
    scrOfY = window.pageYOffset; 
  } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
    scrOfY = document.body.scrollTop; 
  } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
    scrOfY = document.documentElement.scrollTop; 
  }
  return scrOfY; 
}

function checkemail(str) {
  var filter=/^.+@.+\..{2,3}$/;
  if (!filter.test(str)) {return false;}
  return true;
}


function validText(str) {
	var A = ['http://', '[url=', '[/url]', '[link=', '[/link]', '<a', '<script', '<iframe', 'href='];
	var R = 0;
	for (var V in A) {
	  if (str.indexOf(A[V], 0) != -1) {R++}
	}
  return(R==0);
}

function checkHotmail(T) {
  var R = T.value; 
  var A = [ 'hootmail.', 'hotamail.', 'hotamil.', 
			'hotmali.', 'hotmial.', 'hotmil.', 
			'hotmsil.', 'hottmail.', 'hptmail.', 
			'htomail.', 'jotamail.', 'jotamil.', 
			'jotmail.', 'jotmial.', 'jotmil.', 
			'hotmeil.', 'hormail.', 'hoymail.', 
			'hotamail.', 'hotmaol.', 'hatmail.'
		  ]; 
  for (var V in A) {
	  R = R.replace(A[V],'hotmail.'); 
  }
  R = R.replace('hotmail.com.mx', 'hotmail.com');
  R = R.replace('hotmail.com.es', 'hotmail.com');
  T.value = R; 
}

function checkMessageLength(F, L) {
    var A = L - F.value.length - 1; 
    if (A < 0) {
      A = 0; 
      F.style.color = '#FF0000'; 
    }
    else F.style.color = '#000000'; 
    var B = document.getElementById('textLength'); 
    B.innerHTML = A.toString() + ': Caracteres disponibles'; 
}

function showFAQText(T) {
  $('.faqAnswer').slideUp(); 
  $('.faqQuestion').attr('title', 'clic aquí para expandir'); 
  if (T != '') {
	$(T).children('div').slideDown(); 
	$(T).attr('title', ''); 
  }
}


/////////////////////////////////////////////////
// simple editor
/////////////////////////////////////////////////

function doImage(obj) {
  var textarea = document.getElementById(obj); 
  var url = prompt('Enter the Image URL:', 'http://'); 
  var scrollTop = textarea.scrollTop; 
  var scrollLeft = textarea.scrollLeft; 
  if (url != '' && url != null) {
	if (document.selection) {
	  textarea.focus(); 
	  var sel = document.selection.createRange(); 
	  sel.text = '<img src = "' + url + '">'; 
	} else {
	  var len = textarea.value.length; 
	  var start = textarea.selectionStart; 
	  var end = textarea.selectionEnd; 
	  var sel = textarea.value.substring(start, end); 
	  //alert(sel); 
	  var rep = '<img src = "' + url + '">'; 
	  textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len); 
	  textarea.scrollTop = scrollTop; 
	  textarea.scrollLeft = scrollLeft; 
	}
  }
}

function doURL(obj) {
  var sel; 
  var textarea = document.getElementById(obj); 
  var url = prompt('Enter the URL:', 'http://'); 
  var scrollTop = textarea.scrollTop; 
  var scrollLeft = textarea.scrollLeft; 
  if (url != '' && url != null) {
	if (document.selection) {
	  textarea.focus(); 
	  var sel = document.selection.createRange(); 
	  if (sel.text == "") {
		sel.text = '<a href = "' + url + '">' + url + '</a>'; 
	  } else {
		sel.text = '<a href = "' + url + '">' + sel.text + '</a>'; 
	  }
	  //alert(sel.text); 
	} else {
	  var len = textarea.value.length; 
	  var start = textarea.selectionStart; 
	  var end = textarea.selectionEnd; 
	  var sel = textarea.value.substring(start, end); 
	  if (sel == "") {
		sel = url; 
	  } else {
		var sel = textarea.value.substring(start, end); 
	  }
	  //alert(sel); 
	  var rep = '<a href = "' + url + '">' + sel + '</a>'; ; 
	  textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len); 
	  textarea.scrollTop = scrollTop; 
	  textarea.scrollLeft = scrollLeft; 
	}
  }
}

function doAddTags(tag1, tag2, obj) {
  var textarea = document.getElementById(obj); 
  // Code for IE
  if (document.selection) {
	textarea.focus(); 
	var sel = document.selection.createRange(); 
	//alert(sel.text); 
	sel.text = tag1 + sel.text + tag2; 
  } else { // Code for Mozilla Firefox
	var len = textarea.value.length; 
	var start = textarea.selectionStart; 
	var end = textarea.selectionEnd; 
	var scrollTop = textarea.scrollTop; 
	var scrollLeft = textarea.scrollLeft; 
	var sel = textarea.value.substring(start, end); 
	//alert(sel); 
	var rep = tag1 + sel + tag2; 
	textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len); 
	textarea.scrollTop = scrollTop; 
	textarea.scrollLeft = scrollLeft; 
  }
}

function doList(tag1, tag2, obj) {
  var textarea = document.getElementById(obj); 
  // Code for IE
  if (document.selection) {
	textarea.focus(); 
	var sel = document.selection.createRange(); 
	var list = sel.text.split('\n'); 
	for(i = 0; i<list.length; i++) {
	  list[i] = '<li>' + list[i] + '</li>'; 
	}
	//alert(list.join("\n")); 
	sel.text = tag1 + '\n' + list.join("\n") + '\n' + tag2; 
  } else { // Code for Firefox
	var len = textarea.value.length; 
	var start = textarea.selectionStart; 
	var end = textarea.selectionEnd; 
	var i; 
	var scrollTop = textarea.scrollTop; 
	var scrollLeft = textarea.scrollLeft; 
	var sel = textarea.value.substring(start, end); 
	//alert(sel); 
	var list = sel.split('\n'); 
	for(i = 0; i<list.length; i++) {
	  list[i] = '<li>' + list[i] + '</li>'; 
	}
	//alert(list.join("<br>")); 
	var rep = tag1 + '\n' + list.join("\n") + '\n' + tag2; 
	textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len); 
	textarea.scrollTop = scrollTop; 
	textarea.scrollLeft = scrollLeft; 
  }
}

