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,field){
	if (field == '')
	{
		field = 'band_list';
	}
	if(text.length == 0 && onOff == 1){
		$('helper').show();
		$(field).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('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 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" 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'); Element.hide('overlay'); }
		
		div.appendChild(cnt);
		div.appendChild(closer);
		div = cnt;
	}
	else {
		Element.show('embedder_player_div');
		showBox2Player();
	}
	
	if ($('ebedded_player_' + token) && $F('ebedded_player_' + token)) {
		div.style.width = '';
		div.style.height = '';
		div.innerHTML = getCaption(token) + $F('ebedded_player_' + token) + getDesc(token);
		showBox2Player();
	}
	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);
		showBox2Player();
	}
	else if ($('new_window_url_' + token)) {
		Element.hide('embedder_player_div');
		window.open($F('new_window_url_' + token));
		hideBoxPlayer();
	}
}

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>';
}