//////////// start of javascript functions for poll creation///////////////////////////
var answer_number = 1;
var poll_rejected = 0;
function is_empty(id){
  //str=document.getElementById(id).value;
    trim_string 
  var trimmed = trim_string(id)
    if(trimmed=="" || trimmed==null)
        {
           document.getElementById(id).value = ""
       return true;
    }else{
           return false;
    }

}
function trim_string(id){
  str=document.getElementById(id).value;
  var trimmed = str.replace(/^\s+|\s+$/g, '') ;
  return trimmed;
}

function isValidCharacter(id){
  //debugger;
  var str = trim_string(id)
  var spec_chars = "*|,\":<>[]{}`\';()@&$#%";
  isValidString = true; 
  for(var i=0; i<str.length; i++){
    if(spec_chars.indexOf(str.charAt(i))!= -1){
      isValidString = false;
    }
  }
    return isValidString; 
}

function contain_blank(id){
    is_blank = false;
  var str = trim_string(id)
  for( var i=0; i<str.length; i++){
    if(str.charAt(i)==' ' ){
    is_blank = true;    
    }
  }
  return is_blank;
}

function replace(string,text,by) {
  var strLength = string.length, txtLength = text.length;
  if ((strLength == 0) || (txtLength == 0)) return string;
  var i = string.indexOf(text);
  if ((!i) && (text != string.substring(0,txtLength))) return string;
  if (i == -1) return string;
  var newstr = string.substring(0,i) + by;
  if (i+txtLength < strLength)
  newstr += replace(string.substring(i+txtLength,strLength),text,by);
  return newstr;
}




function validate_poll_form(){
  //debugger;
  var is_form_valid=true;
  var is_last_answer_empty=false;
  var valid_ans_length = true
  var non_empty_answer=0
  var same_poll_answers = false
  var last_ans_text   
  

  document.getElementById("poll_question_error").style.display = "none";
  document.getElementById("poll_question_length").style.display= "none";  
  document.getElementById("poll_answer_error").style.display= "none";
  document.getElementById("poll_answer_length").style.display= "none";
  document.getElementById("poll_description_length").style.display= "none";
  //document.getElementById("category_error").style.display= "none"
  
  document.getElementById("poll_question_error").style.display = "none";
  
  if (is_empty("poll_question")){
    document.getElementById("poll_question_error").style.display = "block";
    is_form_valid=false;
  }
  if (is_empty("poll_last_answer")){
      is_last_answer_empty=true 
  }
  for (var i=1; i<=8; i++){
        
      if(!is_empty("poll_answer"+i)){
        non_empty_answer++
      }
    } 
  if(non_empty_answer<1){
    document.getElementById("poll_answer_error").style.display = "block";
    is_form_valid=false
  }else if(non_empty_answer==1 && is_last_answer_empty){
    document.getElementById("poll_answer_error").style.display = "block";
    is_form_valid=false
  }
      
  if(trim_string("poll_question").length > 100){
      document.getElementById("poll_question_error").style.display="none"
      document.getElementById("poll_question_length").style.display="block";
      is_form_valid=false
    }
    if(trim_string("poll_last_answer").length > 60){
      is_form_valid = false;
      //valid_ans_length = false
      $("last_answer_length").show()
      $("poll_last_answer").style.border = "solid 2px red"
    } 
    for (i=1; i<=8; i++){
        var ans_div_id = "poll_answer" + i;
        if(trim_string(ans_div_id).length > 60){
          valid_ans_length=false;
          is_form_valid=false;
          $(ans_div_id).style.border = "solid 2px red";
          //break;
      }else{
              $(ans_div_id).style.border = "solid 1px #a0b6cd";
      
      }
    } 

    if(!valid_ans_length){
      document.getElementById("poll_answer_error").style.display="none"
      document.getElementById("poll_answer_length").style.display="block";
    }
  
    if(trim_string("poll_description").length > 500){
      document.getElementById("poll_description_length").style.display= "block";
      is_form_valid=false;
    }
    
    for (var i=1; i<8; i++){
      j = i + 1
      if(!is_empty("poll_answer"+i) && !is_empty("poll_answer"+ j)  ){
        if(trim_string("poll_answer" + i)==trim_string("poll_answer" + j)){
          document.getElementById("poll_answers_identical").style.display= "block";
          is_form_valid=false;
          break;
        }
      }
    }
    
    for (var i=1; i<=8; i++){
      if(!is_empty("poll_answer" + i) && !is_empty("poll_last_answer")){
        if(trim_string("poll_answer" + i)==trim_string("poll_last_answer")){
          document.getElementById("poll_answers_identical").style.display= "block";
          is_form_valid=false;
          break;
        }
      }
    } 
    
    
    
    return is_form_valid
}

