var URLPREFIX='http://www.skyalbum.com.hk/';
var globalFriend = "";

function displayBookmark(friendId){
	//var counter = ($('bookmarkCounter'+friendId)).value;
	if($('bookmarkDiv2'+friendId).style.display == 'inline'){
		$('bookmarkDiv2'+friendId).style.display = "none";
		$('bookmarkAll'+friendId).style.display = "inline";
	}else{
		$('bookmarkDiv2'+friendId).style.display = "inline";
		$('bookmarkAll'+friendId).style.display = "none";
	}
	
	/*if(counter == 1){
		
		//Effect.Fade('bookmarkDiv2'+friendId); 
		($('bookmarkDiv2'+friendId)).style.display = "none";
		
		($('bookmarkCounter'+friendId)).value 	= 0;
		($('toggleDisplay'+friendId)).src 		= imgDisplay[1];
	}else{
		//Effect.Appear('bookmarkDiv2'+friendId); 
		($('bookmarkDiv2'+friendId)).style.display = "inline";
		
		($('bookmarkCounter'+friendId)).value = 1;
		($('toggleDisplay'+friendId)).src 		= imgDisplay[0];
	}*/
}

function clickAlbum(TheForm, actionStr, methodStr, Id, status, type){
	
	switch(type){
	case "status":	
					($('currFriendId')).value = Id;
					($('friendStatus')).value = status;
					TheForm.action = actionStr;
					TheForm.method = methodStr;		
					TheForm.submit();	
					break;
	case "friendAblum":	
					($('currBookmarkId')).value = Id;
					TheForm.action = actionStr;
					TheForm.method = methodStr;		
					TheForm.submit();	
					break;
	}
	
}

function checkField(field, type){
	var changeField;
	if(field == ($('newUsername')))
		changeField = ($('newEmail'));
	else
		changeField = ($('newUsername'));
	
	switch(type){
		case "blur":
			var fieldValue = field.value;
			fieldValue = fieldValue.replace(/^(\s)*/, '');
			if(fieldValue.length > 0){
				changeField.disabled = true;
			}else{
				changeField.disabled = false;
			}
			break;
		case "focus":			
			changeField.disabled = true;
			break;
	}
	
}

function removeFriend(currfriendId){
	
	clearTimeout(delPopTimeout);
	
	var editName = ($('friendName'+currfriendId)).innerHTML.replace(/^(\s)*/, '');
	
	$('txtDelMsg'+currfriendId).innerHTML = errorMsg[3]+" \""+editName+"\"?";
		
	$("deletePopDiv"+currfriendId).style.right = -186;
	$("deletePopDiv"+currfriendId).style.top = 13;
		
	hideAllRemove(currfriendId);

	new Effect.toggle('deletePopDiv'+currfriendId,'appear',{duration:0.5});
	
	delPopTimeout = setTimeout('closeCurrentDelete('+currfriendId+')', 1500);
}

function hideAllRemove(currFriendId){
	for(var i=0; i<friendId.length; i++){
		if($('deletePopDiv'+friendId[i]).style.display != "none" && friendId[i] != currFriendId){
			$('deletePopDiv'+friendId[i]).style.display = "none";
		}
	}
}
function confirmRemove(friendId, name){
	($('rmFriendHidden')).value = friendId;
	document.frmFriend.method = "POST";
	document.frmFriend.action = URLPREFIX+name+"/friend.list";	
	document.frmFriend.submit();
}

function removeBookmark(bookmarkId, folderName, TheForm){
	
	if(confirm(errorMsg[5]+" \""+folderName+"\"?")){
		($('rmBookmarkHidden')).value = bookmarkId;
		TheForm.method = "POST";
		TheForm.submit();	
	}
	
}


var IE = document.all?true:false;

function findPos(obj) {
	var curleft = 0; var curtop = 0;
	
	if (obj.offsetParent) {				
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;			
		}		
	}else{
		if(obj.y)
        	curtop += obj.y;
        if(obj.x)
        	curleft += obj.x;
	}	
	return [curleft,curtop];
}

function toggleFriend(groupId){
	
	var groupStatus = ($('toggleGroupHidden_'+groupId)).value;	
	
	if(groupStatus == 1){		
		for(var i=0; i<friendId.length; i++){			
			if($('friendDiv_'+friendId[i]+'_'+groupId)){
				($('friendDiv_'+friendId[i]+'_'+groupId)).style.display = "none";
			}			
		}		
		($('toggleGroupHidden_'+groupId)).value = 0;
	}else{		
		for(var i=0; i<friendId.length; i++){				
			if($('friendDiv_'+friendId[i]+'_'+groupId)){	
				($('friendDiv_'+friendId[i]+'_'+groupId)).style.display = "inline";					
			}
		}		
		($('toggleGroupHidden_'+groupId)).value = 1;
	}

	
}

