var ignoredIds = new Array();
var token = 0;

function isValidURL(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    var googleMaps = /^(<iframe.+?)?http:\/\/maps\.google\..+?\//;
    if(RegExp.test(url) || googleMaps.test(url)){
        return true;
    }else{
        return false;
    }
}
function showHelper(text,onOff){
   if(text.length == 0 && onOff == 1){
      $('helper').show();
      $('band_list').hide();
   }else {
      $('helper').hide();
   }
}
function updateHidden(li){
    id = li.id;
    ignoredIds.push(id);
}
function removeProduct(id){
   $('pr_'+id).remove();
   ignoredIds = removeValue(ignoredIds,id);
}
function removeValue(arr,value){
  for(var i=0;i<arr.length;i++){
    if (arr[i]===value){
      arr.splice(i,1)
      return arr
    }
  }
}

function modifyQuery(str){
   var returnStr = 'q=' + str.value + '&ignore=' + ignoredIds;
   return returnStr
}

function updateProducts(li){
   var value = li.innerHTML;
   $('products').value = '';
   $('products_list').innerHTML = '';

   new Insertion.Top($('selected_products'), '<div class="embedded_link" id="pr_'+li.id+'">'+value+'<div class="remove_link"><a href="#" onclick="removeProduct(\''+li.id+'\'); return false;">remove [x]</a></div></div>');
   var prid = li.id;

   $('img_'+prid).addClassName('inserted_img');
   if($('cont_title_'+prid)){
      $('title_'+prid).innerHTML = $('cont_title_'+prid).value;
   }
   if($('cont_descr_'+prid)){
      $('descr_'+prid).innerHTML = $('cont_descr_'+prid).value;
   }
   updateHidden(li);
}

function makeRequest(url){
   var d = new Date()
   var token = d.getTime();
   if(isValidURL(url)){
      $('share_link').value = '';
      var postBody = 'url='+encodeURIComponent(url)+'&token='+token;
      var opt = {
          method: 'post',
          postBody: postBody,
          onSuccess: function(t) {
             $('prdiv').removeClassName('loading');
             if(t.responseText == '0'){
                $('prdiv').innerHTML = '<div><center>Provided url is invalid.</center></div>';
                var t=setTimeout("$('link_div_"+token+"').remove();",2000);
             }else{
                $('prdiv').innerHTML = ''+t.responseText+'';
                changeImage(2,token);
             }
          },
          on404: function(t) {
              alert('Error 404: location "' + t.statusText + '" was not found.');
          },
          onFailure: function(t) {
              alert('Error ' + t.status + ' -- ' + t.statusText);
          },
          onLoading : function(){
             new Insertion.Top($('shared_link'), '<div class="embedded_link" id="link_div_'+token+'"><div class="loading" id="prdiv"><center><img src="images/loading.gif"><br>Loading...</center></div><div class="remove_link"><a href="#" onclick="$(\'link_div_'+token+'\').remove();">remove [x]</a></div></div>');
          }
       }

      new Ajax.Request('/auto_comp/ajax/url_grabber.php', opt);
   }else{
      new Insertion.Top($('shared_link'), '<div class="embedded_link" id="link_div_'+token+'"><div class="loading" id="prdiv"><center>Provided url is invalid.</center></div><div class="remove_link"><a href="#" onclick="$(\'link_div_'+token+'\').remove();">remove [x]</a></div></div>');
      var t=setTimeout("$('link_div_"+token+"').remove();",2000);
      return false;
   }
}