//////////// end of javascript functions for poll creation///////////////////////////

function validate_login_form(){
  var is_form_valid=true;
  var str = '';
  
  document.getElementById("login_error").style.display = "none";
  
  if(is_empty("ulogin_login_id"))
  {
    str = '<li class="mess_errors_text">Please enter Email or Username</li>';
    is_form_valid=false;
  }
  if(is_empty("ulogin_password"))
  {
    str += '<li class="mess_errors_text">Please enter Password</li>';
    is_form_valid=false;
  }
  if(str != "" && !is_form_valid)
  {
    document.getElementById("login_error_div").innerHTML = str;
    document.getElementById("login_messages").style.display = "none";
    document.getElementById("login_error").style.display = "block";
  }
  else if(str == "")
    document.getElementById("login_error").style.display = "none";
   
  return is_form_valid;
  
}

function validate_registration_form(){
  var is_form_valid=true;
  var is_check=false;
  var check_box = document.getElementById("i_agree");
  var str_zip=document.getElementById('user_zip_code').value;
  var country = document.getElementById('user_country').value;
  var str_date = document.getElementById("user_date_of_birth_2i").value + "-"+document.getElementById("user_date_of_birth_3i").value + "-"+document.getElementById("user_date_of_birth_1i").value;  
  var redigit=/^\d+$/;
  var redate = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
  var str = ''  ;
  var reemail = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
  
  document.getElementById("error").style.display = "none";
  
  if(is_empty("user_email"))
  {
    str = '<li class="mess_errors_text">Please enter Email Address</li>';
    is_form_valid=false;
  }
  else if(document.getElementById('user_email').value.length < 3)
  {
    str += "<li class='mess_errors_text'>Email is too short (minimum is 3 characters)</li>";
    is_form_valid=false;
  }
  else if(document.getElementById('user_email').value.length > 100)
  {
    str += "<li class='mess_errors_text''>Email is too long (maximum is 100 characters)</li>";
    is_form_valid=false;
  }
  else if(((document.getElementById('user_email').value).search(reemail) == -1))
  {
    str += '<li class="mess_errors_text">Email Address is in invalid format</li>';
    is_form_valid=false;
  }
  if(is_empty("user_login_id"))
  {
    str += '<li class="mess_errors_text">Please enter Username</li>';
    is_form_valid=false;
  }
  else if(document.getElementById('user_login_id').value.length < 5)
  {
    str += "<li class='mess_errors_text'>Username is too short (minimum is 5 characters)</li>";
    is_form_valid=false;
  }
  else if(document.getElementById('user_login_id').value.length > 20)
  {
    str += "<li class='mess_errors_text'>Username is too long (maximum is 20 characters)</li>";
    is_form_valid=false;
  }
  if(!isValidCharacter("user_login_id")){
     str += '<li class="mess_errors_text">Don\'t use special characters in Username. </li>'   
     is_form_valid = false;
   }
   if(contain_blank("user_login_id")){
     str += '<li class="mess_errors_text">Don\'t use blankspaces in Username. </li>'    
     is_form_valid = false;
   }
  if(is_empty("user_password"))
  {
    str += '<li class="mess_errors_text">Please enter Password</li>';
      is_form_valid=false
  }
  else if(document.getElementById('user_password').value.length < 6)
  {
    str += "<li class='mess_errors_text'>Password is too short (minimum is 6 characters)</li>";
    is_form_valid=false;
  }
  else if(document.getElementById('user_password').value.length > 20)
  {
    str += "<li class='mess_errors_text'>Password is too long (maximum is 20 characters)</li>";
    is_form_valid=false;
  }
  if(is_empty("user_password_confirmation"))
  {
    str += '<li class="mess_errors_text">Please enter Confirm Password</li>';
    is_form_valid=false
  } 
  if((str_date.search(redate) == -1))
  {
    str += '<li class="mess_errors_text">Please enter valid Date of Birth</li>';
    is_form_valid=false
  }
  if(is_empty("user_gender"))
  {
    str += '<li class="mess_errors_text">Please select Gender</li>';
    is_form_valid=false
  }
  if(is_empty("user_country"))
  {
    str += '<li class="mess_errors_text">Please select Country</li>';
      is_form_valid=false
  }
  if(country == "USA")
  {
    if(is_empty('user_zip_code'))
    {
      str += '<li class="mess_errors_text">Zipcode cannot be empty</li>';
      is_form_valid=false;
    }else 
    {
      if((str_zip.length != 5))
      {
        str += '<li class="mess_errors_text">Zipcode length should be of 5 digit</li>';
        is_form_valid=false;
      }
      if(((document.getElementById('user_zip_code').value).search(redigit) == -1))
      { 
        str += '<li class="mess_errors_text">Zipcode should be numeric</li>';
        is_form_valid=false;
      }
    }
  }
  
  
  
  if(document.getElementById("user_password").value != document.getElementById("user_password_confirmation").value)
   { 
     str += "<li class='mess_errors_text'>Password and Confirm Password doesn't match</li>";
     is_form_valid=false;
   }
   
   if(!check_box.checked)
   {
       str += '<li class="mess_errors_text">Please accept the terms and conditions.</li>';
     is_form_valid=false;
     }
   if(str != "" && !is_form_valid)
   {
    document.getElementById("error_div").innerHTML = str;
    document.getElementById("error").style.display = "block";
    document.getElementById("messages").style.display = "none";
   }
   else if(str == "")
    document.getElementById("error").style.display = "none";
   
  return is_form_valid;
} 
//////////// start of javascript functions for Registration///////////////////////////

