
function getStyle(x,styleProp, styleProp2)
{
	var y = '';
		
	if (x.currentStyle)
		y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp2);
	
	if (y == undefined)
		return '';
		
	return y;
}

function copyBlockMass(link,dst_id,src_id,designid,type,info)
{
	var src = document.getElementById(src_id); 
	var dst = document.getElementById(dst_id); 

	if (src == null || dst == null || (src == dst))
	{
		return link;
	}

	dst.style.fontFamily = getStyle(src,'fontFamily','font-family');
	dst.style.color = getStyle(src,'color','color');
	dst.style.fontSize = getStyle(src,'fontSize','font-size');
	dst.style.fontStyle = getStyle(src,'fontStyle','font-style');
	dst.style.fontWeight = getStyle(src,'fontWeight','font-weight');
	dst.style.filter = getStyle(src,'filter','filter');
	dst.style.padding = getStyle(src,'paddingLeft','padding-left');
	
	var opacity = getStyle(src,'opacity','opacity');
	if (opacity != 1)
		dst.style.opacity = opacity;
	else
		dst.style.opacity = null;
		
	dst.style.textAlign = getStyle(src,'textAlign','text-align');
	
	var bid = src.getAttribute('bid');

	var height = getStyle(src,'height','height')
		
	if (height != "" && bid != undefined)
		dst.style.height = height;

	if (type != 2)
	{
		dst.style.display = getStyle(src,'display','display'); 
		dst.style.marginBottom = getStyle(src,'marginBottom','margin-bottom'); 

		dst.style.borderWidth = getStyle(src,'borderLeftWidth','border-left-width');
		dst.style.borderColor = getStyle(src,'borderLeftColor','border-left-color');
		dst.style.borderStyle = getStyle(src,'borderLeftStyle','border-left-style');
		dst.style.marginLeft = getStyle(src,'marginLeft','margin-left');
		dst.style.marginRight = getStyle(src,'marginRight','margin-right');

		var corner_dst = document.getElementById(dst_id + "_ul");
		var corner_src = document.getElementById(src_id + "_ul");
		if (corner_dst && corner_src) {corner_dst.src = corner_src.src; corner_dst.style.width = getStyle(corner_src,'width','width'); corner_dst.style.height = getStyle(corner_src,'height','height'); corner_dst.style.marginLeft = getStyle(corner_src,'marginLeft','margin-left');}
		corner_dst = document.getElementById(dst_id + "_ur");
		corner_src = document.getElementById(src_id + "_ur");
		if (corner_dst && corner_src) {corner_dst.src = corner_src.src; corner_dst.style.width = getStyle(corner_src,'width','width'); corner_dst.style.height = getStyle(corner_src,'height','height'); corner_dst.style.marginRight = getStyle(corner_src,'marginRight','margin-right');}
		corner_dst = document.getElementById(dst_id + "_ll");
		corner_src = document.getElementById(src_id + "_ll");
		if (corner_dst && corner_src) {corner_dst.src = corner_src.src; corner_dst.style.width = getStyle(corner_src,'width','width'); corner_dst.style.height = getStyle(corner_src,'height','height'); corner_dst.style.marginLeft = getStyle(corner_src,'marginLeft','margin-left');}
		corner_dst = document.getElementById(dst_id + "_lr");
		corner_src = document.getElementById(src_id + "_lr");
		if (corner_dst && corner_src) {corner_dst.src = corner_src.src; corner_dst.style.width = getStyle(corner_src,'width','width'); corner_dst.style.height = getStyle(corner_src,'height','height'); corner_dst.style.marginRight = getStyle(corner_src,'marginRight','margin-right');}

		var value = getStyle(src,'backgroundColor','background-color');
		var color = '';
		
		if (value == "transparent")
		{
			color = value;
			dst.style.backgroundColor = color;
		}else{
			color = new RGBColor(value);
			dst.style.backgroundColor = color.toHex();
		}


		dst.style.backgroundImage = getStyle(src,'backgroundImage','background-image');;
		dst.style.backgroundRepeat = getStyle(src,'backgroundRepeat','background-repeat');
	}

	link[1] += 'k[' + link[0] + ']=copy&v[' + (link[0]++) + ']=' + src_id + ',' + dst_id + '&';
	return link;
		
	
	var i = 0;
	var now = new Date();

	if (bid > 0)
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.*border*&v[' + (link[0]++) + ']=' + bid + '&';

	var opacity = getStyle(src,'opacity','opacity');
	if (opacity == 1)
		opacity = "";
		
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.opacity&v[' + (link[0]++) + ']=' + URLEncode(opacity) + '&';

	link[1] += 'k[' + link[0] + ']=' + dst_id + '.padding&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'paddingLeft','padding-left')) + '&';

	link[1] += 'k[' + link[0] + ']=' + dst_id + '.f-f&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'fontFamily','font-family')) + '&';
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.c&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'color','color')) + '&';
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.f-s&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'fontSize','font-size')) + '&';
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.f-st&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'fontStyle','font-style')) + '&';
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.f-w&v[' + (link[0]++) + ']=' + getStyle(src,'fontWeight','font-weight') + '&';
	link[1] += 'k[' + link[0] + ']=' + dst_id + '.t-a&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'textAlign','text-align')) + '&';

	var height = getStyle(src,'height','height')
	if (height != "" && height != "auto" && bid != undefined)
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.h&v[' + (link[0]++) + ']=' + URLEncode(height) + '&';

	if (type != 2)
	{
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.d&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'display','display')) + '&';
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.m-b&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'marginBottom','margin-bottom')) + '&';
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.bo-w&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'borderLeftWidth','border-left-width')) + '&';
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.bo-c&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'borderLeftColor','border-left-color')) + '&';
		link[1] += 'k[' + link[0] + ']=' + dst_id + '.bo-s&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'borderLeftStyle','border-left-style')) + '&';

		if (bid < 2)
		{
			var value = getStyle(src,'backgroundColor','background-color');
			var color = '';
			
			if (value == "transparent")
			{
				color = value;
				link[1] += 'k[' + link[0] + ']=' + dst_id + '.b-c&v[' + (link[0]++) + ']=' + color + '&';		
			}else{
				color = new RGBColor(value);
				link[1] += 'k[' + link[0] + ']=' + dst_id + '.b-c&v[' + (link[0]++) + ']=' + color.toHexUrl() + '&';		
			}
			
			link[1] += 'k[' + link[0] + ']=' + dst_id + '.b-i&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'backgroundImage','background-image').replace("url(","").replace(")","")) + '&';
			link[1] += 'k[' + link[0] + ']=' + dst_id + '.b-r&v[' + (link[0]++) + ']=' + URLEncode(getStyle(src,'backgroundRepeat','background-repeat')) + '&';
		}
	}

	return link;
}

