

var hostName = location.host;

var serverHostname = 'http://'+hostName;

function MM_openBrWindow(theURL,winName,features) {
  var winObj;
  winObj = window.open(theURL,winName,features);
}

function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
	return document.layers[objectId];
	} else {
	return false;
	}
}

function getObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId);
	} else if (document.all && document.all(objectId)) {
	return document.all(objectId);
	} else if (document.layers && document.layers[objectId]) {
	return document.layers[objectId];
	} else {
	return false;
	}
}

function changeObjectVisibility(objectId, newVisibility) {
	var styleObject = getStyleObject(objectId);
	if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
	} else {
	return false;
	}
}

function changeObjectProperty(objectId, cssProperty, newValue) {
	var styleObject = getStyleObject(objectId);
	if(styleObject) {
	eval("styleObject."+cssProperty+" = newValue");
	return true;
	} else {
	return false;
	}
}

function createCookie(name,value,days){
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	var ck = name+"="+value+expires+"; path=/";
	document.cookie = ck;
}

function readCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i<ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function showWrap(){
	changeObjectProperty('wrapper','visibility','visible');
	changeObjectProperty('contentcontainer','display','block');
	changeObjectProperty('gencntnr','visibility','visible');
}

function nvp_struct(){
		var args = nvp_struct.arguments;
		this.nvp_qvpair = args[0];
		this.nvp_var = args[1];
		this.nvp_value = args[2];
}

var nvp_array = new Array;
function nvp_parse(){
	var querystring = location.search; nvp = querystring.indexOf('&'); searchstring = "true"; prev_nvp = 1; x = 0;
	do {
	if (nvp == -1){nvp = querystring.length; searchstring = "false";}
	var nvp_qvpair = querystring.substring(prev_nvp, nvp); nvp_var = nvp_qvpair.substring(0, nvp_qvpair.indexOf('=')); nvp_value = nvp_qvpair.substring(nvp_qvpair.indexOf('=')+1);
	nvp_array[x] = new nvp_struct(nvp_qvpair,nvp_var,nvp_value); querystring = querystring.substring(nvp + 1,querystring.length);
	if(querystring == null){searchstring = "false"} else {var prev_nvp = 0;		nvp = querystring.indexOf('&');		x++;}
	} while (searchstring == "true")
}

function nvp_get(){
	var args = nvp_get.arguments; nvpsearch = args[0]; nvpvalue = "noval"; nvp_length = nvp_array.length;
	for (var x = 0; x != nvp_length; x++){
		if(nvp_array[x].nvp_var == nvpsearch){nvpvalue = nvp_array[x].nvp_value};
	}
return nvpvalue;
}


function fadeThisDiv(divname){
	var floatThisDiv = false;
	if (document.getElementById(divname).style.display == 'none'){
		var ctnTop = 175;
		var nLeft = document.getElementById('wrapper').offsetLeft+"px";
		var nLeft2 = (document.getElementById('checkoutHeader').offsetLeft + 250)+"px";
		var nHeight = document.getElementById('wrapper').offsetHeight+"px";
		var nWidth = document.getElementById('wrapper').offsetWidth+"px";
		var nTop = ctnTop + "px";
		var divObj = document.getElementById(divname);
		var wrapObj = document.getElementById('wrapper');
		
		changeObjectProperty('editMode', 'left', nLeft);
		changeObjectProperty('editMode', 'height', nHeight);
		changeObjectProperty('editMode', 'width', nWidth);
		changeObjectProperty(divname, 'left', nLeft2);
		changeObjectProperty(divname, 'top', nTop);
		
		if (divObj.childNodes[0].id != 'cover') {
			var ieMat=document.createElement('iframe');
			ieMat.src="/ruh/blank.html";
			ieMat.scrolling="no";
			ieMat.frameBorder="0";
			ieMat.id="cover";
			ieMat.style.background = 'none';
			ieMat.style.width=getStyleObject(divname).width;
			ieMat.style.height=getStyleObject(divname).height;
			ieMat.style.zIndex="-1";
			divObj.insertBefore(ieMat, divObj.childNodes[0]);
		}
		floatThisDiv = true;
		//cmCreatePageviewTag("FADE UP: "+divname,"13000");
	}
	myEffects.fade('editMode');
	myEffects.fade(divname);
	if (floatThisDiv){
		JSFX_FloatTopDiv(divname);
	}
}

var verticalpos="fromtop"

