var whitespace = " \t\n\r";
var emailvalid="/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i"
  
function isEmpty(s){
  return ((s == null) || (s.length == 0)) 
}

function isWhitespace (s){
  var i;
  if (isEmpty(s)) return true;
  for (i = 0; i < s.length; i++){
    var c = s.charAt(i);
    if (whitespace.indexOf(c) == -1) return false;
  }
  return true;
}
  
function searchSchools(){
  var name=document.getElementById('school_name').value;
  if (name.length>0)
    window.location='/vcms/schools/'+name
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 
function searchSchool(){
  var name=document.getElementById('school_name').value;
  if (name.length>0)
    window.location='/vcms/coupon_codes/'+name
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
}
function searchProducts(){
  var name=document.getElementById('products_name').value;
  if (name.length>0)
    window.location='/vcms/products?name='+name
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 
function searchProvince(){
  var name = document.getElementById('province_name').value;
  if (name.length>0)
    window.location='/vcms/provinces/'+name
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 
function searchPolls(){
  var question = document.getElementById('poll_question').value;
  if (question.length>0)
    window.location='/vcms/polls/'+question;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search.";
  }
} 
function searchPastPolls(){
  var id = document.getElementById('poll_id').value;
  var question = document.getElementById('poll_question').value;
  if (question.length>0)
    window.location='/vcms/past_polls/'+id+'?question='+question;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search.";
  }
} 

function searchSlide(){
 // var id = document.getElementById('slideshow').value;
  var id = document.getElementById('slide_name').value;
  if (id.length>0)
    window.location='/vcms/homepage/slideshow/'+id;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search.";
  }
} 

function checkForEnterSearchSlide(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
	key = event.which
  }
  if(key==13){
    searchSlide();
  }
}

function AllowOnlyNumbers(inputfield,myEvent){	
  var keyOkay = false;
  if(window.event) {
	keyCode = myEvent.keyCode
  }
  else if(myEvent.which) {
	keyCode = myEvent.which
  }else
  {
    return true
  }
  if (((keyCode>=48) && (keyCode<=57)) || (keyCode == 46)) keyOkay=true;
  if (keyCode==8) keyOkay=true; /*FireFox backspace*/
  return keyOkay;
}

function checkForEnterSearchProducts(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
	key = event.which
  }
  if(key==13){
    searchProducts();
  }
}
function checkForEnterSearchSchool(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchSchool();
  }
}
function checkForEnterSearchSchools(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchSchools();
  }
}

function checkForEnterSearchProvince(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchProvince();
  }
}
function checkForEnterSearchPolls(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchPolls();
  }
}

function checkForEnterSearchPastPolls(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchPastPolls();
  }
}

function searchComments(id){
  var comment = document.getElementById('comment_txt').value;
  if (comment.length>0)
    window.location='/vcms/scholarship_comments/'+id+'?comment='+comment;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 

function checkForEnterSearchComments(event,id){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchComments(id);
  }
}

function searchWikiScholarship(){
  var title = document.getElementById('title_txt').value;
  if (title.length>0)
    window.location='/vcms/wiki_scholarships?id='+title;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 

function checkForEnterWikiScholarship(event,id){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchWikiScholarship();
  }
}

function searchVotes(id){
  var ip = document.getElementById('vote_txt').value;
  if (ip.length>0)
    window.location='/vcms/scholarship_votes/'+id+'?ip='+ip;
  else{
    document.getElementById('error').innerHTML = "Please enter the term to search."
  }
} 

function checkForEnterSearchVotes(event,id){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchVotes(id);
  }
}

