/* toggle login/forgot password form on click of forgot password and remember password links/ toggle help section in manage content */

function show_form(id1, id2){
  Effect.toggle($(id1), 'blind');
  Effect.toggle($(id2), 'blind', {delay: 1});
}

function hide_form(id1, id2){
  Effect.toggle($(id2), 'blind');
  Effect.toggle($(id1), 'blind', {delay: 1});
}

function toggle_help_form(id2){
  if ($('helptext').innerHTML == 'Need help regarding this page?'){
    $('helptext').innerHTML = 'Close this';
    $('helptext').addClassName('visiblehelper');
  }
  else {
    $('helptext').removeClassName('visiblehelper');    
    $('helptext').innerHTML = 'Need help regarding this page?'
  }
  Element.toggle(id2);
}

function toggle_leads_filter(id2){
  if ($('helptext').innerHTML == 'Expand for more filters'){
    $('helptext').innerHTML = 'Close to hide filters';
    $('helptext').addClassName('visiblehelper');
  }
  else {
    $('helptext').removeClassName('visiblehelper');    
    $('helptext').innerHTML = 'Expand for more filters'
  }
  Element.toggle(id2);
}

function addClass(id){
	var searched_class = 'even';
	if($(id).nextSiblings()[0].className == 'even')
		searched_class = 'odd'
	else if($(id).nextSiblings()[0].className == 'odd')
		searched_class = 'even'
	$(id).removeClassName('odd');		
	$(id).addClassName(searched_class);
}



// this function disables change password button if the password fields empty and vice versa
function check_password_fields (){
  if (document.getElementById('user_password').value != '' && document.getElementById('user_password_confirmation').value != '')
    $('user_password_submit').disabled = false;
  else 
    $('user_password_submit').disabled = true;
}

function choose_to_change (id) {
  obj = $(id);
  value = obj.value.split('\\').reverse()[0].split('/').reverse()[0];
  document.getElementById('fakefilepc').innerHTML = value;
  if (obj.value != '') {
    $('divinputfile').addClassName('changeFile');    
    $('upload_to_server').style.display = 'block';
  }
}

function show_spinner (elem_id){
  document.getElementById(elem_id).style.display = "none";
  document.getElementById('getting_pic_results').style.display = "inline";
}

function hide_spinner (elem_id){
  document.getElementById('getting_pic_results').style.display = "none";
  document.getElementById(elem_id).style.display = "block";
}

function hide_upload (){
  $('upload_to_server').style.display = 'none';       
  $('divinputfile').style.display = 'block';
  $('divinputfile').removeClassName('changeFile');   
}

// payal says: due to time constraints below two functions are not optimized, will do it later

function ValidateContactForm () {
  var first_name = $('first_name').value;
  var last_name = $('last_name').value;  
  var email = $('email').value;
  var phone = $('phone').value;  
  var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
  var phoneNumberPattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;  
  var errors = "";
  if(first_name == "")
  {
    errors+= "Please enter your first name.\n";    
  }
  if(last_name == "")
  {
    errors+= "Please enter your last name.\n";  
  }
  if (phone != "" && phoneNumberPattern.test(phone) == false){
      errors+= "Please enter valid phone number.\n";
  }
  if(email == "")
  {
    errors+= "Please enter your email address.\n";
  }
  else if (emailPattern.test(email) == false){
    errors+= "Please enter valid email address.\n";
  }               
  if(errors != "")
  {
    alert(errors);
    return false;
  }
  return true;  
}

function ValidateQuoteForm () {
  marital_status = $('lead_marital_status_0').checked || $('lead_marital_status_1').checked || $('lead_marital_status_2').checked;
  
 // products = $('medicare').checked || $('other').checked || $('health').checked || $('disability').checked || $('life').checked;
  var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;        
  var qouteerrors = "";
  if($('lead_first_name').value == "")
  {
    qouteerrors+= "Please enter your first name.\n";    
  }
  if($('lead_last_name').value == "")
  {
    qouteerrors+= "Please enter your last name.\n";  
  }
  if($('lead_state').value == "")
  {
    qouteerrors+= "Please enter your state.\n";  
  }
  if($('lead_birthday').value == "")
  {
    qouteerrors+= "Please enter your birthday.\n";  
  } 
  if(marital_status == false)
  {
    qouteerrors+= "Please select your marital status.\n";  
  }     
  if($('email').value == "")
  {
    qouteerrors+= "Please enter your email address.\n";
  }
  else if (emailPattern.test($('email').value) == false){
    qouteerrors+= "Please enter valid email address.\n";
  } 
  /*
  if(products == false)
  {
    qouteerrors+= "Please select some products you are interested in.\n";  
  }  
  */        
  if(qouteerrors != "")
  {
    alert(qouteerrors);
    return false;
  }
  return true;  
}

