function goto(url){
	document.location = url;
}

function deleteContent(url, prompt){
	var ok = confirm(prompt);
	if(ok){
		document.location = url;
		//alert(document.location);
	}
	
}

function addArticleCategory(){
	var p = prompt('Category Title', 'New Category');
	//document.location = 'http://www.google.com';
	if(p){
		//alert("articles.php?tab=articles&method=Add Article Category&title=" + p);
		document.location = "articles.php?tab=articles&method=Add Article Category&title=" + p;
	}
}

function editArticleCategory(id, title){
	var p = prompt('Category Title', title);
	if(p){
		document.location = "articles.php?tab=articles&method=Edit Article Category&title=" + p + "&cat=" + id;
		//alert(p);
	}
}

function setAsFeature(id){
	xmlReq = xmlhttp();
	
	xmlReq.onreadystatechange = function(){
		if(xmlReq.readyState == 4) alert(xmlReq.responseText);
	}
	
	xmlReq.open('GET', 'do.php?method=setAsFeature&id=' + id, true);
	xmlReq.send(null);
}

function clearDefaultText(e){
	if(!e) e = window.event;
	var txt = e.target.getAttribute('default');
	alert(txt);
}

function xmlhttp()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
   xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
	return(xmlHttp);
}


function move(index, direction){
	var list = new Array();
	if(direction == 'up' && index > 0){
		var top = document.getElementById('item'+(index -1));
		var bot = document.getElementById('item'+(index));
		var tmp = top.innerHTML;
		top.innerHTML = bot.innerHTML;
		bot.innerHTML = tmp;
	}else{
		var top = document.getElementById('item'+(index));
		var bot = document.getElementById('item'+(index + 1));
		if(bot){
			var tmp = top.innerHTML;
			top.innerHTML = bot.innerHTML;
			bot.innerHTML = tmp;
		}
	}
	
	var inputs = document.getElementById('news-wrapper').getElementsByTagName('input');
	for(i in inputs){
		if(inputs[i].type == 'hidden' && inputs[i].name == 'id') list.push(inputs[i].value);
	}
	var xmlReq = xmlhttp();
	xmlReq.onreadystatechange = function(){
			if(xmlReq.readyState == 4){				
						
					if(xmlReq.responseText.length > 0) alert(xmlReq.responseText);
			}
	}
	xmlReq.open('GET', 'do.php?method=move&list=' + list, true);
	xmlReq.send(null);
	
}

var keys = new Object();
	keys.ctrl = false;
    keys.shift = false;
   	keys.alt = false;
   	keys.windows = false;
   	
   	keys.keyPressed = function(keyCode){
   		if(keys.ctrl && keyCode == 77){
   			showModal();
   		}
   		keys.ctrl = false;
		keys.shift = false;
		keys.alt = false;
		keys.windows = false;
   	}

window.onkeydown = function(e){
	if(!e) e = window.event;
	switch(e.keyCode){
	case 16:
		keys.shift = true;
		break;
		
	case 17:
		keys.ctrl = true;
		break;
		
	case 224:
		keys.windows = true;
		break;
		
	case 18:
		keys.alt = true;
		break;		
	
	default:
		keys.keyPressed(e.keyCode);
		break;
	}
	var str = '';
	for(i in keys){
		if(i != 'keyPressed' && keys[i])
		str += '+' + i;
	}
	document.title = str.replace('+', '');
}
window.onkeyup = function(e){
	if(!e) e = window.event;
	switch(e.keyCode){
	case 16:
		keys.shift = false;
		break;
		
	case 17:
		keys.ctrl = false;
		break;
		
	case 224:
		keys.windows = false;
		break;
		
	case 18:
		keys.alt = false;
		break;
	}
}

function showModal(){
	var modalbg = document.createElement('div');
	var width = window.width;
	var height = window.height;
	
	modalbg.style.width = width;
	modalbg.style.height = height;
	modalbg.style.backgroundColor = '#000';
	modalbg.style.position = 'fixed';
	modalbg.style.top = '0px';
	modalbg.style.left = '0px';
	
	document.body.appendChild(modalbg);
}

/******************** TEXT FORMATTING ************************/
var selectionElement;
var selRange;

