NN = {}
/*
}
Effect.MyNewParallelEffect = function(element) {
    element = $(element);
    var oldStyle = {
        opacity: element.getInlineOpacity(),
        position: element.getStyle('position'),
        top:  element.style.top,
        left: element.style.left,
        width: element.style.width,
        height: element.style.height
    };
    return new Effect.Parallel(
        [
            new Effect.Scale(element, 150, {
                sync: true,
                scaleFromCenter: true,
                scaleContent: true,
                restoreAfterFinish: true
            }),
            new Effect.Opacity(element, {
                sync: true,
                to: 0.0
            })
        ],
        Object.extend({
            duration: 1.0,
            beforeSetupInternal: function(effect) {
                Position.absolutize(effect.effects[0].element)
                //absolutize(element);
            },
            afterFinishInternal: function(effect) {
                effect.effects[0].element.hide().setStyle(oldStyle);
            }
        }, arguments[1] || {})
    );
};*/

document.addStyleSheet = function(url) {
    var added, style;
    $$('link[rel=stylesheet]').each(function(st) {
        if (st.href.match(url)) added = true;
    });
    if (!added) {
        style = new Element('link', {rel: 'stylesheet', type: 'text/css', href: url});
        $$('head')[0].insert(style);
        return style;
    }
}

writeURLParams = function(params, url) {
    url = url || document.location;
    var newurl = url.toString().toQueryParams();
    
    for (var param in params) {
        newurl[param] = params[param];
    }
    return Object.toQueryString(newurl);
}

// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
function getMSIEver() {
  var rv = -1;
  if (navigator.appName == 'Microsoft Internet Explorer') {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);
  }
  return rv;
}

// IE 5, 6 Fixes
if(getMSIEver() < 7) {
	if (document.all && document.styleSheets && document.styleSheets[0] && document.styleSheets[0].addRule) {
		//document.styleSheets[0].addRule('img', 'behavior:url("../scripts/iepngfix.htc")');
		//document.styleSheets[0].addRule('.pngfix', 'behavior:url("../scripts/iepngfix.htc")');
		document.styleSheets[0].addRule('body', 'behavior:url("../scripts/iehover.htc")');
	}
}

function externalLinks() {
	$$('a[rel="external"]').each(function(el) {
        el.target="_blank";
    });
  /*if (!document.getElementsByTagName) return;
  var anchors = document.getElementsByTagName("a");
  for (var i = 0; i < anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
  }*/
}

function togglePassword(el) {
    if (Prototype.Browser.IE) return;
    if (el.type.toLowerCase() == "text") {
        el.type = "password";
        el.focus();
    } else if (el.type.toLowerCase() == "password") {
        el.type = "text";
        /*var txt = document.createElement('input');
        txt.type = 'text';
        txt.type = '';
        txt.type = 'password';
        txt.type = 'hidden';
        txt.type = type;
        el.parentNode.replaceChild(txt, el);*/
        
        //var n = new Element('input');
        /*var txt = Object.clone(el);
        txt.type = "text";
        var n = Object.toElement(txt);
        //var n = el.replace('<p>asd</p>');
        //var txt = el.cloneNode(true);
        //Object.extend(txt, el);
        alert(n);*/
        //el.parentNode.replaceChild(txt, el);
        /*var txt = el;
        //el.insert({after: txt});
        //el.remove();
        //txt = el.serialize();
        //alert(txt.inspect());
        //alert(Object.toQueryString(txt));
        //alert(txt);
        return txt;*/
    }
}


function formStyling() {
	//$$('button::-moz-focus-inner').each(function(el){el.style = 'padding:0; border:0;'});
    
    /*$$('input[type="password"]').each(function(el) {
        el = togglePassword(el);
    });*/
    
    /*$$('button.pushbutton').each(function(el) {
    });*/
    
	$$('input[type="text"], input[type="password"]').each(function(el) {
		el.firstClick = true;
        el.isSelected = false;
		el.initVal = el.getValue();
		el.initBlank = el.value.blank();
        el.isPassword = (el.type.toLowerCase() == "password");
		
		if (el.initBlank) {
            if (el.isPassword) togglePassword(el);
			el.value = el.initVal = el.title;
			el.setStyle('color:#DDDDDD');
			/*if (el.type == "password") {
				el.type = "text";
			}*/
		}
		
        el.observe('mousedown', function(e) {
            /*if (!el.isSelected) {
                //el.firstClick = false;
                el.select();
            }*/
            ////$('alerts').innerHTML = el.name + " : " + e.type;
        });
        
        el.observe('focus', function(e) {
            if (el.value == el.title) {
                el.clear();
                el.setStyle('color:#666666');
                if (el.isPassword) togglePassword(el);
            }
            el.select();
            ////$('alerts').innerHTML +=  " > " + e.type;
        });
        
        el.observe('mouseup', function(e) {
            //e.cancelBubble = true;
            /*if (!el.isSelected) {
                el.select();
            }*/
            ////$('alerts').innerHTML += " > " + e.type;
        });
        
        el.observe('click', function(e) {
            if (el.firstClick) {
                el.firstClick = false;
            }
            if (!el.isSelected) el.select();
            ////$('alerts').innerHTML += " > " + e.type;
        });
        
        el.observe('select', function(e) {
            //Event.stop(e);
            el.isSelected = true;
            ////$('alerts').innerHTML +=  " > " + e.type;
        });
        
        el.observe('keyup', function(e) {
            if (Event.KEY_ESC != e.keyCode) return;
            el.value = el.initVal;
            el.blur();
        });
        
        el.observe('blur', function(e) {
            el.firstClick = true;
            el.isSelected = false;

            if (el.value.blank()) {
                if (el.isPassword) togglePassword(el);
                el.setStyle({color: '#DDDDDD'});
                el.value = el.title;
            }
            
            el.initVal = el.value;
        });
    });
    
	//initVal = $('searchquery').getValue();
	//$('searchquery').observe('blur', function(){if(el.value.blank()) el.value = el.initVal;})
	
}



Object.extend(Element.Methods, {
    copyTo: function(element, target) {
        element = $(element);
        clone = element.cloneNode(true);
        clone.id = 'copyof_' + element.id;
        $A(clone.childNodes).each(function(cl) {
            if (cl.id) cl.id = 'copyof_' + cl.id;
        });
        $(target).appendChild(clone);
        return clone;
    },
    moveTo: function(element, target) {
        $(target).appendChild(element);
        return element;
    }
});
Element.addMethods();



document.observe("dom:loaded", function() {
	externalLinks();
	formStyling();
    /*
    $$('a').each(function(el) {
        el.clickable = true;
        el.onclick = function(event) {
            //e = e || event;
            //e.cancelBubble = true;
            alert(this.clickable);
            //if (!this.clickable) return false;
            return this.clickable;
        }
    });
    */
});

/*
Event.observe(window, 'load', function() {
	externalLinks();
});
*/



