// JavaScript Document
var newImg = new Image();

function checkLoginForm(){
	var un = document.getElementById('id_username');
	var ps = document.getElementById('id_password');
	
	if(Trim(un.value) == "") {alert_focus("", "id_username");return false;}
	if(Trim(ps.value) == "") {alert_focus("", "id_password");return false;}
	
	return true;
}

function checkContactForm(){
	var name = document.getElementById('contact_name');
	var email = document.getElementById('contact_email');
	
	}
	
function checkUserModifyForm()
{
var action  = document.getElementById('userForm').value;
	
	var firstname = document.getElementById('firstName');
	var lastname = document.getElementById('lastName');
	var username = document.getElementById('user_name');
	var email = document.getElementById('email');
//	var guestpass = document.getElementById('guestPass');
//	var privatepass = document.getElementById('private_pass');
	var interests = document.getElementById('interests');
	
	if(Trim(firstname.value) == "") {alert_focus("Please, fill in first name.", "firstName");return false;}
	if(Trim(lastname.value) == "") {alert_focus("Please, fill in last name.", "lastName");return false;}
	if(Trim(email.value) == "") {alert_focus("Please, fill in email.", "email");return false;}
	if(!validEmail(Trim(email.value))) {alert_focus("Wrong email format.", "email");return false;}
	
	if(Trim(username.value) == "") {alert_focus("Please, fill in username.", "user_name");return false;}
	
	var password = document.getElementById('pass');
	var password2 = document.getElementById('pass2');
	
	if(action == "ADD") {
		if(password.value == "") {alert_focus("Please, fill in password field.", "pass");return false;}
		if(password.value.length < 4) {alert_focus("Too small password.", "pass");return false;}
		if(password2.value == "") {alert_focus("Please, retype password.", "pass2");return false;}
		if(password2.value != password.value) {alert_focus("Please, retype password.", "pass");return false;}
	}
	if(action == "UPDATE" && password.value != "") {
		if(password.value == "") {alert_focus("Please, fill in password field.", "pass");return false;}
		if(password.value.length < 4) {alert_focus("Too small password.", "pass");return false;}
		if(password2.value == "") {alert_focus("Please, retype password.", "pass2");return false;}
		if(password2.value != password.value) {alert_focus("Please, retype password.", "pass");return false;}
	}
//	if(Trim(privatepass.value) == "") {alert_focus("Please, fill in private password.", "private_pass");return false;}
//	if(Trim(guestpass.value) == "") {alert_focus("Please, fill in guest password.", "guestPass");return false;}
	
	return true;
}


function get_obj(id_name) {
   if (document.getElementById(id_name)) {
      return document.getElementById(id_name);
   } else {
      return null;
   }
}

// for control, if preview window open for preview or not
var global_preview = false;
var move_window = false;
var obj_float_div = get_obj('img_preview');
document.onmousemove = document_onmousemove;

function document_onmousemove(e) {

   if ( !obj_float_div ) return;
   add_x = 10; add_y = 10;
	if(move_window == true) {add_x = -10; add_y = -10;}
   var pos_X = 0;
   var pos_Y = 0;
   
   if ( !e ) e = window.event;
   if ( e ) {
      if ( typeof(e.pageX) == 'number' ) {
         pos_X = e.pageX; pos_Y = e.pageY;
      } else if ( typeof(e.clientX) == 'number' ) {
         pos_X = e.clientX; pos_Y = e.clientY;
         if ( document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' ) ) {
            pos_X += document.body.scrollLeft; pos_Y += document.body.scrollTop;
         } else if ( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' ) ) {
            pos_X += document.documentElement.scrollLeft; pos_Y += document.documentElement.scrollTop;
         }
      }
   }
 
   var scroll_X = 0, scroll_Y = 0;
   if ( document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) ) {
      scroll_X = document.body.scrollLeft; scroll_Y = document.body.scrollTop;
   } else if ( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) ) {
      scroll_X = document.documentElement.scrollLeft; scroll_Y = document.documentElement.scrollTop;
   }
 
   var win_size_X = 0, win_size_Y = 0;
   if (window.innerWidth && window.innerHeight) {
      win_size_X = window.innerWidth; win_size_Y = window.innerHeight;
   } else if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {
      win_size_X = document.documentElement.clientWidth; win_size_Y = document.documentElement.clientHeight;
   } else if (document.body && document.body.clientWidth && document.body.clientHeight) {
      win_size_X = document.body.clientWidth; win_size_Y = document.body.clientHeight;
   }
 
   pos_X += add_x; pos_Y += add_y;
 
   if (obj_float_div.offsetWidth && obj_float_div.offsetHeight) {
      if (pos_X - scroll_X + obj_float_div.offsetWidth + 5 > win_size_X) pos_X -= (obj_float_div.offsetWidth + 25);
      if (pos_Y - scroll_Y + obj_float_div.offsetHeight + 5 > win_size_Y) pos_Y -= (obj_float_div.offsetHeight + 20);
   }
