var _POPUP_FEATURES = 'location=0,statusbar=0,menubar=0,scrollbars=1,width=400,height=300';
		
function isUndefined(v) 
{
    var undef;
    return v===undef;
}

function raw_popup(url, target, features) 
{
    // pops up a window containing url optionally named target, optionally having features
    if (isUndefined(features)) 
    	features = _POPUP_FEATURES;
    if (isUndefined(target  )) 
    	target   = '_blank';
    var theWindow = window.open(url, target, features);
    theWindow.focus();
    return theWindow;
}

function link_popup(src, features) 
{
    // to be used in an html event handler as in: <a href="..." onclick="link_popup(this,...)" ...
    // pops up a window grabbing the url from the event source's href
    
    return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

function popitup(url)
{
	newwindow=window.open(url,'name','height=560,width=550,resizable,scrollbars');
	if (window.focus) {newwindow.focus()}
	return false;
}
function popitup_sized(url, height, width){
  newwindow = window.open(url,'name','height='+height+',width='+width+',resizable,scrollbars');
  if (window.focus) {newwindow.focus()}
  return false;
}

function popitupwide(url)
{
	newwindow=window.open(url,'name','height=600,width=800,resizable,scrollbars');
	if (window.focus) {newwindow.focus()}
	return false;
}

function popitupwider(url)
{
	newwindow=window.open(url,'name','height=610,width=1000,resizable,scrollbars');
	if (window.focus) {newwindow.focus()}
	return false;
}

function popLastChance(url)
{
  // handleLinksForLastChance should be called before this.
  // global variable good_user is set to true when the user uses links on the page to navigate
  if(!good_user && no_osub){
    var w = screen.availWidth;
    var h = screen.availHeight;
    var t = ( h - 300 ) / 2;
    var l = ( w - 670 ) / 2;
    if(t < 0) { t = 0;}
    if(l < 0) { l = 0;}
    t = Math.round(t);
    l = Math.round(l);
    // Some browsers ignore some of these params
    // Requested size: 780x580
    var params = "width=680,height=340,status=yes,location=no,menubar=no,directories=no,scrollbars=no,resizable=yes,toolbar=no";
    params = params + ",top=" + t + ",left=" + l;
    newwindow = window.open(url,'LastChance',params);
    newwindow.blur();
  }
  return false;
}

function handleLinksForLastChance()
{
  good_user = false;
  var links = document.links;
  var inputs = document.getElementsByTagName("input");
  var clicfunc = function(event) {var result=true; good_user=true; if(this.oldonclick) {result = this.oldonclick(event); } return result;};

  for(i=0;i < inputs.length;i++){
    if(inputs[i].attributes['type'].value == 'image'){
      inputs[i].onclick = clicfunc;
    }
  }

  for(i=0; i < links.length; i++){
    //Just one level of chaining. Something more robust seems unnecessary
    if(links[i].onclick) {links[i].oldonclick = links[i].onclick; }
    links[i].onclick = clicfunc;
  }
}

var result;
var result_special;
var myRegxp = /^([\w0-9\.\\'?#",\r\n$!()&\/\*\[\]\(\)\-%_ ])*$/;
var text_area_val;
var text_length;

function set_max_size(){
     text_area_val = $("support-request-comments").value;
     text_length = text_area_val.length;
     if(Number(text_length) > 1000){
       result=false;
       check_special_characters();
     } else {
       result=true;
       check_special_characters();
     }

  if(result==false && result_special==false) {
    document.getElementById("text_area_error").innerHTML = '<div class=" field-with-errors"><span class="error-text">Por favor, limite su respuesta a 1000 caracteres</span><br /><span class="error-text">Please do not use the following characters in your response<br/>  \ : ; | ^ @ ~ {} = <> + ` </span></div>';
    return false;
  } else {
    if(result==false) {
    document.getElementById("text_area_error").innerHTML = '<div class=" field-with-errors"><span class="error-text">Por favor, limite su respuesta a 1000 caracteres</span></div>';
    return false;
    } else if(result_special==false) {
       document.getElementById("text_area_error").innerHTML = '<div class=" field-with-errors"><span class="error-text">Please do not use the following characters in your response<br/>  \ : ; | ^ @ ~ {} = <> + ` </span></div>';
       return false;
    } else {
     document.getElementById("text_area_error").innerHTML = '';
     return true;
    }
  }
}

function check_special_characters() {
     if(text_area_val.match(myRegxp)) {
       result_special=true;
     } else {
       result_special=false; 
     }
}

current = "sms";

function changeRequirements(value){
  if(value != 'version3' && value != 'version2' && value != ''){
    document.getElementById(current).style.display = 'none';
    current = value;
    document.getElementById(value).style.display = 'block';
  }
}

function showAns(serial){
	var ele = $("faq_ans_"+serial);
	var text = $("faq_"+serial);
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = "Ver la respuesta";
  	}
	else {
		ele.style.display = "block";
		text.innerHTML = "Ocultar respuesta";
	}
} 
