

var CTRL = false;
var SHIFT = false;
var ALT = false;
var CHAR_CODE = -1;

function setEvent() {
	document.onkeydown = KeyDownHandler;
	document.onkeyup = KeyUpHandler;
	//alert('bbb');
}

function KeyDownHandler(e) {
var x = '';
if (document.all) {
var evnt = window.event;
x = evnt.keyCode;
}
else {
x = e.keyCode;
}
DetectKeys(x, true);
}

function KeyUpHandler(e) {
var x = '';
if (document.all) {
var evnt = window.event;
x = evnt.keyCode;
}
else {
x = e.keyCode;
}
DetectKeys(x, false);
}


function DetectKeys(KeyCode, IsKeyDown) {
//alert('aaa');
if (KeyCode == '16') {
SHIFT = IsKeyDown;
}
else if (KeyCode == '17') {
CTRL = IsKeyDown;
}
else if (KeyCode == '18') {
ALT = IsKeyDown;
}
else {
if(IsKeyDown)
CHAR_CODE = KeyCode;
else
CHAR_CODE = -1;
}
}

function onCreateBlogUrl(){
	var eleSelect=document.getElementById("blogurlwidth");
	var eleBox=document.getElementById("blogurl");
  var width=eleSelect.value;

  eleBox.innerHTML="&lt;a href='http://" + httphost + "/view.php?id=" + uticket + "'&gt;&lt;img src='http://" + httphost + "/imgsrc.php?loginkey="
    + "view" + "&uticket=" + uticket + "&width="+ width +"&hmax=" + width +"'&gt;&lt;/a&gt";
  
}
function onCreateBlogUrlSet(){
	var eleSelect=document.getElementById("blogurlwidth");
	var eleBox=document.getElementById("blogurl");
  var width=eleSelect.value;

  eleBox.innerHTML="&lt;a href='http://" + httphost + "/viewset.php?id=" + setid + "'&gt;&lt;img src='http://" + httphost + "/imgsrc.php?loginkey="
    + "view" + "&uticket=" + uticket + "&width="+ width +"&hmax=" + width +"'&gt;&lt;/a&gt";
  
}


var cursorFrom=-1;
var cursorTo=-1;

function setSetBox(){
	var eleSet=document.getElementById("setpics");
	var eleSetbox=document.getElementById("setbox");
  var tags=eleSet.value;

	if(tags == ""){
		eleSetbox.innerHTML=" ";
		return;
	}

	var tags_array=tags.split(",");
	var outs="";
	var idx=0;
	var upstr,downstr;
  for(var index in tags_array){
		var one=tags_array[index];
		var pair=one.split(":");
    var classname="list_img_f";
    if(pair[1] == "uploaded"){
			classname="list_img_f_uploaded";
		}
		outs += "<div class='"+classname+"' >"
			+ "<img src='imgsrc.php?loginkey="+loginkey+"&uticket=" + pair[0] + "&width=80&hmax=80' id='setimg"+index+"' onClick='selectSet("+ index +")'/>"
				+ "</div>";

		idx++;
	}
	eleSetbox.innerHTML=outs;
  moveCursor(cursorFrom,cursorTo);
  return true;
}

function selectSet(index){
	if(index == -1) return;
  //alert("shift"+SHIFT);
  if(SHIFT){
		moveCursor(cursorFrom,index);
	}else{
		moveCursor(index,index);
	}
}

function moveCursor(cFrom,cTo){
	//alert("moveCursor"+cFrom);
 	if(cFrom == -1) return;

	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}

	for(var i=min;i <= max;i++){
		if(i != -1){
	  	var oldimg=document.getElementById("setimg"+i);
 	 		oldimg.style.borderWidth="0px";
		}
	}

	min=cFrom;
	max=cTo;
  if(min > max){
		min=cTo;
		max=cFrom;
	}


  for(var i=min;i <= max;i++){
		var img=document.getElementById("setimg"+i);
		img.style.borderStyle="solid";
		img.style.borderWidth="2px";
		img.style.borderColor="red";
	}
	cursorFrom=cFrom;
  cursorTo=cTo;
}


function topSet(){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}
	if(min == 0) return;

	//alert("upset");
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	var idx=0;
	var newset=new Array();
	for(var i=min;i < max+1;i++){
    newset[idx++]=tags_array[i];
	}
	for(var index in tags_array){
    if(index < min || index > max){
	    newset[idx++]=tags_array[index];
		}
	}

	var dist=min;
	
	var onewset=newset.join(",");

	eleSet.value=onewset;
  cursorFrom-=min;
  cursorTo-=min;
	setSetBox();
	var eleSetbox=document.getElementById("setbox");
	eleSetbox.scrollTop=0;
}
function bottomSet(){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}

	//alert("upset");
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	var idx=0;
	var newset=new Array();
	for(var index in tags_array){
    if(index < min || index > max){
	    newset[idx++]=tags_array[index];
		}
	}
	for(var i=min;i < max+1;i++){
    newset[idx++]=tags_array[i];
	}
	var dist=idx-max-1;
	
	var onewset=newset.join(",");

	eleSet.value=onewset;
	var len=max-min;
  cursorFrom+=dist;
  cursorTo+=dist;
	setSetBox();
	var eleSetbox=document.getElementById("setbox");
	eleSetbox.scrollTop=tags_array.length*80;
}