function URLEncode(plaintext)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";
	
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
	                    + ch 
	                    + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for
	
	return encoded;
};	

function nop()
{
}

function loadEditMenus()
{
	DynarchMenu.setup('menumain', { context: true, lazy: true});
	DynarchMenu.setup('menu', { context: true, lazy: true, clone: true, onPopup: popFire}); 
	
	document.getElementById("loaderContainer").style.display = "none";
}

function emailCheck(emailStr) 
{
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray=emailStr.match(emailPat);
	
	if (matchArray==null) 
	{
		return false;
	}
	
	var user=matchArray[1];
	var domain=matchArray[2];
	
	// See if "user" is valid 
	if (user.match(userPat)==null) 
	{
	    return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
	    // this is an IP address
		  for (var i=1;i<=4;i++) 
		  {
		    if (IPArray[i]>255) 
		    {
				return false;
		    }
	    }
	    return true;
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null) 
	{
	    return false;
	}
	
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) 
	{
	   return false;
	}
	
	if (len<2) 
	{
	   return false;
	}
	
	return true;
}

function validateFieldLength(inputname, outputname, minlength, maxlength)
{
	if (minlength > 0 && document.getElementById(inputname).value.length < minlength)
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
	else if (maxlength > 0 && document.getElementById(inputname).value.length > maxlength)
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
	else
		document.getElementById(outputname).style.backgroundColor = "#00CC00";
}

function validateFieldUsername(inputname, outputname, minlength, maxlength)
{
	var re = new RegExp("^[a-zA-Z0-9]*$");
	
	if (!document.getElementById(inputname).value.match(re)) {
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
		return;
	}
	
	if (minlength > 0 && document.getElementById(inputname).value.length < minlength)
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
	else if (maxlength > 0 && document.getElementById(inputname).value.length > maxlength)
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
	else
		document.getElementById(outputname).style.backgroundColor = "#00CC00";
}

function validateFieldMatch(inputname, comparename, outputname)
{
	if (document.getElementById(inputname).value == document.getElementById(comparename).value)
	{
		document.getElementById(outputname).style.backgroundColor = "#00CC00";
	}else{
		document.getElementById(outputname).style.backgroundColor = "#FF0000";
	}
}

function confirmSubmit()
{
var agree=confirm("Are you sure you wish to continue?");
if (agree)
	return true ;
else
	return false ;
}