function changeImage(flag,token){

   if(flag == 1){
      var showId = parseInt($('currImage'+'_'+token).value) + 1;
   }else if(flag == 0){
      var showId = parseInt($('currImage'+'_'+token).value) - 1;
   }else{
      showId = parseInt($('currImage'+'_'+token).value);
   }
   if(!$('img_'+(showId-1)+'_'+token) && !$('img_'+(showId+1)+'_'+token)){
      $('next_'+token).onclick = '';
      $('next_'+token).innerHTML = '<img src="images/arrow_right_off.gif" border="0">';
      $('prev_'+token).onclick = '';
      $('prev_'+token).innerHTML = '<img src="images/arrow_left_off.gif" border="0">';
   }
   if(flag == 1 || flag == 0){
      if($('img_'+showId+'_'+token)){
         $('img_'+$('currImage'+'_'+token).value+'_'+token).hide();
         $('img_'+showId+'_'+token).show();
         $('currImage'+'_'+token).value = showId;
         $('link_img_'+token).value = $('img_'+showId+'_'+token).src;
      }
   }
   if(((flag == 1 || flag == 0) && $('img_'+(showId)+'_'+token)) || flag == 2){
      if(!$('img_'+(showId+1)+'_'+token)){
         $('next_'+token).innerHTML = '<img src="images/arrow_right_off.gif" border="0">';
      }else{
         $('next_'+token).innerHTML = '<img src="images/arrow_right.gif" border="0">';
      }
   }
   if(((flag == 1 || flag == 0) && $('img_'+(showId)+'_'+token)) || flag == 2){
      if(!$('img_'+(showId-1)+'_'+token)){
         $('prev_'+token).innerHTML = '<img src="images/arrow_left_off.gif" border="0">';
      }else{
         $('prev_'+token).innerHTML = '<img src="images/arrow_left.gif" border="0">';
      }
   }
}
function editContent(divId,type,tk){
   if($('cont_'+divId)){
      return false;
   }else{
      var cont = $(divId).innerHTML;
      if(type == 1){
         $(divId).innerHTML = '<textarea cols="30" rows="3" maxlength="315" name="cont_'+divId+'" id="cont_'+divId+'" onblur="updateContent(this.value,\''+divId+'\','+type+',\''+tk+'\')">'+cont+'</textarea>';
         $('cont_'+divId).focus();
      }else if(type == 0){
         $(divId).innerHTML = '<input type="text" size="35" name="cont_'+divId+'" value="'+cont+'" id="cont_'+divId+'" onblur="updateContent(this.value,\''+divId+'\','+type+',\''+tk+'\')">';
         $('cont_'+divId).focus();
      }
   }
}


function updateContent(value,divId,type,tk){
   if(value == ''){
      value = '...';
   }
   $(divId).innerHTML = value;
   if(type == 1){$('link_description_'+tk).value = value;}else if(type == 0){$('link_title_'+tk).value = value;}
}


function showPlayer(token) {
   var div = $('embedder_player_div_plr');
   if (!div) {
      div = document.createElement('DIV');
      div.id = 'embedder_player_div';
      document.body.appendChild(div);

      var cnt = document.createElement('DIV');
      cnt.id = 'embedder_player_div_plr';

      var closer = document.createElement('DIV');
      closer.className = 'closer';
      closer.onclick = function() { $('embedder_player_div_plr').innerHTML = ''; Element.hide('embedder_player_div'); }

      div.appendChild(cnt);
      div.appendChild(closer);
      div = cnt;
   }
   else {
      Element.show('embedder_player_div');
   }

   if ($('ebedded_player_' + token) && $F('ebedded_player_' + token)) {
      div.style.width = '';
      div.style.height = '';
      div.innerHTML = getCaption(token) + $F('ebedded_player_' + token) + getDesc(token);
   }
   else if ($('iframe_url_' + token)) {
      div.style.width = '850px';
      div.style.height = '400px';
      div.innerHTML = getCaption(token) + '<iframe style="width: 100%; height: 100%;" src="' + $F('iframe_url_' + token) + '" scrolling="yes"></iframe>' + getDesc(token);
   }
   else if ($('new_window_url_' + token)) {
      Element.hide('embedder_player_div');
      window.open($F('new_window_url_' + token));
   }
}

function getCaption(token) {
   return '<div class="item_title">' + $F('link_title_' + token) + '</div>';
}

function getDesc(token) {
   return '<div class="item_desc">' + $F('link_description_' + token) + '</div>';
}