function searchScholarshipUser(){
  document.getElementById('error').innerHTML = "";
  var error = "";
  
  // Date Validation Start
  if ((document.getElementById('from_date').value) || (document.getElementById('to_date').value)) 
  {
    var str1 = document.getElementById('from_date').value;
    var str2 = document.getElementById('to_date').value;
       
    if (!(document.getElementById('from_date').value)) 
    {
      document.getElementById('from_date').value = document.getElementById('to_date').value;
      //var str1 = '';
      var str1 = str2;
    }
  
    var dt1   = parseInt(str1.substring(8,10),10);
    var mon1  = parseInt(str1.substring(6,7),10);
    var yr1   = parseInt(str1.substring(0,4),10);
    var dt2   = parseInt(str2.substring(8,10),10);
    var mon2  = parseInt(str2.substring(6,7),10);
    var yr2   = parseInt(str2.substring(0,4),10);
    var date1 = new Date(yr1, mon1-1, dt1);
    var date2 = new Date(yr2, mon2-1, dt2);
       
    var today_date = new Date();
    var today_year = today_date.getFullYear();
    var today_month = today_date.getMonth();
    var today_day = today_date.getDate();
       
    var current_date = new Date(today_year, today_month, today_day);
        
    if(date1 > date2)
    {
      error = error + "Please enter valid date."
    }
    else
    {
      if(date1 > current_date)
      {
        //alert("from-date is greater than current-date. Plaese enter valid date")
        error = error + "Please enter valid date."
      }
    }
  }
  //if (!(document.getElementById('from_date').value)) {
  //alert("from date null")
  //document.getElementById('from_date').value = document.getElementById('to_date').value;
  //var str1 = '';
  //var str1 = str2;
  //}
    
  if (!(document.getElementById('to_date').value)) 
  {
    var str2 = '';
  }
    
  // Date Validation End
  
  for (var i=0;i<document.forms.searchForm.visit.length;i++) {
    if (document.forms.searchForm.visit[i].checked) 
    {
      var visit = document.forms.searchForm.visit[i].value;
	}
  }
  
  var id = document.getElementById('title_txt').value;
  
  if (id.length>0)
  {
    var title = id;
  }
  else
  {
    var title = '';
  }
  if ((id.length == 0) && (!(document.getElementById('from_date').value)) && (!(document.getElementById('to_date').value))){
    //document.getElementById('error').innerHTML = "Please enter the term to search."
    error = error + "Please enter the term to search.";
  }
  
  if (error.length >0)
  {
    document.getElementById('error').innerHTML = error;
  }
  else
  {
    window.location='/vcms/users_tracker?ip='+title+'&from_date='+str1+'&to_date='+str2+'&visit='+visit;
  }
    
}

function checkForEnterSearchScholarshipUser(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchScholarshipUser();
  }
}

function searchDellUser(){
  document.getElementById('error').innerHTML = "";
  var error = "";
  // Date Validation Start
  if ((document.getElementById('from_date').value) || (document.getElementById('to_date').value)) 
   {
       var str1 = document.getElementById('from_date').value;
       var str2 = document.getElementById('to_date').value;
       if (!(document.getElementById('from_date').value)) {
         document.getElementById('from_date').value = document.getElementById('to_date').value;
         //var str1 = '';
         var str1 = str2;
       }
    
       var dt1   = parseInt(str1.substring(8,10),10);
       var mon1  = parseInt(str1.substring(6,7),10);
       var yr1   = parseInt(str1.substring(0,4),10);
       var dt2   = parseInt(str2.substring(8,10),10);
       var mon2  = parseInt(str2.substring(6,7),10);
       var yr2   = parseInt(str2.substring(0,4),10);
       var date1 = new Date(yr1, mon1-1, dt1);
       var date2 = new Date(yr2, mon2-1, dt2);
       
       
       var today_date = new Date();
       var today_year = today_date.getFullYear();
       var today_month = today_date.getMonth();
       var today_day = today_date.getDate();
       
       var current_date = new Date(today_year, today_month, today_day);
        
       if(date1 > date2)
       {
          
          error = error + "Please enter valid date."
       }
       else{
         if(date1 > current_date)
         {
           //alert("from-date is greater than current-date. Plaese enter valid date")
           error = error + "Please enter valid date."
         }
       }
    }
    //if (!(document.getElementById('from_date').value)) {
     // var str1 = '';
   // }
    if (!(document.getElementById('to_date').value)) {
      var str2 = '';
    }
    
    // Date Validation End
    
    for (var i=0;i<document.forms.searchForm.visit.length;i++) {
      if (document.forms.searchForm.visit[i].checked) 
      {
        var visit = document.forms.searchForm.visit[i].value;
	  }
    }
  
    var id = document.getElementById('title_txt').value;
  
    if (id.length>0){
      var title = id;
    }
    else{
      var title = '';
    }
    if ((id.length == 0) && (!(document.getElementById('from_date').value)) && (!(document.getElementById('to_date').value))){
      //document.getElementById('error').innerHTML = "Please enter the term to search."
      error = error + "Please enter the term to search.";
    }
  
    if (error.length >0){
      document.getElementById('error').innerHTML = error;
    }
    else{
      window.location='/vcms/dell_tracker?ip='+title+'&from_date='+str1+'&to_date='+str2+'&visit='+visit;
    }
    
} 
function checkForEnterSearchDellUser(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchDellUser();
  }
}