// handle selection of content in callout link pop-up

function display_content_section (contentid) {
  Element.hide('cmgetstarted');
  Element.hide('website_content_pages');  
  Element.hide('website_content_products');
  Element.hide('website_content_resources');   
  Element.hide('website_content_forms'); 
  
  selectedList = $$('#cmsections li.selected');
  for(var i=0; i < selectedList.length; i++) {
    selectedList[i].removeClassName('selected');      
  }
 
  Element.show('cmpages');
  $(contentid).style.display = "block";
  
  switch(contentid)
  {
  case 'website_content_pages':
    $('cmsection1').addClassName('selected');
    break;    
  case 'website_content_products':
    $('cmsection2').addClassName('selected');
    break;
  case 'website_content_resources':
    $('cmsection3').addClassName('selected');
    break;
  case 'website_content_forms':
    $('cmsection4').addClassName('selected');
    break;        
  }
}

// set callout link values in the form

function set_callout_link (link, id) { 
  $('callout_link').value = link
  selectedListItems = $$('#cmpages a.selected');
  for(var i=0; i < selectedListItems.length; i++) {
    selectedListItems[i].removeClassName('selected');      
  }
  $('ps_content_' + id).addClassName('selected');
}

// add class to element if it does not already exist
function AddClassName(objElement, strClass, blnMayAlreadyExist){
  // if there is a class
  if ( objElement.className ){
    // the classes are just a space separated list, so first get the list
    var arrList = objElement.className.split(' ');
    // if the new class name may already exist in list
    if ( blnMayAlreadyExist ){
      // get uppercase class for comparison purposes
      var strClassUpper = strClass.toUpperCase();
      // find all instances and remove them
      for ( var i = 0; i < arrList.length; i++ ){
        // if class found
        if ( arrList[i].toUpperCase() == strClassUpper ){
          // remove array item
          arrList.splice(i, 1);
          // decrement loop counter as we have adjusted the array's contents
          i--;
        }
      }
      // add the new class to end of list
      arrList[arrList.length] = strClass;
      // assign modified class name attribute
      objElement.className = arrList.join(' ');
    }
    // if there was no class
    else {
      // assign modified class name attribute      
      objElement.className = strClass;
    }
  }
}

// add error class on load of a form so that styles are added to div containing the error fields
function addErrorStyle(){
  error_elements = $$(".fieldWithErrors");
  for (elem in error_elements)
  { 
    if(error_elements[elem].className == "fieldWithErrors") {
      AddClassName(error_elements[elem].parentNode, "error", false);
    }
  }
}

function toggleDiv(id,flagit) {
  if (flagit=="1"){
    if (document.layers) document.layers[''+id+''].visibility = "show"
    else if (document.all) document.all[''+id+''].style.visibility = "visible"
    else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible"
  }
  else if (flagit=="0"){
    if (document.layers) document.layers[''+id+''].visibility = "hide"
    else if (document.all) document.all[''+id+''].style.visibility = "hidden"
    else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"
  }
}

// Scroll terms and condition enables the create user submit button 
function scroll_terms(){
  $('user_terms_div').scrollTop += 10;
  check_bottom();
}

function check_bottom(){
  user_terms = $('user_terms_of_service');
  if($('user_terms_div').scrollTop>=$('user_terms_div').clientHeight+5000){
    if(user_terms.disabled == true){
      user_terms.disabled = false;
    }
    new Effect.Highlight('user_terms_div',{duration: 1.9});
  }
  else{
    user_terms.disabled == true
  }
}