function chck(){
  var select_box = document.getElementById('user_country');
  if(select_box.selectedIndex == '1')
  {
    document.getElementsByName('user[zip_code]')[0].disabled  = false;
    document.getElementsByName('user[zip_code]')[0].focus();
  }
  else
  {
    document.getElementsByName('user[zip_code]')[0].value="";
    document.getElementsByName('user[zip_code]')[0].disabled  = true;
  }
  document.getElementById("messages").style.display = "none"; 
}

function validate_radio(option_name, err_msg,err_msg_div){
	radios = document.getElementsByName(option_name);
	var checked = false;
	for (i = 0; i < radios.length; i++){
		if(radios[i].checked){
	  	checked = true;
	  }
	}
	if(!checked){
		document.getElementById(err_msg).innerHTML = "Please select an option";
	  document.getElementById(err_msg_div).style.display = 'block';
	  return false;
	}
	return true;
}


function validateImage(id){
  value                 = $(id).value;
  empty_error_div       = $("empty_error");
  image_type_error_div  = $("error_div_image_type")
  empty_error_div.hide()
  image_type_error_div.hide()
  
  if(is_empty(id)){
    if($('upload_msg')){
      $('upload_msg').removeClassName("messageExplanation").addClassName('errorExplanation')
      $('upload_msg').update("Please select a image.").show()
    }else
      empty_error_div.show()
    
    return false
  }else{
    var lastindex = value.lastIndexOf('.')
    var file_ext = (value.substring(lastindex+1,value.length)).toLowerCase();
    if((file_ext == "jpeg") || (file_ext == "jpg") || (file_ext == "gif"))
      return true;
    else{
      if($('upload_msg')){
        $('upload_msg').removeClassName("messageExplanation").addClassName('errorExplanation')
        $('upload_msg').update("Allowed image types are jpeg / jpg or gif.").show()
      }else
        image_type_error_div.show()
        
      return false
    }
  }

}

function validEmails(emails)
{
   var emailstr = emails.value;
   var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
   if(emailstr.length = 0 || emailstr == "Type one or more email addresses in this box. Separate addresses with a comma.")
    {
       $('emailLabel').innerHTML ='Please enter emails';
     $('error').style.display = "block";
    }
  else
  {
       var emails = new Array(100);
       emails = emailstr.split(",");
       for(i=0;i<emails.length;i++)
     {
           if (!filter.test( emails[i].replace(/^\s+|\s+$/g,"") ))
       {
           $('emailLabel').innerHTML ='Please enter valid comma separated Emails';
          $('error').style.display = "block";
               return false;
           }
    }
    return true;
   }
} 