function searchScholarshipTracker(){
  document.getElementById('error').innerHTML = "";
  var error = "";
  // Date Validation Start
  if ((document.getElementById('from_date').value) || (document.getElementById('to_date').value)) 
   {
       var str1 = document.getElementById('from_date').value;
       var str2 = document.getElementById('to_date').value;
       
       if (!(document.getElementById('from_date').value)) 
       {
         document.getElementById('from_date').value = document.getElementById('to_date').value;
         //var str1 = '';
         var str1 = str2;
       }
    
       var dt1   = parseInt(str1.substring(8,10),10);
       var mon1  = parseInt(str1.substring(6,7),10);
       var yr1   = parseInt(str1.substring(0,4),10);
       var dt2   = parseInt(str2.substring(8,10),10);
       var mon2  = parseInt(str2.substring(6,7),10);
       var yr2   = parseInt(str2.substring(0,4),10);
       var date1 = new Date(yr1, mon1-1, dt1);
       var date2 = new Date(yr2, mon2-1, dt2);
       
       
       var today_date = new Date();
       var today_year = today_date.getFullYear();
       var today_month = today_date.getMonth();
       var today_day = today_date.getDate();
       
       var current_date = new Date(today_year, today_month, today_day);
        
       if(date1 > date2)
       {
          
          error = error + "Please enter valid date."
       }
       else{
         if(date1 > current_date)
         {
           //alert("from-date is greater than current-date. Plaese enter valid date")
           error = error + "Please enter valid date."
         }
       }
    }
    //if (!(document.getElementById('from_date').value)) {
      //var str1 = '';
    //}
    if (!(document.getElementById('to_date').value)) {
      var str2 = '';
    }
    
    // Date Validation End
    for (var i=0;i<document.forms.searchForm.visit.length;i++) {
      if (document.forms.searchForm.visit[i].checked) 
      {
        var visit = document.forms.searchForm.visit[i].value;
	  }
    }
  
    var title = document.getElementById('title_txt').value;
  
    if (title.length>0){
      var id = title;
    }
    else{
      var id = '';
    }
    if ((id.length == 0) && (!(document.getElementById('from_date').value)) && (!(document.getElementById('to_date').value))){
      //document.getElementById('error').innerHTML = "Please enter the term to search."
      error = error + "Please enter the term to search.";
    }
  
    if (error.length >0){
      document.getElementById('error').innerHTML = error;
    }
    else{
      window.location='/vcms/scholarships_tracker?id='+id+'&from_date='+str1+'&to_date='+str2+'&visit='+visit;
    }
    
} 

function checkForEntersearchScholarshipTracker(event){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    searchScholarshipTracker();
  }
}
function characterCount(field,cntfield,maxlimit) {
  if (document.getElementById(field) && document.getElementById(field).value.length > maxlimit){ // if too long...trim it!
    document.getElementById(field).value = document.getElementById(field).value.substring(0, maxlimit);
  if(document.getElementById(cntfield))
    document.getElementById(cntfield).innerHTML ="<b>You have typed the maximum text allowed</b>";
  }
  else{
    cnt=maxlimit - document.getElementById(field).value.length;
    if (document.getElementById(cntfield))
      document.getElementById(cntfield).innerHTML = "You have "+(maxlimit - document.getElementById(field).value.length)+" characters remaining";
  }
}