function upSet(){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}
	if(min == 0) return;

	//alert("upset");
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	var idx=0;
	var newset=new Array();
	for(var index in tags_array){
    newset[idx++]=tags_array[index];
		/*
		if(tags_array[index] == uticket){
			var tmp=newset[idx-1];
			newset[idx-1]=tags_array[index];
			newset[idx++]=tmp;
		}else{
			newset[idx++]=tags_array[index];
		}
    */
	}
	var tmp=newset[min-1];
  for(var i=min;i < max+1;i++){
		newset[i-1]=newset[i];
	}
  newset[max]=tmp;

	
	var onewset=newset.join(",");

	eleSet.value=onewset;
  cursorFrom--;
  cursorTo--;
	setSetBox();
}
function downSet(uticket){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}
	
	//alert("downset");
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	if(tags_array.length <= max-1) return;

	var idx=0;
	var newset=new Array();
	for(var index in tags_array){
		newset[idx++]=tags_array[index];
		/*
		if(tags_array[index-1] == uticket){
			var tmp=newset[idx-1];
			newset[idx-1]=tags_array[index];
			newset[idx++]=tmp;
		}else{
			newset[idx++]=tags_array[index];
		}
		*/
	}
	
	var tmp=newset[max+1];
  for(var i=max;i >= min;i--){
		newset[i+1]=newset[i];
	}
  newset[min]=tmp;

	
	var onewset=newset.join(",");

	eleSet.value=onewset;
  cursorFrom++;
  cursorTo++;
	setSetBox();
}

function removeSet(){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}

	//alert("rmset");
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	var idx=0;
	var newset=new Array();
	for(var index in tags_array){
		if(index < min || index > max){
			newset[idx++]=tags_array[index];
		}
	}
	
	var onewset=newset.join(",");

	eleSet.value=onewset;

//  if(newset.length <= max-1){
//    alert('oh');
    cursorFrom =-1;
    cursorTo =-1;
//  }
  setSetBox();
}

function publicSet(){
	if(cursorFrom == -1) return;
	var min=cursorFrom;
	var max=cursorTo;
  if(min > max){
		min=cursorTo;
		max=cursorFrom;
	}

	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	var idx=0;
	var newset=new Array();
	for(var index in tags_array){
	//	alert("pubset"+index+","+min+","+max);
		if(index < min || index > max){
			newset[idx++]=tags_array[index];
		}else{
			var one=tags_array[index];
			var pair=one.split(":");
      newset[idx++]=pair[0]+":public";
			//alert(pair[0]+":public");
		}
	}
	
	var onewset=newset.join(",");

	eleSet.value=onewset;

  setSetBox();
}

function onAddSet(uticket){
	var eleSet=document.getElementById("setpics");

  var tags=eleSet.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	for(var index in tags_array){
		if(tags_array[index] == uticket){
			alert("the picture is already in set");
			return;
		}
	}
	
	tags_array[tags_array.length]=uticket+":public";

	var newset=tags_array.join(",");

	eleSet.value=newset;
	setSetBox();

	var eleSetbox=document.getElementById("setbox");
	eleSetbox.scrollTop=tags_array.length*80;

}

function setTagBox(){
	var eleTag=document.getElementById("tags");
	var eleTagbox=document.getElementById("tagbox");
  var tags=eleTag.value;

	if(tags == ""){
		eleTagbox.innerHTML="";
		return;
	}

	tags_array=tags.split(",");
	var outs="";
  for(var index in tags_array){
		outs += "<li onClick='deleteTag(this)'>" + tags_array[index] + "</li>";
	}
	eleTagbox.innerHTML=outs;
}

function onAddTagButton(){
	var eleTag=document.getElementById("tags");
	var eleTagbox=document.getElementById("tagbox");
	var eleNewtag=document.getElementById("newtag");

	var newtag=eleNewtag.value;
	if(newtag == "") return;

  var tags=eleTag.value;
	if(tags != ""){
		tags_array=tags.split(",");
	}else{
		tags_array=new Array();
	}

	for(var index in tags_array){
		if(tags_array[index] == newtag){
			return;
		}
	}

	tags_array[tags_array.length]=newtag;

	var newtags=tags_array.join(",");

	eleTag.value=newtags;
	setTagBox();

}

function deleteTag(litag){
	var tagvalue=litag.innerHTML;

	var eleTag=document.getElementById("tags");
	var eleTagbox=document.getElementById("tagbox");

  var tags=eleTag.value;
	tags_array=tags.split(",");
	
	newtags=new Array();

	var nidx=0;
  for(var index in tags_array){
		if(tagvalue != tags_array[index]) newtags[nidx++]=tags_array[index];
	}
	
	var onewtags=newtags.join(",");

	eleTag.value=onewtags;
	//alert(onewtags);
	setTagBox();

}



function closeBox2(boxID) {
	var hBoxID=boxID;

	var ctrl=document.getElementById(hBoxID);
	var boxHeight=new Array();
	//alert(ctrl.style.visibility);
	if(ctrl.style.display != 'block') {
		ctrl.style.display = 'block';
		//if(doc[hBoxID]) ctrl.innerHTML= doc[hBoxID];
		//ctrl.style.height='auto';
	} else {
		ctrl.style.display='none';
		//doc[hBoxID]=ctrl.innerHTML;
		//ctrl.innerHTML="";
		//ctrl.style.height='0';
	}
return false;
}