function editDivOnChange(type){
	
	switch(type){
		case "username":($('radUsername')).checked = true;
						if(($('newUsername')).value.length > 0)
							($('newUsername')).select();
						break;
		case "email"   :
						($('radEmail')).checked = true;
						if(($('newEmail')).value.length > 0)
							($('newEmail')).select();
						break;
		case "nickname":
						if(($('newNickname')).value.length > 0)
							($('newNickname')).select();
						break;
	}
}

function showBtnPanel(index){
	
	var offsets = Position.positionedOffset($('bookmarkDiv'+index)); 
	var wdth = offsets[0];  
	var hght = offsets[1]; 
	
	($('msg')).innerHTML = wdth+'|'+hght; 
	($('btnPanel'+index)).style.left= wdth;
	($('btnPanel'+index)).style.top = hght+7;	
	
	($('btnPanel'+index)).style.visibility='visible'; 
	($('btnPanel'+index)).style.display='inline';	
}

function hideBtnPanel(index){
	($('btnPanel'+index)).style.visibility='hidden'; 
	($('btnPanel'+index)).style.display='none';	
}


function checkGroup(type, action){

	if(type == 'edit'){
		var grpEle = $('editGrpId');
		var grpExtraEle = $('editExtraGrp');
		var grpShowExtra = $('extraGrpDiv3');
		var grpHidden	= $('extraGrpHidden3');
	}else if(type == "addNew"){
		var grpEle = $('addNewGrpId');
		var grpExtraEle = $('addExtraGrp');
		var grpShowExtra = $('extraGrpDiv1');
		var grpHidden	= $('extraGrpHidden1');
	}else if(type == "new"){
		var grpEle = $('newGrpId');
		var grpExtraEle = $('newExtraGrp');
		var grpShowExtra = $('extraGrpDiv2');
		var grpHidden	= $('extraGrpHidden2');
	}
	
	if(action == 1){
		grpExtraEle.value	= "";
		
		if(grpEle.value == "new"){
			grpHidden.value = 2;
			
			new Effect.Appear(grpShowExtra.id);
			grpExtraEle.value = "";
			setTimeout("$('"+grpExtraEle.id+"').focus()", 100);
			
		}else{			
			if(grpHidden.value == 2){
				grpHidden.value=1;
				new Effect.Fade(grpShowExtra.id);							
			}
		}
	}else if(action == 2){
		if(trim(grpExtraEle.value) != ""){
			grpEle.selectedIndex = 0;
		}else{			
			grpExtraEle.value	= "";
		}
	}
}

var ignore= "";
function toggleDisplay(friendId, name, path){

	if(ignore != "x"){
		
		hideAllRemove("");

		if($('toggleStatus'+friendId).value == 1){			
			new Effect.SlideDown('toggleDetail_'+friendId , {duration:0.25});			
			$('toggleStatus'+friendId).value = 2;		
			$('toggleImg'+friendId).src = toggleIcon[3];
			$('toggleImg'+friendId).title = toggleIcon[12];
		}else{
			//new Effect.BlindUp('toggleDetail_'+friendId, {duration:0.25, scaleFrom:150});
			new Effect.SlideUp('toggleDetail_'+friendId, {duration:0.2, scaleFrom:150});
			$('toggleStatus'+friendId).value = 1;
			$('toggleImg'+friendId).src = toggleIcon[1];
			$('toggleImg'+friendId).title = toggleIcon[11];
		}
	}
}

function prepToggle(friendId, username, link){
	//ignore= "";
	if(toggleTimeout){
		clearTimeout(toggleTimeout);	
	}
	toggleTimeout = setTimeout('toggleDisplay('+friendId+', "'+username+'","'+link+'")', 50);	
}
function clearToggle(){
	ignore = "x";
}