function validate_forgot_form(form)
{
  var emailstr = form.email.value;
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if(emailstr.length == 0)
  {
    $('emailLabel').innerHTML ='Please enter Email';
    $('error').style.display = "block";
    if(document.getElementById('server_error'))
    {
      document.getElementById('server_error').style.display = 'none';
    }
    return false;
  }
  else
  {
    if (!filter.test( emailstr.replace(/^\s+|\s+$/g,"") ))
    { 
         $('emailLabel').innerHTML ='Please enter valid Email';
       $('error').style.display = "block";
       if(document.getElementById('server_error'))
      {
        document.getElementById('server_error').style.display = 'none';
      }
       return false;
         }
     return true;
  }
}

function validate_reset_form(form)
{
  var pass = form.password.value;
  var confirm_pass = form.password_confirmation.value;
  if(pass.length == 0)
  {
      $('emailLabel').innerHTML ='Please enter Password';
      $('error').style.display = "block";
      if(document.getElementById('server_error'))
      {
          document.getElementById('server_error').style.display = 'none';
      }
      return false;
  }
  else if(confirm_pass.length == 0)
  {
         $('emailLabel').innerHTML ='Please Re-enter password';
      $('error').style.display = "block";
      if(document.getElementById('server_error'))
      {
          document.getElementById('server_error').style.display = 'none';
      }
      return false;
  }
  else
  {
       if($("password").value != $("password_confirmation").value)
      {
          $('emailLabel').innerHTML ='Password Mismatch';
          $('error').style.display = "block";
          if(document.getElementById('server_error'))
          {
              document.getElementById('server_error').style.display = 'none';
          }
          return false;
      }
      else if(pass.length > 20)
      {
          $('emailLabel').innerHTML ='Password length should be less than 20 characters';
          $('error').style.display = "block";
          if(document.getElementById('server_error'))
          {
              document.getElementById('server_error').style.display = 'none';
          }
          return false;
      }
      else if(pass.length < 6)
      {
          $('emailLabel').innerHTML ='Password length should of minimum 6 characters';
          $('error').style.display = "block";
          if(document.getElementById('server_error'))
          {
              document.getElementById('server_error').style.display = 'none';
          }
          return false;
      }
      return true;
   }
} 

function save_incomplete_poll(poll_id)
{
  //alert(document.forms[1].action)
  actionUrl = "/poll_creation/save_incomplete_poll/" + poll_id  
  document.forms[1].action = actionUrl 
  document.forms[1].submit()
}

