/* 
fortune.js
*/
var current_element=false;
function setup_page(){
    fix_height();
    var el=get_el("top_categories");
    if (el){
        eval('drop_down_menus();');
    }
    eval('new Effect.BlindUp(\'sub_categories\');');
    Event.observe(document,'click',function(event){
    //var el=Event.findElement(event);
    var el=get_el('sub_categories');
    if (el){
        if (!$('sub_categories').visible()){
            current_element=Event.findElement(event);
        }
    }
    });
    var el=get_el('form_product');
    if (el){
        eval('setup_focus_tracking(\'form_product\',\'input_element\');')
    }
    var el=get_el("map");
    if (el){
        eval('load_map();');
    }
}

function drop_down_menus(){
    var children=$A($('top_categories').select('a.drop','span.drop'));
    //alert(children.length);
    var evMove=function(el)
    {
            el.observe('click', show_menu);
    }
    if (children.length!=0){
    children.each(evMove)
    document.observe('mouseover',function(){
        if ((Event.element(event).id!='sub_categories')&&(!$(Event.element(event)).hasClassName('drop'))){
            //close_utility();
        }
    });
    }
    

}
function show_menu(e){
    var e_name=Event.element(e).id.toString().replace('category_','drop_').replace('span_','drop_');
    Event.stop(e);
    current_element=$(Event.element(e).id.toString().replace('span_','category_'));
    
    $('sub_categories').innerHTML=$(e_name).innerHTML;
    position_drop();
}
//position_drop()
function position_drop(){
         
         var l=current_element.cumulativeOffset().left;
         s=current_element.getDimensions().width;
         var t=current_element.cumulativeOffset().top;
         var w=document.viewport.getWidth()-420;
         var d_top=document.viewport.getHeight-400;
         if (parseInt(l) > parseInt(w)){
            l=w;
         }
         if (parseInt(t)> parseInt(d_top)){
            t=d_top;
         } 
        $('sub_categories').setStyle({top: t + 'px', left: l + 'px', width: s + 'px'}); 
        
        
            new Effect.SlideDown('sub_categories');
}

// fix_height; ensure that the main panel and footer fill screen
function fix_height(){
    var h=(document.viewport.getHeight()-280).toString() + 'px';
    var b=$('main_panel').getStyle('height')
    if (parseInt(b.toString().replace('px',''))< parseInt(h.replace('px',''))){
        $('main_panel').setStyle({height: h});
    }
    else{
        $('main_panel').setStyle({height: 'auto'});
    }
}

function load_map() {
    if (GBrowserIsCompatible()) {
        var map = new GMap(document.getElementById("map"));
        map.addControl(new GLargeMapControl())
        map.addControl(new GMapTypeControl());
              map.setCenter(new GLatLng(53.297343824311604, -6.518164873123169), 10);
        		
        	
        var point = new GPoint(parseFloat(-6.518164873123169), parseFloat(53.297343824311604));
        var marker = new GMarker(point);
        var icon = new GIcon();
        icon.image = "images/arrow_down_blue.jpg";
        icon.iconSize = new GSize(20,20);
        icon.iconAnchor = new GPoint(0,0);
        icon.infoWindowAnchor = new GPoint(10, 20);
        var marker = new GMarker(point,icon);
        
        map.addOverlay(marker);
        return marker
    }
 }



//submit_form: utility that will perform client side validation of the passed form id and allow validator to post it 
function submit_form(param_form){
    var el=get_el("cs_validation");
    //alert("here");
    if (el){
        var f=$(param_form)
        var cs_validation=f['cs_validation'];
         return eval($(cs_validation).getValue());
    }
    else{
        $(param_form).submit();
    }
}

function open_link(url){
 var settings='Height=' + screen.height + ',Width=' + screen.width + ',Top=0,left=0,scrollbars=yes,resizable=1, location=1,status=1'
 var w=window.open(url,'iitdpopup',settings);    
}

function validate_search(){
    if ($F('txt_keywords').blank()){
        alert("please enter one or more keywords to perform a search!");
        $('txt_keywords').focus();
        return void[0];
    }
    $('search_details').value="";
    $('search_form').submit();
}


//validate_product_enquiry: used to validate the "product enquiry" form
function validate_product_enquiry(){
    //check the company name
    var el=get_el("txt_company")
    if (el.value.length==0){
        alert("please enter your company name !")
        el.focus();
        return void[0];    
    }
    
    //check the name
    var el=get_el("txt_name")
    if (el.value.length==0){
        alert("please enter your name !")
        el.focus();
        return void[0];    
    }
    
    //check the email address
    var el=get_el("txt_email")
    if (el.value.length==0){
        alert("please enter your email address !")
        el.focus();
        return  void[0];    
    }
    var sval=el.value
    // check email is correct format
	if (!fixstring(sval,true)){
		alert("Your email address is invalid this system only supports the format 'yourname@address.com' !");
		el.focus();
		return  void[0];
	}
        var telephone=fix_telephone($F('txt_telephone'));
        if ((telephone.blank())||(telephone.length<5)){
            alert("Please enter either a telephone or mobile number in numeric format (e.g. ##########)!");
            $('txt_telephone').value='';
            $('txt_telephone').focus();
            return void[0];
        }
	
    //check the comment
    var el=get_el("txt_comment")
    if (el.value.length==0){
        alert("please let us know how we can assist !")
        el.focus();
        return  void[0];    
    }
	else if (el.value.length>1024){
		alert("Your comment is limited to 1024 characters, please shorten your query.")
        el.focus();
        return  void[0];    
	}
     var f=$('form_product')
    f["your_details"].value="";
    $('form_product').submit();
}

function fix_telephone(param_value){
    var ret_value='';
    var wip_value=param_value;
    var a_values='1234567890'
    //alert(wip_value.length);
    for (var i=0;i<=wip_value.length;i++){
    //alert(wip_value.charAt(i))
        for (var x=0;x<=a_values.length;x++){
            
            if (wip_value.charAt(i)==a_values.charAt(x)){
                ret_value+=wip_value.charAt(i)
            }
        }
    } 
    //alert(ret_value);
    return ret_value;   
}


