var W3CDOM = (document.createElement && document.getElementsByTagName);

function initFileUpload() 
{
	if (!W3CDOM) return; 
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	fakeFileUpload.appendChild(document.createElement('input'));
	var x = document.getElementsByTagName('input');
        
	for (var i=0;i<x.length;i++) 
        {
		if (x[i].type != 'file') continue;
		if (x[i].getAttribute('noscript')) continue;
		if (x[i].parentNode.className != 'fileField') continue;
		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].onchange = x[i].onmouseout = function () 
                {
			this.relatedElement.value = this.value;  
                        
 
		}
		if (x[i].value)
			x[i].onchange();
	}
}

function request()
{
	this.requestMethod = "GET";
	
	var request        = false;
	
	try { request = new XMLHttpRequest(); } 
	catch (trymicrosoft) 
	{
		try { request = new ActiveXObject("Msxml2.XMLHTTP"); } 
		catch (othermicrosoft) 
		{
 	   	try { request = new ActiveXObject("Microsoft.XMLHTTP"); } 
 	   	catch (failed) { request = false; }
 		}
 	}
 	
 	this.send = function(url)
 	{
 		request.open(this.requestMethod, url, this.enableAsync);
 		request.onreadystatechange = this.requestProcessing;
 		request.send(null);
 	}
 	
 	this.requestProcessing = function( r )
 	{
		switch(request.readyState)
		{
 			case 4:
 				req.processing(request.responseText);
			break;
 			default:

				
				
 		}
		
 	}
        
        this.processing = function( r )
        {
            alert(r);
        }
}

var req = new request();

var searchCurPage  = 0;
var searchTotal    = 0;
var searchPerPage  = 0;
var searchValue    = "";
    
    
function search ( value )
{
	toogle.clickedElem = false;
      searchValue = value;
      function callback ( r )
      {
              var res = eval ( r );

              search.itemsPerPage  = res[0].itemsPerPage;
              search.totalSites    = res[0].totalSites;
              search.totalWebPages = res[0].totalWebPages;
              search.startIndex    = res[0].startIndex;

              var obj     = document.getElementById( "searchResult" );
              var example = document.getElementById( "example-search-result" );

              obj.innerHTML = "";
              var item = example.innerHTML;
              for ( var i = 1; i < res.length; i++ )
              {
                    var item = example.innerHTML;
                    item = item.replace( "%rand%", Math.random );
                    item = item.replace( "%title%", res[i].name );
                    item = item.replace( "%desc%",  ""            );
                    item = item.replace( "%image%", res[i].preview  );
                    item = item.replace( "%url%", res[i].url  );
                    obj.innerHTML += item;
              }
              
              searchTotal = res[0].totalSites;
              searchPerPage = res[0].itemsPerPage;
              
              constructPages();
      }

      $.getJSON("?searchVideos/search/"+value+"/"+searchCurPage,
        {},
        callback);
}


function constructPages () {
        var p = document.getElementById("search-pages");
        p.innerHTML = "";
        
        if ( searchTotal == 0 ) return;
        
        var pages = Number ( searchTotal / searchPerPage ).toFixed(0);;
        
        if ( pages == 0 ) return;
        if ( pages > 20 ) pages = 20;
        for(var i = 0; i < pages; i++ ) {
                var b = '';
                if ( searchCurPage == i ) b += "<b>";
                b += "<a href='javascript:void(0);' onClick='changePage("+i+")'>"+Number(i+1)+"</a>&nbsp;";
                if ( searchCurPage == i ) b += "</b>";
                
                p.innerHTML += b;
        }

}

