/* JavaScript Function Document
*  July/2010
*  Javascript functions to ad functionality for the page
*/

/*********************************/
/* Wizard Section        */
/*********************************/



// Function set_label_name(), to set the label content in the preview - Generic
function set_label_name(labelName,fieldName){
//  document.getElementById(labelName).innerHTML = document.getElementById(fieldName).value;
  // Replace all line feeds in the format '\n' to HTML line feeds, and assigned to the defined label.
  document.getElementById(labelName).innerHTML = document.getElementById(fieldName).value.replace(/\n/g, "<br>"); 
}

function set_number_value( labelName, fieldName )
{
  // strip commas
  // no longer using labelName
  $j("#" + fieldName).val( $j("#" + fieldName).val().replace(/,/g,'') );
}

// filters non-ascii chars
function ascii_only(str)
{
  var non_ascii=/([^\x00-\x7F])/;
  while( str.match(non_ascii) )
  {
    str = str.replace( new RegExp( String(RegExp.$1),"g"),"");
  }
  return str;
}






function create_entry_org() {
  if( $j('#organizer_first_name').val().length && $j('#organizer_last_name').val().length && $j('#organizer_email').val().length)
  {
    $j.post("/fundraisers/ajax_image_add", { name: "John", time: "2pm" } );
  }
}

function get_screen( url, size )
{
  if(url === null){ return ""; }
  size = (size === null) ? "big" : size;
  var vid;
  var results;
  results = url.match("[\\?&]v=([^&#]*)");
  vid = ( results === null ) ? url : results[1];
  if(size == "small"){
    return "http://img.youtube.com/vi/"+vid+"/2.jpg";
  }else {
    return "http://img.youtube.com/vi/"+vid+"/0.jpg";
  }
}


function get_end_date(dateD){
  var myDate = dateD.split('-')
  var current_date = new Date();
  var cmonth = current_date.getMonth()+1;
  var cday = current_date.getDate();
  var cyear = current_date.getFullYear();
  var max_date = new Date();
  max_date.setDate(max_date.getDate()+180);
  var month = max_date.getMonth()+1;
  var day = max_date.getDate();
  var year = max_date.getFullYear();
  if((myDate[2] < cyear) || (myDate[1] < cmonth && myDate[2] == cyear) || (myDate[0] < cday && myDate[1] == cmonth && myDate[2] == cyear)){
    alert('You can not choose a date prior to '+parse_date(cday,cmonth,cyear)+'. Please choose a valid date.');
    document.getElementById('dateDisplay').innerHTML = '';
    document.getElementById('fund-deadline-lb').innerHTML = "";
    document.getElementById('end_date').value  = "";
  }else{
    if((myDate[2] > year) || (myDate[1] > month && myDate[2] == year) || (myDate[0] > day && myDate[1] == month && myDate[2] == year)){
      alert('You can choose a date up to '+parse_date(day,month,year)+'. If you need to choose a date after this day, email us at info@giveforward.com.');
      document.getElementById('dateDisplay').innerHTML = '';
      document.getElementById('fund-deadline-lb').innerHTML = "";
      document.getElementById('end_date').value  = "";
    }else{
  var dateHTML = parse_date(myDate[0],myDate[1],myDate[2]);
  document.getElementById('dateDisplay').innerHTML = dateHTML;
  // Add the name to the label in the preview
  document.getElementById('fund-deadline-lb').innerHTML = "This fund will end in "+dateHTML;
      document.getElementById('end_date').value = myDate[2]+'-'+myDate[1]+'-'+myDate[0];
    }
  }
}

