/*
** openWin(path,name,w,h)
** open a pop-up window
**
** path: string: href to window source
** name: string: name of window
** w   : int   : window width
** h   : int   : window height
**
*/
var pictureWindow;
function doOpenPictureList(path,name,w,h) {
    aWin = window.open(path,name,'toolbar=no,location=no,directories=no,status=no,status=no,scrollbars=yes,resizable=no;copyhistory=no,width=' + w + ',height='+ h +'');
    if (aWin.opener == null) aWindow.opener = self;
    return false;
}

//
// Requirements:  The opener must have a form called 'bygnetForm' with fields PICTURE_ID_* and PICTURE_HREF_*
// Used by:       news_edit_add.wm / bygnet_admin_frame_detached.wm / bcbook.wm
//
//

function GetSelectedPicturesId(){
	var selectedPictures = new Array(); 
    var chk = document.getElementsByTagName("input");
    for ( var i = 0; i < chk.length; i++) {
    	if ( chk[i].type == "checkbox" && chk[i].name && chk[i].name.indexOf("markPic") == 0) {
    		if (chk[i].checked) {
    			var name = chk[i].name.split("_");
    			selectedPictures.push(name[1]);
    		}
    	}
    }
    return selectedPictures;
}

function doClosePictureList(position) {
    if(position == 0){
    	saveImageToTextEditor();
    } else if(position < 0) { 
    	saveManyPictures(Math.abs(position));
    } else { 
    	saveOnePicture(position);
    }
}

function doClosePictureUpload( position, id, src) {
	updateOpener(position, id, src);
	closeWindow();
}

function saveOnePicture(position){
    var selectedPictures = GetSelectedPicturesId();
   	if(selectedPictures.length > 1) { 
   		alert(localization["can_select_one_picture"]);
   	} else if(selectedPictures.length > 0) {
		var id = selectedPictures[0];
	   	var img = document.getElementById("Pic_" + id);
	   	var src = img.getAttribute("src_for_save");
	   	updateOpener(position, id, src);
		closeWindow();
    }
}

function updateOpener(position, id, src){
   	var  fieldName = 'PICTURE_ID_' + position;
   	var  imageName = 'PICTURE_HREF_' + position;

    // Find the element named 'fieldName'
    for ( var i = 0; i < window.opener.document.bygnetForm.elements.length; i++) {
        if ( window.opener.document.bygnetForm.elements[i].name == fieldName) {
            window.opener.document.bygnetForm.elements[i].value = id;
            break;
        }
    }
    // Find the element named 'imageName'
    for ( var i = 0; i < window.opener.document.images.length; i++) {
        if ( window.opener.document.images[i].name == imageName) {
            window.opener.document.images[i].src = src;
            break;
        }
    }
}

function saveManyPictures(maxcount) {
    var selectedPictures = GetSelectedPicturesId();
    var NewsPictures = window.opener.document.getElementById("NewsPics");
    var picCount = 0;
    var DivClassName = "NewsPic";
    var divs = NewsPictures.getElementsByTagName('div');
    for ( var i = 0; i < divs.length; i++) {
    	if (divs[i].className == DivClassName) picCount++;
    }
    if(selectedPictures.length + picCount > maxcount) { 
   		alert(localization["can_select_limit_pictures"] + (maxcount - picCount));
    } else {
	    for ( var i = 0; i < selectedPictures.length; i++) {
		    id = selectedPictures[i];
		    var img = document.getElementById("Pic_" + id);
		    var newPicContainer = window.opener.document.createElement('div');
		    newPicContainer.className = DivClassName;
		    newPicContainer.id = 'NewsPic_' + id;
		    picCount++;
		    var src = img.getAttribute("src_for_save");
		    newPicContainer.innerHTML = 
		    					'<img src="' + src + '" name="PICTURE_HREF_' + picCount + '" onLoad="loadPicture(this);">'+ 
	    						'<br>' +
	    						img.alt + '<BR>' +
								'<input type=button onClick="removePictureFromNews(' + id + ')" value="' + localization["detach_picture"] + '">'+
								'<input type="hidden" name="PICTURE_ID' +  '" value="' + id + '">';
		    NewsPictures.appendChild(newPicContainer);
		}
		resizePictureDivs(window.opener);
		closeWindow();
	}
}		

