/* ADD A FRIEND FUNCTION */

	function validateAndUploadPhoto(){
		var err = 0;
		if(trim($('uploadphoto').value) == ''){	err++; Element.addClassName($('uploadphoto').parentNode,'formError'); }
		else Element.removeClassName($('uploadphoto').parentNode,'formError');
		if(trim($('photoValidateIE').value) == 0){	err++; Element.addClassName($('uploadphoto').parentNode,'formError'); }
		else Element.removeClassName($('uploadphoto').parentNode,'formError');
		if(err == 0){ returnval = true; }
		else{
			alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
			returnval = false;
		}
		return returnval;
	}

	function activateSchoolSearch() {
		if ($('schoolsearch')) {
			//if($('school').value == '') $('school').value = 'Your School\'s complete name...'; // Default text in the search box
			var o = document.createElement('div'); // Old search results div
			var n = document.createElement('div'); // New search results div
			var s = $('school-search-results');
			$('school').onkeyup = function() { doSchoolSearch();return false; };
			$('school').onblur = function() { new Effect.BlindUp('school-search-results',{duration:.8});return false; };
			if($('nickname')){ $('nickname').onblur = function() { checkValidNickname();return false; }; }// also activate live test of nicknames	
			
			$('school').onfocus = focusSchool; // Function to clear the default search box text on focus
			o.id = 'old-search-results';
			n.id = 'current-search-results';
			s.appendChild(n);
			s.appendChild(o);
			o.style.display = 'none';
			n.style.display = 'none';
			s.style.display = 'none';
			is_searching = false;
		}
	}
			
	function doSchoolSearch() {
		// If we're already loading, don't do anything
		if (is_searching) return false; 
		s = $F('school');
		// Same if the search is blank or less than 3 chars
		if (s == '' || s == 'Your School\'s complete name...' || s.length < 5 ) return false; 
		is_searching = true;
		c = $('current-search-results');
		o = $('old-search-results');
		o.innerHTML = c.innerHTML;
		c.style.display = 'none';
		o.style.display = 'block';
		// Setup the parameters and make the ajax call
		pars = 's=' + escape(s);
		var url = facesdomainobj + "profile/getSchoolMatch.xml.php";
		var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete:doSchoolSearchResponse});
	}

	function doSchoolSearchResponse(response) {
		$('school-search-results').style.display = '';
		$('current-search-results').innerHTML = response.responseText;
		new Effect.BlindUp('old-search-results',{duration:.8});
		new Effect.BlindDown('current-search-results',{duration:.8, afterFinish:resetSchoolSearch});

			var sfEls = document.getElementById("school-search-results").getElementsByTagName("LI");
			for (var i=0; i<sfEls.length; i++) {
				sfEls[i].onmouseover=function() { 
				Element.addClassName(this,'chhover');
				}
				sfEls[i].onmouseout=function() { 
					Element.removeClassName(this,'chhover');
				}
					sfEls[i].onclick=function() { 
					insertSchoolMatch(this.innerHTML);
					}
				}//);
	}
			
	function resetSchoolSearch() { is_searching = false; }
			
	function focusSchool() { if ($F('school') == 'Your School\'s complete name...') $('school').value = '';	}
			
	function insertSchoolMatch(u) {	$('school').value = trim(u); }

	function trim(str){	return str.replace(/^\s*|\s*$/g,""); }

	function activateProfile(){
		var showResponse = function (originalRequest) { 
			if(originalRequest.responseText != 1){
				$('cprofileinside').innerHTML = originalRequest.responseText; 
				activateSchoolSearch();
				if($("activateProfile")) Event.observe('activateProfile', 'click', activateProfile, false);
			}else{
				alert('&nbsp;The nickname you entered already exists in our database, please enter a different nickname.');
			}
		};
		var showProgress = function () { $('cprofileinside').innerHTML = '<p>Face Profile activation in progress...</p>'; }
		inputs = Form.getElements( 'actProfile' );
		var err = 0;
		var j = 0;
		for(var i = 1; i < inputs.length; i++){
			if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
				err++;
				Element.addClassName(inputs[i].parentNode,'formError');
			}else{
				Element.removeClassName(inputs[i].parentNode,'formError');
			}
			j++;
		}