function parse_date(day,month,year){
  var st=new Array(1,21,31); 
  var nd=new Array(2,22); 
  var rd=new Array(3,23); 
  var ins_arr = 0;
    for (x = 0; x <= st.length; x++) {  
        if(st[x]==day){ 
            ins_arr = 1; 
        } 
    }
  if(ins_arr == 0){
    for (x = 0; x <= nd.length; x++) {  
          if(nd[x]==day){ 
              ins_arr = 2; 
          } 
      } 
  }
  if(ins_arr == 0){
    for (x = 0; x <= rd.length; x++) {  
          if(rd[x]==day){ 
              ins_arr = 3; 
          } 
      } 
  }
  switch(ins_arr){
    case 1:  ord='st'; break;
    case 2:  ord='nd'; break;
    case 3:  ord='rd'; break;
    default: ord='th'; break;
  }
  switch(month){
    case '01' : case 1 : mon='January'; break;
    case '02' : case 2 : mon='February'; break;
    case '03' : case 3 : mon='March'; break;
    case '04' : case 4 : mon='April'; break;
    case '05' : case 5 : mon='May'; break;
    case '06' : case 6 : mon='June'; break;
    case '07' : case 7 : mon='July'; break;
    case '08' : case 8 : mon='August'; break;
    case '09' : case 9 : mon='September'; break;
    case '10' : case 10: mon='October'; break;
    case '11' : case 11: mon='November'; break;
    case '12' : case 12: mon='December'; break;
    default: mon = ''; break;
  }
  return mon+' '+parseInt(day)+ord+', '+year;
}



function set_drop_date_month(DateVal){
  
  arrDate = DateVal.split('-');
  monthValues = document.getElementById('event_month').value.split('/');
  document.getElementById('event_day').innerHTML="";
  days=1;
  if( arrDate[2] == monthValues[0] )
    days=arrDate[1];
  var container = document.getElementById('event_day');
  for (var x=days; x<=monthValues[1]; x++)
  {
    var newopt = document.createElement("option");
    newopt.value = monthValues[2]+"/"+monthValues[0]+"/"+x;
    newopt.innerHTML = x;
    container.appendChild(newopt);
    }
  document.getElementById('starts_at').innerHTML="";
  var container_hours = document.getElementById('starts_at');
  hours=0;
  if(arrDate[2] == monthValues[0])
    hours=arrDate[0];
  x=0;
  do{
    var newopt_hour = document.createElement("option");
    value=':00';
    if(x%1 == 0.5)
  {
      value=':30';
    }
    newopt_hour.value = monthValues[2]+"-"+monthValues[0]+"-"+days+" "+(x-x%1)+value;
    if (x>=12)
      AorP="P.M.";
    else
      AorP="A.M.";
    if (x>=13)
      val = x-12;
    else
      val = x;
    if (x==0 || x==0.5)
      val=12;
    newopt_hour.innerHTML = (val-val%1)+value+' '+AorP;
    if(x==8)
    {
      newopt_hour.selected = 'selected';
    }
    else
    {
      newopt_hour.selected = '';
    }
    container_hours.appendChild(newopt_hour);
    x = x+0.5;
  }while(x<24);
}

function set_drop_date_day(DateVal){
  arrDate = DateVal.split('-');
  dayValues = document.getElementById('event_day').value.split('/');
  document.getElementById('starts_at').innerHTML="";
  var container_hours = document.getElementById('starts_at');
  hours=0;
  if(arrDate[2] == dayValues[1] && arrDate[1] == dayValues[2])
    hours=arrDate[0];
  x=0;
  do{
    var newopt_hour = document.createElement("option");
    value=':00';
    if(x%1 == 0.5)
  {
      value=':30';
    }
    newopt_hour.value = dayValues[0]+"-"+dayValues[1]+"-"+dayValues[2]+" "+(x-x%1)+value;
    if (x>=12)
      AorP="P.M.";
    else
      AorP="A.M.";
    if (x>=13)
      val = x-12;
    else
      val = x;
    if (x==0 || x==0.5)
      val=12;
    newopt_hour.innerHTML = (val-val%1)+value+' '+AorP;
    if(x==8)
    {
      newopt_hour.selected = 'selected';
    }
    else
    {
      newopt_hour.selected = '';
    }
    container_hours.appendChild(newopt_hour);
    x = x+0.5;
  }while(x<24);
}


function is_url(s) 
{
  var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
  return regexp.test(s);
}