function addAlbumFriend(username, loggedUsername){	
	
	window.scrollTo(0,0);
	document.body.style.overflow = "hidden";
	document.body.style.overflowY	= "hidden";
		
	$('newNickname').value = "";
	$('newExtraGrp').value = "";
	$('newGrpId').selectedIndex = 0;
	
	$('newGrpId').style.visibility = "hidden";
	
	showOptionBox(false);	
	
	($('blackLayer')).style.zindex 		 = "1";		
	($("addFriendDiv")).style.left 		 = ((document.body.clientWidth-300)/2)-30;
	($("addFriendDiv")).style.top 		 = document.body.scrollTop+(document.body.clientHeight/4);			
	($("addFriendDiv")).style.zindex 	 = 1000;
	($("addFriendDiv")).style.background = "white";
	
	($('blackLayer')).style.visibility 	 = "visible";

	new Effect.Appear('addFriendDiv');
	setTimeout("$('newNickname').focus()", 100);
	setTimeout("$('newGrpId').style.visibility = 'visible'", 150);
	$('frmNewFriend').action = URLPREFIX+loggedUsername+"/friend.list";
}

function toggleAll(){
	hideAllRemove("");
	if($('toggleAllStatus').value == 1){
		
		for(var i=0; i<friendId.length; i++){
						
			if($('toggleDetail_'+friendId[i]) && $('toggleStatus'+friendId[i]).value == 1){				
				$('toggleStatus'+friendId[i]).value = 2;
				new Effect.SlideDown('toggleDetail_'+friendId[i], {duration:0.25, scaleFrom:0});
				$('toggleImg'+friendId[i]).src = toggleIcon[3];
			}			
		}
		$('expandImg').src = toggleIcon[7];
		$('toggleAllStatus').value = 2;
		$('toggleAll').title = toggleIcon[10];
	}else{
		for(var i=0; i<friendId.length; i++){
			if($('toggleDetail_'+friendId[i])){			
				if($('toggleStatus'+friendId[i]).value == 2){				
					$('toggleStatus'+friendId[i]).value = 1;
					if(IE){
						new Effect.BlindUp('toggleDetail_'+friendId[i], {duration:0.25, scaleFrom:150});
					}else{
						new Effect.SlideUp('toggleDetail_'+friendId[i], {duration:0.25, scaleFrom:150});
					}
					$('toggleImg'+friendId[i]).src = toggleIcon[1];
					
				}
			}
		}
		$('expandImg').src = toggleIcon[5];
		$('toggleAllStatus').value = 1;
		$('toggleAll').title = toggleIcon[9];
	}
	
}

function showOptionBox(display){
	
	var state = "hidden";
	if(display){
		state = "visible";
	}
	
	if($('optGroup')){
		$('optGroup').style.visibility =  state;
	}	
	if($('optItem')){
		$('optItem').style.visibility	= state;
	}
	if($('sortBox')){
		$('sortBox').style.visibility	= state;
	}
}