// window.status = pos_X+":"+pos_Y;
   obj_float_div.style.left = pos_X + "px"; 
   obj_float_div.style.top = pos_Y + "px";
 
}







function unlockFolderName(folderId){
	var fn = document.getElementById("folder_"+folderId);
	var ed = document.getElementById("edit_"+folderId);
	var lnk = document.getElementById("folder_link_"+folderId);
	var rd = fn.readOnly;
	
	if(rd == true) {
		lnk.style.display = "none";
		fn.style.display = "block";
		fn.readOnly = false;
		ed.disabled = false;
		fn.style.border = "1px solid #dddddd";
		fn.focus();
		return true;
	} else {
		fn.readOnly = true;
		fn.style.display = "none";
		lnk.style.display = "block";
		ed.disabled = true;
		fn.style.border = "none";
		return true;
		var frm = document.getElementById("form_"+folderId);
		frm.submit();
	}
}

function startMovingInfo(c_id){
	obj_float_div = get_obj('contact_info_'+c_id);
	move_window = true;
}

function stopMovingInfo(c_id){
	obj_float_div = false;
	move_window = false;
}

function openContactInfo(c_id){
	var pr = document.getElementById('contact_info_'+c_id);
	
	if(pr.style.display == "none"  && global_preview == false){
		pr.style.display = "block";
		global_preview = true;
		return true;
	}
	if(global_preview == true)
	{
		hideContactInfoPreview(c_id);
		return true;
	}
}

function showContactInfoPreview(c_id){
	var pr = document.getElementById('contact_info_'+c_id);
	
	if(pr.style.display == "none"  && global_preview == false){
		pr.style.display = "block";
		obj_float_div = get_obj('contact_info_'+c_id);
	}
	document_onmousemove();	
}

function hideContactInfoPreview(c_id){
	var pr = document.getElementById('contact_info_'+c_id);
	if(pr.style.display == "block"){
		pr.style.display = "none";
		obj_float_div = false;
		global_preview = false;
	}
}








function showHelp(txt){
	var el = document.createElement("div");
	el.className = "help_preview";
	el.id = "help_preview";
	el.style.display = "block";
	el.innerHTML = txt;

	document.body.appendChild(el);
	
	obj_float_div = el;
	document_onmousemove();
}


function hideHelp(){
	document.body.removeChild(obj_float_div);
	obj_float_div = null;
/*	var pr = document.getElementById('help_preview');
	if(pr.style.display == "block"){
		pr.innerHTML = "";
		pr.style.display = "none";
	}*/
};




function showPreview(new_path){
	changeImage(new_path);
}


function changeImage(path) {
	var pr = document.getElementById('img_preview');
	var pr_img = document.getElementById('img_preview_img');

	pr.style.display = "block";
	pr_img.src = path;
	
	obj_float_div = get_obj('img_preview');
	document_onmousemove();

}


function hidePreview(path){
	var pr = document.getElementById('img_preview');
	if(pr.style.display == "block"){
		var pr_img = document.getElementById('img_preview_img');
		pr_img.src = "/templates/general/images/image_loading.gif";
		pr.style.display = "none";
		obj_float_div = false;
	}
}
















function checkNewFolderForm(){
	if(Trim(document.getElementById('folder_name').value) == '') {
		alert_focus("Folder name can not be empty.", "folder_name");
		return false; 
	} else { 
		return true;
	}
}

function submitDelForm(formId, message){
	var f = document.getElementById(formId);
	if(confirm(message)) f.submit();
	
	return false;
}

function checkFolderForm(id){
	var fn = (document.getElementById(id));
	if(Trim(fn.value) == "") {alert_focus("Fill in folder name.", id);return false};
	
	return true;
}



