/**
* wrapper for getElementById
*
*/
function $() 
{
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) 
	{
		var element = arguments[i];
		if (typeof element == 'string')
			el = document.getElementById(element);
		if (arguments.length == 1)
			return el;
		elements.push(el);
	}
	return elements;
}

/**
* create html input as DOM js object;
* arguments:
* 1. type (hidden/text/...) optional, default - hidden;
* 2. name - optional;
* 2. value - optional;
*/
function $C()
{
    var element,name,value;
    var type = 'hidden';
    for (var i = 0; i < arguments.length; i++) 
	{
		if (i==0)
			type = arguments[0];
		if (i==1)
			name = arguments[1];
        if (i==2)
			value = arguments[2];
	}
    element = document.createElement(type);
    element.name = name;
    element.value = value;
	return element;
}

function validateFilds()
{
    for (var i = 0; i < arguments.length; i++) 
	{
		var value = $(arguments[i]).value;
		if ( isEmpty(value) )
		{
		    alert("The field "+$(arguments[i]).name+" is empty!");
		    return false;	
		}		
	}
	return true;
}



/**
* switch between visible/invisible status of obj
* arg.: object for status management
*/
function toggle(obj) 
{
	var el = $(obj);
	if ( el.style.display == 'block' )
	{
		el.style.display = 'none';
	}
	else 
	{
		el.style.display = 'block';
	}
}


function validateNum (elId, maxNum)
{
    newVal = $(elId).value;
    //alert(parseInt(newVal));
    if(isNaN(newVal) )
    {
    	if(maxNum<0)
    	   maxNum = "";
        $(elId).value=maxNum;
        alert(newVal+" - is not number!");
    }
    else if(parseInt(newVal) > maxNum && maxNum > 0)
    {
        $(elId).value=maxNum;
        alert(newVal+" - is too large!");
    }
}

function validateLetter (elId)
{
    newVal = $(elId).value;
    //alert(parseInt(newVal));
    if(!isNaN(newVal.valueOf(0)) )
    {       
        alert(newVal.valueOf(0)+" - is not NaN!");
        $(elId).value = "";
    }
}


/**
* wrapper for getElementById
*
*/
function inner(arg, str) 
{
	var obj = $(arg);
	if(isDefined(obj))
	   obj.innerHTML=str;
}

/**
* write message in error mesage panel
*
*/
function dbg(str)
{
  if(DEBUG)
  {
	 $("debug").innerHTML += str + "<br\/>";

  }
}

/**
* performs forwarding to URL defined by arg. path
* appends request parameters if found more than one arg
*/
function go(path)
{
	var fullpath = path;
	for (var i = 1; i < arguments.length; i++) 
	{
		if(i == 1)
				fullpath += '?';
        else
        	    fullpath += '&';
		fullpath += arguments[i];
	}
	document.location.href=to_root+fullpath;
}


function isDefined (o) 
{
  return (o != null) && (o != undefined);
}

function isEmpty (o)
{
    return !isDefined(o)||o=="";
}



function waitRefresh()
{
	if(winAction && !winAction.closed)
		setTimeout("waitRefresh()",3000);
	else
		setTimeout("refreshWindow()",1000);			
}



function validateAndSubmitForm(formName)
{
    formObj = $(formName);
	for(i=0; i<formObj.elements.length; i++)
	{
        //alert(formObj.elements[i].type);
		if(formObj.elements[i].type=="text")
            if(isEmpty(formObj.elements[i].value))
            {
                alert("The field "+formObj.elements[i].name+" is empty!");
                return false;
            }
	}
    formObj.submit();
}
/**
 * setInnerHtml
 * @param {void} tagId, html 
 */
 function setInnerHtml(tagId, html) 
 {
     if(isDefined(tagId))
 	      $(tagId).innerHTML = html;	
 }
/**
 * setVideoCon
 * @param {string} source 
 */
 function setVideoCon(source, header) 
 {
 	if(navigator.appName=="Microsoft Internet Explorer" && 
 		navigator.appVersion.toString().indexOf("MSIE 6.0") == -1 && 
 		navigator.appVersion.toString().indexOf("MSIE 5.0") == -1)
 	{
     if(document.wmvId )
        document.wmvId.object.stop();
 	}
 	var html = '<object id="wmvId" width="450" height="300" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" type="application/x-oleobject" >'+
                    '<param id="fileNameId" name="FileName" value="'+source+'" />'+                  
                    '<param name="wmode" value="transparent"/>'+
                    '<param name="hidden" value="true"/>'+
                    '<param name="AutoStart" value="true"/>'+
    				'<param name="controls" value="VolumeSlider"/>'+
                    '<embed src="'+source+'" AutoStart="true" hidden="false" type="application/x-mplayer2" width="450" height="350" ></embed></object> ';
	$("screenId").innerHTML = html;		
	$("headerId").innerHTML = '<table><tr><td><h2><font color="#990000" size="3" face="Georgia, Times New Roman, Times, serif">'+header+'</font></h2></td></tr></table>';
	
	//This code, that reloads last chapter's movie in the finish of current played movie
	// needs the securety permit of customer and works only in IE
	// FF Mozilla currently has support limitation for Win Media Player
	// In the case of limitation - customer can use Back button  
	try
	{
		var WMP=new Object();
		WMP=$("wmvId");
		if(isDefined(WMP) && WMP.attachEvent)
		   WMP.attachEvent("playStateChange",setFlashvar_WMP_status);		
		
		//else if(WMP.addEventListener)//for Mozilla 
		//{
			//WMP.addEventListener("playStateChange",setFlashvar_WMP_status, false);
		//}	
	}
	catch(e)
	{
		
	}
	//setTimeout(setInnerHtml("screenId", html),100);
 }
 
 function setFlashvar_WMP_status()
 { 
     WMP=$("wmvId"); 
     if(isDefined(WMP) && WMP.playstate == 0)
     {
        //location.reload();
     }
 }
 
// function OnDSOpenStateChangeEvt ()
// {
//     alert("OnDSOpenStateChangeEvt");
 //}