function checkPriceForNew(){
  var num = document.getElementById("products_price").value;
  var result = Math.round(num*Math.pow(10,2))/Math.pow(10,2);;
  document.getElementById("products_price").value=result;
  document.newProducts.submit();
}
function checkPriceForEdit(){
  var num = document.getElementById("products_price").value;
  var result = Math.round(num*Math.pow(10,2))/Math.pow(10,2);;
  document.getElementById("products_price").value=result;
  document.editform.submit();
}

function DateValidation(){
  var date1 = document.getElementById('poll_active_from').value;
  var date2 = document.getElementById('poll_active_to').value;
  var poll_id = document.getElementById('poll_id').value;
  var count = 0;
  var option;
  var error = ""
  var i;
  for (i = 1; i<=5; i++){
    option = document.getElementById('poll_option'+i).value;
    if (isWhitespace(option)){
      count = count + 1;
    }
  }
  if (isWhitespace(document.getElementById('poll_question').value)){
    error = error + '<li>'+"\nPoll question can't be blank."+'</li>';
  }  
  if (count > 3){
    error = error + '<li>'+"\nThere must be minimum two options."+'</li>';
  }
  //if (isWhitespace(document.getElementById('poll_picture').value)){
    //error = error + '<li>'+"\nPoll image can't be blank."+'</li>';
  //}
  if (isWhitespace(date1)){
    error = error + '<li>'+"\nPoll active from can't be blank."+'</li>';
  }
  if (isWhitespace(date2)){
    error = error + '<li>'+"\nPoll active to can't be blank."+'</li>';
  }
  if(error.length > 0 ){
     document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this poll from being saved"+'</span>'+ "<br/>"+ "<ul>" + error+ "</ul>";
  }
  else{
    var myAjax = new Ajax.Request('/vcms/check_poll_date',{method: 'post', parameters:'id='+date1+'&date='+date2+'&poll_id='+poll_id+'', onComplete: ajax_response_edit});
  }
  
  
  
  //if ((date1!=null && date1!="") && (date2!=null && date2!="")){
   // var myAjax = new Ajax.Request('/vcms/check_poll_date',{method: 'post', parameters:'id='+date1+'&date='+date2+'&poll_id='+poll_id+'', onComplete: ajax_response_edit});
  //}
}
  
function ajax_response_edit(originalRequest) {
  document.getElementById('validation_error').innerHTML = "";
  var error='';
  if (originalRequest.responseText == 2){
    error = error + '<li>'+"To date or from date cannot be lesser than today's date"+'</li>';
  }
  if (originalRequest.responseText == 1){
    error = error + '<li>'+"A poll is already active in the submitted date period."+'</li>';
  }
  
  var str1 = document.getElementById('poll_active_from').value;
  var str2 = document.getElementById('poll_active_to').value;
  
   
   var dt1   = parseInt(str1.substring(8,10),10);
   var mon1  = parseInt(str1.substring(6,7),10);
   var yr1   = parseInt(str1.substring(0,4),10);
   var dt2   = parseInt(str2.substring(8,10),10);
   var mon2  = parseInt(str2.substring(6,7),10);
   var yr2   = parseInt(str2.substring(0,4),10);
   var date1 = new Date(yr1, mon1-1, dt1);
   var date2 = new Date(yr2, mon2-1, dt2);
   
   if(date2 < date1){
      error = error + '<li>'+"To date cannot be lesser than from date"+'</li>';
   }
  
   CountValidation(error)
}
  
function CountValidation(error){
  var count = 0;
  var option;
  var i;
  for (i = 1; i<=5; i++){
    option = document.getElementById('poll_option'+i).value;
    if (isWhitespace(option)){
      count = count + 1;
    }
  }
  if (count > 3 ){
    error = error + '<li>'+"\nThere should be minimum two options."+'</li>';
  }
  if (error.length > 0){
    document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this poll from being updated"+'</span>'+ "<br/>"+"<ul>" + error + "</ul>";
  }
  else{
    document.editPoll.submit(); 
  }
}