function submit_create_poll()
{
  if (validate_poll_form())
  {
    document.forms[1].submit()  
  }
}
function validate_edit_account()
{
   var is_form_valid=true;
   var str_date = document.getElementById("user_date_of_birth_2i").value + "-"+document.getElementById("user_date_of_birth_3i").value + "-"+document.getElementById("user_date_of_birth_1i").value;       var redigit=/^\d+$/;
   var redate = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
   var str = '';
      if(is_empty("user_login_id"))
   {
       str += '<li class="mess_errors_text" id = "mess_errors_name">Please enter Username</li>';
       is_form_valid=false;
   }
   else if(document.getElementById('user_login_id').value.length < 5)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_name_length'>Username is too short (minimum is 5 characters)</li>";
       is_form_valid=false;
   }
   else if(document.getElementById('user_login_id').value.length > 20)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_name_length'>Username is too long (maximum is 20 characters)</li>";
       is_form_valid=false;
   }
   if((str_date.search(redate) == -1))
   {
       str += '<li class="mess_errors_text" id = "mess_errors_date">Please enter valid Date of Birth</li>';
       is_form_valid=false
   }
   if(is_empty("user_gender"))
   {
       str += '<li class="mess_errors_text" id = "mess_errors_gender">Please select Gender</li>';
       is_form_valid=false
   }
   if(is_empty("user_country"))
   {
       str += '<li class="mess_errors_text" id = "mess_errors_country">Please select Country</li>';
       is_form_valid=false
   }
   if(document.getElementById('user_country').value == "USA")
   {
       if(is_empty('user_zip_code'))
       {
           str += '<li class="mess_errors_text" id = "mess_errors_zipcode">Zipcode cannot be empty</li>';
           is_form_valid=false;
       }else
       {
           if((document.getElementById('user_zip_code').value.length != 5))
           {
               str += '<li class="mess_errors_text" id = "mess_errors_ziplength">Zipcode length should be 5 digit</li>';
               is_form_valid=false;
           }
          if(((document.getElementById('user_zip_code').value).search(redigit) == -1))
           {                   str += '<li class="mess_errors_text" id = "mess_errors_zipnumeric">Zipcode should be numeric</li>';
               is_form_valid=false;
           }
       }
   }
   if(str != "" && !is_form_valid)
    {
        document.getElementById("error_div").innerHTML = str;
       document.getElementById("messages").style.display = "none";
       document.getElementById("error").style.display = "block";        }
       return is_form_valid;
}
function validate_change_pass()
{
   var is_form_valid=true;
   var str = '';
      if(is_empty("password"))
   {
       str += '<li class="mess_errors_text">Password cannot be empty</li>';
       is_form_valid=false
   }
   else if(is_empty("password_confirmation"))
   {
       str += '<li class="mess_errors_text">Password Confirmation cannot be empty</li>';
       is_form_valid=false
   }
   if(is_empty("old_password"))
   {
       str += '<li class="mess_errors_text">Old Password cannot be empty</li>';
       is_form_valid=false
   }
   else if(document.getElementById('password').value.length < 6 && is_form_valid)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_pass_length'>Password is too short (minimum is 6 characters)</li>";
       is_form_valid=false;
   }
   else if(document.getElementById('password').value.length > 20 && is_form_valid)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_pass_length'>Password is too long (maximum is 20 characters)</li>";
       is_form_valid=false;
   }
   else if(document.getElementById('password_confirmation').value.length < 6 && is_form_valid)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_pass_length'>Password is too short (minimum is 6 characters)</li>";
       is_form_valid=false;
   }
   else if(document.getElementById('password_confirmation').value.length > 20 && is_form_valid)
   {
       str += "<li class='mess_errors_text' id = 'mess_errors_pass_length'>Password is too long (maximum is 20 characters)</li>";
       is_form_valid=false;
   }
   if(document.getElementById("password").value != document.getElementById("password_confirmation").value && is_form_valid)
    {
        str += "<li class='mess_errors_text' id = 'mess_errors_pass_mismatch'>Password & Confirm Password doesn't match</li>";
        is_form_valid=false;
    }
    if(str != "" && !is_form_valid)
    {
    if(document.getElementById('server_error'))
      document.getElementById('server_error').style.display = 'none';
        document.getElementById("error_div").innerHTML = str;
        document.getElementById("error").style.display = "block";   
          
  }
    return is_form_valid;
}

function disableAnchor(obj, disable){
    if(disable){
      obj.removeAttribute('href');
      obj.style.color="gray";
    }
}

function preview_create_poll()
{
  if (validate_poll_form()){
    //alert(document.forms[1].action)
    actionUrl = "/poll_creation/preview_poll/"
    document.forms[1].action = actionUrl 
    document.forms[1].submit()
  }
}

function edit_poll() { 
    document.preview_form.action = "/poll_creation/edit_poll" 
    document.preview_form.submit()
}

function create_poll(audience_poll_type)
{ 
    actionUrl = "/poll_creation/create?poll_type=" + audience_poll_type
    document.preview_form.action = actionUrl 
    document.preview_form.submit()
}


function audience_poll_type()
{
  actionUrl = "/poll_creation/poll_audience_type/"
  document.forms[0].action = actionUrl 
  document.forms[0].submit()  
  return false
}

function chck_unreg_loc(){
  var select_box = document.getElementById('cooky_country');
  if(select_box.selectedIndex == '1')
  {
    document.getElementsByName('cooky[zip_code]')[0].disabled  = false;
    document.getElementsByName('cooky[zip_code]')[0].focus();
  }
  else
  {
    document.getElementsByName('cooky[zip_code]')[0].value="";
    document.getElementsByName('cooky[zip_code]')[0].disabled  = true;
  }
}

function validate_unreg_loc(){
  var redigit=/^\d+$/;
  if(is_empty('cooky_country'))
  {
    return false;
  }
  if(document.getElementById('cooky_country').value == "US")
  {
    if(is_empty('cooky_zip_code'))
    { 
      return false;
    }else 
    {
      if(((document.getElementById('cooky_zip_code').value).search(redigit) == -1))
      { 
        return false;
      }
    }
  }
}