function changePage(num) {
        searchCurPage = num;
        search(searchValue);
}
    
    
function prepareSearch ( value )
{
      searchValue = value;
      is_seach_selected = true;
      var fObj = document.getElementById( "firstBlock" );
      var lObj = document.getElementById( "loadingBlock" );
      
      fObj.style.display = "none";
      
      lObj.style.display = "";
      
      function callback ( r )
      {
              var eObj = document.getElementById( "endBlock" );
              var lObj = document.getElementById( "loadingBlock" );
          
              var res = eval ( r );

              search.itemsPerPage  = res[0].itemsPerPage;
              search.totalSites    = res[0].totalSites;
              search.totalWebPages = res[0].totalWebPages;
              search.startIndex    = res[0].startIndex;

              var obj     = document.getElementById( "searchResult" );
              var example = document.getElementById( "example-search-result" );

              obj.innerHTML = "";
              var item = example.innerHTML;
              for ( var i = 1; i < res.length; i++ )
              {
                    var item = example.innerHTML;
                    item = item.replace( "%rand%", Math.random );
                    item = item.replace( "%title%", res[i].name );
                    item = item.replace( "%desc%",  ""            );
                    item = item.replace( "%image%", res[i].preview  );
                    item = item.replace( "%url%", res[i].url  );
                    obj.innerHTML += item;
              }
              
              lObj.style.display = "none";
              eObj.style.display = "";
              
              searchTotal = res[0].totalSites;
              searchPerPage = res[0].itemsPerPage;
              
              constructPages();
      }

      $.getJSON("?searchVideos/search/" + value,
        {},
        callback);
      
}

  var is_seach_selected = false;
  var selectedUrl = false;
  var selectedPreviewUrl = false;
  var selectedTitle = false;
  var selectedModelId = false;

  
function perevesti()
{
    
    if ( is_seach_selected == true && is_auth==true ) {
            if ( selectedUrl == false )
                   { alert("Не один видеоролик не выбран.");}
            else {
                    var form = document.getElementById('svload');
                    form.action = "?user/loadVideo";
                    form.loadVideo.value = selectedUrl;
                    form.loadPrivewVideo.value = selectedPreviewUrl;
                    form.loadTitleVideo.value = selectedTitle;
                    form.loadModelId.value = document.getElementById("convert-models-select").value;
                    var em = document.getElementById("convert-send-email");
                    form.loadSendEmail.value        = em.checked == true ? 1 : 0;
                    form.submit();
            }
            
    } else { 
    var form = document.getElementById('svload');
    
        var m = document.getElementById("convert-models-select");
        
        
    form.loadModelId.value          =  m.options[m.selectedIndex].value; 
                    var em = document.getElementById("convert-send-email");
                    form.loadSendEmail.value        = em.checked == true ? 1 : 0;
      if(is_auth==true){document.getElementById('svload').submit()}
      else{alert('Прежде чем конвертировать файл, пожалуйста, войдите в систему.')} 
    
    }
}



function toogle() {
    
}

toogle.clickedElem = false;

toogle.mOver = function ( obj ) {
        if ( toogle.clickedElem == false || toogle.clickedElem != obj.id ) 
                obj.style.backgroundColor = '#94fda0';
}

toogle.mOut = function ( obj ) {
        if ( toogle.clickedElem == false || toogle.clickedElem != obj.id ) 
                obj.style.backgroundColor = '#fff';
}

toogle.mClick = function ( obj ) {
	
        if(toogle.clickedElem !=false) 
        {
                document.getElementById(toogle.clickedElem).style.backgroundColor = '#fff';
                document.getElementById(toogle.clickedElem).getElementsByTagName("span")[0].innerHTML = '';
        }
        
        selectedUrl        = obj.getElementsByTagName("input")[0].value;
        selectedTitle      = obj.getElementsByTagName("font")[0].innerHTML;
        selectedPreviewUrl = obj.getElementsByTagName("img")[0].src;
        statusText = obj.getElementsByTagName("span")[0].innerHTML;
        statusText= "Select";
        
        toogle.clickedElem = obj.id;
       
        var m = document.getElementById("convert-models-select");
        selectedModelId = m.options[m.selectedIndex].value;
        obj.style.backgroundColor = '#94fda0';
       document.getElementById(toogle.clickedElem).getElementsByTagName("span")[0].innerHTML = 'Видео выбрано';
 
}
function showPlayer(obj)
{
	link = $("input[@name='url']", obj.parentNode).val();
	$.post('?searchVideos/parseLink/',{linkParse:link},callback);
	function callback(data)
	{
		var s1 = new SWFObject("player.swf","ply","400","300","9","#FFFFFF");
		s1.addParam("allowfullscreen","true");
		s1.addParam("allowscriptaccess","always");
		s1.addParam("flashvars","file="+data+"&image=images/spravformat.jpg");
		s1.write("container");
		$('#basicModalContent').modal();
	}
}