function JSFX_FloatTopDiv(thediv)
{
	var startX = document.getElementById('wrapper').offsetLeft + 125;
	startY = 130;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;
	function ml(id)
	{
		var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
		if(d.layers)el.style=el;
		el.sP=function(x,y){
			this.style.top=y + "px";;
		};
		el.x = document.getElementById('wrapper').offsetLeft + 125;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : document.documentElement.scrollTop + document.documentElement.clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function()
	{
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : document.documentElement.scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight : document.documentElement.scrollTop + document.documentElement.clientHeight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml(thediv);
	stayTopLeft();
}

var myEffects = {
  fade: function(elid) {
	var opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1"];
	var opacs2 = ["0",".1",".2",".3",".4",".5",".6"];
	if (document.getElementById(elid).style.display == 'none'){
		if(elid == 'editMode'){
			document.getElementById(elid).style.opacity = '0';
			document.getElementById(elid).style.filter = 'alpha(opacity=0)';
			document.getElementById(elid).style.display = 'block';
			for (var i = 0; i < 7; i++){
				setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs2[i]+'";', i * 40);
				setTimeout('document.getElementById(\''+elid+'\').style.filter = "alpha(opacity='+(opacs2[i] * 100)+')";', i * 40);
			}
		} else {
			document.getElementById(elid).style.opacity = '0';
			document.getElementById(elid).style.filter = 'alpha(opacity=0)';
			document.getElementById(elid).style.display = 'block';
			for (var i = 0; i < 11; i++){
				setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs[i]+'";', i * 40);
				setTimeout('document.getElementById(\''+elid+'\').style.filter = "alpha(opacity='+(opacs[i] * 100)+')";', i * 40);
			}
		}
	}else{
		if(elid == 'editMode'){
			opacs2.reverse();
			for (var i = 0; i < 7; i++) {
		    	setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs2[i]+'";', i * 40);
		    	setTimeout('document.getElementById(\''+elid+'\').style.filter = "alpha(opacity='+(opacs2[i] * 100)+')";', i * 40);
			}
			setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * 40);
		} else{
			opacs.reverse();
			for (var i = 0; i < 11; i++) {
		    	setTimeout('document.getElementById(\''+elid+'\').style.opacity = "'+opacs[i]+'";', i * 40);
		    	setTimeout('document.getElementById(\''+elid+'\').style.filter = "alpha(opacity='+(opacs[i] * 100)+')";', i * 40);
			}
			setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * 40);
		}
	}
   }
}

function setContent(id,content){
	if (document.all){
		document.all[id].innerHTML = content;
	} else if (document.layers){
		document.layers[id].innerHTML = content;
	} else if (document.getElementById){
		document.getElementById(id).innerHTML = content;
	}
}


function ajaxCall(url, params, cb, m, rt, as) {

	this.url = url
	this.parameters = params
	this.callback = cb
	this.method = m ? m : 'get'
	this.responseType = rt ? rt : 'text/xml'
	this.async = as ? as : true
	this.response = null

}

ajaxCall.prototype.parseForm = function(form){
	var formObj = null;
	if(typeof(form) == 'string'){
		if(document.forms[form]) formObj = document.forms[form]
		else if(document.getElementById(form)) formObj = document.getElementById(form)
	}else if (typeof(form) == 'object') formObj = form

	if(!formObj) return
}

ajaxCall.prototype.makeRequest = function(){
	var urlString = this.url;
	if(this.parameters){
		urlString += '?'
		for(p in this.parameters) urlString += p + '=' + this.parameters[p] + '&';
	}
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
			http_request.overrideMimeType(this.responseType);
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) return false;
	var ajaxObj = this;
	http_request.onreadystatechange = function() {ajaxObj.getContents(http_request)};
	http_request.open(this.method, urlString, this.async);
	http_request.send('');

}

ajaxCall.prototype.getContents = function(http_request){
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
        	this.response = http_request.responseText;
        	this.callback(http_request)       	
        } else {
        }
    } else {
    }
}

function addEvent(elm, evType, fn, useCapture){
//x-browser event handling function written by Scott Andrew
	if(elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}else if(elm.attachEvent){
			var r = elm.attachEvent('on' + evType, fn);
			//EventCache.add(elm, evType, fn);
			return r;
	}else{
			elm['on' + evType] = fn;
	}
}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}
function getElementsByClassName(node, classname){
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}