function saveChange(TheForm, loginUname, URLLINK, methodUsed){
	emailValidPattern = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9-])+(\.([a-zA-Z0-9])[a-zA-Z0-9]+)+$/;
	var tagPatteren = /^([^\'\;\"\.\@\#\$\%\^\&\*\(\)\-\_\+\=\{\}\[\]\<\>\?\!\|\~\`\\])+$/;
	
	var error=0;
	var errorDisplay = "";
	
	var emailEle 	= "";
	var idEle		= "";
	var nickNameEle	= "";
	var grpEle		= "";
	var newGrpEle	= "";
	
	var skipEmailCheck = false;
	var skip = false;
	
	switch(methodUsed){
		case 1:
			nickNameEle	= $('newNickname');
			grpEle		= $('newGrpId');
			newGrpEle	= $('newExtraGrp');			
			skip = true;
			break;
		case 2:			
			emailEle 	= $('addNewEmail');
		 	idEle		= $('addNewUsername');
			nickNameEle	= $('addNewNickname');
			grpEle		= $('addNewGrpId');
			newGrpEle	= $('addExtraGrp');
			skip = false;
			
			if((trim(idEle.value).length) > 0){
				skipEmailCheck = true;
			}
			break;
		case 3:			
		 	emailEle	= $('editEmail');
			nickNameEle	= $('editNickname');
			grpEle		= $('editGrpId');
			newGrpEle	= $('editExtraGrp');			
			skip = true;			
			break;
	}
	
	
	if(idEle != "" && skipEmailCheck && !skip){
		idEle = trim(idEle.value);
		
		idEle = idEle.replace(/^(\s)*/, '');	
		
		
		if(idEle == "" || idEle.length<3){
			error++;
			errorDisplay = error+". "+errorMsg[0]+"\n";
		}else if(!(tagPatteren.test(idEle))){
			error++;
			errorDisplay = error+". "+errorMsg[9]+"\n";		
		}else if(idEle == loginUname){
			error++;
			errorDisplay = error+". "+errorMsg[6]+"\n";
		}	
	}
	
	if(emailEle != "" && !skipEmailCheck && !skip){
		
		if(trim(emailEle.value) == ""){
			error++;
			errorDisplay = error+". "+errorMsg[0]+"\n";
		}
		
		if((emailEle.style.display=="inline" && trim(emailEle.value).length == 0) || 
		(trim(emailEle.value).length > 0 && !emailValidPattern.test(emailEle.value))){
			error++;
			errorDisplay += error+". "+errorMsg[7]+"\n";
		}
	}
	
	
	if(nickNameEle != "" && trim(nickNameEle.value) > 30){		
		error++;
		errorDisplay += error+". "+errorMsg[9]+"\n";		
	}	
	
	
	if(grpEle != "" && grpEle.selectedIndex == 0){				
		error++;
		errorDisplay += error+". "+errorMsg[2]+"\n";		
	}
	
	if(newGrpEle != "" && grpEle.value == "new"){		
		if(grpEle.value == "new" && trim(newGrpEle.value).length == 0){
			error++;		
			errorDisplay += error+". "+errorMsg[2]+"\n";			
		}else if((trim(newGrpEle.value).length>0 && trim(newGrpEle.value).length> 20) || 
		  (trim(newGrpEle.value).length>0  && !(tagPatteren.test(newGrpEle.value)))){
			error++;		
			errorDisplay += error+". "+errorMsg[8]+"\n";			
		}
	}
	
	if(error == 0){			
		if(methodUsed == 3){
			($('saveFriendHidden')).value = globalFriend;		
			TheForm.action = URLLINK;
		}
		
		TheForm.method = "POST";
		TheForm.submit();
	}else{		
		alert(errorDisplay);
	}
	
}


function cancelNewFriend(type){
	
	globalFriend = "";
		
	switch(type){
		case 1:
			var boxInit = $('newGrpId');
			$('addExtraGrp').value = "";				
			var changeEle = "addFriendDiv";
			
			break;
		case 2:		
			var boxInit = ($('editGrpId'));		
			($('editEmail')).value = "";			
			($('editUsername')).value = "";
			($('editNickname')).value = "";		
			$('editExtraGrp').value = "";	
			
			var changeEle = "editFriendDiv";
			
			break;
		case 3:
			var boxInit = $('addNewGrpId');
			($('addNewUsername')).value = "";			
			($('addNewEmail')).value = "";			
			($('addNewNickname')).value = "";						
			$('newExtraGrp').value = "";
			var changeEle = "addNewFriendDiv";
			
			break;
	}			
	
	boxInit.style.visibility = "hidden";
	
	new Effect.DropOut(changeEle, {duration:0.75});
		
	setTimeout("($('RightPanel')).style.visibility = 'visible'", 700);	
	setTimeout("($('friendBlackLayer')).style.visibility = 'hidden'", 700);	
	setTimeout("showOptionBox(true)", 700);
	setTimeout("document.body.style.overflowY	= 'scroll'", 700);
	
}

function displayPopup(methodUsed, TheForm, loggedUsername, friendId, username, nickname, email, group){
		
	var unameEle = "";
	var focusElement = "";
			
	window.scrollTo(0,0);
	document.body.style.overflow = "hidden";
	document.body.style.overflowY	= "hidden";
	
	switch(methodUsed){
		case 1:	var newGrpEle = $('addExtraGrp');
				var optGrpEle = $('addNewGrpId');
				var nicknameEle = $('addNewNickname');
				var divEle = $('addNewFriendDiv');
				
				var unameEle = $('addNewUsername');
				
				$('addNewEmail').value = "";
				
				$('inviteFriend').checked = false;
				$('inviteFriend').disabled = true;
				$('lblIviteFriend').className = "";	
				
				focusElement = "id";
				break;				
		case 2:				
			var nicknameEle = $('newNickname');
			var newGrpEle = $('newExtraGrp');			
			var optGrpEle	= $('newGrpId');
			var divEle = $('addFriendDiv');
			
			focusElement = "nickname";
			break;
		case 3:		
		clearTimeout(toggleTimeout);
				
			var nicknameEle = $('newNickname');
			var newGrpEle = $('newExtraGrp');			
			var optGrpEle	= $('newGrpId');
			var divEle = $('addFriendDiv');
			
			if(username.length >0){
				$('lblAddType1').innerHTML = msg[2];	
				$('lblAddType2').innerHTML = username;	
				$('newUsername').value = username;		
				$('newEmail').value =  "";
			}else{
				$('lblAddType1').innerHTML = msg[3];	
				$('lblAddType2').innerHTML = email;
				$('newEmail').value =  email;
				$('newUsername').value = "";
			}		
			
			focusElement = "nickname";
			
			break;
		case 4:
			clearTimeout(toggleTimeout);			
			
			var nicknameEle = $('editNickname'+friendId);
			var newGrpEle = $('editExtraGrp');			
			var optGrpEle	= $('editGrpId');
			var divEle = $('editFriendDiv');
			
			var emailEle = $('editEmailDiv');
			
			if(username.length > 0){			
				($('editUsername')).innerHTML = username;
				$('lblEditTitle').innerHTML = msg[6];
				emailEle.style.display = "none";
				$('editUsername').style.display = "inline";
				focusElement = "nickname";		
			}else{		
				($('editEmail')).value = email;			
				$('lblEditTitle').innerHTML = msg[7];					
				emailEle.style.display = "inline";		
				$('editUsername').style.display = "none";
				focusElement = "email";		
			}
			if($('emailDisplay'+friendId)){
				$('editEmail').value = $('emailDisplay'+friendId).value;
			}	
			
			if($('edNickname'+friendId)){
				$('editNickname').value = trim($('edNickname'+friendId).innerHTML);	
			}
			for(var i=0; i<optGrpEle.length; i++){		
				if(optGrpEle[i].value == group){
					optGrpEle[i].selected = true;
				}
			}			
						
			globalFriend  = friendId;	
			break;
	}
	
	
	newGrpEle.value = "";
	
	if(methodUsed != 4){		
		optGrpEle.selectedIndex = 0;	
		nicknameEle.value = "";
	}
	
	optGrpEle.style.visibility = "hidden";
	
	showOptionBox(false);
	
	divEle.style.left 		 = ((document.body.clientWidth-300)/2)-30;
	divEle.style.top 		 = document.body.scrollTop+(document.body.clientHeight/4);			
	divEle.style.zindex 	 = 1000;	
	
	$('RightPanel').style.visibility			 = "hidden";
	($('friendBlackLayer')).style.zindex 		 = "1";		
	($('friendBlackLayer')).style.visibility 	 = "visible";
	
	new Effect.Appear(divEle.id);
		
	setTimeout("$('"+optGrpEle.id+"').style.visibility = 'visible'", 150);
	
	switch(focusElement){
		case "id":
			unameEle.value = "";
			setTimeout("$('"+unameEle.id+"').focus()", 100);
			break;
		case "nickname":
			setTimeout("$('"+nicknameEle.id+"').focus()", 100);
			break;
		case "email":				
			setTimeout("$('"+emailEle.id+"').focus()", 100);
			break;
	}
		
	TheForm.action = URLPREFIX+loggedUsername+"/friend.list";
	
}	

function resetInput(ele1, ele2, clear){
	if(clear==1){
		if(trim(ele1.value)!=""){
			ele2.value = "";
			enableBox(false);
		}
	}else{
		if(trim(ele2.value)!=""){
			ele1.value = "";
			enableBox(true);
		}
	}
}

function enableBox(state){
	
	if(state){		
		$('inviteFriend').checked = true;
		$('inviteFriend').disabled = false;
		$('lblIviteFriend').className = "btnCursor";
	}else{
		$('inviteFriend').checked = false;
		$('inviteFriend').disabled = true;		
		$('lblIviteFriend').className = "";		
	}
}

function closeCurrentDelete(friendId){
	$('deletePopDiv'+friendId).style.display = "none";
}

function toggleHover(methodUsed, friendId){
	
	if(friendId != ""){
		if($('toggleStatus'+friendId).value == 1){		
			if(methodUsed == 1){		
				$('toggleImg'+friendId).src=toggleIcon[2];
			}else{
				$('toggleImg'+friendId).src=toggleIcon[1];
			}
		}else{
			if(methodUsed == 1){		
				$('toggleImg'+friendId).src=toggleIcon[4];
			}else{
				$('toggleImg'+friendId).src=toggleIcon[3];
			}
		}
	}else{
		if($('toggleAllStatus').value == 1){
			if(methodUsed == 1){		
				$('expandImg').src=toggleIcon[6];
			}else{
				$('expandImg').src=toggleIcon[5];
			}
		}else{
			if(methodUsed == 1){		
				$('expandImg').src=toggleIcon[8];
			}else{
				$('expandImg').src=toggleIcon[7];
			}
		}
	}
}

window.onbeforeunload = function () {
 	setTimeout('ignore= ""', 100);
}