var http_request = false;

//Rating Management Functions
function SaveRating(){
	 //If the user is at the main archive, the rating-stars don't exist - exit
	 if(!document.getElementById("star_1")){
		  return;
	 }
	 
	 stars = new Array;
	 
	 for(i = 1; i < 6; i++){	
	    stars[i] = document.getElementById("star_"+i).src;
	 }	
}


function ShowStars(x, mode){
   if(mode == 'reset'){
			
	    for(i = 1; i < 6; i++){
	       star = document.getElementById("star_"+i);		
			   star.src = stars[i];
	    }
			
	 }else if(mode == 'rate'){
			
	    for(i = 1; i < 6; i++){
	       star = document.getElementById("star_"+i);
			   mode = (i <= x ? "on" : "off");
			
			   star.src = 'images/star-'+mode+'.png';
			}
	 }	   
}


function SubmitRating(img, user, rating) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
 		}
	}

	if (!http_request) {
		alert('Cannot create an XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange =
	  function DisplayRating(){
	     if (http_request.readyState == 4) {
		      if (http_request.status == 200) {
						 clearItem('star_label');
						 
						 //Change stars to reflect submitted rating
			       numstars = http_request.responseText;
						 
						 for(i = 1; i < 6; i++){
	             star = document.getElementById("star_"+i);		
			         star.src = 'images/star-'+(i <= numstars ? "on" : "off")+'.png';
							 star.onmouseover = null;
							 star.onmouseout = null;
							 star.style.cursor = '';
							 
							 document.getElementById('star_a_'+i).onclick = ''
			       }
						 
						 label = document.getElementById('star_label');
						 label.appendChild(document.createTextNode('Thank you for your vote!'));
 		      } else {
			       alert('There was a problem with the request.');
		      }
	     }
    
		}
		
	http_request.open('POST', '/save.php', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send('action=rating&i='+img+'&user='+user+'&rating='+rating);
}


//Favorite Management Functions
function ManageFavorites(img, user, type) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
 		}
	}

	if (!http_request) {
		alert('Cannot create an XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange =
	  function DisplayMessage(){
	     if (http_request.readyState == 4) {
		      if (http_request.status == 200) {
						 clearItem('fmessage');
						 messagefield = document.getElementById('fmessage');
						 messagefield.style.fontWeight = "bold"; 
						 messagefield.style.color = (http_request.responseText == "Error :(" ? "red" : "green");
						 messagefield.appendChild(document.createTextNode(" - "+http_request.responseText));

 		      } else {
			       alert('There was a problem with the request.');
		      }
	     }
    
		}
		
	http_request.open('POST', '/save.php', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send('action=favorite&type='+type+'&i='+img+'&user='+user);
}



//Caption Management Functions
function ManageCaption(img, user) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
 		}
	}

	if (!http_request) {
		alert('Cannot create an XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange =
	  function DisplayCaption(){
	     if (http_request.readyState == 4) {
		      if (http_request.status == 200) {
						 clearItem('pic_caption');
						 messagefield = document.getElementById('pic_caption');
						 messagefield.style.fontSize = "14px";
						 messagefield.style.fontWeight = "bold"; 
						 messagefield.appendChild(document.createTextNode(http_request.responseText));


 		      } else {
			       alert('There was a problem with the request.');
		      }
	     }
    
		}
  
	captiontxt = escape(document.getElementsByName("caption").item(0).value);
	http_request.open('POST', '/save.php', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send('action=caption&i='+img+'&user='+user+'&caption='+captiontxt);
}


//Misc. Functions
function clearItem(id){
   if(myitem = document.getElementById(id)){
	    d = document;
	 }else{
	    if(myitem = parent.document.getElementById(id)){
	       d = parent.document;
	    }else{
	       return;
	    }
	 }
	 
	 while(myitem.firstChild){
	    myitem.removeChild(myitem.firstChild);
	 }
}

function updateTag(form,value){
	if(value){
		if(form.tags.value){
			form.tags.value += ", " + value;
		}else{
			form.tags.value = value;
		}
	}
}