function checkDateValidation(){
  var date1 = document.getElementById('poll_active_from').value;
  var date2 = document.getElementById('poll_active_to').value;
  var count = 0;
  var option;
  var error = ""
  var i;
  for (i = 1; i<=5; i++){
    option = document.getElementById('poll_option'+i).value;
    if (isWhitespace(option)){
      count = count + 1;
    }
  }
  if (isWhitespace(document.getElementById('poll_question').value)){
    error = error + '<li>'+"\nPoll question can't be blank."+'</li>';
  }  
  if (count > 3){
    error = error + '<li>'+"\nThere must be minimum two options."+'</li>';
  }
  //if (isWhitespace(document.getElementById('poll_image').value)){
   //error = error + '<li>'+"\nPoll image can't be blank."+'</li>';
 // }
  if (isWhitespace(date1)){
    error = error + '<li>'+"\nPoll active from can't be blank."+'</li>';
  }
  if (isWhitespace(date2)){
    error = error + '<li>'+"\nPoll active to can't be blank."+'</li>';
  }
  if(error.length > 0 ){
     document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this poll from being saved"+'</span>'+ "<br/>"+ "<ul>" + error+ "</ul>";
  }
  else{
    var myAjax = new Ajax.Request('/vcms/check_poll_date',{method: 'post', parameters:'id='+date1+'&date='+date2+'', onComplete: ajax_response_new});
  }
  
}
  
function ajax_response_new(originalRequest) {
  document.getElementById('validation_error').innerHTML = "";
  var error = "";
  if (originalRequest.responseText == 2){
    error = error + '<li>'+"To date or from date cannot be lesser than today's date"+'</li>';
  }
  if (originalRequest.responseText == 1){
    error = error + '<li>'+"A poll is already active in the submitted date period."+'</li>';
  }
  var str1 = document.getElementById('poll_active_from').value;
  var str2 = document.getElementById('poll_active_to').value;
 
   var dt1   = parseInt(str1.substring(8,10),10);
   var mon1  = parseInt(str1.substring(6,7),10);
   var yr1   = parseInt(str1.substring(0,4),10);
   var dt2   = parseInt(str2.substring(8,10),10);
   var mon2  = parseInt(str2.substring(6,7),10);
   var yr2   = parseInt(str2.substring(0,4),10);
   var date1 = new Date(yr1, mon1-1, dt1);
   var date2 = new Date(yr2, mon2-1, dt2);
   
   if(date2 < date1)
   {
      error = error + '<li>'+"To date cannot be lesser than from date"+'</li>';
   }
     
   optionCountValidation(error);
}
  
  
function optionCountValidation(error){
  var count = 0;
  var option;
  var i;
  for (i = 1; i<=5; i++){
    option = document.getElementById('poll_option'+i).value;
    if (isWhitespace(option)){
      count = count + 1;
    }
  }
    
  if (count > 3){
    error = error + '<li>'+"\nThere must be minimum two options."+'</li>';
  }
  if (error.length > 0){
    document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this poll from being saved"+'</span>'+ "<br/>" + "<ul>" + error + "</ul>";
  }
  else{
    document.newPoll.submit(); 
  }
}

function disableLink(){
  var link = document.getElementById('news_link').value;
  var desc = document.getElementById('news_description').value;
  if (desc.length > 0){
    document.getElementById('news_link').disabled = "true";
  }
  else{
    document.getElementById('news_link').disabled = "";
  }
}

function disableDescription(){
  var desc = document.getElementById('news_description').value;
  var link = document.getElementById('news_link').value;
  if (link.length > 0){
    document.getElementById('news_description').disabled = "true";
  }
  else{
    document.getElementById('news_description').disabled = "";
  }
}

function checkDescription(id){
  var count = 0;
  var desc = document.getElementById('news_description').value;
  var link = document.getElementById('news_link').value;
  if (isWhitespace(desc)){
    count = count + 1;
  }
  if (isWhitespace(link)){
    count = count + 1;
  }
  if (count == 2){
    document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this news from being saved"+'</span>'+ "<br/>"+"<br/>" + "Enter the description or link fields";
  }
  else{
    if (id == 0){
      document.newNews.submit(); 
    }
    else{
      document.editNews.submit(); 
    }
    
  }
}

function newslink(id){
  var str = id;
  if (str.match("http://")){
    window.open(id);
  }
  else{
    window.open("http://"+id);
  }
}

