/**
 * @author pversai
 */
/**
 * Adds event listner object to specifyed element
 * @param {Function} fn
 * @param {Object} elm Element to register the event on
 * @param {String} evType Event type
 * @param {Boolean} useCpature event registration type
 */
var addEvent = function(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		//alert("Setting " + evType + " on " + (elm.id || elm));
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

var removeEvent = function( elm, evType, fn, useCapture ) {
  if (elm.removeEventListener){
  	elm.removeEventListener(evType, fn, useCapture);
  }else if(elm.detachEvent) {
  	//alert("removing " + evType + " from " + (elm.id || elm));
  	elm.detachEvent('on' + evType, fn);
  }else{
  	 elm[type + fn] = null;
  }
}

var Event = function(e){
	try{
		var event = e || window.event;
		this.target = event.currentTarget || event.srcElement;
		if (this.target.nodeType == 3) // defeat Safari bug
			this.target = targ.parentNode;
		this.type = event.type;
	} catch (error){}
}

/**
 * @name findPos
 * @description finds the position top and left position of any html element in a page.
 * @param {Object} element
 * @return array containig left position and top position.
 */
function findPosition(element){
	var curleft = 0;
    var curtop = 0;
    var curwidth = 0;
    var curheight = 0;
	if (element.offsetParent) {
		curleft = element.offsetLeft;
		curtop = element.offsetTop;
		while (element = element.offsetParent) {
			curleft += element.offsetLeft;
			curtop += element.offsetTop;
		}
	}
	return [curleft, curtop];
}
//Trims spaces left and right of a string
function Trim(str){
    str = str.replace(/^[ \t\n\r\f\v]*/,'');
    str = str.replace(/[ \t\n\r\f\v]*$/,'');
    return str;
}
function $(id){
	return document.getElementById(id);
}

function $t(name){
	return document.getElementsByTagName(name);
}

function $c(name){
	return document.createElement(name);
}

/**
 * @to show and clear the default textbox values.
 */
function clickclear(thisfield, defaulttext) {
	if (thisfield.value == defaulttext) {
	thisfield.value = "";
	}
}
function clickrecall(thisfield, defaulttext) {
	if (thisfield.value == "") {
	thisfield.value = defaulttext;
	}
}
/**
* To set the iframe height according to the content 
*/
function calcHeight(){
	//find the height of the internal page
	var the_height= document.getElementById('the_iframe').contentWindow.document.body.scrollHeight;

	//change the height of the iframe
	document.getElementById('the_iframe').height=the_height;
}