//		alert('registration disabled for testing');

		if(($('nickNameErr').value == '1')||(trim($('nickname').value) == '')){ Element.addClassName($('nickname').parentNode,'formError'); err++;}
		else Element.removeClassName($('nickname').parentNode,'formError');
		if (err != 0){
			alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		}else{
			parameter = Form.serialize( 'actProfile' );		
			var url = facesdomainobj + "profile/registerUsr.xml.php";
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
		}
	}
	function updateProfile(){
		var showResponse = function (originalRequest) { 
			$('updateProfileBox').innerHTML = originalRequest.responseText; 
			activateSchoolSearch();
			if($("updateProfile")) Event.observe('updateProfile', 'click', activateProfile, false);
		};
		var showProgress = function () { $('updateProfileBox').innerHTML = '&nbsp;Profile Update activation in progress...'; }
		inputs = Form.getElements( 'actProfile' );
		var err = 0;
		var j = 0;
		for(var i = 1; i < inputs.length; i++){
			if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
				err++;
				Element.addClassName(inputs[i].parentNode,'formError');
			}else{
				Element.removeClassName(inputs[i].parentNode,'formError');
			}
			j++;
		}
		if (err != 0){
			alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		}else{
			parameter = Form.serialize( 'actProfile' );		
			var url = facesdomainobj + "profile/updateUsr.xml.php";
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
		}
	}

	function checkValidNickname() {
		var showResponse = function (originalRequest) { 
			if(trim(originalRequest.responseText) != 0){ 
				$('nickNameErr').value = 1; Element.addClassName($('nickname').parentNode,'formError'); 
				if(trim(originalRequest.responseText) == 1){ 
					$('nicknameerror').innerHTML = '&nbsp;The nickname you entered already exists in our database, please enter a different nickname.';
				}else{
					$('nicknameerror').innerHTML = '&nbsp;The nickname you entered is invalid, please try '+trim(originalRequest.responseText)+'.';
				}
			}else{ Element.removeClassName($('nickname').parentNode,'formError'); $('nicknameerror').innerHTML = ''; $('nickNameErr').value = 0;}
		};
		var showProgress = function () { $('nicknameerror').innerHTML = '&nbsp;verifyng nickname...'; }
		var nick = $F('nickname');
		if((nick.length > 1) && (nick.length <= 20)){
			var pId = (($F('profileId') != 0)||($F('profileId') != '')) ? $F('profileId') : '';
			var parameter = "nick="+nick+"&pId="+pId;;
			var url = facesdomainobj + "profile/checkNick.xml.php";
			var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		}else{
			//alert('error');
		}
	}

	function setMaxLength() {
		var x = document.getElementsByTagName('textarea');
		var counter = document.createElement('div');
		counter.className = 'counter';
		for (var i=0;i<x.length;i++) {
			if (x[i].getAttribute('maxlength')) {
				var counterClone = counter.cloneNode(true);
				counterClone.relatedElement = x[i];
				counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
				x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
				x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
	
				x[i].onkeyup = x[i].onchange = checkMaxLength;
				x[i].onkeyup();
			}
		}
	}
	
	function checkMaxLength() {
		var maxLength = this.getAttribute('maxlength');
		var currentLength = this.value.length;
		if (currentLength > maxLength){
			this.relatedElement.className = 'maxlength';
			this.value=this.value.substring(0,maxLength);
			this.relatedElement.firstChild.nodeValue = currentLength-1;
		}else{
			this.relatedElement.className = '';
			this.relatedElement.firstChild.nodeValue = currentLength;
		}

		// not innerHTML
	}
	
	function friendControl(){
		if($('memberFriendsList')){ 
			var lists = document.getElementById("memberFriendsList").getElementsByTagName("LI");
			for (var i=0; i<lists.length; i++) {
				lists[i].onmouseover=function() { Element.addClassName(this,'showcontrol'); }
				lists[i].onmouseout=function() { Element.removeClassName(this,'showcontrol'); }
			}
			var dels = document.getElementsByClassName('delete-friend', $('memberFriendsList'));	
			for (var i=0; i<dels.length; i++) dels[i].onclick=function() { manageFriendFromList(this.parentNode.id,'delete'); }
			var apps = document.getElementsByClassName('approve-request', $('memberFriendsList'));	
			for (var i=0; i<apps.length; i++){
				
	 			apps[i].onclick=function() { manageFriendFromList(this.parentNode.id,'approve'); }
			}
			var rejs = document.getElementsByClassName('reject-request', $('memberFriendsList'));	
			for (var i=0; i<rejs.length; i++) rejs[i].onclick=function() { manageFriendFromList(this.parentNode.id,'reject'); }
			var cans = document.getElementsByClassName('cancel-request', $('memberFriendsList'));	
			for (var i=0; i<cans.length; i++) cans[i].onclick=function() { manageFriendFromList(this.parentNode.id,'cancel'); }
		}
	}
	
	function manageFriendFromList(listId,type){
		var showResponse = function (originalRequest) { if(type!='approve'){new Effect.Puff(listId);}else{new Effect.Fold(listId);} };
		temp = listId.split('-');
		if(type=='delete'){
			var agree = confirm("Are you sure you want to remove "+temp[2]+" from your friends list?");
		}else if(type=='cancel'){
			var agree = confirm("Are you sure you want to remove this friend request to "+temp[2]+"?");
		}else if(type=='reject'){
			var agree = confirm("Are you sure you want to reject "+temp[2]+"'s friend request?");
		}else{ var agree = true; }
		if(agree){
			f1 = $('userProfileId').innerHTML;
			parameter = "f1="+f1+"&f2="+temp[1]+"&mode="+type;
			var url = facesdomainobj + "ajax/processRequest.xml.php";
			var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse});
		}
	}
	function friendRequest(){
		var showResponse = function (originalRequest) { $('message').innerHTML = ""; $('friendshipStat').innerHTML = originalRequest.responseText;};
		var showProgress = function () { $('message').innerHTML = ""; $('friendshipStat').innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		f2 = $('faceProfileId').innerHTML;
		nick = $('faceNick').innerHTML;
		parameter = "f1="+f1+"&f2="+f2+"&nick="+nick+"&mode=request";
		var url = facesdomainobj + "ajax/processRequest.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	}
	function approveRequest(){
		var showResponse = function (originalRequest) { $('friendshipStat').innerHTML = originalRequest.responseText;};
		var showProgress = function () { $('friendshipStat').innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		f2 = $('faceProfileId').innerHTML;
		nick = $('faceNick').innerHTML;
		parameter = "f1="+f1+"&f2="+f2+"&nick="+nick+"&mode=approve";
		var url = facesdomainobj + "ajax/processRequest.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	}
	function cancelRequest(){
		var showResponse = function (originalRequest) { $('message').innerHTML = ""; $('friendshipStat').innerHTML = originalRequest.responseText;};
		var showProgress = function () { $('message').innerHTML = ""; $('friendshipStat').innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		f2 = $('faceProfileId').innerHTML;
		nick = $('faceNick').innerHTML;
		var agree = confirm("Are you sure you want to remove your friend request to \""+nick+"\"?");
		if(agree){
			parameter = "f1="+f1+"&f2="+f2+"&nick="+nick+"&mode=cancel";
			var url = facesdomainobj + "ajax/processRequest.xml.php";
			var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		}
	}
	function updatePhoto(photoId){
		var showResponse = function (originalRequest) { $('updated-'+photoId).innerHTML = originalRequest.responseText;};
		var showProgress = function () { $('updated-'+photoId).innerHTML = 'processing request...'; }
		var cap = escape($('caption-'+photoId).value);
		parameter = "id="+photoId+"&cap="+cap;
		var url = facesdomainobj + "ajax/updatePhoto.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	}
	function setAsPrimaryPhoto(img,photoId){
		var showResponse = function (originalRequest) { 
			var butts = document.getElementById("myPhotosList").getElementsByTagName("BUTTON");
			for (var i=0; i<butts.length; i++) {
				Element.removeClassName(butts[i],'hide-on-screen');
			}
			var reps = document.getElementById("myPhotosList").getElementsByTagName("SPAN");
			for (var i=0; i<reps.length; i++) {
				if(reps[i].className == 'updatereport') reps[i].innerHTML = '';
			}
			$('updated-'+photoId).innerHTML = originalRequest.responseText;
			Element.addClassName($('set-'+photoId+'-asPrimary'),'hide-on-screen');
			//Effect.BlindUp('profileImg');
			$('profileImg').innerHTML = '<img alt="newly set primary photo" src="/faces/images/thumb.php/primary/'+img+'"/>';
			Effect.BlindDown('profileImg');
		};
		
		var showProgress = function () { $('updated-'+photoId).innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		parameter = "img="+img+"&f1="+f1;
		var url = facesdomainobj + "ajax/setAsPrimaryPhoto.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	}

	function deletePhoto(photoId){		
		var showResponse = function (originalRequest) { 
			var row = $('photo-record-'+photoId); var cells= row.childNodes;
			for(i=0;i<cells.length;i++) if(cells[i].tagName == 'TD') new Effect.Fade(cells[i]);
			new Effect.Fade(row);
		};
		var showProgress = function () { $('updated-'+photoId).innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		var agree = confirm("Are you sure you want to delete the photo?");
		if(agree){
			parameter = "f1="+f1+"&photoId="+photoId;
			
			if(arguments[1] == "closet"){
				var url = facesdomainobj + "ajax/deleteClosetPhoto.xml.php";
			}else{
				var url = facesdomainobj + "ajax/deletePhoto.xml.php";
			}
			var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		}
	}
	
	function deleteClosetPhoto(photoId){
		var showResponse = function (originalRequest) { 
			var row = $('photo-record-'+photoId); var cells= row.childNodes;
			for(i=0;i<cells.length;i++) if(cells[i].tagName == 'TD') new Effect.Fade(cells[i]);
			new Effect.Fade(row);
		};
		var showProgress = function () { $('updated-'+photoId).innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		var agree = confirm("Are you sure you want to delete the photo?");
		if(agree){
			parameter = "f1="+f1+"&photoId="+photoId;
			var url = facesdomainobj + "ajax/deletePhoto.xml.php";
			var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		}
	}
	
	function deleteCoverPhoto(photoId){
		var showResponse = function (originalRequest) { 
			var row = $('photo-record-'+photoId); var cells= row.childNodes;
			for(i=0;i<cells.length;i++) if(cells[i].tagName == 'TD') new Effect.Fade(cells[i]);
			new Effect.Fade(row);
		};
		var showProgress = function () { $('updated-'+photoId).innerHTML = 'processing request...'; }
		f1 = $('userProfileId').innerHTML;
		var agree = confirm("Are you sure you want to delete this cover?");
		if(agree){
			parameter = "f1="+f1+"&mycover_id="+photoId;
			var url = facesdomainobj + "ajax/deletePhoto.xml.php";
			var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		}
	}

	function submitFaceSearch(){
		var key = $F('face-key');
		key1 = key.replace(/ +/g, '+');
	//	var tag = this.value.replace(/ +/g, '+')
		location.href = '/candyfaces/search/'+key1;
		return true;
	}

	function changeTheme(){
		Element.removeClassName($('container'),Element.classNames('container'));
		Element.addClassName($('container'),$F('theme'));
//		new Effect.Fade('objects-left',{duration:.8});
//		new Effect.Fade('objects-right',{duration:.8});

		if (!document.phpAds_used) document.phpAds_used = ',';
		phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);

		if ($F('theme') == 'sporty') { id = '517'; }
		else if ($F('theme') == 'naturelover') { id = '516'; }
		else if ($F('theme') == 'fashionista') { id = '515'; }
		else if ($F('theme') == 'intellectual') { id = '518'; }
		else if($F('theme') == 'girlnextdoor') { id = '519'; }

		var ad = '<a href="http://www.summitmedia.com.ph/adserver/adclick.php?n=a5adcbd1" target="_blank"><img src="http://www.summitmedia.com.ph/adserver/adview.php?what=bannerid:'+ id +'&amp;n=a5adcbd1" border="0" alt=""></a>';
		$('leaderboardAd').innerHTML = ad;
		new Effect.BlindDown('leaderboardAd',{duration:.8});
		new Effect.SlideDown('objects-left');
		new Effect.SlideDown('objects-right');
//		confirm();
//prompt('Your Question', ad1 + ad2 + ad3);
	}
//function enterEditMode(){ alert('hi');}
	function testFileType() {
		fileName = $('uploadphoto').value;
		fileTypes = new Array ('.gif', 'jpg', 'png', 'jpeg');
		if (!fileName) return;
		dots = fileName.split(".")
		fileType = "." + dots[dots.length-1];
		if(fileTypes.join(".").indexOf(fileType.toLowerCase()) != -1){ 
			$('previewPhoto').innerHTML = ''; xxx='file://localhost/' + fileName; xxx=xxx.toLowerCase();
			if (xxx.substring(0,xxx.lastIndexOf('.png'))||xxx.substring(0,xxx.lastIndexOf('.jpg'))||xxx.substring(0,xxx.lastIndexOf('.jpeg'))||xxx.substring(0,xxx.lastIndexOf('.gif'))){
				var img=document.createElement('img'); img.setAttribute('src',xxx); img.setAttribute('width',150); img.setAttribute('height',150); $('previewPhoto').appendChild(img);
			}
			Element.removeClassName($('uploadphoto').parentNode,'formError');
			$('photoValidateIE').value = '1';
		}else{
			$('uploadphoto').value = '';
			$('photoValidateIE').value = '0';	
			Element.addClassName($('uploadphoto').parentNode,'formError');
			alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
		}
	}
	
	function loadUploadIframe(){
		if($("uploadPhotoFrame") && !$("uploadFrame")){
			var iframe = '<ifr'+'ame width="0" height="0" name="uploadFrame" id="uploadFrame" src="" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; "></ifr'+'ame>';
			new Insertion.Bottom('uploadPhotoFrame', iframe); 
		}
		
		if($('uploadphotoformbt')) $('uploadphotoformbt').disabled = false;
	}

	function init2(){
		activateSchoolSearch();
		if($("activateProfile")) Event.observe('activateProfile', 'click', activateProfile, false);
		if($("updateProfile")) Event.observe('updateProfile', 'click', updateProfile, false);
		if($("friendRequest")) Event.observe('friendRequest', 'click', friendRequest, false);
		if($("approveRequest")) Event.observe('approveRequest', 'click', approveRequest, false);
		if($("cancelRequest")) Event.observe('cancelRequest', 'click', cancelRequest, false);
		if($("uploadphoto")) Event.observe('uploadphoto', 'change', testFileType, false);
		if($("theme")) Event.observe('theme', 'change', changeTheme, false);
		friendControl();
		loadUploadIframe();
		setMaxLength();
	}
	
	Event.observe(window, 'load', init2);

	var MyInPlaceEditor = Class.create();
	Object.extend(MyInPlaceEditor.prototype, Ajax.InPlaceEditor.prototype)
	Object.extend(MyInPlaceEditor.prototype, {
		createEditField: function() {
			Ajax.InPlaceEditor.prototype.createEditField.apply(this, arguments);
			
			hiddenTxt1 = document.createElement("input");
			hiddenTxt1.type = "hidden";
			hiddenTxt1.name = "pId";
			hiddenTxt1.value = this.options.pId;
	
			hiddenTxt2 = document.createElement("input");
			hiddenTxt2.type = "hidden";
			hiddenTxt2.name = "qId";
			hiddenTxt2.value = this.options.qId;
	
			textUrlImg = document.createElement("input");
			textUrlImg.type = "text";
			textUrlImg.id = "asscImgUrl-"+this.options.qId;
			textUrlImg.name = "asscImgUrl";
			if($('assc-photo-'+this.options.qId).value=='') textUrlImg.value = "http://";
			else textUrlImg.value = $('assc-photo-'+this.options.qId).value;
			textUrlImg.className = 'editor_url_img';
	
			labelUrlImg = document.createElement("label");
			labelUrlImg.htmlFor  = "asscImgUrl-"+this.options.qId;
			labelUrlImg.innerHTML  = "associated photo : ";
	
			//var br = document.createElement("br");
			// this.form.appendChild(br);
			this.form.appendChild(labelUrlImg);
			this.form.appendChild(hiddenTxt1);
			this.form.appendChild(hiddenTxt2);
			this.form.appendChild(textUrlImg);
	
		},
	  onComplete: function(transport) {
			Ajax.InPlaceEditor.prototype.onComplete.apply(this, arguments);
			if(transport!=undefined){ 
				temp=transport.responseText.split('<!--img-->');
				$('question-'+this.options.qId).innerHTML=temp[0];
				$('photo-'+this.options.qId).innerHTML=temp[1];
			}
		}
	});  
	
	function buildEditor(profId,questId){
		new MyInPlaceEditor('question-'+questId, facesdomainobj+'profile/saveProfileAns.obj.php', {rows:3,cols:40,qId:questId,pId:profId,okText:'save'});
	}