function characterCount(field,cntfield,maxlimit) {
  if (document.getElementById(field) && document.getElementById(field).value.length > maxlimit){ // if too long...trim it!
    document.getElementById(field).value = document.getElementById(field).value.substring(0, maxlimit);
    if(document.getElementById(cntfield))
      document.getElementById(cntfield).innerHTML ="<b>You have typed the maximum text allowed</b>";
  }
  else{
    cnt=maxlimit - document.getElementById(field).value.length;
    if (document.getElementById(cntfield))
      document.getElementById(cntfield).innerHTML = "You have "+(maxlimit - document.getElementById(field).value.length)+" characters remaining";
  }
}

// vcms_videos

function searchVideos(){
  
}

function editRow(type, id, action, channel_id){
    if (channel_id)
        var params = 'id='+id+"&channel_id="+channel_id;
    else
        var params = 'id='+id;
    document.getElementById(type+'_view_'+id).style.display = "none"	;
    new Ajax.Updater(type+'_edit_'+id, action, {parameters: params, evalScripts: true});
}

function submitForm(form_id, url){
  var form_elm = document.getElementById(form_id);

  if (validateFormElements(form_id)) {
    form_elm.action = url;
    form_elm.submit();
  }
}

function validateFormElements(form_id){
  if (form_id == 'editVideoBasic') {
    var name = document.getElementById('video_name');
    var valid_name = !isEmpty(name.value);
    var video_file = document.getElementById('video_video_file');
   
    var valid_video = CheckFileExtension(video_file, 'video');
    var thumb_file = document.getElementById('video_thumb_file');
    var valid_thumb = CheckFileExtension(thumb_file, 'image');
    var views = document.getElementById('video_views');
    var valid_views = isFinite(views.value);
    if (valid_video && valid_thumb && valid_views && valid_name) {
      return true;
    }
    else {
      displayErrors(valid_video, valid_thumb, valid_views, valid_name)
      return false;
    }
  }
  else if (form_id == 'editVideoScreen') {
    var name = document.getElementById('video_slot[name]');
    var valid_name = !isEmpty(name.value);
    if (valid_name) {
      return true;
    }
    else {
      displayErrors('','','',valid_name);
      return false;
    }
  }

  else if (form_id == 'editCarousel') {
    var name = getElement('carousel[name]');
    var valid_name = !isEmpty(name.value);
    if (valid_name) {
        return true;
    }
    else {
        displayErrors('','','',valid_name);
        return false;
    }
  }

}

function CheckFileExtension(fld, type) {
  var valid_extensions;
  if (type == 'video')
    valid_extensions = /(.flv)$/i;
  else if (type == 'image')
    valid_extensions = /(.jpg|.gif|.png)$/i; 
  
  if(fld.value.length > 0) { 
    if (valid_extensions.test(fld.value)){ 
      return true; 
    } 
    else { 
      return false; 
    } 
  } 
  else 
    return true; 
} 

function displayErrors(valid_video, valid_thumb, valid_views, valid_name){
  var error = '';
  if (!valid_video){
    error = error + "<div>Video file has invalid format</div>";
  }
  if (!valid_thumb){
    error = error + "<div>Thumb file has invalid format</div>";
  }
  if (!valid_views){
    error = error + "<div>Views should be a number</div>";
  }
  if (!valid_name){
    error = error + "<div>Name cannot be blank</div>";
  }
  document.getElementById('error_message').innerHTML = error;
}


function getElement(id){
  if(document.all){
    return eval("document.all['"+id+"']");
  }
  else{
    return document.getElementById(id);
  }
}
function search(action, parameters){
  var title = document.getElementById('search_title').value;
  if (title.length>0){
      if (parameters != null){
        window.location = action + title+"?"+parameters;
       }
      else{
            window.location = action + title;
        }
   }
  else
    document.getElementById('error').innerHTML = "Please enter the term to search.";
  
}

