YAHOO.namespace('my.utils');

/*	
	Depend from :
	<script language="JavaScript" src="/yui/build/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>
	<script language="JavaScript" src="/yui/build/connection/connection-min.js" type="text/javascript"></script>
 	<script language="JavaScript" src="/yui/build/utilities/utilities.js" type="text/javascript"></script>
*/

var _evt = YAHOO.util.Event,
	_dom = YAHOO.util.Dom,
	_utils = YAHOO.my.utils;
	
_utils.showLoadingPanel = function(id)
{
	_dom.get(id).style.display = '';
}

_utils.hideLoadingPanel = function(id)
{
	_dom.get(id).style.display = 'none';
}

_utils.setFixPng = function(arrayOfElements)
{
	for(var i = 0, length = arrayOfElements.length; i < length; i++)
	{
		if(arrayOfElements[i].className)
		{
			if(/png/.test(arrayOfElements[i].className))
			{
				_utils.fixPNG(arrayOfElements[i]);
			}
		}
	}
}

_utils.fixPNG = function(el)
{
  if (YAHOO.env.ua.ie < 7 && YAHOO.env.ua.ie != 0)
  {
    var src;
    if (el.tagName=='IMG') 
    {
      if (/\.png$/.test(el.src))
      {
        src = el.src;
        el.src = '/i/blank.gif';
      }
    }
    else
    {
      src = el.currentStyle.backgroundImage.match(/url\('(.+\.png)'\)/i);
      if (src)
      {
        src = src[1];
        el.runtimeStyle.backgroundImage = 'none';
      }
    }
    if (src) el.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\',sizingMethod=\'scale\')';
  }
}

_utils.findOdds = function(node, arr)
{
  var space = /^[^\u0021-\uffff]*$/g;
  if(node.nodeType == 3)
  {
    if(node.nodeValue.match(space))
	{
      arr.push(node);
    }
  }
  else if(node.nodeType == 1)
  {
    for(var n = node.firstChild; n; n = n.nextSibling)
	{
      findOdds(n, arr);
    }
  }
}

_utils.removeOdds = function(node)
{
  var odds = new Array();
  _utils.findOdds(node, odds);
  for(var i = 0, length = odds.length; i < length; i++)
  {
    odds[i].parentNode.removeChild(odds[i]);
  }
}

_utils.messageArray = new Array();

_utils.setMessage = function(nspace, key, message)
{	
	if(typeof(_utils.messageArray[nspace]) == 'undefined') _utils.messageArray[nspace] = new Array();
	_utils.messageArray[nspace][key] = message;
}
_utils.getMessage = function(nspace,key)
{	
	return _utils.messageArray[nspace][key];
}

_utils.stringToArray = function(sourceString)
{
	var array = sourceString.split('i:'),
		result = new Array();
	for( var i = 1, length = array.length; i < length; i++)
	{
		var tmpArr = array[i].split('"'),
			index = parseInt(array[i].substr(0,1)),
			j = 0;	
		if( typeof(result[index]) == 'undefined') result[index] = new Object();
		while(j < tmpArr.length)
		{ 
			if(!/[\:\;\}\{\,]/.test(tmpArr[j]))
			{	
				result[index][tmpArr[j]] = tmpArr[j+2];
				j += 3;
			}
			else j++;
		}
	}
	
	return result;
}

_utils.toggleFormErrorMessage = function(idErrorContainer, errorMessage, classNameResetFields)
{
	var erorContainer = _dom.get(idErrorContainer);
	erorContainer.innerHTML = errorMessage;
	erorContainer.style.display = '';
	var resetFields = _dom.getElementsByClassName(classNameResetFields);
	for(var i = 0, length = resetFields.length; i < length; i++ )
	{
		_evt.on(resetFields[i], 'focus', function(){ erorContainer.innerHTML = ''; erorContainer.style.display = 'none'; })
	}
}