function saveImageToTextEditor(){
    var selectedPictures = GetSelectedPicturesId();
   	if(selectedPictures.length > 1) { 
   		alert(localization["can_select_one_picture"]);
   	} else if(selectedPictures.length > 0) {
		var id = selectedPictures[0];
	   	var img = document.getElementById("Pic_" + id);
	   	var href = img.getAttribute("src_for_save");
		window.opener.SetUrl( encodeURI( href ) ) ;
		window.close();
		window.opener.focus() ;
    }
}

function closeWindow(){
	setTimeout("window.close()",800);
}

function removePictureFromNews(pic_id){
	var pic = document.getElementById('NewsPic_' + pic_id);
	pic.parentNode.removeChild(pic);
	resizePictureDivs(window);
}

function loadPicture(img) {
	img.setAttribute('loaded', true);
}

function resizePictureDivs(w){
    var DivClassName = "NewsPic";
	if(w == null) {
		w = pictureWindow 
	} else { 
		pictureWindow = w;
	}
	var NewsPictures = w.document.getElementById("NewsPics");
    var divs = NewsPictures.getElementsByTagName('div');

    var loaded = true;
    for ( var i = 0; i < divs.length; i++) {
   		if (divs[i].className == DivClassName && divs[i].getElementsByTagName('img')[0].getAttribute('loaded')==null) {
   			loaded = false;
   			break;
		}
	}
	if(!loaded) {
		setTimeout("resizePictureDivs(null)",10);
		return;
	}
	
    var maxHeight = 0;
    for ( var i = 0; i < divs.length; i++) {
   		if (divs[i].className == DivClassName) {
   			divs[i].getElementsByTagName('img')[0].style.marginBottom = '0px';
   		 	if(divs[i].offsetHeight > maxHeight) 
   				maxHeight = divs[i].offsetHeight;
  		}
   	}
    for ( var i = 0; i < divs.length; i++) {
   		if (divs[i].className == DivClassName) 
   			divs[i].getElementsByTagName('img')[0].style.marginBottom = maxHeight - divs[i].offsetHeight + 'px';
   	}
}

function checkAll(value){
	myInputElements = document.getElementsByTagName("input");
	for (key in myInputElements){
		name = myInputElements[key].name;
		if(name && name.indexOf("markPic") == 0){
			myInputElements[key].checked=value;	
		}
 	}
}
function massedit(){
	view('hierarchy');
	hide('initiateMove2Group');
	ids = "";
	myInputElements = document.getElementsByTagName("input");
	for (key in myInputElements){
		name = myInputElements[key].name;
		if(name && name.indexOf("markPic") == 0){
			if(myInputElements[key].checked){
				id = name.substring(name.indexOf("_")+1,name.length);
				ids+=id+"|";
 			}
			myInputElements[key].disabled=true;	
		}
 	}
 	document.getElementById("picture_ids").value = ids;
}
function collectGroupsAndSubmit(){
	ids = "";
	myInputElements = document.getElementsByTagName("input");
	for (key in myInputElements){
		name = myInputElements[key].name;
		if(name && name.indexOf("CB_PICTURE_GROUP") == 0){
			if(myInputElements[key].checked){
				id = name.substring(name.lastIndexOf("CB_PICTURE_GROUP")+17,name.length);
				ids+=id+"|";
 			}
		}
 	}
 	document.getElementById("group_ids").value = ids;
 	doSubmit();
}
function deleteChecked(){
	ids = "";
	if(confirm('Vil du slette alle markerede billeder?')){
		myInputElements = document.getElementsByTagName("input");
		for (key in myInputElements){
			name = myInputElements[key].name;
			if(name && name.indexOf("markPic") == 0){
				if(myInputElements[key].checked){
					id = name.substring(name.indexOf("_")+1,name.length);
					ids+=id+"|";
  				}
			}
  		}
  		document.getElementById("delete_picture_ids").value = ids;
		document.getElementById("deleteForm").submit();
	}
	else{
		return false;
	}
}