// ----------------------------------------------------------------------------------------------
// iLibrary.js - iMedia.nl
// Copyright iMedia 2006
// ----------------------------------------------------------------------------------------------

var hasIE = navigator.appName.toLowerCase().indexOf('microsoft') != -1 ? 1 : 0;
var hasMac =  navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 1 : 0;
var hasWin = !hasMac ? 1 : 0;
var hasSafari =  navigator.userAgent.toLowerCase().indexOf('safari') != -1 ? 1 : 0;
var hasMozilla = navigator.appName.toLowerCase().indexOf('netscape') != -1 && !hasSafari ? 1 : 0;
var hasWinIE = hasIE && !hasMac ? 1: 0;
var hasMacIE = hasIE && hasMac ? 1: 0;

var _baseurl = "/downloadxmlproperty.pp";


/**
 * Default iMedia Rollover script
 */
var iSmartRollOver = function(element) {
		if (element != null) {
			var strFilename,strExt, intPos;
			strFilename = element.src.toLowerCase();
			intPos = strFilename.lastIndexOf(".");
			strExt = strFilename.substring(intPos);
			strFilename = strFilename.substring(0, intPos);
			intPos = strFilename.indexOf("_ro");
			if (intPos == -1) {
				strFilename = strFilename + "_ro" + strExt;
			} else {
				strFilename = strFilename.substring(0, intPos) + strExt;
			}
			element.src = strFilename;
		}
	};


/**
 * Popup a new window...
 */
var NewWin = function(url,width,height,name) {
	ThisWindow = window.open(url, name,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width='+width+',height='+height);
}

/**
 * Generic div toggle
 */
function toggleHide(strO) {
    var o = document.getElementById(strO);
	if (o == null)
		return;
	if (o.style.display == 'none')
		o.style.display  = '';
	else
		o.style.display  = 'none';
}

/**
 * Lister functions
 */
var iRowRollOver = function(obj) {
	var objCells;
	var strClassName;
	var intPos;
	if (obj != null)
	{
		objCells = obj.cells;
		if (objCells != null)
		{
			for(var i=0;i<objCells.length;i++)
			{
				strClassName = objCells[i].className;
				intPos = strClassName.indexOf("_ro");
				if (intPos == -1)
				{
					strClassName = strClassName + "_ro";
				}
				else
				{
					strClassName = strClassName.substring(0, intPos);
				}
				objCells[i].className = strClassName;
				}
		}
	}
}

var iRowClick = function(url) {
	document.location = url;
}


/**
 * Show alert confirmation and go to url
 */
var iAlert = function (alert,url) {
	if(confirm(alert))
		document.location = url;
}

/**
 * SearchForm functions
 */
var ClickedAll = function(form, strName) {
	var blnSet=form[strName + "All"].checked ;
	for (i=0; i<form.elements.length; i++) {
		if (form.elements[i].name == strName)
			form.elements[i].checked = blnSet;
	}
}

var SetAll = function(form, strName) {
	var blnSet=true;
	for (i=0; i<form.elements.length; i++) {
		if (form.elements[i].name == strName)
			blnSet = blnSet & form.elements[i].checked;
	}
	form[strName + "All"].checked = blnSet;
}

var ClickedAllWithList = function(form, strName) {
	var blnSet=form[strName + "All"].checked ;
	var objList = form[strName];
	for (i=0; i<objList.options.length; i++)
		objList.options[i].selected = blnSet;
}

var SetAllWithList = function(form, strName) {
	var intSelected = 0;
	var objList = form[strName];
	for(i=0; i<objList.options.length; i++)
		if (objList.options[i].selected) intSelected++;
	form[strName + "All"].checked = (intSelected == objList.options.length);
}

/**
 * Thumbnail related
 */
var toggleThumbnailMenu = function(strO) {
	var o = document.getElementById(strO);
	if (o == null)
		return;
	if (o.style.display == 'none')
		o.style.display  = '';
	else
		o.style.display  = 'none';
}

/**
 * IPTC Mapping related
 */
var storeCaret = function(textEl) {
	setLyr(textEl, 'IPTCSelecterDiv');
	latestObject = textEl;
	if ((!hasIE && !hasMozilla) || hasMac)
		return;
	if (document.selection) {
		if (textEl.createTextRange) 
			textEl.caretPos = document.selection.createRange().duplicate();
	} else {
		intStart = textEl.selectionStart;
		intEnd = textEl.selectionEnd;
	}
}

var insertAtCaret = function(text) {
	if ((!hasIE && !hasMozilla) || hasMac) {
		latestObject.value = latestObject.value + text;
		return;
	}
	if (latestObject == undefined)
		return;
	if (document.selection) {
		if (latestObject.createTextRange && latestObject.caretPos) {
			var caretPos = latestObject.caretPos;
			caretPos.text =	caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?text + ' ' : text;
		} else {
			latestObject.value  = text;
		}
	} else {
		before = (latestObject.value).substring(0, intStart);
		sel = (latestObject.value).substring(intStart, intEnd);
		after = (latestObject.value).substring(intEnd, latestObject.textLength);
		latestObject.value  = before + text + after;
	}
}

var setLyr = function(obj,lyr) {
	var newY = findPosY(obj);
	var x = new getObj(lyr);
	x.style.top = newY;
}

var getObj = function(name) {
	if (document.getElementById) {
		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	} else if (document.all) {
		this.obj = document.all[name];
		this.style = document.all[name].style;
	} else if (document.layers) {
		if (document.layers[name]) {
			this.obj = document.layers[name];
			this.style = document.layers[name];
		} else {
			this.obj = document.layers.testP.layers[name];
			this.style = document.layers.testP.layers[name];
		}
	}
}

var findPosY = function(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop-83;
}

function getRandom()
{
	return Math.random() * 99999;
}


