var script = 'esp_srch.php';

function loader(){
	// ajax-loader
	var loadr = "divLoader";
	var disp = "clips"
	if (document.getElementById || document.all) {
		 lel = document.getElementById? document.getElementById(loadr): document.all[loadr]; 	
		 el = document.getElementById? document.getElementById(disp): document.all[disp];
    	if (el && typeof el.innerHTML != "undefined") el.innerHTML = lel.innerHTML;
   } 
}

function getFilt(){
	var selObj = document.getElementById('wordFormFilter');
	var selIndex = selObj.selectedIndex;
	filt = selObj.options[selIndex].value;
	//alert(filt+"//" +selIndex);
	return selIndex;

}
function doThisWordSearch(myWord,n,num){
        loader();
	    var f = document.forms[n];
		//go get it
        sendReq(script,'ajax,go,schType,searchWord,minscore,numresults,page,filter',
        '1,1,wordsearch,'+myWord+',50,'+f.elements['numresults'].value+','+num+','+getFilt() )
}

function doRandomImages(n,numType){
	loader();
	var f = document.forms[n];
	//go get it  
 	//if(numType == 1){//clips
	sendReq(script,'ajax,go,schType,minscore,numresults,page,filter',
        	'1,1,randomImages,50,'+f.elements['numresults'].value+',1,'+numType )
	//}else if(numType ==2){//stills
	//	sendReq('/customer/esp_srch.php','ajax,go,schType,minscore,numresults,page,filter',
	//	'1,1,randomImages,50,'+f.elements['numresults'].value+',1,2' )
	//}
}

function doWheelForm(n, pageno){
	//go get it  
	var f = document.forms[n];
	if(getValue('c_1')==''){
		alert("You need to select at least one color");
		return;
	}
	loader();
	
	sendReq(script,'ajax,go,schType,minscore,numresults,page,c_1,c_2,c_3,c_4,c_5,c_6,filter',
	'1,1,wheel,'+f.elements['minscore'].value+','+f.elements['numresults'].value+','+pageno+','+getValue('c_1')+','+getValue('c_2')+','+getValue('c_3')+','+getValue('c_4')+','+getValue('c_5')+','+getValue('c_6')+','+ getFilt() )
}

function doThisImageSearch(n, im, pageno, filter){ 
	var f = document.forms[n];
	f.elements['image'].value = im;
	//alert("1"+f.elements['image'].value)
	doImageSearch(n,pageno, filter);
}

function doImageSearch(n, pageno, filter){
	loader();
	var f = document.forms[n];
	//go get it  
	sendReq(script,'ajax,go,schType,minscore,numresults,page,image,filter',
	'1,1,imagesearch,'+f.elements['minscore'].value+','+f.elements['numresults'].value+','
	+pageno+','+f.elements['image'].value+','+filter )
}

function getValue(field){
	//alert(document.getElementById(field)); 
	return document.getElementById(field).value; 
}


function clearLoadedImage(){
	var myDiv = document.getElementById("epsion_image_search");
	myDiv.style.visibility = 'hidden' ; 
}

function resetLoadedImage(imageName,imagesrc,imageURL){
    var myDiv = document.getElementById("epsion_image_search");
        myDiv.style.visibility = 'visible' ;
    var img = document.getElementById("searchThumbnail");
	var title = document.getElementById("searchThumbnailCode");
    
	if(imageName==null && imagesrc==null && imageURL==null){
		img.src = "/images/clear.gif";	
	    title.innerHTML = "<p> </p>";
		return;
	}
	
    img.src = imagesrc;	
	title.innerHTML = "<a href='"+imageURL+"'>"+imageName+"</a>";
}

