var URLPREFIX='http://www.skyhgc.com/';
var globalFriend = "";

function displayBookmark(friendId){
	
	if(document.getElementById('bookmarkDiv2'+friendId).style.display == 'inline'){
		document.getElementById('bookmarkDiv2'+friendId).style.display = "none";
		document.getElementById('bookmarkAll'+friendId).style.display = "inline";
	}else{
		document.getElementById('bookmarkDiv2'+friendId).style.display = "inline";
		document.getElementById('bookmarkAll'+friendId).style.display = "none";
	}
}

function clickAlbum(TheForm, actionStr, methodStr, Id, status, type){
	
	switch(type){
	case "status":	
					document.getElementById('currFriendId').value = Id;
					document.getElementById('friendStatus').value = status;
					TheForm.action = actionStr;
					TheForm.method = methodStr;		
					TheForm.submit();	
					break;
	case "friendAblum":	
					document.getElementById('currBookmarkId').value = Id;
					TheForm.action = actionStr;
					TheForm.method = methodStr;		
					TheForm.submit();	
					break;
	}
	
}

function checkField(field, type){
	var changeField;
	if(field == document.getElementById('newUsername'))
		changeField = document.getElementById('newEmail');
	else
		changeField = document.getElementById('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 = document.getElementById('friendName'+currfriendId).innerHTML.replace(/^(\s)*/, '');
	
	document.getElementById('txtDelMsg'+currfriendId).innerHTML = errorMsg[3]+" \""+editName+"\"?";
		
	document.getElementById("deletePopDiv"+currfriendId).style.right = -186;
	document.getElementById("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(document.getElementById('deletePopDiv'+friendId[i]).style.display != "none" && friendId[i] != currFriendId){
			document.getElementById('deletePopDiv'+friendId[i]).style.display = "none";
		}
	}
}
function confirmRemove(friendId, name){
	document.getElementById('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+"\"?")){
		document.getElementById('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 = document.getElementById('toggleGroupHidden_'+groupId).value;	
	
	if(groupStatus == 1){		
		for(var i=0; i<friendId.length; i++){			
			if(document.getElementById('friendDiv_'+friendId[i]+'_'+groupId)){
				document.getElementById('friendDiv_'+friendId[i]+'_'+groupId).style.display = "none";
			}			
		}		
		document.getElementById('toggleGroupHidden_'+groupId).value = 0;
	}else{		
		for(var i=0; i<friendId.length; i++){				
			if(document.getElementById('friendDiv_'+friendId[i]+'_'+groupId)){	
				document.getElementById('friendDiv_'+friendId[i]+'_'+groupId).style.display = "inline";					
			}
		}		
		document.getElementById('toggleGroupHidden_'+groupId).value = 1;
	}

	
}

function editDivOnChange(type){
	
	switch(type){
		case "username":document.getElementById('radUsername').checked = true;
						if(document.getElementById('newUsername').value.length > 0)
							document.getElementById('newUsername').select();
						break;
		case "email"   :
						document.getElementById('radEmail').checked = true;
						if(document.getElementById('newEmail').value.length > 0)
							document.getElementById('newEmail').select();
						break;
		case "nickname":
						if(document.getElementById('newNickname').value.length > 0)
							document.getElementById('newNickname').select();
						break;
	}
}

function showBtnPanel(index){
	
	var offsets = Position.positionedOffset(document.getElementById('bookmarkDiv'+index)); 
	var wdth = offsets[0];  
	var hght = offsets[1]; 
	
	document.getElementById('msg').innerHTML = wdth+'|'+hght; 
	document.getElementById('btnPanel'+index).style.left= wdth;
	document.getElementById('btnPanel'+index).style.top = hght+7;	
	
	document.getElementById('btnPanel'+index).style.visibility='visible'; 
	document.getElementById('btnPanel'+index).style.display='inline';	
}

function hideBtnPanel(index){
	document.getElementById('btnPanel'+index).style.visibility='hidden'; 
	document.getElementById('btnPanel'+index).style.display='none';	
}


function checkGroup(type, action){

	if(type == 'edit'){
		var grpEle = document.getElementById('editGrpId');
		var grpExtraEle = document.getElementById('editExtraGrp');
		var grpShowExtra = document.getElementById('extraGrpDiv3');
		var grpHidden	= document.getElementById('extraGrpHidden3');
	}else if(type == "addNew"){
		var grpEle = document.getElementById('addNewGrpId');
		var grpExtraEle = document.getElementById('addExtraGrp');
		var grpShowExtra = document.getElementById('extraGrpDiv1');
		var grpHidden	= document.getElementById('extraGrpHidden1');
	}else if(type == "new"){
		var grpEle = document.getElementById('newGrpId');
		var grpExtraEle = document.getElementById('newExtraGrp');
		var grpShowExtra = document.getElementById('extraGrpDiv2');
		var grpHidden	= document.getElementById('extraGrpHidden2');
	}
	
	if(action == 1){
		grpExtraEle.value	= "";
		
		if(grpEle.value == "new"){
			grpHidden.value = 2;
			
			new Effect.Appear(grpShowExtra.id);
			grpExtraEle.value = "";
			setTimeout("document.getElementById('"+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(document.getElementById('toggleStatus'+friendId).value == 1){			
			new Effect.SlideDown('toggleDetail_'+friendId , {duration:0.25});			
			document.getElementById('toggleStatus'+friendId).value = 2;		
			document.getElementById('toggleImg'+friendId).src = toggleIcon[3];
			document.getElementById('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});
			document.getElementById('toggleStatus'+friendId).value = 1;
			document.getElementById('toggleImg'+friendId).src = toggleIcon[1];
			document.getElementById('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";
		
	document.getElementById('newNickname').value = "";
	document.getElementById('newExtraGrp').value = "";
	document.getElementById('newGrpId').selectedIndex = 0;
	
	document.getElementById('newGrpId').style.visibility = "hidden";
	
	showOptionBox(false);	
	
	document.getElementById('blackLayer').style.zindex 		 = "1";		
	document.getElementById("addFriendDiv").style.left 		 = ((document.body.clientWidth-300)/2)-30;
	document.getElementById("addFriendDiv").style.top 		 = document.body.scrollTop+(document.body.clientHeight/4);			
	document.getElementById("addFriendDiv").style.zindex 	 = 1000;
	document.getElementById("addFriendDiv").style.background = "white";
	
	document.getElementById('blackLayer').style.visibility 	 = "visible";

	new Effect.Appear('addFriendDiv');
	setTimeout("document.getElementById('newNickname').focus()", 100);
	setTimeout("document.getElementById('newGrpId').style.visibility = 'visible'", 150);
	document.getElementById('frmNewFriend').action = URLPREFIX+loggedUsername+"/friend.list";
}

function toggleAll(){
	hideAllRemove("");
	if(document.getElementById('toggleAllStatus').value == 1){
		
		for(var i=0; i<friendId.length; i++){
						
			if(document.getElementById('toggleDetail_'+friendId[i]) && document.getElementById('toggleStatus'+friendId[i]).value == 1){				
				document.getElementById('toggleStatus'+friendId[i]).value = 2;
				new Effect.SlideDown('toggleDetail_'+friendId[i], {duration:0.25, scaleFrom:0});
				document.getElementById('toggleImg'+friendId[i]).src = toggleIcon[3];
			}			
		}
		document.getElementById('expandImg').src = toggleIcon[7];
		document.getElementById('toggleAllStatus').value = 2;
		document.getElementById('toggleAll').title = toggleIcon[10];
	}else{
		for(var i=0; i<friendId.length; i++){
			if(document.getElementById('toggleDetail_'+friendId[i])){			
				if(document.getElementById('toggleStatus'+friendId[i]).value == 2){				
					document.getElementById('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});
					}
					document.getElementById('toggleImg'+friendId[i]).src = toggleIcon[1];
					
				}
			}
		}
		document.getElementById('expandImg').src = toggleIcon[5];
		document.getElementById('toggleAllStatus').value = 1;
		document.getElementById('toggleAll').title = toggleIcon[9];
	}
	
}

function showOptionBox(display){
	
	var state = "hidden";
	if(display){
		state = "visible";
	}
	
	if(document.getElementById('optGroup')){
		document.getElementById('optGroup').style.visibility =  state;
	}	
	if(document.getElementById('optItem')){
		document.getElementById('optItem').style.visibility	= state;
	}
	if(document.getElementById('sortBox')){
		document.getElementById('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	= document.getElementById('newNickname');
			grpEle		= document.getElementById('newGrpId');
			newGrpEle	= document.getElementById('newExtraGrp');			
			skip = true;
			break;
		case 2:			
			emailEle 	= document.getElementById('addNewEmail');
		 	idEle		= document.getElementById('addNewUsername');
			nickNameEle	= document.getElementById('addNewNickname');
			grpEle		= document.getElementById('addNewGrpId');
			newGrpEle	= document.getElementById('addExtraGrp');
			skip = false;
			
			if((trim(idEle.value).length) > 0){
				skipEmailCheck = true;
			}
			break;
		case 3:			
		 	emailEle	= document.getElementById('editEmail');
			nickNameEle	= document.getElementById('editNickname');
			grpEle		= document.getElementById('editGrpId');
			newGrpEle	= document.getElementById('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){
			document.getElementById('saveFriendHidden').value = globalFriend;		
			TheForm.action = URLLINK;
		}
		
		TheForm.method = "POST";
		TheForm.submit();
	}else{		
		alert(errorDisplay);
	}
	
}


function cancelNewFriend(type){
	
	globalFriend = "";
		
	switch(type){
		case 1:
			var boxInit = document.getElementById('newGrpId');
			document.getElementById('addExtraGrp').value = "";				
			var changeEle = "addFriendDiv";
			
			break;
		case 2:		
			var boxInit = document.getElementById('editGrpId');		
			document.getElementById('editEmail').value = "";			
			document.getElementById('editUsername').value = "";
			document.getElementById('editNickname').value = "";		
			document.getElementById('editExtraGrp').value = "";	
			
			var changeEle = "editFriendDiv";
			
			break;
		case 3:
			var boxInit = document.getElementById('addNewGrpId');
			document.getElementById('addNewUsername').value = "";			
			document.getElementById('addNewEmail').value = "";			
			document.getElementById('addNewNickname').value = "";						
			document.getElementById('newExtraGrp').value = "";
			var changeEle = "addNewFriendDiv";
			
			break;
	}			
	
	boxInit.style.visibility = "hidden";
	
	new Effect.DropOut(changeEle, {duration:0.75});
		
	//setTimeout("document.getElementById('RightPanel').style.visibility = 'visible'", 700);	
	setTimeout("document.getElementById('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 = document.getElementById('addExtraGrp');
				var optGrpEle = document.getElementById('addNewGrpId');
				var nicknameEle = document.getElementById('addNewNickname');
				var divEle = document.getElementById('addNewFriendDiv');
				
				var unameEle = document.getElementById('addNewUsername');
				
				document.getElementById('addNewEmail').value = "";
				
				document.getElementById('inviteFriend').checked = false;
				document.getElementById('inviteFriend').disabled = true;
				document.getElementById('lblIviteFriend').className = "";	
				
				focusElement = "id";
				break;				
		case 2:				
			var nicknameEle = document.getElementById('newNickname');
			var newGrpEle = document.getElementById('newExtraGrp');			
			var optGrpEle	= document.getElementById('newGrpId');
			var divEle = document.getElementById('addFriendDiv');
			
			focusElement = "nickname";
			break;
		case 3:		
		clearTimeout(toggleTimeout);
				
			var nicknameEle = document.getElementById('newNickname');
			var newGrpEle = document.getElementById('newExtraGrp');			
			var optGrpEle	= document.getElementById('newGrpId');
			var divEle = document.getElementById('addFriendDiv');
			
			if(username.length >0){
				document.getElementById('lblAddType1').innerHTML = msg[2];	
				document.getElementById('lblAddType2').innerHTML = username;	
				document.getElementById('newUsername').value = username;		
				document.getElementById('newEmail').value =  "";
			}else{
				document.getElementById('lblAddType1').innerHTML = msg[3];	
				document.getElementById('lblAddType2').innerHTML = email;
				document.getElementById('newEmail').value =  email;
				document.getElementById('newUsername').value = "";
			}		
			
			focusElement = "nickname";
			
			break;
		case 4:
			clearTimeout(toggleTimeout);			
			
			var nicknameEle = document.getElementById('editNickname'+friendId);
			var newGrpEle = document.getElementById('editExtraGrp');			
			var optGrpEle	= document.getElementById('editGrpId');
			var divEle = document.getElementById('editFriendDiv');
			
			var emailEle = document.getElementById('editEmailDiv');
			
			if(username.length > 0){			
				document.getElementById('editUsername').innerHTML = username;
				document.getElementById('lblEditTitle').innerHTML = msg[6];
				emailEle.style.display = "none";
				document.getElementById('editUsername').style.display = "inline";
				focusElement = "nickname";		
			}else{		
				document.getElementById('editEmail').value = email;			
				document.getElementById('lblEditTitle').innerHTML = msg[7];					
				emailEle.style.display = "inline";		
				document.getElementById('editUsername').style.display = "none";
				focusElement = "email";		
			}
			if(document.getElementById('emailDisplay'+friendId)){
				document.getElementById('editEmail').value = document.getElementById('emailDisplay'+friendId).value;
			}	
			
			if(document.getElementById('edNickname'+friendId)){
				document.getElementById('editNickname').value = trim(document.getElementById('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;	
	
//	document.getElementById('RightPanel').style.visibility			 = "hidden";
	document.getElementById('friendBlackLayer').style.zindex 		 = "1";		
	document.getElementById('friendBlackLayer').style.visibility 	 = "visible";
	
	new Effect.Appear(divEle.id);
		
	setTimeout("document.getElementById('"+optGrpEle.id+"').style.visibility = 'visible'", 150);
	
	switch(focusElement){
		case "id":
			unameEle.value = "";
			setTimeout("document.getElementById('"+unameEle.id+"').focus()", 100);
			break;
		case "nickname":
			setTimeout("document.getElementById('"+nicknameEle.id+"').focus()", 100);
			break;
		case "email":				
			setTimeout("document.getElementById('"+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){		
		document.getElementById('inviteFriend').checked = true;
		document.getElementById('inviteFriend').disabled = false;
		document.getElementById('lblIviteFriend').className = "btnCursor";
	}else{
		document.getElementById('inviteFriend').checked = false;
		document.getElementById('inviteFriend').disabled = true;		
		document.getElementById('lblIviteFriend').className = "";		
	}
}

function closeCurrentDelete(friendId){
	document.getElementById('deletePopDiv'+friendId).style.display = "none";
}

function toggleHover(methodUsed, friendId){
	
	if(friendId != ""){
		if(document.getElementById('toggleStatus'+friendId).value == 1){		
			if(methodUsed == 1){		
				document.getElementById('toggleImg'+friendId).src=toggleIcon[2];
			}else{
				document.getElementById('toggleImg'+friendId).src=toggleIcon[1];
			}
		}else{
			if(methodUsed == 1){		
				document.getElementById('toggleImg'+friendId).src=toggleIcon[4];
			}else{
				document.getElementById('toggleImg'+friendId).src=toggleIcon[3];
			}
		}
	}else{
		if(document.getElementById('toggleAllStatus').value == 1){
			if(methodUsed == 1){		
				document.getElementById('expandImg').src=toggleIcon[6];
			}else{
				document.getElementById('expandImg').src=toggleIcon[5];
			}
		}else{
			if(methodUsed == 1){		
				document.getElementById('expandImg').src=toggleIcon[8];
			}else{
				document.getElementById('expandImg').src=toggleIcon[7];
			}
		}
	}
}

window.onbeforeunload = function () {
 	setTimeout('ignore= ""', 100);
}