function checkAllContacts(){
	var i=0;
	var k = "";
	var main = document.getElementById("all_contacts").checked;
	while(document.getElementById("check_contact_"+i)){
		k = document.getElementById("check_contact_"+i);
		
		k.checked  = main;
		i++;
	}
	enableSendMailButton();
}

function checkCheckedContacts(){
	var i=0;
	var k = true;
	var main = document.getElementById("all_contacts");
	while(document.getElementById("check_contact_"+i))
	{
		if(!document.getElementById("check_contact_"+i).checked) {
			k = false;
			break;
		}
		i++;
	}
	main.checked = k;
	enableSendMailButton();
}

function enableSendMailButton(){
	var i=0;
	var k = true;
	var main = document.getElementById("send_mail");
	while(document.getElementById("check_contact_"+i))
	{
		if(document.getElementById("check_contact_"+i).checked) {
			k = false;
			break;
		}
		i++;
	}
	main.disabled = k;
}

function setPictureName(){
	var img_obj = document.getElementById('new_picture');
	var name = document.getElementById('picture_name');
	
	var img_type = img_obj.value.split('/');
	if(img_type.length == 1) img_type = img_obj.value.split('\\');
	var filename = img_type[img_type.length-1];
	var ext = filename.split(".");
	if(ext.length < 2) 
	{
		alert("Please, select JPEG, GIF or PNG files.");
		img_obj.value = "";
		return false;
	} else {
		ext = ext[1].toLowerCase();
		if(ext=="jpg" || ext=="gif" || ext=="png") {
			if(Trim(name.value) == "") name.value = filename;
			return true;
		} else {
			alert("Image file type must be JPEG, GIF or PNG.");
			img_obj.value = "";
			return false;
		}
	}
}


function checkPictureForm(){
	var fl = document.getElementById('new_picture');
	var img_obj = document.getElementById('picture_name');
	var old_pic = null;
	if(document.getElementById('oldfile'))  old_pic = document.getElementById('oldfile').src;
	if(Trim(fl.value) == "" && old_pic == null) {alert_focus("Please, select a file from your hard disk.", "new_picture");return false;}
	
	if(old_pic == null) {
		var img_type = fl.value.split('/');
		if(img_type.length == 1) img_type = fl.value.split('\\');
		var filename = img_type[img_type.length-1];
		var ext = filename.split(".");
		if(ext.length < 2 ) 
		{
			alert("Please, select JPEG, GIF or PNG files.");
			img_obj.value = "";
			return false;
		} else {
			ext = ext[1].toLowerCase();
			if(ext=="jpg" || ext=="gif" || ext=="png") {
				if(Trim(img_obj.value) == "") img_obj.value = filename;
				return true;
			} else {
				alert("Image file type must be JPEG, GIF or PNG.");
				img_obj.value = "";
				return false;
			}
		}
	}
	return true;
}


function addFolder(folderName, folderId){
	document.getElementById('addfolder').style.display = 'block';

	
	if(folderName == null) {
		document.getElementById('parent_id').value = 0;
		changeInnerHTML('ttl', '<b>Add Main Folder</b>');
	} else {
		document.getElementById('parent_id').value = folderId;
		changeInnerHTML('ttl', '<b>Add Subfolder for '+folderName+'</b>');
	}
	document.getElementById('folder_name').focus();
}

function canselAddFolder(){
	document.getElementById('addfolder').style.display = 'none';
}

var oldStyleValues = new Object();

function changeStyleValue(objId, stName, stValue){
	var obj = get_obj(objId);
	if(obj == null || obj == undefined) return ;

//	eval("obj.style."+
	
//	alert(obj.style[stName][stValue]);
	var stTxt = "obj.style."+stName;
	oldStyleValues += {objId:[stName, eval(stTxt)]};
	
	var t = eval(stTxt+"='"+stValue+"'");
	
}

function restoreStyleValue(objId){
	var obj = get_obj(objId);
	if(obj == null || obj == undefined) return ;
//	eval("obj.style."+
	
//	alert(obj.style[stName][stValue]);
	
	var t = eval("obj.style."+stName+"='"+stValue+"'");
}

function showProps(obj){
	var txt = "";
	for(var i in obj){
		if(typeof i == "object") {
			txt += showProps(i);
		} else {
			txt += i+"."+obj[i]+"\n";
		}
	}
	
	return txt;
}