/////////////////////////////////////////////////////////////////

        var gl_sw = 1;
        var gl_first_click = 1;
        var SWATCHES = 6;

        // Convert HSV to RGB, adapted from easyrgb.com
        function hsv2rgb(Hdeg, S, V) 
        {
            var H = Hdeg / 360; // map degrees into [0,1]
            var R, G, B;
              
            if (S == 0) 
            {       
                // HSV inputs range from 0 to 1, RGB outputs range from 0 to 255
                R = V * 255;     
                G = V * 255;
                B = V * 255;
            }
            else
            {
                var var_h = H * 6;
                var var_i = Math.floor(var_h);
                var var_1 = V * (1 - S);
                var var_2 = V * (1 - S * (var_h-var_i));
                var var_3 = V * (1 - S * (1 - (var_h-var_i)));
                var var_r, var_g, var_b;
                
                switch (var_i)
                {
                    case 0:      
                        var_r = V;    
                        var_g = var_3; 
                        var_b = var_1;
                        break;
                        
                     case 1:
                        var_r = var_2; 
                        var_g = V;     
                        var_b = var_1;
                        break;
                        
                    case 2: 
                        var_r = var_1; 
                        var_g = V;     
                        var_b = var_3;
                        break;
                        
                    case 3: 
                        var_r = var_1; 
                        var_g = var_2; 
                        var_b = V;
                        break;
                        
                    case 4: 
                        var_r = var_3; 
                        var_g = var_1; 
                        var_b = V;
                        break;
                
                    default:
                        var_r = V;     
                        var_g = var_1; 
                        var_b = var_2;
                        break;
                }
                
                R = Math.round(var_r * 255);
                G = Math.round(var_g * 255);
                B = Math.round(var_b * 255);
            }

            return new Array(R, G, B);
        }

        function get_coords(e)
        {
            var x, y;

            if (document.layers) 
            {
                x = e.layerX;
                y = e.layerY;
            }
            else if (document.all) 
            {
                x = event.offsetX;
                y = event.offsetY;
            }
            else if (document.getElementById) 
            {
                var x_off = 0, y_off = 0;
                x_off = document.getElementById("wheel").offsetLeft;
                y_off = document.getElementById("wheel").offsetTop;
                
                var parent = document.getElementById("wheel").offsetParent;
                while(parent) 
                {
                    x_off = x_off + parent.offsetLeft;
                    y_off = y_off + parent.offsetTop;
                    parent = parent.offsetParent;
                }

                x = (e.pageX - x_off);
                y = (e.pageY - y_off);
            }

            return new Array(x, y);

        }

        function capture() 
        {
            if (document.layers) 
            {
                layobj = document.layers['wheel'];
                layobj.document.captureEvents(Event.MOUSEDOWN);
                layobj.document.onmousedown = mouseDown;
            }
            else if (document.all) 
            {
                layobj = document.all["wheel"];
                layobj.onmousedown = mouseDown;
            }
            else if (document.getElementById) 
            { 
				   window.document.getElementById("wheel").onmousedown = mouseDown;
            }
        }

        function mouseDown(e)
        {     
			if (!e)
            {
                e = window.event;
            }

            var cp_adeg = 0;
            var cp_val = 1;
            var cp_sat = 1;

            var rgb;
            var xy = get_coords(e);
            var x = xy[0]; 
            var y = xy[1];

            if (x >= 108 || y >= 108) 
            {
                return false;
            }
  
            var cartx = x - 54;
            var carty = 54 - y; 
            var cartx2 = cartx * cartx;
            var carty2 = carty * carty;             // normalize x
            var rraw = Math.sqrt(cartx2 + carty2);  // raw radius 
            var rnorm = rraw / 54;                  // normalized radius
              
            if (rraw == 0)
            {
                rgb = new Array(255, 255, 255);
            } 
            else
            {
                var arad = Math.acos(cartx / rraw);                  // angle in radians 
                var aradc = (carty >= 0) ? arad : 2*Math.PI - arad;  // correct below axis
                cp_adeg = 360 * aradc / (2 * Math.PI);               // convert to degrees
                
                if (rnorm > 1) // outside circle
                {    
                    return false;
                }
                else
                {
                    cp_sat = rnorm;
                    rgb = hsv2rgb(cp_adeg, cp_sat, cp_val);
                }
            }
            
            doStuff(rgb[0], rgb[1], rgb[2]);

            if (is_ctrl(e) && gl_sw < SWATCHES)
            {
                gl_sw++;
            }
            else if (gl_first_click)
            {
                reset_cells();
            }

            gl_first_click = 0;
            set_clr(hex_clr(rgb[0], rgb[1], rgb[2]));
        }

        function is_ctrl(e)
        {
            if (e.modifiers)
            {
                // NN4        
                var m = e.modifiers;
                return (m & Event.CONTROL_MASK > 0) || (m & Event.ALT_MASK > 0);
            }
            else
            {
                return e.ctrlKey || e.altKey;
            }
        }
        
        function pc(e)
        {    
            if (!e)
            {
                e = window.event;
            }

            var o = e.srcElement ? e.srcElement : e.target;
            if (!o.bgColor)
            {
                o = o.parentNode;
            }
                        
            if (is_ctrl(e) && gl_sw < SWATCHES)
            {
                gl_sw++;
            }
            else if (gl_first_click)
            {
                reset_cells();
            }

            gl_first_click = 0;

            set_clr(o.bgColor);
        }

        function set_clr(c)
        {
            set_clr_cell(c, c, gl_sw);
        }

        function set_clr_cell(sw, c, cell)
        {
            var x = document.getElementById("sw_" + cell);
            x.bgColor = sw;
            var x = document.getElementById("c_" + cell);
            x.value = c.substring(1);
        }

        function reset_cells()
        {            
            for (i = 1; i <= SWATCHES; i++)
            {
                set_clr_cell("#ffffff", "", i);
            }

            gl_sw = 1;
        }

        function advance_cell()
        {
            var x = document.getElementById("sw_" + gl_sw);

        }

        function pad(s)
        {
            if (s.length < 2) 
            {
                s = "0" + s;
            }

            return s;
        }

        function hex_clr(r, g, b)
        {
            var nr = pad(parseInt(r).toString(16));
            var ng = pad(parseInt(g).toString(16));
            var nb = pad(parseInt(b).toString(16));

            return "#" + nr + ng + nb;
        }

        function doStuff(r, g, b)
        {
            var STEPS = 32;
            var sr = r / STEPS; var sg = g / STEPS; var sb = b / STEPS;

            for (i = 0; i < STEPS; i++)
            {
                xr = r - i * sr;
                xg = g - i * sg;
                xb = b - i * sb;
                var x = document.getElementById("cc_" + i);                
                x.bgColor = hex_clr(xr, xg, xb);
            }
  		}
		
		