function checkForEnterSearch(event, action,parameters){
  var key;
  if(window.event) // IE
  {
	key = event.keyCode
  }
  else if(event.which) // Netscape/Firefox/Opera
  {
    key = event.which
  }
  if(key==13){
    search(action,parameters);
  }
}
function get_flash_thumb(db_id,row_id,image_url,umode,rid){
	
	var fv="act=thumb&umode="+umode+"&img="+escape(image_url)+"&id="+db_id+"&row="+row_id+"&rid="+rid;
	var js_id="swf_thumb_"+row_id.toString();
	//classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" 
	return '<object id="'+js_id+'" width="53" height="100" id="vcms_thumb" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="FlashVars" value="'+fv+'" /><param name="allowFullScreen" value="false" /><param name="movie" value="flash/vcms_thumb.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="wmode" value="transparent" /><embed src="flash/vcms_thumb.swf" loop="false" menu="false" wmode="transparent" quality="high" bgcolor="#ffffff" width="52" height="100" name="swf/vcms_thumb" FlashVars="'+fv+'" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
}

function get_carousel(cid){
	
	var fv='cid='+cid.toString()+'&prel='+escape('videos/')+'&sufl=?search_path=%2Fvideos'+escape('&autoplay=1')+'&tarl=utvideo';
  // previous example
	//var fv='cid='+cid.toString()+'&prel='+escape('http://localhost/watch/utplayer.php?id=')+'&sufl='+escape('&autoplay=1&w=540&h=426')+'&tarl=utvideo';
	
	return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="520" height="130" id="carousel" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="FlashVars" value="'+fv+'" /><param name="allowFullScreen" value="false" /><param name="movie" value="/flash/carousel.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/flash/carousel.swf" loop="false" menu="false" quality="high" bgcolor="#ffffff" width="520" height="130" name="carousel" FlashVars="'+fv+'" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
	//return '<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="520" height="130" align="middle" id="signup", name="signup" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44553540000"><param name="movie" value="carousel.swf" /><param name="quality" value="high" /><param name="play" value="true" /><param name="loop" value="false" /><param name="scale" value="noscale" /><param name="devicefont" value="false" /><param name="bgcolor" value="#ffffff" /><param name="menu" value="false" /><param name="allowScriptAccess" value="sameDomain" /><param name="FlashVars" value="'+fv+'" /><param name="allowFullScreen" value="false" /><param name="salign" value="lt" /><embed width="520" height="130" src="/flash/carousel.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="'+fv+'" align="middle" play="true" loop="false" scale="noscale" devicefont="false" bglolor="#ffffff" name="carousel" menu="false" allowScriptAccess="sameDomain" allowFullScreen="false" salign="lt" type="application/x-shockwave-flash" /></object>';
}

function loadSchool(val){
    if (val == 4 || val == 1){
        getElement('school_list_label').style.display = "block";
        getElement('school_list').style.display = "block";
    }
    else {
        getElement('school_list_label').style.display = "none";
        getElement('school_list').style.display = "none";
    }
}

function get_carousel_edit(row_id,cid,ckey){
	if(ckey==undefined)ckey="";
	var fv="row="+row_id.toString()+"&cid="+cid.toString()+"&ckey="+ckey.toString();

	return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="540" height="130" id="flash/carousel" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="FlashVars" value="'+fv+'" /><param name="allowFullScreen" value="false" /><param name="movie" value="/flash/carousel.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/flash/carousel.swf" loop="false" menu="false" quality="high" bgcolor="#ffffff" width="540" height="130" name="flash/carousel" FlashVars="'+fv+'" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
}

function new_province(){
  name =document.getElementById("province_name").value;
  if (isWhitespace(name)){
    document.newProvince.submit();
    }
  else{
    var myAjax = new Ajax.Request('/vcms/province_confirmation',{method: 'post', parameters:'id='+name+'', onComplete: ajax_responsenewprovince});
  }
}
function ajax_responsenewprovince(originalRequest) {
  if (originalRequest.responseText == "1"){
    alert("No code available for the province and will appear as '--'  in payment section.");
    document.newProvince.submit();
  }
 else{
  if (originalRequest.responseText =="0"){
   document.newProvince.submit();
  }
  }
}
function edit_province(){
  name =document.getElementById("province_name").value;
  if (isWhitespace(name)){
    document.editProvince.submit();
    }
  else{
    var myAjax = new Ajax.Request('/vcms/province_confirmation',{method: 'post', parameters:'id='+name+'', onComplete: ajax_responseeditprovince});
  }
}
function ajax_responseeditprovince(originalRequest) {
  if (originalRequest.responseText == "1"){
    alert("No code available for the province and will appear as '--'  in payment section.");
    document.editProvince.submit();
  }
 else{
  if (originalRequest.responseText =="0"){
   document.editProvince.submit();
  }
  }
}