function enable_submit(){     
  $('sign_up').disabled = ($('user_terms_of_service').checked == true) ? false : true;
}

// Recharge button visibility
  
function checkRechargeSubmit(e){
  if(e.value != "") {
    $('recharge_submit').disabled = false;    
  }
  else if(e.value == "") {
    $('recharge_submit').disabled = true;        
  }
}

function  initialize_editor(){  
  tinyMCE.init({
    theme:"advanced",
    //mode:"textareas",

    theme_advanced_toolbar_location:"top",
    theme_advanced_toolbar_align:"left",
    theme_advanced_resizing:true,
    theme_advanced_resize_horizontal:false,
    paste_auto_cleanup_on_paste:true,
		theme_advanced_blockformats:"p,h1,h2",   
    theme_advanced_buttons1:"bold, italic, underline, strikethrough, forecolor, fontsizeselect, | , undo, redo, link, unlink, image, | , bullist, numlist",
    theme_advanced_buttons2:"",
    theme_advanced_buttons3:"", 
    dialog_type:"modal"
  });  
}

// lead javascript

function toggleForm(id1, id2){
	Element.toggle(id1);
	Element.toggle(id2);	
}
// clear the search form for leads and activities
function clear_form(id) {
	var frm;
	frm = document.getElementById(id);
	for(  i=0; i <frm.elements.length; i++) {
		if(frm.elements[i].type == "text" || frm.elements[i].type == "file" || frm.elements[i].type == "textarea") {
			frm.elements[i].value = "";
		}
		if(frm.elements[i].type == "checkbox") {
			frm.elements[i].checked = false;
		}		
		if(frm.elements[i].type == "select-one") {
			frm.elements[i].selectedIndex = 0;
		}			
	}
}

function toggleQuoteURLInputBasedOnRadioButtons() {
  if(jQuery(this).val()=='true'){
    jQuery('#user_custom_quote_form_url').removeAttr("disabled");
  }
  else {
    jQuery('#user_custom_quote_form_url').attr("disabled","disabled");
  }
}

function addQuoteFormJavascript() {
  jQuery(function(){
    jQuery("#custom_quote_form_settings_form input[type='radio']").change(toggleQuoteURLInputBasedOnRadioButtons);
  });
}

function toggle_with_choice(choice) {
  if(choice == true) {
    Effect.toggle('leftcol', 'blind', { duration: 0.5 });
    Effect.toggle('fixedleftcol', 'slide', { delay: 0.5 });
  }
  else if(choice == false) {         
    Effect.toggle('fixedleftcol', 'blind', { duration: 0.5 });    
    Effect.toggle('leftcol', 'slide', { delay: 0.5 });       
  }
}

function prefill_values(vals, choice) {
  var phone = ["", "", "", ""]
  if(vals[2] != '') {
    phone = vals[2].split('-');
  }
  if(choice == true) {
    document.getElementById('subscription_first_name').value=vals[0];
    document.getElementById('subscription_last_name').value=vals[1];
    document.getElementById('subscription_phone_number').value=phone[0];
    document.getElementById('subscription_phone_number_1').value=phone[1];
    document.getElementById('subscription_phone_number_2').value=phone[2];
    document.getElementById('subscription_phone_number_3').value=phone[3];            
    document.getElementById('subscription_address_line1').value=vals[3];
    document.getElementById('subscription_address_line2').value=vals[4];
    document.getElementById('subscription_city').value=vals[5];
    document.getElementById('subscription_state').value=vals[6];
    document.getElementById('subscription_postal_code').value=vals[7];
  }
  else {         
    document.getElementById('subscription_first_name').value="";
    document.getElementById('subscription_last_name').value="";
    document.getElementById('subscription_phone_number').value="";
    document.getElementById('subscription_phone_number_1').value="";
    document.getElementById('subscription_phone_number_2').value="";
    document.getElementById('subscription_phone_number_3').value="";            
    document.getElementById('subscription_address_line1').value="";
    document.getElementById('subscription_address_line2').value="";
    document.getElementById('subscription_city').value="";
    document.getElementById('subscription_state').value="";
    document.getElementById('subscription_postal_code').value=""; 
  }  
}