function insertBBCode(type){
	var params ='';
	list = type.split('|');
	type = list[0];
	if(document.selection){	
		//alert('IE');
		if(selectionElement){			
			if(type == 'a'){
				var hyperLink = prompt('Enter HyperLink:', 'http://');
				if(hyperLink){
					params = " href='"+hyperLink+"' target='_blank'";
				}else{
					return false;
				}
			}
			if(type == 'f'){
				type = 'a';
				params = " href='do.php?get_file&id="+ media_id_of_file_to_insert + "'";
			}
			if(type == 'img'){
				params = " src='" + imgSrc + "' class='" + imgStyles + "'";
			}
			if(type == 'link'){
				params = list[2];
			}
			if(document.selection.type == 'Text'){
				var sel = document.selection.createRange();
				//alert(sel);
				switch(type){
				case 'link':
						newStr = "<a href='" + list[2] + "'>" + list[1] + "</a>";
					break;
				case 'img':
					sel.text = sel.text +  '<'+type+params+'>';
					break;
				default:
					sel.text = '<'+type+params+'>' + sel.text +  '</'+type+'>';
				}		
				selectionElement = undefined;				
			}
		}
	}else{
		if(selectionElement){
			//alert('NOT IE');
			if(type == 'a'){
				var hyperLink = prompt('Enter HyperLink:', 'http://');
				if(hyperLink){
					params = " href='"+hyperLink+"' target='_blank'";
				}else{
					return false;
				}
			}
			if(type == 'f'){
				type = 'a';
				params = " href='do.php?get_file&id="+ media_id_of_file_to_insert + "'";
			}
			if(type == 'img'){
				params = " src='" + imgSrc + "' class='" + imgStyles + "'";
			}
			if(type == 'link'){
				params = list[2];
			}
			var all = selectionElement.value.split("");
			var selected = all.slice(selRange[0], selRange[0] + selRange[1]);
			switch(type){
				case 'link':
						newStr = "<a href='" + list[2] + "'>" + list[1] + "</a>";
					break;
				case 'img':
					var newStr = selected.join('') +  '<'+type+params+'>';
					break;
				default:
					var newStr = '<'+type+params+'>' + selected.join('') +  '</'+type+'>';
			}
			//var newStr = '<'+type+params+'>' + selected.join('') +  '</'+type+'>';
			all.splice(selRange[0], selRange[1], newStr);
			selectionElement.value = all.join('');
			selectionElement.focus();
			selectionElement.setSelectionRange(selRange[0], 0);
			//alert(selRange[0]);
			selectionElement = undefined;			
		}
	}
}

function outputPreview(){
	/*var preview = document.getElementById('preview_div');
	if(selectionElement){
		var str = selectionElement.value;
		str = str.replace(/\[([^\]]*)\]/g, "<$1>");
		preview.innerHTML = str;
	}*/
}

function removeFormatting(){
	//var preview = document.getElementById('preview_div');
	if(selectionElement){
		var str = selectionElement.value;
		str = str.replace(/\[([^\]]*)\]/g, '');
		selectionElement.value = str;
		//preview.innerHTML = str;
	}
}

function setSelection(e){
	if(!e) e = window.event;
	if (e.stopPropagation) {
	e.preventDefault();
	e.stopPropagation();
	} else {
	e.cancelBubble = true;
	}
	(document.all) ? txtBox = e.srcElement : txtBox = e.target;
	selectionElement = txtBox;
		if(window.getSelection){
		var start = txtBox.selectionStart;		
		var end = txtBox.selectionEnd;
		selRange = new Array(start, (end-start));		
	}
	if(e.keyCode == '73' && e.ctrlKey == true){
		insertBBCode('i');
		return false;	
	}
	if(e.keyCode == '66' && e.ctrlKey == true){
		insertBBCode('b');
		return false;	
	}
	if(e.keyCode == '85' && e.ctrlKey == true){
		insertBBCode('u');
		return false;	
	}
	if(e.keyCode == '72' && e.ctrlKey == true){
		insertBBCode('a');
		return false;	
	}
	 
	
	
}

/******************** END TEXT FORMATTING ************************/

function fade(id, start, end, duration){
	var interval = 50;
	var span = Math.abs(start - end);
	var intervalCount = Math.ceil(duration/interval);
	var sizeOfValuePerClockCycle = (span/intervalCount);
	var currentInterval = 0;
	var value = start;
	
	obj = document.getElementById(id);
	var t = setInterval(function(){
					currentInterval++;
					if(start < end){
						value += Math.ceil(sizeOfValuePerClockCycle);
					}else{
						value -= Math.ceil(sizeOfValuePerClockCycle);
					}
							
					//document.title = value;					
					
					try{
						if(document.all){
							obj.style.filter = "alpha(opacity="+value+")";
						}else{
							obj.style.opacity = value * .01;
						}
					
					
					}catch(error){document.write(error)}
					
					
					
					
					if(currentInterval >= intervalCount) clearInterval(t);
				}, interval);
	
}