function create_swap_list(name){
  var list1=getElement(name+"_list1"); var list2=getElement(name+"_list2");
  list1.onchange=function(){ var list1=getElement(name+"_list1"); var list2=getElement(name+"_list2");	list_move_items(list1,list2); }
  list2.onchange=function(){	var list1=getElement(name+"_list1"); var list2=getElement(name+"_list2"); list_move_items(list2,list1); }	
}
function list_move_items(src,dst){
	//alert("moving from "+src.id+" to "+dst.id);
	var found;
	for(var i=0;i<src.options.length;i++){
		
		if((src.options[i]!=null)&&(src.options[i].selected)){
			// make sure not already in the list
			found=false;
			for(var j=0;j<dst.options.length;j++){
				if (dst.options[j]!=null){
					if (src.options[i].value==dst.options[j].value){
						found=true;
						// already there, so highlight it (if this ever happens somehow)
//						dst.options[j].selected=true;
						break;
					}else{
						//dst.options[j].selected=false;
					}
				}
			}
			if(!found){
                dst.options[dst.length] = new Option(src.options[i].text,src.options[i].value);
//				dst.options[dst.length-1].value=src.options[i].value;
				//dst.options[dst.length-1].selected=true;
			}
		}
	}
	//clear selected from src 
	for(var i = (src.options.length-1); i >= 0; i--) {
		if ((src.options[i] != null) && (src.options[i].selected == true)) {
			src.options[i] = null;
  	 }
	}
	//sort the dst box
	sortOptions(dst);
}

// list option sorting, from http://snipplr.com/view/3265/sort-the-options-in-a-select-menu/
function compareOptionText(a,b) {
	/*
		* return >0 if a>b
		* 0 if a=b
		* <0 if a<b
		*/
	// textual comparison
 return a.text!=b.text ? a.text<b.text ? -1 : 1 : 0;
	// numerical comparison
	// return a.text - b.text;
}
function sortOptions(list) {
	var items = list.options.length;
	// create array and make copies of options in list
	var tmpArray = new Array(items);
	for ( i=0; i<items; i++ )
	tmpArray[i] = new	Option(list.options[i].text,list.options[i].value);
	// sort options using given function
	tmpArray.sort(compareOptionText);
	// make copies of sorted options back to list
	for ( i=0; i<items; i++ )
	list.options[i] = new Option(tmpArray[i].text,tmpArray[i].value);
}

function selectAllOptions() {
    var listArray = new Array("faculty_list1", "faculty_list2", "metadata_list1", "metadata_list2");
    var list;
    var items;
    for (i=0; i< listArray.length; i++) {
        list = getElement(listArray[i]); 
        items = list.options.length;
        for (j=0; j<items; j++) {
            list.options[j].selected = true;
        }
    }
}


function checkImage(val){
  var name = document.getElementById('slide_name').value;
  var image = document.getElementById('slide_image').value;
  var title = document.getElementById('slide_title').value;
  var description = document.getElementById('slide_description').value;
  var error ='';
  
  if (isWhitespace(name)) {
    error = error + '<li>'+"\nName can't be blank."+'</li>';
  }
  
  if (val == 1){
    if (isWhitespace(image)) {
      error = error + '<li>'+"\nImage can't be blank."+'</li>';
    }
  }
  
  if (isWhitespace(title)) {
    error = error + '<li>'+"\nTitle can't be blank."+'</li>';
  }
  
  if (isWhitespace(description)) {
    error = error + '<li>'+"\nDescription can't be blank."+'</li>';
  }
  
  if (error.length > 0) {
    document.getElementById('validation_error').innerHTML = '<span style="font-weight:bold;font-size:18px;">'+"Following errors prohibited this slide from being saved"+'</span>'+ "<br/>"+"<ul>" + error + "</ul>";
  }
  else {
    if (val == 1) {
      document.newSlide.submit(); 
    }
    else{
      document.editSlide.submit(); 
    }
  }
  
}
  
  
