// ---------------------------------------------------------//
// RESET THE URL HASH
// ---------------------------------------------------------//


/* Set and keep the root url */
var topURL = window.location.href; // get the current url


// ---------------------------------------------------------//
// BEHAVIOR HANDLER
// ---------------------------------------------------------//

var gBehaviorsArray = []; // set the behavior handler for all effects

/* checks and sets the behavior ON/OFF (Run/Cancel) */
function CancelBehavior(id){
  if (gBehaviorsArray[id]){
    gBehaviorsArray[id].cancel();
    gBehaviorsArray[id] = null;
  }
}


// ---------------------------------------------------------//
// MEDIA INFORMATION TOGGLE //
// ---------------------------------------------------------//
var postSec;
var bgSec;
function showInfo(section){

	newSec = document.getElementById(section+"Section");
	
	if(postSec){
		bgSec.style.borderColor = '';
		
		gBehaviorsArray["mainList"] =  Spry.Effect.AppearFade(postSec.id, {duration:100,from:100,to:0, finish:function(){
			postSec.style.display="none";
			newSec.style.display="block";
			postSec = document.getElementById(section+"Section");			
			showInfoFadeAppear(newSec)																																										
			}
		
		});
	}else{
		document.getElementById('descriptionSection').style.display="none";
		newSec.style.display="block";
		newSec.style.filter="";
		showInfoFadeAppear(newSec);		
		postSec = document.getElementById(section+"Section");
	}
	document.getElementById(section).style.borderColor="#f3701e";
	bgSec = document.getElementById(section);
}

function showInfoFadeAppear(newSec){
	
	gBehaviorsArray["mainList"] = Spry.Effect.AppearFade(newSec.id, {duration:100,from:0,to:100, finish:function(){
		
		newSec.style.filter="";
		}
	});	
}




// ---------------------------------------------------------//
// SEND TO FRIEND SECTION //
// ---------------------------------------------------------//
var http = createRequestObject(); // Make the XMLHttpRequest object
function send2Friend(){
	
	var email = escape(document.send2friendSection.email.value); // get the senders email
	var friendemail = escape(document.send2friendSection.friendemail.value); // get the friends email
	var subject = escape(document.send2friendSection.subject.value); // get the subject
	var message = escape(document.send2friendSection.message.value); // get the message
	var url = escape(document.send2friendSection.url.value); // get the url
	var mediaName = escape(document.send2friendSection.mediaName.value); // get the media name
	var mediaDesc = escape(document.send2friendSection.mediaDesc.value); // get the media name
	
	if(validateFriend() == true){// see if the form is valid
	http.open('get', "/app/form_mail/send2friend.php?email="+email+"&friendemail="+friendemail+"&subject="+subject+"&message="+message+"&url="+url+"&mediaName="+mediaName+"&mediaDesc="+mediaDesc);
	http.onreadystatechange = handleResponse;
	http.send(null);
	
	}
	
}

function handleResponse() {

	if(http.readyState == 4 && http.status == 200){
		// Text returned FROM the PHP script
		
			alert('This photo has been sent to your friend!');	// display the alert
			document.send2friendSection.friendemail.value = ''; // reset the friends email
		        
	
	}
}

function confirmIt(req){ // confirm the request information
	var text = req.xhRequest.responseText; // get the response text
	
}

function validateFriend(){ // validation
	if (!validate_email(document.send2friendSection.email.value))
	{
		alert("Please enter a valid e-mail address for yourself.");
		document.send2friendSection.email.focus();
		return false;
	}
	
	if (!validate_email(document.send2friendSection.friendemail.value))
	{
		alert("Please enter a valid friend's e-mail address.");
		document.send2friendSection.friendemail.focus();
		return false;
	}
	
	return true;
}

function validate_email(value)	{
		
	var good = /^([\w\d\.\-_]+)@([\w\d\.\-]+)$/i;
	var evil =  /[^a-z0-9\@_\-\.]+/i;
		
	if (good.test(value) && !evil.test(value)) {
		return true;
	} else {
		return false;
	}
}


function createRequestObject() {

   var req;

   if(window.XMLHttpRequest){
      // Firefox, Safari, Opera...
      req = new XMLHttpRequest();
   } else if(window.ActiveXObject) {
      // Internet Explorer 5+
      req = new ActiveXObject("Microsoft.XMLHTTP");
   } else {
      // There is an error creating the object,
      // just as an old browser is being used.
      alert('Problem creating the XMLHttpRequest object');
   }

   return req;

}






// ---------------------------------------------------------//
// SET RATINGS //
// ---------------------------------------------------------//

function setVidRatings(){ // video
	 rated=0;
	 preSet = '';
	
	var rating = pollRating[curPid]; // set the rating of the clip
	
	 var rate=''; // set the default rate
	 for(i=0; i<rating; i++){ // setup the current rating display
		 rate += "<span class='rateOn'><\/span>";
	 }	 
	 document.getElementById('descRating').innerHTML=rate; // write current rating to the page
	 document.getElementById('actRating').innerHTML=rate; // write the current rating to the page
}




function setRatings(){ // photos
	 rated=0;
	 preSet = '';
	 var rating = Math.round(average_1); // set the rating of the clip
	 var rate=''; // set the default rate
	 for(i=0; i<rating; i++){ // setup the current rating display
		 rate += "<span class='rateOn'><\/span>";
	 }	 
	 document.getElementById('descRating').innerHTML=rate; // write current rating to the page
	 document.getElementById('actRating').innerHTML=rate; // write the current rating to the page
}


var preSet; // Is the PreSet value onces a selection has been made
var rated;
var defTitle; // This is the default text for ratings
var stars; // this is the element containing the stars

function rating(num){
	if(!rated){
		defTitle = document.getElementById("rateStatus").innerHTML;
		stars = document.getElementById("rateItSection");
		s = num.id; // Get the selected star
		a = 0;		
		for (i=0; i<stars.getElementsByTagName('A').length; i++) {
			if(a < s){
				document.getElementById("rateStatus").innerHTML = num.name;	
				stars.getElementsByTagName('A')[i].className ="rateImageOn";
				a++;
			}else{
				stars.getElementsByTagName('A')[i].className ="rateImageOff";
			}				
		}
	}
	
}

function off(me){
	if(!rated){
		if(!preSet){
			document.getElementById('rateStatus').innerHTML = defTitle;
			for (i=0; i<stars.getElementsByTagName('A').length; i++) {				
				stars.getElementsByTagName('A')[i].className ="rateImageOff";
			}		
		}else{
			rating(preSet);
			document.getElementById("rateStatus").innerHTML = "<span class='ratingConfirmation'>Rating Saved!</span>";
		}
	}
}

function rateIt(me){
	if(!rated){
		document.getElementById("rateStatus").innerHTML = "<span class='ratingConfirmation'>Rating Saved!</span>";
		preSet = me;
		rated=1;
		sendRate(me.id);
		rating(me);
	}
}



function sendRate(sel){
	rateId = document.getElementById("rateItSection").title;
	document.getElementById("rateStatus").innerHTML = "<span class='ratingConfirmation'>Rating Saved!</span>";
	window.frames['rateFrame'].document.forms['ratingSys'].elements['pi'].value = rateId;
	window.frames['rateFrame'].document.forms['ratingSys'].elements['id_0'].value = sel;
	window.frames['rateFrame'].document.forms['ratingSys'].submit();	
}