function confirmMessage(input_text) 
{
	if ((input_text.value!=null) && (input_text.value.length!=0))
	{
		/*
		var agree=confirm("Are you sure you wish to send this message?");
		if (agree)
			return true ;
		else
			return false ;
		*/
	}
	else
	{
		alert("The text field is empty")
      	return false;
	}
}
// -->

function IsEmpty(input_text) {
	
   if ((input_text.value.length==0) ||
   (input_text.value==null)) {
   	alert("Please enter the Agency Name")
      return true;
   }
   else { return false; }
}

function NotAllowed() {
	
	alert("You are not allowed to do that");
 	return false;
}

function addProduct(element, dropon, event) {
	sendData(element.id,dropon);
}

function sendData (prod,dropon) {
	var url    = '/friends_drag.php';
	var rand   = Math.random(9999);
	var pars   = 'friendid=' + prod + '&rand=' + rand + '&drag_groupid=' + dropon.id;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} );
}			
function showResponse (originalRequest) {
	$('loading').style.display = "none";
	$('friendupdate').innerHTML = originalRequest.responseText;
	
	var friendlist = document.getElementsByClassName('friend');
	for (var i = 0; i < friendlist.length; i++) {
		new Draggable(friendlist[i].id, {ghosting:true, revert:true})	
	}
}
function showLoad () {
	$('loading').style.display = "block";
}

function loadMenus()
{
//	DynarchMenu.setup('topmenu', { shadows: [-1, 0, 5, 5], lazy: true, scrolling: true, electric: true });
	DynarchMenu.setup('smileymenu', { context: true, lazy: true});
}

function validateField(fieldtype, inputname, outputname) 
{
	if (fieldtype == "email")
	{
		if (!emailCheck(document.getElementById(inputname).value))
		{
			document.getElementById(outputname).style.backgroundColor = "#FF0000";
			return;
		}
	}

	xmlhttp.open("GET", '/ajax/validate.php?' + fieldtype + '=' +
	   document.getElementById(inputname).value, true);
	
	xmlhttp.onreadystatechange=function() 
	{
		if (xmlhttp.readyState==4) 
		{
			var result = xmlhttp.responseText;
			
			if (result == "1")
				document.getElementById(outputname).style.backgroundColor = "#00CC00";
			else
				document.getElementById(outputname).style.backgroundColor = "#FF0000";
		}
	}

	xmlhttp.send(null)
	return false;
}

function disableselect(changestate)
{
      document.browseform.start_age.disabled = changestate;
      document.browseform.end_age.disabled = changestate;
}

//*****************************************************************************
// Do not remove this notice.
//
// Copyright 2001 by Mike Hall.
// See http://www.brainjar.com for terms of use.
//*****************************************************************************

// Determine browser and version.

function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 0;

function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

  // Update element's z-index.

  dragObj.elNode.style.zIndex = ++dragObj.zIndex;

  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }
}

function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Move drag element by the same amount the cursor has moved.

  dragObj.elNode.style.left = (Math.round((dragObj.elStartLeft + x - dragObj.cursorStartX) / 16) * 16) + "px";
  dragObj.elNode.style.top  = (Math.round((dragObj.elStartTop  + y - dragObj.cursorStartY) / 16) * 16) + "px";

  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}

function loadSmileys() 
{
	document.getElementById('smile').src = '/editor/smileys.php';
}

function popFire(el) 
{
	if (this.id == "ifrm_borders_header_hit") 
	{
		var arr = document.getElementsByName('ifrm_borders_header');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/borders.php?type=1&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_borders_footer_hit") 
	{
		var arr = document.getElementsByName('ifrm_borders_footer');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/borders.php?type=1&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_header_text_hit") 
	{
		var arr = document.getElementsByName('ifrm_header_text');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=0&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_body_text_hit") 
	{
		var arr = document.getElementsByName('ifrm_body_text');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=0&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_body_link_hit") 
	{
		var arr = document.getElementsByName('ifrm_body_link');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=3&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_body_vlink_hit") 
	{
		var arr = document.getElementsByName('ifrm_body_vlink');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=4&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_body_background_hit") 
	{
		var arr = document.getElementsByName('ifrm_body_background');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=1&id=' + arr[i].getAttribute('did') + '&upd=' + arr[i].getAttribute('type');
	}
	else if (this.id == "ifrm_border_color_hit") 
	{
		var arr = document.getElementsByName('ifrm_border_color');
		
		for (i=0;i<arr.length;i++)
			if (arr[i].src == '' || arr[i].src.indexOf('loading') != -1)
				arr[i].src = '/editor/colorpicker.htm?type=2&id=' + arr[i].getAttribute('did');
	}
	
}
